<?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;
    echo <<<EOT

<h2>Statistické výstupy pro jednotlivé...</h2>
<h2>... fakulty - programy - obory - kola přijímacího řízení - předměty - varianty testů</h2>

<form action="index.php" method="post">
<table class="ng_tab"><tr><th>Pro rok</th>
<td><input type="text" name="rok" value="{$rok}"></td>
<td><input type="submit" name="submit" value="Nastavit"> .. po zadání roku a kliknutím na tlačítko "Nastav" se nastaví údaje pro zvolený rok.</td>
</tr></table>
</form>

<form action="index.php" method="post">
<table class="ng_form_tab" cellspacing=2 cellpadding=0>
<tbody>
<tr><td colspan=2>Pozor - zadejte vždy NEJVÝŠE JEDEN z následujících parametrů (Fakulta, Studijní program, Studijní obor, Kombinace):</td></tr>
<tr><th>Fakulta</th><td>
EOT;
    echo processAndTransformService(SEZNAM_FAKULT . "?domena=FAKULTA", SEZNAM_FAKULT_XSL, 0);
    echo <<<EOT
</td></tr>
<tr><th>Studijní program</th><td>
EOT;
    echo processAndTransformService(SEZNAM_PROGRAMU . "?rok=$rok", SEZNAM_PROGRAMU_XSL, 0);
    echo <<<EOT
</td></tr>
</tr>
<tr><th>Studijní obor</th><td>
EOT;
    echo processAndTransformService(SEZNAM_OBORU . "?rok=$rok", SEZNAM_OBORU_XSL, 0);
    echo <<<EOT
</td></tr>
<tr><th>Kombinace</th><td>
EOT;
    echo processAndTransformService(SEZNAM_KOMBINACI . "?rok=$rok", SEZNAM_KOMBINACI_XSL, 0);
    echo <<<EOT
</td></tr>
<tr><th>Kolo přijímacího řízení</th><td>
<select name="koloPrijimacihoRizeni">
<option value="" selected>- jakékoliv -</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td></tr>
<tr><th>Typ programu</th><td>
EOT;
    echo processAndTransformService(SEZNAM_TYPU_PROGRAMU . "?domena=TYP_OBORU", SEZNAM_TYPU_PROGRAMU_XSL, 0);
    echo <<<EOT
</td></tr>
<tr><th>Úroveň zobrazení</th><td>
<select name="uroven">
<option value="1">Univerzita</option>
<option value="2">Univerzita-Fakulta</option>
<option value="3">Univerzita-Fakulta-Program</option>
<option value="4">Univerzita-Fakulta-Program-Obor</option>
<option value="5">Univerzita-Fakulta-Program-Obor-Kolo</option>
<option value="6" selected>Univerzita-Fakulta-Program-Obor-Kolo-Předmět</option>
</select>
</td></tr>
<tr><th>Zobrazovat jen písemné testy</th><td><input type="checkbox" name="zobrazovatJenPisemne"></td></tr>
<tr><th>Zobrazovat předměty ze SŠ</th><td><input type="checkbox" name="zobrazovatZeSS"></td></tr>
<tr><th>Zobrazovat červený nápis</th><td><input type="checkbox" name="redalert" checked></td></tr>
<td class="ng_fire" align="center" colspan="2"><input type="submit" name="submit" value="Zobrazit statistiku" style="font-weight: bolder"></td>
</tr>
</tbody>
</table>
<input type="hidden" name="screen" value="statistika">
<input type="hidden" name="rok" value="{$rok}">
</form>
EOT;

    echo "</table>";

    echo <<<EOT

<h2>Statistické výstupy pro jednotlivé fakulty - použité kódy rozhodnutí</h2>

<form action="index.php" method="post">
<table class="ng_tab"><tr><th>Pro rok</th>
<td><input type="text" name="rok" value="{$rok}"></td>
<td><input type="submit" name="submit" value="Vyhledej"></td>
</tr></table>
<input type="hidden" name="screen" value="kodyrozhodnuti">
</form>

<h2>Statistické výstupy pro jednotlivé fakulty - použité výsledky zápisu versus kódy rozhodnutí</h2>

<form action="index.php" method="post">
<table class="ng_tab"><tr><th>Pro rok</th>
<td><input type="text" name="rok" value="{$rok}"></td>
<td><input type="submit" name="submit" value="Vyhledej"></td>
</tr></table>
<input type="hidden" name="screen" value="vysledkykody">
</form>
EOT;

}

