<?php

/**
* @name Vokativ API
* @package Vokativ
* @author Nemanja Avramović
* @link http://vokativ.vokabular.org/
* @version 0.1.0
*/


require "vokativ.class.php";
require 
"loaders/ini.class.php";

function 
napravi_xml($niz) {
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rezultat 
[
<!ELEMENT rezultat (vokativ, nominativ?, cirilica?, izvor?)>
    <!ELEMENT vokativ (#PCDATA)>
        <!ATTLIST vokativ duzina CDATA #IMPLIED>
    <!ELEMENT nominativ (#PCDATA)>
        <!ATTLIST nominativ duzina CDATA #IMPLIED>
    <!ELEMENT cirilica (#PCDATA)>
    <!ELEMENT izvor (#PCDATA)>
]>

<rezultat>

XML;


$krajxmla = <<<KRAJ
</rezultat>
KRAJ;

    
$rez '    <vokativ';
    if (isset(
$niz['vokativ_duzina'])) { $rez .= ' duzina="'.$niz['vokativ_duzina'].'"'; }
    
$rez .= '>'.$niz['vokativ'].'</vokativ>'."\n";
    if (isset(
$niz['nominativ'])) {
        
$rez .= '    <nominativ';
        
$rez .= ' duzina="'.$niz['nominativ_duzina'].'"';
        
$rez .= '>'.$niz['nominativ'].'</nominativ>'."\n";
        
$rez .= '    <cirilica>'.$niz['cirilica'].'</cirilica>'."\n";
        
$rez .= '    <izvor>'.$niz['izvor'].'</izvor>'."\n";
    }
    
    return    
$xml $rez $krajxmla;

}


if (isset(
$_REQUEST['nominativ']) && (trim($_REQUEST['nominativ']) != '')) {
    
$ime $_REQUEST['nominativ'];
    
    
$vokativ = new Vokativ(new Vokativ_INI());
    
    if (isset(
$_REQUEST['cirilica'])) {
        if (
$_REQUEST['cirilica'] == 'true') { $cir true; }
        elseif (
$_REQUEST['cirilica'] == 'false') { $cir false; }
        else { 
$cir $vokativ->da_li_je_cirilica($ime); }
    }
    else { 
$cir $vokativ->da_li_je_cirilica($ime); }
    
    
$vokativ->cirilica $cir;
    
$vokativ_S $vokativ->napravi_vokativ($ime);
    
$izvor $vokativ->izvor;
    
    if (
$cir == true) { $cir 'true'; }
        else { 
$cir 'false'; }
    
    
$output = array();
    
$output['vokativ'] = $vokativ_S;
    if (isset(
$_REQUEST['detalji']) && ($_REQUEST['detalji'] == 'true') ) {
        
$output['vokativ_duzina'] = mb_strlen($vokativ_S,'utf-8');
        
$output['nominativ'] = $ime;
        
$output['nominativ_duzina'] = mb_strlen($ime,'utf-8');
        
$output['cirilica'] = $cir;
        
$output['izvor'] = $izvor;
    }
    
    if (isset(
$_REQUEST['izlaz']) && ($_REQUEST['izlaz'] == 'serialize') ) {
        
header('Content-Type: text/html; charset=utf-8');
        echo 
serialize($output);
    }
    elseif (isset(
$_REQUEST['izlaz']) && ($_REQUEST['izlaz'] == 'xml') ) {
        
header('Content-Type: text/xml; charset=utf-8');
        echo 
napravi_xml($output);
    }
    else {
        
header('Content-Type: text/html; charset=utf-8');
        
$output_b '';
        foreach (
$output as $key=>$value) {
            
$output_b .= $value."\n";
        }
        echo 
trim($output_b);
    }
    
}

else {
    die(
'Niste prosledili nominativ!');
}