<?php

/*

  Ukazkovy klient Webovych sluzeb v PHP - Statistiky prijimaciho rizeni
  
  Autor: Lukas Valenta, CIV, ZCU (lvalenta@civ.zcu.cz)
  
  Popis funkce:
  
    Aplikace ukazuje, jak lze snadno ziskavat z PHP scriptu data ze STAGu prostrednictvim
    webovych sluzeb nad IS/STAG. Script si stahne XML soubor z webove sluzby a pak
    jej transformuje do (x)HTML pomoci XSLT transformace. Na ukazku je implementovana
    statistika prijimaciho rizeni, ktera byla puvodne soucasti "modrych stranek"
    
  Pozadavky:
  
    K behu aplikace je potreba PHP 5 (urcite by slo zprovoznit i na PHP 4, jen na nem nebylo
    testovano) a PHP modul XSL (php_xsl.dll / php_xsl.so).

*/

require_once "common.php";

function mainScreen()
{
    global $rok, $fakulta;
    echo <<<EOT

<h2>Informace o studijních programech - ukázkový PHP klient</h2>

<form action="index.php" method="get">
<table class="ng_form_tab" cellspacing=2 cellpadding=0>
<tbody>
<tr><th>Rok</th><td><input type="text" name="rok" value="{$rok}"></td>
<tr><th>Fakulta</th><td>
EOT;
    $params = array();
    $params[] = array("name"=>"fakulta", "value" => $fakulta);
    echo processAndTransformService(SEZNAM_FAKULT . "?domena=FAKULTA", SEZNAM_FAKULT_XSL, $params);
    echo <<<EOT
</td></tr>
<td class="ng_fire" align="center" colspan="2"><input type="submit" name="submit" value="Najít studijní programy" style="font-weight: bolder"></td>
</tr>
</tbody>
</table>
<input type="hidden" name="screen" value="seznam">
</form>
EOT;

    echo "</table>";

}

function seznamScreen() {
    global $_REQUEST,$rok,$fakulta;

    $params = array();
    $params[] = array("name"=>"fakulta", "value" => $fakulta);
    $params[] = array("name"=>"rok", "value" => $rok);

    echo "<h2>Seznam programů</h2>";
    echo processAndTransformService(SEZNAM_PROGRAMU.
        "?rok=$rok".
        (isset($_REQUEST["fakulta"]) && $_REQUEST["fakulta"] != "" ? "&fakulta={$_REQUEST["fakulta"]}" : ""),
        SEZNAM_PROGRAMU_XSL, $params);
}

function detailScreen()
{
    global $_REQUEST,$rok,$fakulta,$stprIdno;

    $params = array();
    $params[] = array("rok"=>$rok, "fakulta" => $fakulta, "stprIdno" => $stprIdno);
    $params[] = array("name"=>"fakulta", "value" => $fakulta);
    $params[] = array("name"=>"rok", "value" => $rok);
    $params[] = array("name"=>"stprIdno", "value" => $stprIdno);

    echo "<h2>Detail programu</h2>";
    echo processAndTransformService(PROGRAM_DETAIL.
        "?stprIdno=$stprIdno", PROGRAM_DETAIL_XSL, $params);

    echo "<h2>Oblasti vzdělávání programu</h2>";
    echo processAndTransformService(OBLASTI."?stprIdno=$stprIdno", OBLASTI_XSL, $params);
}

/*   ---------------------------------------
      Zde zacina "hlavni program"
*/

$screen = isset($_REQUEST["screen"]) ? $_REQUEST["screen"] : "main";
$rok = isset($_REQUEST["rok"]) ? $_REQUEST["rok"] : date("Y");
$fakulta = isset($_REQUEST["fakulta"]) ? $_REQUEST["fakulta"] : "%";
$stprIdno = isset($_REQUEST["stprIdno"]) ? $_REQUEST["stprIdno"] : null;

require_once "header.php";

/* podle vybrane obrazovky stahnu pozadovana data a zobrazim je */
if ($screen == "main") {
    mainScreen();
} else if ($screen == "seznam") {
    mainScreen();
    seznamScreen();
} else if ($screen == "detail") {
    mainScreen();
    seznamScreen();
    detailScreen();
}

require_once "footer.php";

?>