function statistikaScreen()
{
    global $_REQUEST;
    $uroven = $_REQUEST["uroven"];
    $service = $uroven == 6 ? STATISTIKA_S_PREDMETY : STATISTIKA;
    $url = $service . "?rok={$_REQUEST["rok"]}&uroven={$_REQUEST["uroven"]}" .
           (isset($_REQUEST["fakulta"]) && $_REQUEST["fakulta"] != "" ? "&fakulta=".urlencode(utf8_encode($_REQUEST["fakulta"])) : "") .
           (isset($_REQUEST["stprIdno"]) && $_REQUEST["stprIdno"] != "" ? "&stprIdno={$_REQUEST["stprIdno"]}" : "") .
           (isset($_REQUEST["oborIdno"]) && $_REQUEST["oborIdno"] != "" ? "&oborIdno={$_REQUEST["oborIdno"]}" : "") .
           (isset($_REQUEST["kombIdno"]) && $_REQUEST["kombIdno"] != "" ? "&kombIdno={$_REQUEST["kombIdno"]}" : "") .
           (isset($_REQUEST["koloPrijimacihoRizeni"]) && $_REQUEST["koloPrijimacihoRizeni"] != "" ? "&koloPrijimacihoRizeni={$_REQUEST["koloPrijimacihoRizeni"]}" : "") .
           (isset($_REQUEST["typProgramu"]) && $_REQUEST["typProgramu"] != "" ? "&typProgramu={$_REQUEST["typProgramu"]}" : "") .
           (isset($_REQUEST["zobrazovatZeSS"]) ? "&zobrazovatZeSS=true" : "&zobrazovatZeSS=false") .
           (isset($_REQUEST["zobrazovatJenPisemne"]) ? "&zobrazovatJenPisemne=true" : "&zobrazovatJenPisemne=false");
    echo processAndTransformService($url, STATISTIKA_S_PREDMETY_XSL, 1);
}

function kodyScreen()
{
    global $_REQUEST;
    $url = KODY . "?rok={$_REQUEST["rok"]}";
    echo processAndTransformService($url, KODY_XSL, 1);
}

function vysledkyKodyScreen()
{
    global $_REQUEST;
    $url = VYSLEDKY_KODY . "?rok={$_REQUEST["rok"]}";
    echo processAndTransformService($url, VYSLEDKY_KODY_XSL, 1);
}

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

if (isset($_REQUEST["logout"]) && $_REQUEST["logout"] == "1") {
        setcookie("AppUserName", '', time() - 3600);
        setcookie("wsStagUserName", '', time() - 3600);
        setcookie("wsStagUserRole", '', time() - 3600);
        setcookie("wsStagUserTicket", '', time() - 3600);
        setcookie("wsSkola", '', time() - 3600);
        setcookie("wsUrl", '', time() - 3600);
        setcookie("wsSkolaCelyNazev", '', time() - 3600);
        
        unset($_COOKIE["AppUserName"]);
        unset($_COOKIE["wsStagUserName"]);
        unset($_COOKIE["wsStagUserRole"]);
        unset($_COOKIE["wsStagUserTicket"]);
        unset($_COOKIE["wsSkola"]);
        unset($_COOKIE["wsUrl"]);
        unset($_COOKIE["wsSkolaCelyNazev"]);
        
        header("Location: index.php?afterLogout");
        exit();
}

if (vybratSkolu() == 0) {
  return;
}

authorize();

$screen = isset($_REQUEST["screen"]) ? $_REQUEST["screen"] : "main";
$rok = isset($_REQUEST["rok"]) ? $_REQUEST["rok"] : date("Y");
$redalert = isset($_REQUEST["redalert"]) ? $_REQUEST["redalert"] : false;
if ($screen != "statistika") $redalert = true;

require_once "header.php";

/* podle vybrane obrazovky stahnu pozadovana data a zobrazim je */
if ($screen == "main") {
    mainScreen();
} else if ($screen == "statistika") {
    statistikaScreen();
} else if ($screen == "kodyrozhodnuti") {
    kodyScreen();
} else if ($screen == "vysledkykody") {
    vysledkyKodyScreen();
}

require_once "footer.php";

?>