Ejemplo n.º 1
2
function student_kolizijapdf()
{
    global $userid;
    require_once 'lib/tcpdf/tcpdf.php';
    $semestar = intval($_REQUEST['semestar']);
    if ($semestar == 1) {
        $tekst_semestar = "zimskom";
    } else {
        $tekst_semestar = "ljetnjem";
    }
    // Prikupljam podatke iz baze
    // Za koju godinu se prijavljuje?
    $q1 = myquery("select id, naziv from akademska_godina where aktuelna=1");
    $q2 = myquery("select id, naziv from akademska_godina where id>" . mysql_result($q1, 0, 0) . " order by id limit 1");
    if (mysql_num_rows($q2) < 1) {
        //	nicemessage("U ovom trenutku nije aktiviran upis u sljedeću akademsku godinu.");
        //	return;
        // Pretpostavljamo da se upisuje u aktuelnu?
        $zagodinu = mysql_result($q1, 0, 0);
        $agnaziv = mysql_result($q1, 0, 1);
        $q3 = myquery("select id from akademska_godina where id<{$zagodinu} order by id desc limit 1");
        $proslagodina = mysql_result($q3, 0, 0);
    } else {
        $proslagodina = mysql_result($q1, 0, 0);
        $zagodinu = mysql_result($q2, 0, 0);
        $agnaziv = mysql_result($q2, 0, 1);
    }
    // Koji je odsjek?
    $q4 = myquery("select s.id, s.naziv, i.naziv, ss.semestar from studij as s, student_studij as ss, institucija as i where ss.student={$userid} and ss.studij=s.id and s.institucija=i.id and ss.akademska_godina={$proslagodina} order by semestar desc limit 1");
    if (mysql_num_rows($q4) < 1) {
        // Očito da su aktuelna i prošla godina loše određene
        $q4 = myquery("select s.id, s.naziv, i.naziv, ss.semestar, ss.akademska_godina from studij as s, student_studij as ss, institucija as i where ss.student={$userid} and ss.studij=s.id and s.institucija=i.id order by akademska_godina desc, semestar desc limit 1");
        if (mysql_num_rows($q4) < 1) {
            biguglyerror("Nikada niste bili nas student!");
            return;
        }
        $proslagodina = mysql_result($q4, 0, 4);
        if (mysql_num_rows($q2) < 1) {
            biguglyerror("Nije kreirana nova akademska godina u koju se upisujete.");
            print "Kontaktirajte administratora.";
            return;
        }
        $q2 = myquery("select id, naziv from akademska_godina where id>{$proslagodina} order by id limit 1");
        $zagodinu = mysql_result($q2, 0, 0);
        $agnaziv = mysql_result($q2, 0, 1);
    }
    $studij = mysql_result($q4, 0, 0);
    $studij_naziv = mysql_result($q4, 0, 1);
    $institucija_naziv = mysql_result($q4, 0, 2);
    $godina_studija = ceil(mysql_result($q4, 0, 3) / 2);
    // Da li je student popunio ugovor za drugi odsjek?
    $tekst_mijenja = "";
    $q7 = myquery("select s.id, s.naziv, i.naziv from studij as s, ugovoroucenju as uou, institucija as i where uou.student={$userid} and uou.studij=s.id and s.institucija=i.id and uou.akademska_godina={$zagodinu}");
    if (mysql_num_rows($q7) > 1 && $studij != mysql_result($q7, 0, 0)) {
        $institucija_naziv = mysql_result($q7, 0, 2);
        $tekst_mijenja = "predao sam zahtjev za promjenu studija na " . mysql_result($q7, 0, 1) . ". S tim u vezi, ";
    }
    // Zapis u tabeli kolizija
    $predmeti_kolizija = $predmeti_ects = array();
    $q10 = myquery("select p.id, p.naziv, p.ects from kolizija as k, predmet as p where k.student={$userid} and k.akademska_godina={$zagodinu} and k.semestar={$semestar} and k.predmet=p.id");
    if (mysql_num_rows($q10) < 1) {
        biguglyerror("Vi niste popunili Zahtjev za koliziju za {$agnaziv} godinu!");
        print "Ako je ovo greska, kontaktirajte administratora.";
        return;
    }
    while ($r10 = mysql_fetch_row($q10)) {
        $predmeti_kolizija[$r10[0]] = $r10[1];
        $predmeti_ects[$r10[0]] = $r10[2];
    }
    if ($semestar == 1) {
        $s2 = 1;
    } else {
        $s2 = 0;
    }
    // Predmeti koje nije polozio
    $predmeti_prenos = array();
    $q20 = myquery("select p.id, p.naziv, p.ects from student_predmet as sp, ponudakursa as pk, predmet as p where sp.student={$userid} and sp.predmet=pk.id and pk.predmet=p.id and pk.akademska_godina={$proslagodina} and pk.semestar MOD 2={$s2} and pk.semestar<{$godina_studija}*2+1 and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id and ko.ocjena != 5)=0");
    while ($r20 = mysql_fetch_row($q20)) {
        if (array_key_exists($r20[0], $predmeti_kolizija)) {
            continue;
        }
        $predmeti_prenos[$r20[0]] = $r20[1];
        $predmeti_ects[$r20[0]] = $r20[2];
    }
    // Podaci o studentu
    $q30 = myquery("select ime, prezime, brindexa, spol from osoba where id={$userid}");
    $ime = mysql_result($q30, 0, 0);
    $prezime = mysql_result($q30, 0, 1);
    $brindexa = mysql_result($q30, 0, 2);
    $spol = mysql_result($q30, 0, 3);
    if ($spol == "") {
        $spol = spol(mysql_result($q30, 0, 0));
    }
    if ($spol == "M") {
        $student = "student";
        $polozio = "položio";
    } else {
        $student = "studentica";
        $polozio = "položila";
    }
    ?>
<html>
<head>
<title>Zahtjev za koliziju</title>
</head>
<body>
<p>Univerzitet u Sarajevu<br>
Elektrotehnički fakultet Sarajevo<br>
<?php 
    echo $institucija_naziv;
    ?>
</p>

<p>&nbsp;</p>

<p>Student: <?php 
    echo "{$ime} {$prezime} ({$brindexa})";
    ?>
</p>

<p>&nbsp;</p>

<p><b>Predmet: ZAHTJEV ZA KOLIZIJU</b></p>

<p>&nbsp;</p>

<p>Ja, <?php 
    echo "{$ime} {$prezime}";
    ?>
, <?php 
    echo $student;
    ?>
 studija <?php 
    echo $studij_naziv;
    ?>
, <?php 
    echo $godina_studija;
    ?>
. godina, broj indexa <?php 
    echo $brindexa;
    ?>
, <?php 
    echo $tekst_mijenja;
    ?>
 molim Vas da mi u skladu sa Zakonom o visokom obrazovanju Kantona Sarajevo, u <?php 
    echo $tekst_semestar;
    ?>
 semestru akademske <?php 
    echo $agnaziv;
    ?>
 godine odobrite slušanje sljedećih predmeta sa <?php 
    echo $godina_studija + 1;
    ?>
. godine studija u koliziji:</p>

<ul>
<?php 
    foreach ($predmeti_kolizija as $id => $predmet) {
        print "<li>{$predmet} (" . $predmeti_ects[$id] . " ECTS)</li>\n";
    }
    ?>
</ul>

<p>&nbsp;</p>

<p>Obzirom da sa <?php 
    echo $godina_studija;
    ?>
. godine studija nisam <?php 
    echo $polozio;
    ?>
 sljedeće predmete:</p>

<ul>
<?php 
    foreach ($predmeti_prenos as $id => $predmet) {
        print "<li>{$predmet} (" . $predmeti_ects[$id] . " ECTS)</li>\n";
    }
    ?>
</ul>

te da se jedan predmet prenosi, nije prekoračen maksimalan broj od 30 ECTS kredita po semestru.</p>

<p>&nbsp;</p>

<p>U nadi da ćete udovoljiti mom zahtjevu,</p>

<p>&nbsp;</p>

<table border="0"><tr><td width="100%">&nbsp;</td><td align="right"><p>&nbsp;</p><p>_____________________________________</p></td></tr>
<tr><td width="100%">&nbsp;</td><td align="center"><?php 
    echo "{$ime} {$prezime}";
    ?>
</td></tr></table>
</body>
</html>
<?php 
    return;
    $q5 = myquery("select uu.id, s.id, s.naziv, s.naziv_en, uu.semestar, s.tipstudija from ugovoroucenju as uu, studij as s where uu.student={$userid} and uu.akademska_godina={$zagodinu} and uu.studij=s.id order by semestar desc limit 1");
    if (mysql_num_rows($q5) < 1) {
        niceerror("Nije kreiran ugovor o učenju za studenta.");
        return;
    }
    $ugovorid = mysql_result($q5, 0, 0);
    $studij = mysql_result($q5, 0, 1);
    $studijbos = mysql_result($q5, 0, 2);
    $studijbos = substr($studijbos, 0, strpos($studijbos, "(") - 1);
    $studijeng = mysql_result($q5, 0, 3);
    $sem2 = mysql_result($q5, 0, 4);
    $tipstudija = mysql_result($q5, 0, 5);
    $sem1 = $sem2 - 1;
    $godina = $sem2 / 2;
    // Ostali podaci o osobi
    $q10 = myquery("select ime, prezime, brindexa from osoba where id={$userid}");
    $imeprezime = mysql_result($q10, 0, 0) . " " . mysql_result($q10, 0, 1);
    $brindexa = mysql_result($q10, 0, 2);
    // Najnoviji plan za odabrani studij
    $q6 = myquery("select godina_vazenja from plan_studija where studij={$studij} order by godina_vazenja desc limit 1");
    if (mysql_num_rows($q6) < 1) {
        niceerror("Nepostojeći studij");
        return;
    }
    $najnoviji_plan = mysql_result($q6, 0, 0);
    // Da li je ponovac?
    $q20 = myquery("select semestar from student_studij where student={$userid} and studij={$studij} and akademska_godina={$proslagodina} order by semestar desc limit 1");
    if ($sem1 > mysql_result($q20, 0, 0)) {
        $ponovac = 0;
    } else {
        $ponovac = 1;
    }
    // Odredjujemo da li ima prenesenih predmeta
    // TODO: ovo sada ne radi za izborne predmete
    $q20 = myquery("select p.sifra, p.naziv, p.ects, ps.semestar from predmet as p, plan_studija as ps where ps.godina_vazenja={$najnoviji_plan} and ps.studij={$studij} and (ps.semestar=" . ($sem1 - 1) . " or ps.semestar=" . ($sem1 - 2) . ") and ps.obavezan=1 and ps.predmet=p.id and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id)=0");
    if (mysql_num_rows($q20) > 1) {
        niceerror("Nemate uslove za upis {$godina}. godine studija");
        print "Sačekajte da prikupite uslov ili popunite Ugovor za prethodnu godinu studija.";
        return;
    }
    if (mysql_num_rows($q20) == 1) {
        $ima_preneseni = 1;
        $preneseni_sifra = mysql_result($q20, 0, 0);
        $preneseni_naziv = mysql_result($q20, 0, 1);
        $preneseni_ects = mysql_result($q20, 0, 2);
        $preneseni_semestar = mysql_result($q20, 0, 3);
    } else {
        $ima_preneseni = 0;
    }
    // Privremeni hack za master
    if ($tipstudija == 3) {
        $mscfile = "-msc";
    } else {
        if ($tipstudija == 2) {
            $mscfile = "";
        }
    }
    // Ako čovjek upisuje prvu godinu nečeka (mastera), broj indexa je netačan!
    if ($godina == 1) {
        $brindexa = "";
    }
    // ----- Pravljenje PDF dokumenta
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    // set document information
    $pdf->SetCreator("Zamger");
    $pdf->SetTitle('Domestic Learning Agreement / Ugovor o ucenju');
    // set default monospaced font
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    //set margins
    $pdf->SetMargins(0, 0, 0);
    //set auto page breaks
    $pdf->SetAutoPageBreak(false);
    //set image scale factor
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    //$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO*2.083333);
    $pdf->setJPEGQuality(100);
    //set some language-dependent strings
    $pdf->setLanguageArray($l);
    // ---------------------------------------------------------
    // set font
    $pdf->SetFont('freesans', 'B', 9);
    $pdf->SetHeaderData("", 0, "", "");
    $pdf->SetPrintHeader(false);
    $pdf->SetPrintFooter(false);
    // add a page
    $pdf->AddPage();
    //	$pdf->Image("images/content/150dpi/ETF-Domestic-contract-PGS-ALL-0.png",210,297,0,0,'','','',true,150);
    $pdf->Image("images/content/150dpi/domestic-contract{$mscfile}-0.png", 0, 0, 210, 0, '', '', '', true, 150);
    $pdf->SetXY(175, 34);
    $pdf->Cell(23, 0, $agnaziv, 0, 0, 'C');
    $pdf->SetXY(175, 42);
    $pdf->Cell(23, 0, $godina . ".", 0, 0, 'C');
    $pdf->SetXY(175, 50);
    $pdf->Cell(23, 0, $sem1 . ". & " . $sem2, 0, 0, 'C');
    $pdf->SetXY(70, 48);
    $pdf->Cell(100, 0, $studijeng, 0, 0);
    $pdf->SetXY(70, 52);
    $pdf->Cell(100, 0, $studijbos, 0, 0);
    $pdf->SetXY(70, 62);
    $pdf->Cell(100, 0, $imeprezime);
    $pdf->SetXY(70, 69);
    $pdf->Cell(100, 0, $brindexa);
    // PRVI SEMESTAR
    $pdf->AddPage();
    $pdf->Image("images/content/150dpi/domestic-contract{$mscfile}-1.png", 0, 0, 210);
    $pdf->SetXY(175, 34);
    $pdf->Cell(23, 0, $agnaziv, 0, 0, 'C');
    $pdf->SetXY(175, 42);
    $pdf->Cell(23, 0, $godina . ".", 0, 0, 'C');
    $pdf->SetXY(175, 50);
    $pdf->Cell(23, 0, $sem1 . ".", 0, 0, 'C');
    $pdf->SetXY(70, 48);
    $pdf->Cell(100, 0, $studijeng, 0, 0);
    $pdf->SetXY(70, 52);
    $pdf->Cell(100, 0, $studijbos, 0, 0);
    $pdf->SetXY(70, 62);
    $pdf->Cell(100, 0, $imeprezime);
    $pdf->SetXY(70, 69);
    $pdf->Cell(100, 0, $brindexa);
    // Spisak obaveznih predmeta na neparnom semestru
    // Ako je ponovac, ne prikazujemo predmete koje je polozio
    if ($ponovac == 1) {
        $q100 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, plan_studija as ps where ps.godina_vazenja={$najnoviji_plan} and ps.studij={$studij} and ps.semestar={$sem1} and ps.obavezan=1 and ps.predmet=p.id and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id)=0");
    } else {
        // Ako nije, trebamo prikazati one koje je položio u koliziji
        $q100 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, plan_studija as ps where ps.godina_vazenja={$najnoviji_plan} and ps.studij={$studij} and ps.semestar={$sem1} and ps.obavezan=1 and ps.predmet=p.id");
    }
    $ykoord = 95;
    $ects = 0;
    while ($r100 = mysql_fetch_row($q100)) {
        $pdf->SetXY(13, $ykoord);
        $pdf->Cell(100, 0, $r100[0]);
        $pdf->SetXY(50, $ykoord);
        $pdf->Cell(100, 0, $r100[1]);
        $e = "{$r100['2']}";
        if (!strchr($e, ".")) {
            $e .= ".0";
        }
        $pdf->SetXY(170, $ykoord);
        $pdf->Cell(100, 0, $e);
        $ykoord += 4;
        $ects += $r100[2];
    }
    // Da li je prenesen predmet na neparnom semestru?
    if ($ima_preneseni && $preneseni_semestar % 2 == 1) {
        $pdf->SetXY(13, $ykoord);
        $pdf->Cell(100, 0, $preneseni_sifra);
        $pdf->SetXY(50, $ykoord);
        $pdf->Cell(100, 0, $preneseni_naziv);
        $e = "{$preneseni_ects}";
        if (!strchr($e, ".")) {
            $e .= ".0";
        }
        $pdf->SetXY(170, $ykoord);
        $pdf->Cell(100, 0, $e);
        $ykoord += 4;
        $ects += $preneseni_ects;
    }
    // Spisak izbornih predmeta
    if ($ponovac == 1) {
        $q110 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, ugovoroucenju_izborni as uoui, ugovoroucenju as uu where uoui.ugovoroucenju=uu.id and uu.student={$userid} and uu.akademska_godina={$zagodinu} and uoui.predmet=p.id and uu.semestar={$sem1} and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id)=0");
    } else {
        $q110 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, ugovoroucenju_izborni as uoui, ugovoroucenju as uu where uoui.ugovoroucenju=uu.id and uu.student={$userid} and uu.akademska_godina={$zagodinu} and uoui.predmet=p.id and uu.semestar={$sem1}");
    }
    $ykoord = 123;
    while ($r110 = mysql_fetch_row($q110)) {
        $pdf->SetXY(13, $ykoord);
        $pdf->Cell(100, 0, $r110[0]);
        $pdf->SetXY(50, $ykoord);
        $pdf->Cell(100, 0, $r110[1]);
        $e = "{$r110['2']}";
        if (!strchr($e, ".")) {
            $e .= ".0";
        }
        $pdf->SetXY(170, $ykoord);
        $pdf->Cell(100, 0, $e);
        $ykoord += 4;
        $ects += $r110[2];
    }
    // Suma ects
    if (!strchr($ects, ".")) {
        $ects .= ".0";
    }
    $pdf->SetXY(170, 135);
    $pdf->Cell(100, 0, $ects);
    // DRUGI SEMESTAR
    $pdf->AddPage();
    $pdf->Image("images/content/150dpi/domestic-contract{$mscfile}-2.png", 0, 0, 210);
    $pdf->SetXY(175, 34);
    $pdf->Cell(23, 0, $agnaziv, 0, 0, 'C');
    $pdf->SetXY(175, 42);
    $pdf->Cell(23, 0, $godina . ".", 0, 0, 'C');
    $pdf->SetXY(175, 50);
    $pdf->Cell(23, 0, $sem2 . ".", 0, 0, 'C');
    $pdf->SetXY(70, 48);
    $pdf->Cell(100, 0, $studijeng, 0, 0);
    $pdf->SetXY(70, 52);
    $pdf->Cell(100, 0, $studijbos, 0, 0);
    $pdf->SetXY(70, 62);
    $pdf->Cell(100, 0, $imeprezime);
    $pdf->SetXY(70, 69);
    $pdf->Cell(100, 0, $brindexa);
    // Spisak obaveznih predmeta na parnom semestru
    if ($ponovac == 1) {
        $q100 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, plan_studija as ps where ps.godina_vazenja={$najnoviji_plan} and ps.studij={$studij} and ps.semestar={$sem2} and ps.obavezan=1 and ps.predmet=p.id and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id)=0");
    } else {
        $q100 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, plan_studija as ps where ps.godina_vazenja={$najnoviji_plan} and ps.studij={$studij} and ps.semestar={$sem2} and ps.obavezan=1 and ps.predmet=p.id");
    }
    $ykoord = 95;
    $ects = 0;
    while ($r100 = mysql_fetch_row($q100)) {
        $pdf->SetXY(13, $ykoord);
        $pdf->Cell(100, 0, $r100[0]);
        $pdf->SetXY(50, $ykoord);
        $pdf->Cell(100, 0, $r100[1]);
        $e = "{$r100['2']}";
        if (!strchr($e, ".")) {
            $e .= ".0";
        }
        $pdf->SetXY(170, $ykoord);
        $pdf->Cell(100, 0, $e);
        $ykoord += 4;
        $ects += $r100[2];
    }
    // Da li je prenesen predmet na parnom semestru?
    if ($ima_preneseni && $preneseni_semestar % 2 == 0) {
        $pdf->SetXY(13, $ykoord);
        $pdf->Cell(100, 0, $preneseni_sifra);
        $pdf->SetXY(50, $ykoord);
        $pdf->Cell(100, 0, $preneseni_naziv);
        $e = "{$preneseni_ects}";
        if (!strchr($e, ".")) {
            $e .= ".0";
        }
        $pdf->SetXY(170, $ykoord);
        $pdf->Cell(100, 0, $e);
        $ykoord += 4;
        $ects += $preneseni_ects;
    }
    // Spisak izbornih predmeta
    if ($ponovac == 1) {
        $q110 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, ugovoroucenju_izborni as uoui, ugovoroucenju as uu where uoui.ugovoroucenju=uu.id and uu.student={$userid} and uu.akademska_godina={$zagodinu} and uoui.predmet=p.id and uu.semestar={$sem2} and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id)=0");
    } else {
        $q110 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, ugovoroucenju_izborni as uoui, ugovoroucenju as uu where uoui.ugovoroucenju=uu.id and uu.student={$userid} and uu.akademska_godina={$zagodinu} and uoui.predmet=p.id and uu.semestar={$sem2}");
    }
    $ykoord = 123;
    while ($r110 = mysql_fetch_row($q110)) {
        $pdf->SetXY(13, $ykoord);
        $pdf->Cell(100, 0, $r110[0]);
        $pdf->SetXY(50, $ykoord);
        $pdf->Cell(100, 0, $r110[1]);
        $e = "{$r110['2']}";
        if (!strchr($e, ".")) {
            $e .= ".0";
        }
        $pdf->SetXY(170, $ykoord);
        $pdf->Cell(100, 0, $e);
        $ykoord += 4;
        $ects += $r110[2];
    }
    // Suma ects
    if (!strchr($ects, ".")) {
        $ects .= ".0";
    }
    $pdf->SetXY(170, 135);
    $pdf->Cell(100, 0, $ects);
    // ---------------------------------------------------------
    //Close and output PDF document
    $pdf->Output('ugovor_o_ucenju.pdf', 'I');
    //============================================================+
    // END OF FILE
    //============================================================+
}
Ejemplo n.º 2
0
function admin_permissions($login, $year)
{
    global $conf_sysadmins, $conf_data_path;
    $perms = array();
    if (!in_array($login, $conf_sysadmins)) {
        $perms_path = $conf_data_path . "/permissions.json";
        if (file_exists($perms_path)) {
            $all_perms = json_decode(file_get_contents($perms_path), true);
            $perms = $all_perms[$login];
        }
        if ($conf_zamger) {
            // Sysadmins can see all courses, other just those they are teachers for
            require_once "zamger/courses.php";
            $tcs = teacher_courses($year);
            if ($tcs == false) {
                admin_log("failed to retrieve courses");
                niceerror("Neuspješno preuzimanje spiska predmeta");
                print "<p>Konekcija na Zamger ne funkcioniše. Probajte logout pa login...</p>\n";
                print "</body></html>\n";
                return 0;
            }
            if (empty($tcs)) {
                niceerror("Izgleda da nemate status nastavnika niti na jednom predmetu.");
                return 0;
            }
            foreach ($tcs as $tc) {
                $c9id = "X" . $tc['id'] . "_" . $year;
                if (!in_array($c9id, $perms)) {
                    $perms[] = $c9id;
                }
            }
        }
    }
    return $perms;
}
Ejemplo n.º 3
0
function student_moodle()
{
    global $conf_moodle, $conf_moodle_url;
    if (!$conf_moodle) {
        biguglyerror("Moodle integracija nije uključena.");
        print "Kontaktirajte vašeg administratora.";
        return;
    }
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    $tip = $_REQUEST['tip'];
    $q = myquery("select moodle_id from moodle_predmet_id where predmet={$predmet} and akademska_godina={$ag}");
    if (mysql_num_rows($q) < 1) {
        zamgerlog("ne postoji moodle ID za predmet pp{$predmet}, ag{$ag}", 3);
        zamgerlog2("ne postoji moodle ID za predmet", $predmet, $ag);
        niceerror("Pogrešan predmet/akademska_godina ili za ovaj predmet nije definisan moodle ID.");
        return;
    }
    $moodle_id = mysql_result($q, 0, 0);
    if ($tip == "forum") {
        header("Location: {$conf_moodle_url}" . "mod/forum/index.php?id={$moodle_id}");
    } else {
        header("Location: {$conf_moodle_url}" . "course/view.php?id={$moodle_id}");
    }
}
Ejemplo n.º 4
0
function greska_u_modulima()
{
    global $uspjeh, $sta;
    if ($uspjeh == 0) {
        ?>
		<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
		<body>
		<p><font color='red'><b>GREŠKA: U toku su radovi na Zamgeru</b></font></p>
		<p>Molimo Vas da pokušate ponovo za par minuta koristeći dugme <a href="javascript:location.reload(true)">Refresh</a>.</p>
		</body></html>
		<?php 
    }
    if ($uspjeh == 1) {
        if (function_exists('error_get_last')) {
            $err = error_get_last();
            $file = $err['file'];
            $line = $err['line'];
            $msg = $err['message'];
            $file = substr($file, strlen($file) - 20);
            zamgerlog("sintaksna greska u {$sta}, {$line}: '{$msg}'", 2);
            zamgerlog2("sintaksna greska", $line, 0, 0, $msg);
        } else {
            $file = $sta;
            zamgerlog("sintaksna greska u {$sta}", 2);
            zamgerlog2("sintaksna greska");
            $msg = "";
        }
        niceerror("U toku su radovi na modulu {$sta}");
        print "<p>Molimo Vas da pokušate ponovo za par minuta koristeći dugme <a href=\"javascript:location.reload(true)\">Refresh</a>.</p>";
    }
}
Ejemplo n.º 5
0
function common_slika()
{
    global $conf_files_path, $user_nastavnik, $user_studentska, $user_siteadmin, $userid;
    // Poslani parametar
    $osoba = intval($_REQUEST['osoba']);
    $promjena = intval($_REQUEST['promjena']);
    // Studenti mogu vidjeti samo svoju sliku
    if (!$user_nastavnik && !$user_studentska && !$user_siteadmin && $osoba != $userid) {
        niceerror("Možete vidjeti samo svoju sliku");
        zamgerlog("pristupa slici za osobu {$osoba} a student je", 3);
        zamgerlog2("pristupa tudjoj slici a student je", $osoba);
        return;
    }
    if ($promjena == 1) {
        $q = myquery("select slika from promjena_podataka where osoba={$osoba}");
    } else {
        $q = myquery("select slika from osoba where id={$osoba}");
    }
    if (mysql_num_rows($q) < 1) {
        // Ova poruka se neće vidjeti iz <img> taga, ali neko može otvoriti sliku u posebnom prozoru/tabu
        niceerror("Nepostojeća osoba {$osoba}");
        zamgerlog("slika: nepostojeca osoba {$osoba}", 3);
        zamgerlog2("nepostojeca osoba", $osoba);
        return;
    }
    $slika = mysql_result($q, 0, 0);
    if ($slika == "") {
        niceerror("Osoba {$osoba} nema sliku");
        zamgerlog("osoba u{$osoba} nema sliku", 3);
        zamgerlog2("osoba nema sliku", $osoba);
        return;
    }
    $lokacija_slike = "{$conf_files_path}/slike/{$slika}";
    if (!file_exists($lokacija_slike)) {
        niceerror("Slika za osobu {$osoba} je definisana, ali datoteka ne postoji");
        zamgerlog("nema datoteke za sliku osobe u{$osoba}", 3);
        zamgerlog2("nema datoteke za sliku", $osoba);
        return;
    }
    // Odredjujemo mimetype
    $podaci = getimagesize($lokacija_slike);
    $mimetype = image_type_to_mime_type($podaci[2]);
    if ($mimetype == "") {
        niceerror("Nepoznat tip slike za osobu {$osoba}");
        zamgerlog("nepoznat tip slike za osobu u{$osoba}", 3);
        zamgerlog2("nepoznat tip slike", $osoba);
        return;
    }
    header("Content-Type: {$mimetype}");
    $k = readfile($lokacija_slike, false);
    if ($k == false) {
        //print "Otvaranje slike nije uspjelo! Kontaktirajte administratora";
        // Pošto je header već poslan, nema smisla ispisivati grešku
        zamgerlog("citanje fajla za sliku nije uspjelo u{$osoba}", 3);
        zamgerlog2("citanje fajla za sliku nije uspjelo", $osoba);
    }
    exit;
}
Ejemplo n.º 6
0
function common_cron()
{
    global $conf_files_path, $user_siteadmin;
    $force = intval($_GET['force']);
    if ($force > 0) {
        if (!$user_siteadmin) {
            niceerror("Nemate dozvolu da ovo izvršite.");
            zamgerlog("forsira cron a nije admin", 3);
            zamgerlog2("forsira cron a nije admin");
            return;
        }
        $upit = "id={$force}";
    } else {
        $upit = "aktivan=1 AND sljedece_izvrsenje<NOW()";
    }
    $q10 = myquery("SELECT id, path, UNIX_TIMESTAMP(zadnje_izvrsenje), godina, mjesec, dan, sat, minuta, sekunda FROM cron WHERE {$upit}");
    if (mysql_num_rows($q10) == 0 && $force > 0) {
        niceerror("Nije pronađen zadatak koji odgovara upitu.");
        return;
    }
    while ($r10 = mysql_fetch_row($q10)) {
        // Određujemo sljedeće vrijeme izvršenja
        $localtime = localtime();
        $localtime = cron_find($localtime, 0, $r10[8]);
        $localtime = cron_find($localtime, 1, $r10[7]);
        $localtime = cron_find($localtime, 2, $r10[6]);
        $localtime = cron_find($localtime, 3, $r10[5]);
        $localtime = cron_find($localtime, 4, $r10[4]);
        $localtime = cron_find($localtime, 5, $r10[3]);
        $nexttime = mktime($localtime[2], $localtime[1], $localtime[0], $localtime[4] + 1, $localtime[3], $localtime[5] + 1900);
        // Ažuriramo bazu
        $q20 = myquery("UPDATE cron SET zadnje_izvrsenje=NOW(), sljedece_izvrsenje=FROM_UNIXTIME({$nexttime}) WHERE id={$r10['0']}");
        $q30 = myquery("INSERT INTO cron_rezultat SET cron={$r10['0']}, izlaz='(Nije završeno)', return_value=0, vrijeme=NOW()");
        $id = mysql_insert_id();
        // Pripremamo za izvršenje
        $exec = str_replace("---LASTTIME---", $r10[2], $r10[1]);
        $exec = "php {$conf_files_path}/{$exec}";
        $return = 0;
        $blah = array();
        // Izvršavamo skriptu
        $k = exec($exec, $blah, $return);
        // Stavljamo izlaz u bazu
        $izlaz = my_escape(iconv("UTF-8", "UTF-8//IGNORE", join("\n", $blah)));
        $q40 = myquery("UPDATE cron_rezultat SET return_value={$return}, izlaz='{$izlaz}' WHERE id={$id}");
        if ($force > 0) {
            nicemessage("Uspješno izvršena skripta.");
            $izlaz = str_replace("\\n", "\n", $izlaz);
            print "<p>Izlaz:</p>\n<pre>{$izlaz}</pre>\n";
        }
    }
}
Ejemplo n.º 7
0
function studentska_prodsjeka()
{
    global $userid, $user_siteadmin, $user_studentska;
    // Provjera privilegija
    if (!$user_studentska && !$user_siteadmin) {
        zamgerlog("nije studentska", 3);
        // 3: error
        zamgerlog2("nije studentska");
        // 3: error
        biguglyerror("Pristup nije dozvoljen.");
        return;
    }
    // Odredjujemo akademsku godinu
    $ak_god = intval($_REQUEST['ak_god']);
    if ($ak_god == 0) {
        // Aktuelna
        $q1 = myquery("select id, naziv from akademska_godina where aktuelna=1");
        $ak_god = mysql_result($q1, 0, 0);
        $ak_god_naziv = mysql_result($q1, 0, 1);
        // Da li postoji godina iza aktuelne?
        $q2 = myquery("select id, naziv from akademska_godina where id>{$ak_god} order by id limit 1");
        if (mysql_num_rows($q2) > 0) {
            $ak_god = mysql_result($q2, 0, 0);
            $ak_god_naziv = mysql_result($q2, 0, 1);
        }
    } else {
        $q3 = myquery("select naziv from akademska_godina where id={$ak_god}");
        $ak_god_naziv = mysql_result($q3, 0, 0);
    }
    ?>
<h3>Studentska služba - Zahtjevi za promjenu odsjeka</h3>
<?php 
    // Akcija: brisanje zahtjeva
    if ($_REQUEST['akcija'] == "obrisi") {
        $id = intval($_REQUEST['id']);
        $q5 = myquery("delete from promjena_odsjeka where id={$id}");
        zamgerlog("obrisan zahtjev za promjenu odsjeka sa IDom {$id}", 2);
        // 2 = edit
        zamgerlog2("obrisan zahtjev za promjenu odsjeka", $id);
    }
    // Akcija: dodavanje zahtjeva
    if ($_POST['akcija'] == "dodaj" && check_csrf_token()) {
        $prezime = trim(malaslova(my_escape($_REQUEST['prezime'])));
        $ime = trim(malaslova(my_escape($_REQUEST['ime'])));
        $iz_odsjeka = intval($_REQUEST['iz_odsjeka']);
        $u_odsjek = intval($_REQUEST['u_odsjek']);
        $q100 = myquery("select id from osoba where ime='{$ime}' and prezime='{$prezime}'");
        if (mysql_num_rows($q100) < 1) {
            niceerror("Nepoznat student pod imenom: \"{$ime} {$prezime}\"");
        } else {
            if ($iz_odsjeka == 0 || $u_odsjek == 0) {
                niceerror("Niste odabrali odsjek");
            } else {
                $osoba = mysql_result($q100, 0, 0);
                $q105 = myquery("select count(*) from promjena_odsjeka where osoba={$osoba} and akademska_godina={$ak_god}");
                if (mysql_result($q105, 0, 0) > 0) {
                    niceerror("Već postoji zahtjev za promjenu odsjeka za studenta \"{$ime} {$prezime}\"");
                } else {
                    $q110 = myquery("insert into promjena_odsjeka set osoba={$osoba}, iz_odsjeka={$iz_odsjeka}, u_odsjek={$u_odsjek}, akademska_godina={$ak_god}");
                    $q115 = myquery("select id from promjena_odsjeka where osoba={$osoba} and iz_odsjeka={$iz_odsjeka} and u_odsjek={$u_odsjek} and akademska_godina={$ak_god}");
                    zamgerlog("dodan zahtjev za promjenu odsjeka za osobu u{$osoba} (iz {$iz_odsjeka} u {$u_odsjek})", 2);
                    zamgerlog2("dodan zahtjev za promjenu odsjeka", intval($osoba), $iz_odsjeka, $u_odsjek);
                }
            }
        }
    }
    // Akcija: prihvatanje zahtjeva
    // Ustvari ćemo samo dati linkove na modul studentska/osobe
    if ($_REQUEST['akcija'] == "prihvati") {
        $id = intval($_REQUEST['id']);
        $potvrda = intval($_REQUEST['potvrda']);
        $q500 = myquery("select osoba, iz_odsjeka, u_odsjek from promjena_odsjeka where id={$id} and akademska_godina={$ak_god}");
        if (mysql_num_rows($q500) < 1) {
            niceerror("Nepoznat zahtjev ID");
            return;
        }
        $osoba = mysql_result($q500, 0, 0);
        $iz_odsjeka = mysql_result($q500, 0, 1);
        $u_odsjek = mysql_result($q500, 0, 2);
        // Da li trenutno studira
        $q510 = myquery("select s.id, s.naziv, ss.semestar from studij as s, student_studij as ss where ss.student={$osoba} and ss.studij=s.id and ss.akademska_godina={$ak_god} order by ss.semestar desc");
        if (mysql_num_rows($q510) > 0) {
            $studij = mysql_result($q510, 0, 0);
            $naziv_studija = mysql_result($q510, 0, 1);
            $semestar = mysql_result($q510, 0, 2);
            if ($studij == $u_odsjek) {
                nicemessage("Student je već upisan na studij {$naziv_studija}");
                return;
            }
            if ($studij != $iz_odsjeka) {
                niceerror("Student je trenutno upisan na studij {$naziv_studija} a ne na izabrani studij!");
                print "Vaš zahtjev nije ispravan. Obrišite ga i napravite novi.";
                return;
            }
            // Ispis sa studija
            ?>
		<p>Najprije morate ispisati studenta sa studija <?php 
            echo $naziv_studija;
            ?>
. <a href="?sta=studentska/osobe&osoba=<?php 
            echo $osoba;
            ?>
&akcija=ispis&studij=<?php 
            echo $iz_odsjeka;
            ?>
&semestar=<?php 
            echo $semestar;
            ?>
&godina=<?php 
            echo $ak_god;
            ?>
">Kliknite ovdje da ispišete studenta sa studija,</a> a zatim se vratite na stranicu &quot;Promjena odsjeka&quot; kako biste ga/je upisali na novi studij.</p>
		<?php 
            return;
        }
        // Koji je zadnji semestar slušao?
        $q560 = myquery("select ss.studij, ss.semestar, s.naziv from student_studij as ss, studij as s where ss.student={$osoba} and ss.studij=s.id order by ss.akademska_godina desc, ss.semestar desc");
        $studij = mysql_result($q560, 0, 0);
        $zadnji_semestar = mysql_result($q560, 0, 1);
        $naziv_studija = mysql_result($q560, 0, 2);
        if ($studij != $iz_odsjeka) {
            niceerror("Student je prošle godine bio upisan na studij {$naziv_studija}, a ne na odabrani studij!");
            print "Vaš zahtjev nije ispravan. Obrišite ga i napravite novi.";
            return;
        }
        $q570 = myquery("select naziv from studij where id={$u_odsjek}");
        $naziv_ciljnog = mysql_result($q570, 0, 0);
        print "<p>Provjerite da li student ima uslove za upis u viši semestar ili nema!!!</p>\n";
        if ($zadnji_semestar % 2 == 1) {
            $manji = $zadnji_semestar - 1;
            $veci = $zadnji_semestar + 1;
            ?>
		<p><a href="?sta=studentska/osobe&osoba=<?php 
            echo $osoba;
            ?>
&akcija=upis&studij=<?php 
            echo $u_odsjek;
            ?>
&semestar=<?php 
            echo $manji;
            ?>
&godina=<?php 
            echo $ak_god;
            ?>
">Ponovo upiši studenta na <?php 
            echo $naziv_ciljnog;
            ?>
, <?php 
            echo $manji;
            ?>
. semestar.</a></p>
		<p><a href="?sta=studentska/osobe&osoba=<?php 
            echo $osoba;
            ?>
&akcija=upis&studij=<?php 
            echo $u_odsjek;
            ?>
&semestar=<?php 
            echo $veci;
            ?>
&godina=<?php 
            echo $ak_god;
            ?>
">Upiši studenta na <?php 
            echo $naziv_ciljnog;
            ?>
, <?php 
            echo $veci;
            ?>
. semestar.</a></p>
		<?php 
        } else {
            ?>
		<p><a href="?sta=studentska/osobe&osoba=<?php 
            echo $osoba;
            ?>
&akcija=upis&studij=<?php 
            echo $u_odsjek;
            ?>
&semestar=<?php 
            echo $zadnji_semestar;
            ?>
&godina=<?php 
            echo $ak_god;
            ?>
">Ponovo upiši studenta na <?php 
            echo $naziv_ciljnog;
            ?>
, <?php 
            echo $zadnji_semestar;
            ?>
. semestar.</a></p>
		<?php 
        }
        return;
    }
    // Akcija: kratki izvjestaj
    if ($_REQUEST['akcija'] == "kratkiizvj") {
        $q220 = myquery("select s.id, s.naziv from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.moguc_upis=1 and ts.ciklus=1");
        while ($r220 = mysql_fetch_row($q220)) {
            $ime_odsjeka[$r220[0]] = $r220[1];
        }
        $q400 = myquery("select iz_odsjeka,u_odsjek from promjena_odsjeka where akademska_godina={$ak_god}");
        $total = 0;
        while ($r400 = mysql_fetch_row($q400)) {
            $iz[$r400[0]]++;
            $u[$r400[1]]++;
            $total++;
        }
        ?>
	<table border="1"><tr bgcolor="#CCCCCC"><td><b>Studij</b></td> <td><b>Sa studija</b></td> <td><b>Na studij</b></td> <td><b>Razlika</b></td></tr>
	<?php 
        foreach ($ime_odsjeka as $id => $ime) {
            ?>
<tr><td><?php 
            echo $ime;
            ?>
</td><td><?php 
            echo $iz[$id];
            ?>
</td> <td><?php 
            echo $u[$id];
            ?>
</td> <td bgcolor="#EEEEEE"><?php 
            echo $u[$id] - $iz[$id];
            ?>
</td></tr>
		<?php 
        }
        ?>
	<tr><td>UKUPNO</td><td colspan="3" align="right"><?php 
        echo $total;
        ?>
 zahtjeva</td></tr></table>
	<?php 
        return;
    }
    // Akcija: izvjestaj
    if ($_REQUEST['akcija'] == "izvjestaj") {
        $suma = 0;
        foreach ($_REQUEST as $key => $value) {
            if (substr($key, 0, 6) == "limit-") {
                $studij = intval(substr($key, 6));
                $limit[$studij] = intval($value);
                $suma += intval($value);
            }
        }
        if ($suma != 0) {
            niceerror("Suma svih limita mora biti nula!");
            return;
        }
        // Zahtjeve sortiramo po broju polozenih predmeta i prosjecnoj ocjeni
        $zahtjevi = array();
        global $brojpredmeta, $prosjek;
        // zbog usort() :(
        $q200 = myquery("select po.osoba, po.iz_odsjeka, po.u_odsjek, o.ime, o.prezime from promjena_odsjeka as po, osoba as o where po.osoba=o.id and po.akademska_godina={$ak_god}");
        while ($r200 = mysql_fetch_row($q200)) {
            $zahtjevi[] = $r200[0];
            $imeiprezime[$r200[0]] = "{$r200['3']} {$r200['4']}";
            $izodsjeka[$r200[0]] = $r200[1];
            $uodsjek[$r200[0]] = $r200[2];
            $uk_izodsjeka[$r200[1]]++;
            $uk_uodsjek[$r200[2]]++;
            // Prosjek
            $q210 = myquery("select ko.ocjena from konacna_ocjena as ko, ponudakursa as pk where ko.student={$r200['0']} and ko.predmet=pk.predmet and pk.semestar<3");
            while ($r210 = mysql_fetch_row($q210)) {
                $brojpredmeta[$r200[0]]++;
                $prosjek[$r200[0]] += $r210[0];
            }
            $prosjek[$r200[0]] = $prosjek[$r200[0]] / $brojpredmeta[$r200[0]];
        }
        // Sort preko korisnicke funkcije
        function po_broju_i_prosjeku($s1, $s2)
        {
            global $brojpredmeta, $prosjek;
            if ($brojpredmeta[$s1] < $brojpredmeta[$s2]) {
                return 1;
            } else {
                if ($brojpredmeta[$s1] > $brojpredmeta[$s2]) {
                    return -1;
                } else {
                    if ($prosjek[$s1] < $prosjek[$s2]) {
                        return 1;
                    } else {
                        if ($prosjek[$s1] > $prosjek[$s2]) {
                            return -1;
                        }
                    }
                }
            }
            return 0;
        }
        usort($zahtjevi, po_broju_i_prosjeku);
        // Da li je zahtjev prihvacen ili odbijen?
        $odbijen = array();
        // Status -1 znaci da nije jos uvijek razmatran
        for ($i = 0; $i < count($zahtjevi); $i++) {
            $odbijen[$zahtjevi[$i]] = -1;
        }
        for ($i = 0; $i < count($zahtjevi); $i++) {
            if ($brojpredmeta[$zahtjevi[$i]] < 9) {
                // Ponovci svakako ne mogu mijenjati odsjek
                $odbijen[$zahtjevi[$i]] = 1;
            }
        }
        for ($i = 0; $i < count($zahtjevi); $i++) {
            $osoba = $zahtjevi[$i];
            if ($odbijen[$osoba] != -1) {
                continue;
            }
            // Vec obradjen
            if ($limit[$uodsjek[$osoba]] > 0 && $limit[$izodsjeka[$osoba]] < 0) {
                // Ulazi u limit
                $odbijen[$osoba] = 0;
                $limit[$izodsjeka[$osoba]]++;
                $limit[$uodsjek[$osoba]]--;
                continue;
            }
            // Trazimo osobu s kojom ce se mijenjati
            for ($j = $i + 1; $j < count($zahtjevi); $j++) {
                $osoba2 = $zahtjevi[$j];
                if ($odbijen[$osoba2] != -1) {
                    continue;
                }
                // Vec obradjen
                if ($izodsjeka[$osoba] == $uodsjek[$osoba2] && $uodsjek[$osoba] == $izodsjeka[$osoba2]) {
                    // Klasicna zamjena
                    $odbijen[$osoba] = 0;
                    $odbijen[$osoba2] = 0;
                    break;
                }
                if ($izodsjeka[$osoba] == $uodsjek[$osoba2]) {
                    if ($limit[$uodsjek[$osoba]] > 0 && $limit[$izodsjeka[$osoba2]] < 0) {
                        // Zamjena ulazi u limit
                        $odbijen[$osoba] = 0;
                        $odbijen[$osoba2] = 0;
                        $limit[$izodsjeka[$osoba2]]++;
                        $limit[$uodsjek[$osoba]]--;
                        break;
                    }
                    // Trazimo trecu osobu za 1->2->3->1 zamjenu
                    for ($k = $j + 1; $k < count($zahtjevi); $k++) {
                        $osoba3 = $zahtjevi[$k];
                        if ($odbijen[$osoba3] != -1) {
                            continue;
                        }
                        if ($izodsjeka[$osoba2] == $uodsjek[$osoba3] && $izodsjeka[$osoba3] == $uodsjek[$osoba]) {
                            $odbijen[$osoba] = 0;
                            $odbijen[$osoba2] = 0;
                            $odbijen[$osoba3] = 0;
                            break;
                        }
                    }
                }
                if ($odbijen[$osoba] == 0) {
                    break;
                }
                // Zbog $k petlje
                // Da li u limit ulazi kontra-zamjena?
                if ($izodsjeka[$osoba2] == $uodsjek[$osoba]) {
                    if ($limit[$uodsjek[$osoba2]] > 0 && $limit[$izodsjeka[$osoba1]] < 0) {
                        $odbijen[$osoba] = 0;
                        $odbijen[$osoba2] = 0;
                        $limit[$izodsjeka[$osoba]]++;
                        $limit[$uodsjek[$osoba2]]--;
                        break;
                    }
                }
            }
            // Nista nismo nasli, ovaj je odbijen
            if ($odbijen[$osoba] == -1) {
                $odbijen[$osoba] = 1;
            }
        }
        // Ispis
        $q220 = myquery("select id,kratkinaziv from studij where moguc_upis=1");
        while ($r220 = mysql_fetch_row($q220)) {
            $ime_odsjeka[$r220[0]] = $r220[1];
        }
        ?>
	<b>Prihvaćeni zahtjevi:</b>
	<table border="1"><tr><td>R. br.</td><td>Ime i 
prezime</td><td>Iz 
odsjeka</td><td>U odsjek</td><td>Broj pol.</td><td>Prosjek</td></tr>
	<?php 
        $rbr = 1;
        foreach ($zahtjevi as $osoba) {
            if ($odbijen[$osoba] == 1) {
                continue;
            }
            print "<tr> \n<td>" . $rbr++ . "</td> <td>" . $imeiprezime[$osoba] . "</td> \n<td>" . $ime_odsjeka[$izodsjeka[$osoba]] . "</td> <td>" . $ime_odsjeka[$uodsjek[$osoba]] . "</td> <td>" . $brojpredmeta[$osoba] . "</td> <td>" . round($prosjek[$osoba], 2) . "</td></tr>\n";
        }
        ?>
	</table>
	<p>&nbsp;</p>
	<b>Odbijeni zahtjevi:</b>
	<table border="1"><tr><td>R. br.</td><td>Ime i 
prezime</td><td>Iz 
odsjeka</td><td>U odsjek</td><td>Broj pol.</td><td>Prosjek</td></tr>
	<?php 
        $rbr = 1;
        foreach ($zahtjevi as $osoba) {
            if ($odbijen[$osoba] == 0) {
                continue;
            }
            print "<tr> \n<td>" . $rbr++ . "</td> <td>" . $imeiprezime[$osoba] . "</td> \n<td>" . $ime_odsjeka[$izodsjeka[$osoba]] . "</td> <td>" . $ime_odsjeka[$uodsjek[$osoba]] . "</td> <td>" . $brojpredmeta[$osoba] . "</td> <td>" . round($prosjek[$osoba], 2) . "</td></tr>\n";
        }
        print "</table>\n";
        /*	foreach ($delta as $odsjek=>$broj) {
        		print "Delta ".$ime_odsjeka[$odsjek]." je $broj<br/>";
        		print "Odobreno ".$ime_odsjeka[$odsjek]." je ".$odobreno[$odsjek]."<br/>";
        	}*/
        return;
    }
    // Spisak zahtjeva
    ?>
<b>Aktuelni zahtjevi (akademska <?php 
    echo $ak_god_naziv;
    ?>
):</b>
<ul>
<?php 
    $q10 = myquery("select po.id, o.ime, o.prezime, s.naziv, po.u_odsjek, o.id from promjena_odsjeka as po, osoba as o, studij as s where po.osoba=o.id and po.iz_odsjeka=s.id and po.akademska_godina={$ak_god}");
    if (mysql_num_rows($q10) < 1) {
        print "<li>Nema zahtjeva</li\n";
    }
    $total = 0;
    while ($r10 = mysql_fetch_row($q10)) {
        $q20 = myquery("select naziv from studij where id={$r10['4']}");
        ?>
	<li><a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
        echo $r10[5];
        ?>
"><?php 
        echo $r10[1];
        ?>
 <?php 
        echo $r10[2];
        ?>
</a> - sa "<?php 
        echo $r10[3];
        ?>
" na "<?php 
        echo mysql_result($q20, 0, 0);
        ?>
" (<a href="?sta=studentska/prodsjeka&akcija=obrisi&id=<?php 
        echo $r10[0];
        ?>
&ak_god=<?php 
        echo $ak_god;
        ?>
">obriši zahtjev</a>) (<a href="?sta=studentska/prodsjeka&akcija=prihvati&id=<?php 
        echo $r10[0];
        ?>
&ak_god=<?php 
        echo $ak_god;
        ?>
">prihvati zahtjev</a>)</li>
	<?php 
        $total++;
    }
    print "</ul><p>Ukupno: {$total} zahtjeva * <a href=\"?sta=studentska/prodsjeka&akcija=kratkiizvj\">Statistički pregled</a></p>\n\n";
    // Novi zahtjev
    // Upit za spisak odsjeka
    $spisak_odsjeka = "<option></option>\n";
    $q30 = myquery("select s.id, s.kratkinaziv from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.moguc_upis=1 and ts.ciklus=1 order by s.kratkinaziv");
    // Promjena odsjeka ima smisla samo na prvom ciklusu
    while ($r30 = mysql_fetch_row($q30)) {
        $spisak_odsjeka .= "<option value=\"{$r30['0']}\">{$r30['1']}</option>\n";
    }
    ?>
<hr><br/>
<b>Upišite novi zahtjev za promjenu odsjeka:</b><br/><br/>
<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="akcija" value="dodaj">
Ime: <input type="text" name="ime" size="10">
Prezime: <input type="text" name="prezime" size="10"><br/>
Želi preći sa odsjeka: 
<select name="iz_odsjeka">
<?php 
    echo $spisak_odsjeka;
    ?>
</select>
Na odsjek:
<select name="u_odsjek">
<?php 
    echo $spisak_odsjeka;
    ?>
</select>
<br/>
<input type="submit" value=" Dodaj "></form>
<?php 
    // Izvjestaji
    ?>
<hr><br/>
<b>Spisak prihvaćenih i odbijenih zahtjeva:</b><br/><br/>
<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="akcija" value="izvjestaj">
Iznos maksimalne promjene broja studenata po odsjeku:<br/>
<?php 
    $q40 = myquery("select s.id, s.kratkinaziv from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.moguc_upis=1 and ts.ciklus=1 order by s.kratkinaziv");
    // hardkodirano samo za prvi ciklus
    // zato što promjena studija na drugom ciklusu (koji traje 1-2 godine) baš i nema smisla
    while ($r40 = mysql_fetch_row($q40)) {
        print "{$r40['1']}: <input type=\"text\" name=\"limit-{$r40['0']}\" value=\"0\" size=\"3\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ";
    }
    ?>
<input type="submit" value=" Prikaži ">
</form>
<br/>


<?php 
}
Ejemplo n.º 8
0
<?php

global $osoba;
$osoba_URL = $_GET['osoba'];
$pristup = $osoba == $osoba_URL;
if (!$pristup) {
    //myerror("Nemate privilegiju pristupa plate tom korisniku. Molimo vas da za pregled plate kliknete na meni \"Plata\" u vasem profilu.");
    //echo "<h2>Nemate privilegiju pristupa plate tom korisniku.<br> Molimo vas da za detaljan pregled norme kliknete na meni \"Norma plate\" u vasem profilu.</h2><br>";
    niceerror("Nemate privilegiju pristupa plate tom korisniku.<br> Molimo vas da za detaljan pregled norme kliknete na meni \"Norma plate\" u vasem profilu.");
} else {
    $ime_prezime = myquery("SELECT ime, prezime FROM osoba WHERE id={$osoba}");
    $ime = mysql_result($ime_prezime, 0, 0);
    $prezime = mysql_result($ime_prezime, 0, 1);
    echo "<h2>Detalji o normi korisnika {$ime} {$prezime}</h2><br>\n";
    //stari metod(ne valja) $fk_naucnonastavno_zvanje = intval(mysql_result(myquery("SELECT fk_naucnonastavno_zvanje FROM izbor WHERE fk_osoba = $osoba"), 0, 0));
    $fk_naucnonastavno_zvanje = intval(mysql_result(myquery("SELECT zvanje FROM izbor WHERE osoba = {$osoba} and CONCAT(year(datum_izbora),'/',year(datum_isteka)) = (SELECT naziv FROM akademska_godina WHERE aktuelna = 1)"), 0, 0));
    $fk_naucnonastavno_zvanje2 = intval(mysql_result(myquery("SELECT zvanje FROM izbor WHERE osoba = {$osoba} ORDER BY year(datum_isteka) DESC"), 0, 0));
    if ($fk_naucnonastavno_zvanje == 1 || $fk_naucnonastavno_zvanje == 2 || $fk_naucnonastavno_zvanje == 6) {
        //u slucaju redovnog profesora, vandrednog profesora ili profesora emeritusa
        /*
        stari nacin, ne koristi se vise
        $broj_vjezbi_tutorijala = intval(mysql_result(myquery("SELECT  SUM( k.sati_vjezbi ) + SUM( k.sati_tutorijala ) AS ukupno_casova
        	FROM predmet AS p
        	JOIN labgrupa AS l ON p.id = l.predmet
        	JOIN angazman AS a ON p.id = a.predmet
        	JOIN osoba AS o ON o.id = a.osoba
        	JOIN kolicina_predavanja as k ON k.osoba_id = o.id
        	JOIN akademska_godina AS ag ON ag.id = a.akademska_godina
        	WHERE ag.aktuelna = 1 AND l.id = k.labgrupa_id AND o.id = $osoba
        	GROUP BY ime"), 0 , 0));
        $broj_predmeta = intval(mysql_result(myquery("SELECT COUNT( p.id ) 
Ejemplo n.º 9
0
function akcijaslanje()
{
    global $userid, $conf_files_path;
    require "lib/manip.php";
    // update komponente nakon slanja
    // Parametri
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    $zadaca = intval($_POST['zadaca']);
    $zadatak = intval($_POST['zadatak']);
    $program = $_POST['program'];
    $povratak_url = "?sta=student/zadaca&predmet={$predmet}&ag={$ag}&zadaca={$zadaca}&zadatak={$zadatak}";
    $povratak_html = "<a href=\"{$povratak_url}\">Nastavak</a>";
    $povratak_js = "<script>window.onload = function() { setTimeout('redirekcija()', 3000); }\nfunction redirekcija() { window.location='{$povratak_url}'; } </script>\n";
    // Da li student slusa predmet?
    $q195 = myquery("select sp.predmet from student_predmet as sp, ponudakursa as pk where sp.student={$userid} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag}");
    if (mysql_num_rows($q195) < 1) {
        biguglyeerror("Ova zadaća nije iz vašeg predmeta");
        return;
    }
    $ponudakursa = mysql_result($q195, 0, 0);
    // Standardna lokacija zadaca
    $lokacijazadaca = "{$conf_files_path}/zadace/{$predmet}-{$ag}/{$userid}/";
    if (!file_exists("{$conf_files_path}/zadace/{$predmet}-{$ag}")) {
        mkdir("{$conf_files_path}/zadace/{$predmet}-{$ag}", 0777, true);
    }
    // Da li neko pokušava da spoofa zadaću?
    $q200 = myquery("SELECT count(*) FROM zadaca as z, student_predmet as sp, ponudakursa as pk\n\tWHERE sp.student={$userid} and sp.predmet=pk.id and pk.predmet=z.predmet and pk.akademska_godina=z.akademska_godina and z.id={$zadaca}");
    if (mysql_result($q200, 0, 0) == 0) {
        biguglyeerror("Ova zadaća nije iz vašeg predmeta");
        return;
    }
    // Ovo je potrebno radi pravljenja diff-a
    if (get_magic_quotes_gpc()) {
        $program = stripslashes($program);
    }
    // Podaci o zadaći
    $q210 = myquery("select programskijezik, UNIX_TIMESTAMP(rok), attachment, naziv, komponenta, dozvoljene_ekstenzije, automatsko_testiranje from zadaca where id={$zadaca}");
    $jezik = mysql_result($q210, 0, 0);
    $rok = mysql_result($q210, 0, 1);
    $attach = mysql_result($q210, 0, 2);
    $naziv_zadace = mysql_result($q210, 0, 3);
    $komponenta = mysql_result($q210, 0, 4);
    $zadaca_dozvoljene_ekstenzije = mysql_result($q210, 0, 5);
    $automatsko_testiranje = mysql_result($q210, 0, 6);
    // Ako je aktivno automatsko testiranje, postavi status na 1 (automatska kontrola), inace na 4 (ceka pregled)
    if ($automatsko_testiranje == 1) {
        $prvi_status = 1;
    } else {
        $prvi_status = 4;
    }
    // Provjera roka
    if ($rok <= time()) {
        niceerror("Vrijeme za slanje zadaće je isteklo!");
        zamgerlog("isteklo vrijeme za slanje zadaće z{$zadaca}", 3);
        // nivo 3 - greska
        zamgerlog2("isteklo vrijeme za slanje zadace", $zadaca);
        // nivo 3 - greska
        print $povratak_html;
        return;
    }
    // Prepisane zadaće se ne mogu ponovo slati
    $q240 = myquery("select status from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$userid} order by id desc limit 1");
    if (mysql_num_rows($q240) > 0 && mysql_result($q240, 0, 0) == 2) {
        // status = 2 - prepisana zadaća
        niceerror("Zadaća je prepisana i ne može se ponovo poslati.");
        print $povratak_html;
        return;
    }
    // Pravimo potrebne puteve
    if (!file_exists($lokacijazadaca)) {
        mkdir($lokacijazadaca, 0777);
    }
    if ($zadaca > 0 && !file_exists("{$lokacijazadaca}{$zadaca}")) {
        mkdir("{$lokacijazadaca}{$zadaca}", 0777);
    }
    // Temp fajl radi određivanja diff-a
    if (file_exists("{$lokacijazadaca}{$zadaca}/difftemp")) {
        unlink("{$lokacijazadaca}{$zadaca}/difftemp");
    }
    // Vrsta zadaće: textarea ili attachment
    if ($attach == 0) {
        // textarea
        if (!check_csrf_token()) {
            niceerror("Forma za slanje zadaće je istekla.");
            print "<p>Kada otvorite prozor za unos zadaće, imate određeno vrijeme (npr. 15 minuta) da pošaljete zadaću, u suprotnom zahtjev neće biti prihvaćen iz sigurnosnih razloga. Preporučujemo da zadaću ne radite direktno u prozoru za slanje zadaće nego u nekom drugom programu (npr. CodeBlocks) iz kojeg kopirate u Zamger.</p>";
            print $povratak_html;
            return;
        }
        // Određivanje ekstenzije iz jezika
        $q220 = myquery("select ekstenzija from programskijezik where id={$jezik}");
        $ekst = mysql_result($q220, 0, 0);
        $filename = "{$lokacijazadaca}{$zadaca}/{$zadatak}{$ekst}";
        // Kreiranje datoteke
        if (strlen($program) <= 10) {
            niceerror("Pokušali ste poslati praznu zadaću!");
            print "<p>Vjerovatno ste zaboravili kopirati kod u prozor za slanje.</p>";
            zamgerlog("poslao praznu zadacu z{$zadaca} zadatak {$zadatak}", 3);
            // nivo 3 - greska
            zamgerlog2("poslao praznu zadacu", $zadaca, $zadatak);
            // nivo 3 - greska
            print $povratak_html;
            return;
        } else {
            if ($zadaca > 0 && $zadatak > 0) {
                // Pravimo backup fajla za potrebe računanja diff-a
                $postoji_prosla_verzija = false;
                if (file_exists($filename)) {
                    rename($filename, "{$lokacijazadaca}{$zadaca}/difftemp");
                    $postoji_prosla_verzija = true;
                }
                $f = fopen($filename, 'w');
                if (!$f) {
                    niceerror("Greška pri pisanju fajla za zadaću.");
                    zamgerlog("greska pri pisanju zadace z{$zadaca} zadatak {$zadatak}", 3);
                    // nivo 3 - greska
                    zamgerlog2("greska pri pisanju zadace", $zadaca, $zadatak);
                    // nivo 3 - greska
                    if ($postoji_prosla_verzija) {
                        rename("{$lokacijazadaca}{$zadaca}/difftemp", $filename);
                    }
                    print $povratak_html;
                    return;
                }
                fwrite($f, $program);
                fclose($f);
                // Tabela "zadatak" funkcioniše kao log događaja u
                // koji se stvari samo dodaju
                $q230 = myquery("insert into zadatak set zadaca={$zadaca}, redni_broj={$zadatak}, student={$userid}, status={$prvi_status}, vrijeme=now(), filename='{$zadatak}{$ekst}', userid={$userid}");
                $id_zadatka = mysql_insert_id();
                // Pravljenje diffa
                if ($postoji_prosla_verzija) {
                    $diff = `/usr/bin/diff -u {$lokacijazadaca}{$zadaca}/difftemp {$filename}`;
                    $diff = my_escape($diff);
                    if (strlen($diff) > 1) {
                        $q250 = myquery("insert into zadatakdiff set zadatak={$id_zadatka}, diff='{$diff}'");
                    }
                    unlink("{$lokacijazadaca}{$zadaca}/difftemp");
                }
                nicemessage($naziv_zadace . "/Zadatak " . $zadatak . " uspješno poslan!");
                update_komponente($userid, $ponudakursa);
                zamgerlog("poslana zadaca z{$zadaca} zadatak {$zadatak}", 2);
                // nivo 2 - edit
                zamgerlog2("poslana zadaca (textarea)", $zadaca, $zadatak);
                // nivo 2 - edit
                print $povratak_html;
                print $povratak_js;
                return;
            } else {
                zamgerlog("greska pri slanju zadace (zadaca z{$zadaca} zadatak {$zadatak} filename {$filename})", 3);
                zamgerlog2("greska pri slanju zadace (textarea)", $zadaca, $zadatak);
                // nivo 2 - edit
                niceerror("Greška pri slanju zadaće. Kontaktirajte tutora.");
                print $povratak_html;
                return;
            }
        }
    } else {
        // if ($attach==0)...
        $program = $_FILES['attachment']['tmp_name'];
        if ($program && file_exists($program) && $_FILES['attachment']['error'] === UPLOAD_ERR_OK) {
            $ime_fajla = strip_tags(basename($_FILES['attachment']['name']));
            // Ukidam HTML znakove radi potencijalnog XSSa
            $ime_fajla = str_replace("&", "", $ime_fajla);
            $ime_fajla = str_replace("\"", "", $ime_fajla);
            $puni_put = "{$lokacijazadaca}{$zadaca}/{$ime_fajla}";
            // Provjeravamo da li je ekstenzija na spisku dozvoljenih
            $ext = "." . pathinfo($ime_fajla, PATHINFO_EXTENSION);
            // FIXME: postojeći kod očekuje da ekstenzije počinju tačkom...
            $db_doz_eks = explode(',', $zadaca_dozvoljene_ekstenzije);
            if ($zadaca_dozvoljene_ekstenzije != "" && !in_array($ext, $db_doz_eks)) {
                niceerror("Tip datoteke koju ste poslali nije dozvoljen.");
                print "<p>Na ovoj zadaći dozvoljeno je slati samo datoteke jednog od sljedećih tipova: <b>{$zadaca_dozvoljene_ekstenzije}</b>.<br>\n\t\t\t\tVi ste poslali datoteku tipa: <b>{$ext}</b>.</p>";
                zamgerlog("pogresan tip datoteke (z{$zadaca})", 3);
                zamgerlog2("pogresan tip datoteke", $zadaca);
                print $povratak_html;
                return;
            }
            // Diffing
            $diff = "";
            $q255 = myquery("SELECT filename FROM zadatak WHERE zadaca={$zadaca} AND redni_broj={$zadatak} AND student={$userid} ORDER BY id DESC LIMIT 1");
            if (mysql_num_rows($q255) > 0) {
                $stari_filename = "{$lokacijazadaca}{$zadaca}/" . mysql_result($q255, 0, 0);
                // Podržavamo diffing ako je i stara i nova ekstenzija ZIP (TODO ostale vrste arhiva)
                if (ends_with($stari_filename, ".zip") && ends_with($puni_put, ".zip")) {
                    // Pripremamo temp dir
                    $zippath = "/tmp/difftemp";
                    if (!file_exists($zippath)) {
                        mkdir($zippath, 0777, true);
                    } else {
                        if (!is_dir($zippath)) {
                            unlink($zippath);
                            mkdir($zippath);
                        } else {
                            rmMinusR($zippath);
                        }
                    }
                    $oldpath = "{$zippath}/old";
                    $newpath = "{$zippath}/new";
                    mkdir($oldpath);
                    mkdir($newpath);
                    `unzip -j "{$stari_filename}" -d {$oldpath}`;
                    `unzip -j "{$program}" -d {$newpath}`;
                    $diff = `/usr/bin/diff -ur {$oldpath} {$newpath}`;
                    $diff = clear_unicode(my_escape($diff));
                }
            }
            if (file_exists($puni_put)) {
                unlink($puni_put);
            }
            rename($program, $puni_put);
            chmod($puni_put, 0640);
            // Escaping za SQL
            $ime_fajla = my_escape($ime_fajla);
            $q260 = myquery("insert into zadatak set zadaca={$zadaca}, redni_broj={$zadatak}, student={$userid}, status={$prvi_status}, vrijeme=now(), filename='{$ime_fajla}', userid={$userid}");
            $id_zadatka = mysql_insert_id();
            if (strlen($diff) > 1) {
                $q270 = myquery("insert into zadatakdiff set zadatak={$id_zadatka}, diff='{$diff}'");
            }
            nicemessage("Z" . $naziv_zadace . "/" . $zadatak . " uspješno poslan!");
            update_komponente($userid, $ponudakursa, $komponenta);
            zamgerlog("poslana zadaca z{$zadaca} zadatak {$zadatak} (attachment)", 2);
            // nivo 2 - edit
            zamgerlog2("poslana zadaca (attachment)", $zadaca, $zadatak);
            print $povratak_html;
            print $povratak_js;
            return;
        } else {
            switch ($_FILES['attachment']['error']) {
                case UPLOAD_ERR_OK:
                    $greska = "Poslali ste praznu ili nepostojeću datoteku.";
                    break;
                case UPLOAD_ERR_INI_SIZE:
                    $greska = "Poslana datoteka je veća od dozvoljene. Trenutno maksimalna dozvoljena veličina je " . ini_get('upload_max_filesize');
                    break;
                case UPLOAD_ERR_FORM_SIZE:
                    $greska = "Poslana datoteka je veća od dozvoljene.";
                    // jednom ćemo omogućiti nastavniku da ograniči veličinu kroz formu
                    break;
                case UPLOAD_ERR_PARTIAL:
                    $greska = "Slanje datoteke je prekinuto, vjerovatno zbog problema sa vašom konekcijom. Molimo pokušajte ponovo.";
                    break;
                case UPLOAD_ERR_NO_FILE:
                    $greska = "Poslali ste praznu ili nepostojeću datoteku.";
                    break;
                case UPLOAD_ERR_NO_TMP_DIR:
                    $greska = "1 Greška u konfiguraciji Zamgera: nepostojeći TMP direktorij.";
                    break;
                case UPLOAD_ERR_CANT_WRITE:
                    $greska = "2 Greška u konfiguraciji Zamgera: nemoguće pisati u TMP direktorij.";
                    break;
                case UPLOAD_ERR_EXTENSION:
                    $greska = "3 Greška u konfiguraciji Zamgera: neka ekstenzija sprječava upload.";
                    break;
                default:
                    $greska = "Nepoznata greška u slanju datoteke. Kod: " . $_FILES['attachment']['error'];
            }
            zamgerlog("greska kod attachmenta (z{$zadaca}): {$greska}", 3);
            zamgerlog2("greska pri slanju zadace (attachment)", $zadaca, $zadatak, 0, $greska);
            niceerror("{$greska}");
            print $povratak_html;
            return;
        }
    }
}
Ejemplo n.º 10
0
function izvjestaj_pregled_nacin()
{
    ?>
<p>Univerzitet u Sarajevu<br/>
Elektrotehnički fakultet Sarajevo</p>

<p>Datum i vrijeme izvještaja: <?php 
    echo date("d. m. Y. H:i");
    ?>
</p>
<?php 
    // Akademska godina
    $ak_god = intval($_REQUEST['akademska_godina']);
    if ($ak_god == 0) {
        // Aktuelna godina
        $q10 = myquery("select id, naziv from akademska_godina where aktuelna=1");
        $ak_god = mysql_result($q10, 0, 0);
        $ak_god_naziv = mysql_result($q10, 0, 1);
    } else {
        $q10 = myquery("select naziv from akademska_godina where id={$ak_god}");
        $ak_god_naziv = mysql_result($q10, 0, 0);
    }
    // Kreiranje niza studija za bsc i msc
    $studiji_bsc = $studiji_msc = array();
    $trajanje_bsc = $trajanje_msc = 0;
    $q20 = myquery("select s.id, s.kratkinaziv, ts.trajanje, s.institucija from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.ciklus=1 and ts.moguc_upis=1 order by s.kratkinaziv");
    while ($r20 = mysql_fetch_row($q20)) {
        $studiji_bsc[$r20[0]] = $r20[1];
        if ($r20[2] > $trajanje_bsc) {
            $trajanje_bsc = $r20[2];
        }
        $institucije[$r20[0]] = $r20[3];
    }
    $trajanje_bsc /= 2;
    // broj godina umjesto broj semestara
    $q30 = myquery("select s.id, s.kratkinaziv, ts.trajanje, s.institucija from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.ciklus=2 and ts.moguc_upis=1 order by s.kratkinaziv");
    while ($r30 = mysql_fetch_row($q30)) {
        $studiji_msc[$r30[0]] = $r30[1];
        if ($r30[2] > $trajanje_msc) {
            $trajanje_msc = $r30[2];
        }
        $institucije[$r30[0]] = $r30[3];
    }
    $trajanje_msc /= 2;
    // broj godina umjesto broj semestara
    // Sumarni izvještaj za studije
    // Da li su isti studiji za bsc i msc?
    $istisu = 1;
    foreach ($studiji_bsc as $naziv) {
        if (!in_array($naziv, $studiji_msc)) {
            $istisu = 0;
        }
    }
    // TODO napisati kod
    if ($istisu == 0) {
        niceerror("Ovaj izvještaj za sada podržava samo isti set studija na oba ciklusa.");
        return;
    }
    ?>
<h2>Pregled upisanih studenata u akademsku <?php 
    echo $ak_god_naziv;
    ?>
 godinu</h2>



<center>
<table border="1" cellspacing="0" cellpadding="4">
	<tr>
		<td bgcolor="#EEEEEE" align="left" valign="center"><b>Godina</b></td>
		<td bgcolor="#EEEEEE" align="left" valign="center"><b>Status</b></td>
		<td bgcolor="#EEEEEE" align="left" valign="center"><b>Način studiranja</b></td>
		<td bgcolor="#EEEEEE" align="center" valign="center" width="100"><b>UKUPNO</b></td>
		<?php 
    foreach ($studiji_bsc as $id => $ime) {
        ?>
		<td bgcolor="#EEEEEE" align="center" valign="center" width="100"><b><?php 
        echo $ime;
        ?>
</b></td>
		<?php 
    }
    ?>
	</tr>
	<tr>
		<?php 
    for ($i = 0; $i < count($studiji_bsc) + 4; $i++) {
        print "<td></td>";
    }
    ?>
	</tr>
<?php 
    // Računanje suma
    $suma_svega = 0;
    $suma_nacin = $suma_tip = $suma_nacin_tip = $suma_godina = $suma_godina_nacin = $suma_godina_tip = $suma_godina_nacin_tip = array();
    $suma_studij = $suma_studij_nacin = $suma_studij_tip = $suma_studij_nacin_tip = $suma_godina_studij = $suma_godina_studij_nacin = $suma_godina_studij_tip = $suma_godina_studij_nacin_tip = array();
    for ($godina = 1; $godina <= $trajanje_bsc + $trajanje_msc; $godina++) {
        if ($godina > $trajanje_bsc) {
            $studiji = $studiji_msc;
            $godina_real = $godina - $trajanje_bsc;
            $dodatak = "MSc";
        } else {
            $studiji = $studiji_bsc;
            $godina_real = $godina;
            $dodatak = "BSc";
        }
        $semestar = $godina_real * 2 - 1;
        /*	$q20 = myquery("select count(*) from student_studij where akademska_godina=$ak_god and semestar=$semestar");
        	$ukupno = mysql_result($q20,0,0);
        
        	$q30 = myquery("select count(*) from student_studij as ss where ss.akademska_godina=$ak_god and ss.semestar=$semestar and (select count(*) from student_studij as ss2 where ss.student=ss2.student and ss2.semestar=$semestar and ss2.akademska_godina<$ak_god)=0");
        	$redovnih = mysql_result($q30,0,0);
        	$ponovaca = $ukupno-$redovnih;*/
        $ukupno_godina = $redovnih_godina = $ponovaca_godina = 0;
        $ukupno_studij_godina = $redovnih_studij_godina = $ponovaca_studij_godina = array();
        foreach ($studiji as $studij => $ime) {
            for ($ponovac = 0; $ponovac <= 1; $ponovac++) {
                for ($nacin = 1; $nacin <= 4; $nacin++) {
                    if ($nacin == 2) {
                        continue;
                    }
                    // Zanemarujemo paralelne
                    $q40 = myquery("select count(*) from student_studij where akademska_godina={$ak_god} and semestar={$semestar} and studij={$studij} and ponovac={$ponovac} and nacin_studiranja={$nacin}");
                    $x = mysql_result($q40, 0, 0);
                    $suma_svega += $x;
                    $suma_nacin[$nacin] += $x;
                    $suma_tip[$ponovac] += $x;
                    $suma_nacin_tip[$nacin][$ponovac] += $x;
                    $suma_godina[$godina] += $x;
                    $suma_godina_nacin[$godina][$nacin] += $x;
                    $suma_godina_tip[$godina][$ponovac] += $x;
                    $suma_godina_nacin_tip[$godina][$nacin][$ponovac] += $x;
                    $suma_studij[$institucije[$studij]] += $x;
                    $suma_studij_nacin[$institucije[$studij]][$nacin] += $x;
                    $suma_studij_tip[$institucije[$studij]][$ponovac] += $x;
                    $suma_studij_nacin_tip[$institucije[$studij]][$nacin][$ponovac] += $x;
                    $suma_godina_studij[$godina][$studij] += $x;
                    $suma_godina_studij_nacin[$godina][$studij][$nacin] += $x;
                    $suma_godina_studij_tip[$godina][$studij][$ponovac] += $x;
                    $suma_godina_studij_nacin_tip[$godina][$studij][$nacin][$ponovac] += $x;
                }
            }
        }
    }
    // ISPIS
    for ($godina = 1; $godina <= $trajanje_bsc + $trajanje_msc + 1; $godina++) {
        if ($godina > $trajanje_bsc) {
            $studiji = $studiji_msc;
            $godina_real = $godina - $trajanje_bsc;
            $dodatak = "MSc";
        } else {
            $studiji = $studiji_bsc;
            $godina_real = $godina;
            $dodatak = "BSc";
        }
        if ($godina <= $trajanje_bsc + $trajanje_msc) {
            ?>
	<tr>
		<td bgcolor="#EEEEEE" align="left" valign="center" rowspan="12"><b><?php 
            echo $godina_real;
            ?>
. g. <?php 
            echo $dodatak;
            ?>
</b></td>
	<?php 
        } else {
            ?>
	<tr>
		<?php 
            for ($i = 0; $i < count($studiji) + 4; $i++) {
                print "<td></td>";
            }
            ?>
	</tr>
	<tr>
		<td bgcolor="#EEEEEE" align="left" valign="center" rowspan="12"><b>UKUPNO</b></td>
	<?php 
        }
        for ($ponovac = 0; $ponovac <= 2; $ponovac++) {
            $bgcolor = "#FFFFFF";
            if ($ponovac == 0) {
                $ispis = "redovan";
            } else {
                if ($ponovac == 1) {
                    $ispis = "ponovac";
                } else {
                    $ispis = "<b>ukupno</b>";
                    $bgcolor = "#EEEEEE";
                }
            }
            ?>
		<td align="left" valign="center" rowspan="4" bgcolor="<?php 
            echo $bgcolor;
            ?>
"><?php 
            echo $ispis;
            ?>
</td>
		<?php 
            for ($nacin = 1; $nacin <= 5; $nacin++) {
                if ($nacin == 2) {
                    continue;
                }
                // Zanemarujemo paralelne
                $bgcolor = "#FFFFFF";
                if ($nacin == 1) {
                    $ispis = "redovan";
                } else {
                    if ($nacin == 3) {
                        $ispis = "samofinansirajući";
                    } else {
                        if ($nacin == 4) {
                            $ispis = "vanredni";
                        } else {
                            $ispis = "<b>ukupno</b>";
                            if ($ponovac == 2 || $godina == $trajanje_bsc + $trajanje_msc + 1) {
                                $bgcolor = "#EEEEEE";
                            }
                        }
                    }
                }
                ?>
			<td align="left" valign="center" bgcolor="<?php 
                echo $bgcolor;
                ?>
"><?php 
                echo $ispis;
                ?>
</td>
			<td align="center" valign="center" bgcolor="<?php 
                echo $bgcolor;
                ?>
">
			<?php 
                if (($ponovac == 2 || $godina == $trajanje_bsc + $trajanje_msc + 1) && $nacin == 5) {
                    print "<b>";
                }
                // Ispis sumarno za studije
                if ($godina == $trajanje_bsc + $trajanje_msc + 1) {
                    if ($ponovac == 2) {
                        if ($nacin == 5) {
                            print $suma_svega;
                        } else {
                            print $suma_nacin[$nacin];
                        }
                    } else {
                        if ($nacin == 5) {
                            print $suma_tip[$ponovac];
                        } else {
                            print $suma_nacin_tip[$nacin][$ponovac];
                        }
                    }
                } else {
                    if ($ponovac == 2) {
                        if ($nacin == 5) {
                            print $suma_godina[$godina];
                        } else {
                            print $suma_godina_nacin[$godina][$nacin];
                        }
                    } else {
                        if ($nacin == 5) {
                            print $suma_godina_tip[$godina][$ponovac];
                        } else {
                            print $suma_godina_nacin_tip[$godina][$nacin][$ponovac];
                        }
                    }
                }
                if (($ponovac == 2 || $godina == $trajanje_bsc + $trajanje_msc + 1) && $nacin == 5) {
                    print "</b>";
                }
                ?>
			</td>
			<?php 
                foreach ($studiji as $studij => $ime) {
                    ?>
				<td align="center" valign="center" bgcolor="<?php 
                    echo $bgcolor;
                    ?>
">
				<?php 
                    if (($ponovac == 2 || $godina == $trajanje_bsc + $trajanje_msc + 1) && $nacin == 5) {
                        print "<b>";
                    }
                    if ($godina == $trajanje_bsc + $trajanje_msc + 1) {
                        if ($ponovac == 2) {
                            if ($nacin == 5) {
                                print $suma_studij[$institucije[$studij]];
                            } else {
                                print $suma_studij_nacin[$institucije[$studij]][$nacin];
                            }
                        } else {
                            if ($nacin == 5) {
                                print $suma_studij_tip[$institucije[$studij]][$ponovac];
                            } else {
                                print $suma_studij_nacin_tip[$institucije[$studij]][$nacin][$ponovac];
                            }
                        }
                    } else {
                        if ($ponovac == 2) {
                            if ($nacin == 5) {
                                print $suma_godina_studij[$godina][$studij];
                            } else {
                                print $suma_godina_studij_nacin[$godina][$studij][$nacin];
                            }
                        } else {
                            if ($nacin == 5) {
                                print $suma_godina_studij_tip[$godina][$studij][$ponovac];
                            } else {
                                print $suma_godina_studij_nacin_tip[$godina][$studij][$nacin][$ponovac];
                            }
                        }
                    }
                    if (($ponovac == 2 || $godina == $trajanje_bsc + $trajanje_msc + 1) && $nacin == 5) {
                        print "</b>";
                    }
                    ?>
				</td>
				<?php 
                }
                ?>
			</tr>
			<tr>
			<?php 
            }
        }
        ?>
	</tr>
	<?php 
    }
    ?>

</table>
</center>
<?php 
}
Ejemplo n.º 11
0
		<h2>Files</h2>
		<p>Here you can define default files that will be automatically created for all assignments on this course. You can change them for each assignment individually.</p>
		<p>If the text ===TITLE=== exists in a file it will be replaced with activity title.</p>
		<?php 
                                    assignment_files($course, $year, $external);
                                    ?>
		</div>
		<?php 
                                } else {
                                    ?>
<h1>Select course</h1>
		<ul class="groups">
		<?php 
                                    $courses = admin_courses();
                                    if (empty($courses) && !in_array($login, $conf_sysadmins)) {
                                        niceerror("There are no courses defined on system.");
                                        print "<p>Please contact the administrator to create some courses.</p>\n";
                                        return 0;
                                    }
                                    if (isset($_REQUEST['year'])) {
                                        $year = intval($_REQUEST['year']);
                                    } else {
                                        $year = $conf_current_year;
                                    }
                                    $perms = admin_permissions($login, $year);
                                    function coursecmp($a, $b)
                                    {
                                        return $a['name'] > $b['name'];
                                    }
                                    usort($courses, "coursecmp");
                                    foreach ($courses as $course) {
Ejemplo n.º 12
0
function izvjestaj_pregled()
{
    ?>
<p>Univerzitet u Sarajevu<br/>
Elektrotehnički fakultet Sarajevo</p>

<p>Datum i vrijeme izvještaja: <?php 
    echo date("d. m. Y. H:i");
    ?>
</p>
<?php 
    // Akademska godina
    $ak_god = intval($_REQUEST['akademska_godina']);
    if ($ak_god == 0) {
        // Aktuelna godina
        $q10 = myquery("select id, naziv from akademska_godina where aktuelna=1");
        $ak_god = mysql_result($q10, 0, 0);
        $ak_god_naziv = mysql_result($q10, 0, 1);
    } else {
        $q10 = myquery("select naziv from akademska_godina where id={$ak_god}");
        $ak_god_naziv = mysql_result($q10, 0, 0);
    }
    // Kreiranje niza studija za bsc i msc
    $studiji_bsc = $studiji_msc = $studiji_phd = array();
    $trajanje_bsc = $trajanje_msc = $trajanje_phd = 0;
    $q20 = myquery("select s.id, s.kratkinaziv, ts.trajanje, s.institucija from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.ciklus=1 and ts.moguc_upis=1 order by s.kratkinaziv");
    while ($r20 = mysql_fetch_row($q20)) {
        $studiji_bsc[$r20[0]] = $r20[1];
        if ($r20[2] > $trajanje_bsc) {
            $trajanje_bsc = $r20[2];
        }
        $institucije[$r20[0]] = $r20[3];
    }
    $trajanje_bsc /= 2;
    // broj godina umjesto broj semestara
    $q30 = myquery("select s.id, s.kratkinaziv, ts.trajanje, s.institucija from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.ciklus=2 and s.moguc_upis=1 order by s.kratkinaziv");
    while ($r30 = mysql_fetch_row($q30)) {
        $studiji_msc[$r30[0]] = $r30[1];
        if ($r30[2] > $trajanje_msc) {
            $trajanje_msc = $r30[2];
        }
        $institucije[$r30[0]] = $r30[3];
    }
    $trajanje_msc /= 2;
    // broj godina umjesto broj semestara
    $q30 = myquery("select s.id, s.kratkinaziv, ts.trajanje, s.institucija from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.ciklus=3 and s.moguc_upis=1 order by s.kratkinaziv");
    while ($r30 = mysql_fetch_row($q30)) {
        $studiji_phd[$r30[0]] = $r30[1];
        if ($r30[2] > $trajanje_phd) {
            $trajanje_phd = $r30[2];
        }
        $institucije[$r30[0]] = $r30[3];
    }
    $trajanje_phd /= 2;
    // broj godina umjesto broj semestara
    // Sumarni izvještaj za studije
    // Da li su isti studiji za bsc i msc?
    $istisu = 1;
    foreach ($studiji_bsc as $naziv) {
        if (!in_array($naziv, $studiji_msc)) {
            $istisu = 0;
        }
    }
    // TODO napisati kod
    if ($istisu == 0) {
        niceerror("Ovaj izvještaj za sada podržava samo isti set studija na svim ciklusima.");
        return;
    }
    ?>
<h2>Pregled upisanih studenata u akademsku <?php 
    echo $ak_god_naziv;
    ?>
 godinu</h2>



<center>
<table border="1" cellspacing="0" cellpadding="4">
	<tr>
		<td bgcolor="#EEEEEE" align="left" valign="center"><b>Godina</b></td>
		<td bgcolor="#EEEEEE" align="left" valign="center"><b>Status</b></td>
		<td bgcolor="#EEEEEE" align="center" valign="center" width="100"><b>UKUPNO</b></td>
<?php 
    foreach ($studiji_bsc as $id => $ime) {
        ?>
		<td bgcolor="#EEEEEE" align="center" valign="center" width="100"><b><?php 
        echo $ime;
        ?>
</b></td>
<?php 
    }
    ?>
	</tr>
<?php 
    // Centralna tabela
    $ukupno_studij = $redovnih_studij = $ponovaca_studij = array();
    $ukupno_total = $redovnih_total = $ponovaca_total = 0;
    for ($godina = 1; $godina <= $trajanje_bsc + $trajanje_msc + $trajanje_phd; $godina++) {
        if ($godina > $trajanje_bsc + $trajanje_msc) {
            $studiji = $studiji_phd;
            $godina_real = $godina - ($trajanje_bsc + $trajanje_msc);
            $dodatak = "PhD";
        } else {
            if ($godina > $trajanje_bsc) {
                $studiji = $studiji_msc;
                $godina_real = $godina - $trajanje_bsc;
                $dodatak = "MSc";
            } else {
                $studiji = $studiji_bsc;
                $godina_real = $godina;
                $dodatak = "BSc";
            }
        }
        $semestar = $godina_real * 2 - 1;
        /*	$q20 = myquery("select count(*) from student_studij where akademska_godina=$ak_god and semestar=$semestar");
        	$ukupno = mysql_result($q20,0,0);
        
        	$q30 = myquery("select count(*) from student_studij as ss where ss.akademska_godina=$ak_god and ss.semestar=$semestar and (select count(*) from student_studij as ss2 where ss.student=ss2.student and ss2.semestar=$semestar and ss2.akademska_godina<$ak_god)=0");
        	$redovnih = mysql_result($q30,0,0);
        	$ponovaca = $ukupno-$redovnih;*/
        $ukupno_godina = $redovnih_godina = $ponovaca_godina = 0;
        $ukupno_studij_godina = $redovnih_studij_godina = $ponovaca_studij_godina = array();
        foreach ($studiji as $id => $ime) {
            $q40 = myquery("select count(*) from student_studij where akademska_godina={$ak_god} and semestar={$semestar} and studij={$id}");
            $ukupno_studij_godina[$id] = mysql_result($q40, 0, 0);
            $ukupno_godina += $ukupno_studij_godina[$id];
            $q50 = myquery("select count(*) from student_studij as ss where ss.akademska_godina={$ak_god} and ss.semestar={$semestar} and ss.studij={$id} and ss.ponovac=0");
            $redovnih_studij_godina[$id] = mysql_result($q50, 0, 0);
            $ponovaca_studij_godina[$id] = $ukupno_studij_godina[$id] - $redovnih_studij_godina[$id];
            $redovnih_godina += $redovnih_studij_godina[$id];
            $ponovaca_godina += $ponovaca_studij_godina[$id];
            $redovnih_studij[$institucije[$id]] += $redovnih_studij_godina[$id];
            $ponovaca_studij[$institucije[$id]] += $ponovaca_studij_godina[$id];
            $ukupno_studij[$institucije[$id]] += $ukupno_studij_godina[$id];
        }
        // Totali
        $redovnih_total += $redovnih_godina;
        $ponovaca_total += $ponovaca_godina;
        $ukupno_total += $ukupno_godina;
        // Ispis
        ?>
	<tr>
		<?php 
        for ($i = 0; $i < count($studiji) + 3; $i++) {
            print "<td></td>";
        }
        ?>
	</tr>
	<tr>
		<td bgcolor="#EEEEEE" align="left" valign="center"><b><?php 
        echo $godina_real;
        ?>
. g. <?php 
        echo $dodatak;
        ?>
</b></td>
		<td align="left" valign="center">redovan</td>
		<td align="center" valign="center"><?php 
        echo $redovnih_godina;
        ?>
</td>
<?php 
        foreach ($studiji as $id => $ime) {
            ?>
		<td align="center" valign="center"><?php 
            echo $redovnih_studij_godina[$id];
            ?>
</td>
<?php 
        }
        ?>
	</tr>
	<tr>
		<td></td>
		<td align="left" valign="center">ponovac</td>
		<td align="center" valign="center"><?php 
        echo $ponovaca_godina;
        ?>
</td>
<?php 
        foreach ($studiji as $id => $ime) {
            ?>
		<td align="center" valign="center"><?php 
            echo $ponovaca_studij_godina[$id];
            ?>
</td>
<?php 
        }
        ?>
	</tr>
	<tr>
		<td></td>
		<td align="left" valign="center"><b>ukupno</b></td>
		<td align="center" valign="center"><b><?php 
        echo $ukupno_godina;
        ?>
</b></td>
<?php 
        foreach ($studiji as $id => $ime) {
            ?>
		<td align="center" valign="center"><b><?php 
            echo $ukupno_studij_godina[$id];
            ?>
</b></td>
<?php 
        }
        ?>
	</tr>
<?php 
    }
    // Ispis reda sa sumama.
    ?>
	<tr>
		<?php 
    for ($i = 0; $i < count($studiji) + 3; $i++) {
        print "<td></td>";
    }
    ?>
	</tr>
	<tr>
		<td bgcolor="#EEEEEE" align="left" valign="center"><b>UKUPNO</b></td>
		<td bgcolor="#EEEEEE" align="left" valign="center"><b>redovan</b></td>
		<td bgcolor="#EEEEEE" align="center" valign="center"><b><?php 
    echo $redovnih_total;
    ?>
</b></td>
<?php 
    foreach ($studiji as $id => $ime) {
        ?>
		<td bgcolor="#EEEEEE" align="center" valign="center"><b><?php 
        echo $redovnih_studij[$institucije[$id]];
        ?>
</b></td>
<?php 
    }
    ?>
	</tr>
	<tr>
		<td></td>
		<td bgcolor="#EEEEEE" align="left" valign="center"><b>ponovac</b></td>
		<td bgcolor="#EEEEEE" align="center" valign="center"><b><?php 
    echo $ponovaca_total;
    ?>
</b></td>
<?php 
    foreach ($studiji as $id => $ime) {
        ?>
		<td bgcolor="#EEEEEE" align="center" valign="center"><b><?php 
        echo $ponovaca_studij[$institucije[$id]];
        ?>
</b></td>
<?php 
    }
    ?>
	</tr>
	<tr>
		<td></td>
		<td bgcolor="#EEEEEE" align="left" valign="center"><b>ukupno</b></td>
		<td bgcolor="#EEEEEE" align="center" valign="center"><b><?php 
    echo $ukupno_total;
    ?>
</b></td>
<?php 
    foreach ($studiji as $id => $ime) {
        ?>
		<td bgcolor="#EEEEEE" align="center" valign="center"><b><?php 
        echo $ukupno_studij[$institucije[$id]];
        ?>
</b></td>
<?php 
    }
    ?>
	</tr>
<?php 
    ?>

</table>
</center>
<?php 
}
Ejemplo n.º 13
0
function student_projekti()
{
    require_once "lib/projekti.php";
    //debug mod aktivan
    global $userid, $user_student;
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // Da li student slusa predmet?
    $q10 = myquery("select sp.predmet from student_predmet as sp, ponudakursa as pk where sp.student={$userid} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag}");
    if (mysql_num_rows($q10) < 1) {
        zamgerlog("student ne slusa predmet pp{$predmet}", 3);
        zamgerlog2("student ne slusa predmet", $predmet, $ag);
        biguglyerror("Niste upisani na ovaj predmet");
        return;
    }
    $linkprefix = "?sta=student/projekti&predmet={$predmet}&ag={$ag}";
    $akcija = $_REQUEST['akcija'];
    $id = intval($_REQUEST['id']);
    // KORISNI UPITI
    // Spisak svih projekata
    $q20 = myquery("SELECT id, naziv, opis, vrijeme FROM projekat WHERE predmet={$predmet} AND akademska_godina={$ag} ORDER BY vrijeme DESC");
    $svi_projekti = array();
    while ($r20 = mysql_fetch_assoc($q20)) {
        $svi_projekti[] = $r20;
    }
    // Broj članova po projektu
    $broj_studenata = array();
    $q30 = myquery("select p.id, count(sp.student) FROM projekat as p, student_projekat as sp WHERE p.id=sp.projekat AND p.predmet={$predmet} AND p.akademska_godina={$ag} GROUP BY sp.projekat");
    while ($r30 = mysql_fetch_row($q30)) {
        $broj_studenata[$r30[0]] = $r30[1];
    }
    // Da li je student upisan u neki projekat?
    $clan_projekta = 0;
    $q40 = myquery("SELECT p.id FROM projekat as p, student_projekat as sp WHERE p.id=sp.projekat AND sp.student={$userid} AND p.predmet={$predmet} AND p.akademska_godina={$ag} LIMIT 1");
    if (mysql_num_rows($q40) > 0) {
        $clan_projekta = mysql_result($q40, 0, 0);
    }
    // Parametri projekata na predmetu
    $q50 = myquery("SELECT min_timova, max_timova, min_clanova_tima, max_clanova_tima, zakljucani_projekti FROM predmet_projektni_parametri WHERE predmet='{$predmet}' AND akademska_godina='{$ag}' LIMIT 1");
    if (mysql_num_rows($q50) < 1) {
        niceerror("Predmetni nastavnik nije podesio parametre projekata.");
        print "Prijavljivanje na projekte za sada nije moguće. Obratite se predmetnom nastavniku ili asistentu za dodatne informacije.";
        return;
    }
    $min_timova = mysql_result($q50, 0, 0);
    $max_timova = mysql_result($q50, 0, 1);
    $min_clanova_tima = mysql_result($q50, 0, 2);
    $max_clanova_tima = mysql_result($q50, 0, 3);
    $zakljucani_projekti = mysql_result($q50, 0, 4);
    // Da li je dostignut limit broja timova?
    $brtimova = 0;
    foreach ($svi_projekti as $projekat) {
        if ($broj_studenata[$projekat[id]] > 0) {
            $brtimova++;
        }
    }
    $limit_timova = false;
    if ($brtimova >= $max_timova) {
        $limit_timova = true;
        // No ako je student trenutno član projekta sa samo jednim članom,
        // istupanjem iz tima otvoriće se mogućnost kreiranja novog tima
        if ($clan_projekta > 0 && $broj_studenata[$clan_projekta] == 1) {
            $limit_timova = false;
        }
    }
    // Stylesheet... čemu?
    ?>
	<LINK href="css/projekti.css" rel="stylesheet" type="text/css">
	<?php 
    // Akcije
    if ($akcija == 'prijava') {
        $projekat = intval($_REQUEST['projekat']);
        // Da li je projekat sa ovog predmeta?
        $nasao = false;
        foreach ($svi_projekti as $proj) {
            if ($proj[id] == $projekat) {
                $nasao = true;
                break;
            }
        }
        if ($nasao == false) {
            niceerror("Nepoznat projekat!");
            zamgerlog("prijava na projekat {$projekat} koji nije sa predmeta pp{$predmet}", 3);
            zamgerlog2("projekat i predmet ne odgovaraju", $projekat, $predmet);
        } else {
            if ($zakljucani_projekti) {
                niceerror("Zaključane su prijave na projekte.");
                zamgerlog("prijava na projekat {$projekat} koji je zaključan na predmetu pp{$predmet}", 3);
                zamgerlog2("projekat zakljucan", $projekat);
            } else {
                if ($broj_studenata[$projekat] >= $max_clanova_tima) {
                    niceerror("Dosegnut je limit broja članova po projektu.");
                    zamgerlog("prijava na projekat {$projekat} koji je popunjen", 3);
                    zamgerlog2("projekat popunjen", $projekat);
                } else {
                    if ($broj_studenata[$projekat] == 0 && $limit_timova) {
                        niceerror("Dosegnut je maksimalan broj timova. Ne možete kreirati novi tim.");
                        zamgerlog("dosegnut limit broja timova na predmetu pp{$predmet}", 3);
                        zamgerlog2("dosegnut limit broja timova", $predmet);
                    } else {
                        // Upisujemo u novi projekat
                        $q110 = myquery("INSERT INTO student_projekat SET student={$userid}, projekat={$projekat}");
                        nicemessage("Uspješno ste prijavljeni na projekat");
                        zamgerlog("student upisan na projekat {$projekat} (predmet pp{$predmet})", 2);
                        zamgerlog2("prijavljen na projekat", $projekat);
                        // Ispisujemo studenta sa postojećih projekata
                        if ($clan_projekta > 0) {
                            $q100 = myquery("DELETE FROM student_projekat WHERE student={$userid} AND projekat={$clan_projekta}");
                            nicemessage("Odjavljeni ste sa starog projekta");
                            zamgerlog("student ispisan sa projekta {$projekat} (predmet pp{$predmet})", 2);
                            zamgerlog2("odjavljen sa starog projekta", $projekat);
                        }
                    }
                }
            }
        }
        print '<a href="' . $linkprefix . '">Povratak.</a>';
        return;
    }
    // akcija == prijava
    if ($akcija == 'odjava') {
        $projekat = intval($_REQUEST['projekat']);
        // Da li je projekat sa ovog predmeta?
        $nasao = false;
        foreach ($svi_projekti as $proj) {
            if ($proj[id] == $projekat) {
                $nasao = true;
                break;
            }
        }
        if ($nasao == false) {
            niceerror("Nepoznat projekat!");
            zamgerlog("odjava sa projekta {$projekat} koji nije sa predmeta pp{$predmet}", 3);
            zamgerlog2("projekat i predmet ne odgovaraju (odjava)", $projekat, $predmet);
        } else {
            if ($zakljucani_projekti) {
                niceerror("Zaključane su liste timova za projekte. Odustajanja nisu dozvoljena.");
                zamgerlog("odjava sa projekta {$projekat} koji je zakljucan na predmetu pp{$predmet}", 3);
                zamgerlog2("projekat zakljucan (odjava)", $projekat);
            } else {
                if ($projekat != $clan_projekta) {
                    niceerror("Niste prijavljeni na ovaj projekat");
                    zamgerlog("odjava sa projekta {$projekat} na koji nije prijavljen", 3);
                    zamgerlog2("odjava sa projekta na koji nije prijavljen", $projekat);
                } else {
                    $q120 = myquery("DELETE FROM student_projekat WHERE student={$userid} AND projekat={$projekat}");
                    nicemessage("Uspješno ste odjavljeni sa projekta");
                    zamgerlog("student ispisan sa projekta {$projekat} (predmet pp{$predmet})", 2);
                    zamgerlog2("odjavljen sa projekta", $projekat);
                }
            }
        }
        print '<a href="' . $linkprefix . '">Povratak.</a>';
        return;
    }
    // akcija == odjava
    if ($akcija == 'projektnastranica') {
        require_once 'common/projektneStrane.php';
        common_projektneStrane();
        return;
    }
    //akcija == projektnastranica
    // Glavni ekran
    ?>
	<h2>Projekti</h2>
	<span class="notice">
	Nastavnik je definisao sljedeće parametre svih projekata na ovom predmetu:
	<ul>
		<li>Broj timova: <?php 
    if ($min_timova == $max_timova) {
        print "tačno {$max_timova}";
    } else {
        print "od {$min_timova} do {$max_timova}";
    }
    ?>
</li>
		<li>Broj članova tima: <?php 
    if ($min_clanova_tima == $max_clanova_tima) {
        print "tačno {$max_clanova_tima}";
    } else {
        print "od {$min_clanova_tima} do {$max_clanova_tima}";
    }
    ?>
</li>
	</ul>
	Prijavite se na projekat i automatski se učlanjujete u projektni tim ili kreirate novi tim. Da biste promijenili tim, prijavite se u drugi tim.
	</span><br /><?php 
    // Ispis - zakljucani projekti
    if ($zakljucani_projekti == 1) {
        ?>
		<span class="notice">Onemogućene su prijave u projektne timove. Otvorene su projektne stranice.</span>	
		<?php 
    } else {
        ?>
		<span class="noticeGreen">Moguće su prijave u projetne timove. Nastavnik još uvijek nije kompletirao prijave.</span>	
		<?php 
    }
    // Ako je upisivanje zaključano, ispisaćemo samo onaj projekat u koji je student upisan
    $projekti_za_ispis = array();
    if ($zakljucani_projekti == 1 && $clan_projekta > 0) {
        foreach ($svi_projekti as $projekat) {
            if ($projekat[id] == $clan_projekta) {
                $projekti_za_ispis[] = $projekat;
            }
        }
    } else {
        $projekti_za_ispis = $svi_projekti;
    }
    // Nema projekata
    if (count($svi_projekti) == 0) {
        nicemessage("Predmetni nastavnik još uvijek nije definisao projekte na ovom predmetu. Imajte strpljenja.");
    }
    // Ispis projektnih kocki
    foreach ($projekti_za_ispis as $projekat) {
        ?>
		<h3><?php 
        echo $projekat['naziv'];
        ?>
</h3>
		<div class="links">
			<ul class="clearfix">
		<?php 
        if ($zakljucani_projekti == 0) {
            if ($projekat[id] == $clan_projekta) {
                ?>
				<li class="last"><a href="<?php 
                echo $linkprefix . "&projekat=" . $projekat[id] . "&akcija=odjava";
                ?>
">Odustani od prijave na ovom projektu</a></li>	
				<?php 
            } else {
                if ($broj_studenata[$projekat[id]] >= $max_clanova_tima) {
                    ?>
				<li style="color:red" class="last">Projekat je popunjen i ne prima prijave.</li>
				<?php 
                } else {
                    if ($broj_studenata[$projekat[id]] == 0 && $limit_timova) {
                        ?>
				<div style="color:red; margin-top: 10px;">Limit za broj timova dostignut. Ne možete kreirati novi tim. Prijavite se na projekte u kojima ima mjesta.</div>	
				<?php 
                    } else {
                        if ($clan_projekta == 0) {
                            ?>
				<li class="last"><a href="<?php 
                            echo $linkprefix . "&projekat=" . $projekat[id] . "&akcija=prijava";
                            ?>
">Prijavi se na ovaj projekat</a></li>
				<?php 
                        } else {
                            ?>
	
				<li class="last"><a href="<?php 
                            echo $linkprefix . "&projekat=" . $projekat[id] . "&akcija=prijava";
                            ?>
">Prijavi se na ovaj projekat / Promijeni članstvo</a></li>   	
				<?php 
                        }
                    }
                }
            }
        } else {
            // Projekti su zaključani
            ?>
			<li class="last"><a href="<?php 
            echo $linkprefix . "&projekat=" . $projekat[id] . "&akcija=projektnastranica";
            ?>
">Projektna stranica</a></li>
			<?php 
        }
        // Ispis ostalih podataka o projektu
        ?>
			</ul>
		</div>	
		<table class="projekti" border="0" cellspacing="0" cellpadding="2">
			<tr>
				<th width="200" align="left" valign="top" scope="row">Naziv</th>
				<td width="490" align="left" valign="top"><?php 
        echo $projekat['naziv'];
        ?>
</td>
			</tr>
			<tr>
				<th width="200" align="left" valign="top" scope="row">Prijavljeni tim / student</th>
				<td width="490" align="left" valign="top">
					<?php 
        // Spisak članova projekta
        $q200 = myquery("select o.ime, o.prezime, o.brindexa from osoba as o, student_projekat as sp where sp.student=o.id and sp.projekat=" . $projekat[id] . " order by o.prezime, o.ime");
        if (mysql_num_rows($q200) < 1) {
            print 'Nema prijavljenih studenata.';
        } else {
            print "<ul>\n";
        }
        while ($r200 = mysql_fetch_row($q200)) {
            ?>
						<li><?php 
            echo $r200[1] . ' ' . $r200[0] . ', ' . $r200[2];
            ?>
</li>
						<?php 
        }
        if (mysql_num_rows($q200) > 0) {
            print "</ul>\n";
        }
        ?>
				</td>
			</tr>
			<tr>
				<th width="200" align="left" valign="top" scope="row">Opis</th>
				<td width="490" align="left" valign="top"><?php 
        echo nl2br($projekat['opis']);
        ?>
</td>
			</tr>
		</table>
		<?php 
    }
    // foreach ($projekti_za_ispis...
}
Ejemplo n.º 14
0
function nastavnik_unos_kolicine_pred()
{
    global $userid, $user_siteadmin, $user_studentska;
    //echo "<br><br><br>"; //za podesavanje visine odakle tabela pocinje
    $agod = $_REQUEST["ag"];
    $predmet = $_REQUEST["predmet"];
    $action = $_REQUEST["action"];
    // Provjera privilegija
    if (!$user_studentska && !$user_siteadmin) {
        zamgerlog("nije studentska", 3);
        // 3: error
        biguglyerror("Pristup nije dozvoljen.");
        return;
    }
    //ovim se provjerava da li se prvi put otvara ovaj modul, tj. da li je bilo nekih promjena vrsenih pomocu ovog modula
    if ($action == null or $action == "") {
        // ovo se izvrsava ako se 1. put otvara ovaj modul, ili ako se vraca na njega nakon nekih promjena
        prikazi_tabele:
        /*$res = myquery("SELECT k.id, sifra, p.naziv AS predmet, ime, prezime, l.naziv AS labgrupa, k.sati_predavanja, k.sati_vjezbi, k.sati_tutorijala, ag.naziv AS godina
        FROM predmet AS p
        JOIN labgrupa AS l ON p.id = l.predmet
        JOIN angazman AS a ON p.id = a.predmet
        JOIN osoba AS o ON o.id = a.osoba
        JOIN kolicina_predavanja as k ON k.osoba_id = o.id
        JOIN akademska_godina AS ag ON ag.id = a.akademska_godina
        WHERE ag.aktuelna = 1 AND l.id = k.labgrupa_id AND p.id = $predmet
        ORDER BY ime ASC");*/
        // ovo je query za 1. tabelu
        $res = myquery("SELECT nl.id, p.naziv AS predmet, ime, prezime, l.naziv AS labgrupa, tip, ag.naziv AS godina\nFROM predmet AS p\nJOIN labgrupa AS l ON p.id = l.predmet\nJOIN angazman AS a ON p.id = a.predmet\nJOIN osoba AS o ON o.id = a.osoba\nJOIN nastavnik_labgrupa AS nl ON nl.osoba_id = o.id\nJOIN akademska_godina AS ag ON ag.id = a.akademska_godina\nWHERE ag.aktuelna = 1 AND l.id = nl.labgrupa_id AND p.id = {$predmet}\nORDER BY ime ASC, l.naziv ASC");
        // ovo je updateovan query za 1. tabelu (novi metod)
        /*$res3 = myquery("SELECT o.id, p.naziv AS predmet, ime, prezime, l.naziv AS labgrupa 
        FROM predmet AS p 
        JOIN labgrupa AS l ON p.id = l.predmet
        JOIN osoba AS o 
        JOIN angazman AS a ON a.predmet = p.id and a.osoba = o.id
        JOIN akademska_godina AS ag on l.akademska_godina = ag.id
        WHERE p.id = $predmet AND ag.aktuelna = 1
        GROUP BY ime");*/
        // ovo je query za 2. tabelu
        $res3 = myquery("SELECT o.id, p.naziv AS predmet, ime, prezime, l.naziv AS labgrupa \nFROM predmet AS p \nJOIN labgrupa AS l ON p.id = l.predmet\nJOIN osoba AS o \nJOIN angazman AS a ON a.predmet = p.id and a.osoba = o.id\nJOIN akademska_godina AS ag on l.akademska_godina = ag.id\nWHERE p.id = {$predmet} AND ag.aktuelna = 1\nGROUP BY ime");
        // ovo je updateovan query za 1. tabelu (novi metod)
        ?>

<font size="3">Izmjena kolicine predavanja, vjezbi i tutorijala za predmet za pojedinacne nastavnike (koji predaju)</font>
<br><br>
	<table border="1" cellspacing="1" font size="big">
		<tr>
			<td>Naziv predmeta</td>
			<td>Akademska godina</td>
			<td>Ime</td>
			<td>Prezime</td>
			<td>Labgrupa</td>
			<td>Tip grupe</td>
			<!-- <td></td> -->
			<td></td>
		</tr>
	<?php 
        while ($row = mysql_fetch_row($res)) {
            $kol_id = $row[0];
            $naziv_pred = $row[1];
            $ak_god = $row[6];
            $ime = $row[2];
            $prezime = $row[3];
            $labgrupa = $row[4];
            $tip = $row[5];
            /*$br_pred = $row[6];
            		$br_vj = $row[7];
            		$br_tut = $row[8];
            		if($br_pred == null or "")
            			$br_pred = 0;
            		if($br_vj == null or "")
            			$br_vj = 0;
            		if($br_tut == null or "")
            			$br_tut = 0; */
            ?>
		<form action="?sta=nastavnik/unos_kolicine_pred&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $agod;
            ?>
&action=edit" method="POST">
		<input type="hidden" name="akcija" value="edit_1">
		<tr>
			<input type="hidden" name="kol_id" value="<?php 
            echo $kol_id;
            ?>
">
			<td><?php 
            echo $naziv_pred;
            ?>
</td>
			<td><?php 
            echo $ak_god;
            ?>
</td>
			<td><?php 
            echo $ime;
            ?>
</td>
			<td><?php 
            echo $prezime;
            ?>
</td>
			<td><?php 
            echo $labgrupa;
            ?>
</td>
			<td><select name="tip"><option value=\"<?php 
            echo $tip;
            ?>
\"><?php 
            echo $tip;
            ?>
</a></td>
			<!--
			<td><select name="tip"><?php 
            /*
            				switch($tip){
            					case "predavanja":
            						print "<option value=\"predavanja\">Predavanja</a><br><option value=\"vjezbe\">Vjezbe</a><br><option value=\"tutorijali\">Tutorijali</a><br><option value=\"vjezbe+tutorijali\">Vjezbe + tutorijali</a><br>";
            						break;
            					case "vjezbe":
            						print "<option value=\"vjezbe\">Vjezbe</a><br><option value=\"predavanja\">Predavanja</a><br><option value=\"tutorijali\">Tutorijali</a><br><option value=\"vjezbe+tutorijali\">Vjezbe + tutorijali</a><br>";
            						break;
            					case "tutorijali":
            						print "<option value=\"tutorijali\">Tutorijali</a><br><option value=\"predavanja\">Predavanja</a><br><option value=\"vjezbe\">Vjezbe</a><br><option value=\"vjezbe+tutorijali\">Vjezbe + tutorijali</a><br>";
            						break;
            					case "vjezbe+tutorijali":
            						print "<option value=\"vjezbe+tutorijali\">Vjezbe + tutorijali</a><br><option value=\"predavanja\">Predavanja</a><br><option value=\"vjezbe\">Vjezbe</a><br><option value=\"tutorijali\">Tutorijali</a><br>";
            						break;
            				} */
            ?>
				</select>
			</td>
			<td><input type="submit" value="Spasi postavke" /></td>
			-->
			<td><input name="delete" type="submit" value="Izbrisi postavke" /></td>
		</tr>
		</form>
		<?php 
        }
        ?>
	</table>
<br><br><br>
<!-- kraj tabele za editovanje kolicina predavanja pojedinacnih nastavnika -->


<font size="3">Unosenje kolicine predavanja, vjezbi i tutorijala za predmet za pojedinacne nastavnike (koji ne predaju)</font>
	<table border="1" cellspacing="1" font size="big">
		<tr>
			<td>Ime</td>
			<td>Prezime</td>
			<td>Labgrupa</td>
			<!--
			<td>Tip grupe</td>
			<td>Sati predavanja</td>
			<td>Sati vjezbi</td>
			<td>Sati tutorijala</td>
			-->
			<td></td>
		</tr>
		<?php 
        while ($row = mysql_fetch_row($res3)) {
            $ime = $row[2];
            $prezime = $row[3];
            $osoba_id = $row[0];
            $predmet_id = $predmet;
            $ak_godina = $agod;
            ?>
				<script language="javascript">
					function setSelectValue (id, val) {
						document.getElementById(id).value = val;
					}
					function promjeniTip(obj) {
						//to do
					} 
				</script>
				
				<form action="?sta=nastavnik/unos_kolicine_pred&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $agod;
            ?>
&action=edit" method="POST">
				<input type="hidden" name="akcija" value="edit_2">
				<tr>
					<td><?php 
            echo $ime;
            ?>
</td>
					<td><?php 
            echo $prezime;
            ?>
</td>
					<input type="hidden" name="osoba_id" value="<?php 
            echo $osoba_id;
            ?>
">
					<input type="hidden" name="predmet_id" value="<?php 
            echo $predmet_id;
            ?>
">
					<input type="hidden" name="ak_godina" value="<?php 
            echo $ak_godina;
            ?>
">
					<td>
						<select name="labgroup">
							<?php 
            $grupe = myquery("select l.id, l.naziv as labgrupa, p.naziv as predmet from labgrupa as l join predmet as p on l.predmet = p.id where p.id = {$predmet}");
            //query za izlistavanje labgrupa za trenutni predmet trenutnog nastavnika
            while ($row = mysql_fetch_row($grupe)) {
                $lab_id = $row[0];
                $lab_ime = $row[1];
                echo "<option value=\"{$lab_id}\">{$lab_ime}</option><br>";
            }
            ?>
						</select>
					</td>
					<!--
					<td><input type="text" name="br_pred_nastavnik" value="<?php 
            echo $br_pred;
            ?>
" /></td>
					<td><input type="text" name="br_vjezbi_nastavnik" value="<?php 
            echo $br_vj;
            ?>
" /></td>
					<td><input type="text" name="br_tutorijala_nastavnik" value="<?php 
            echo $br_tut;
            ?>
" /></td>
					<td><select name="tip">
							<option value="predavanja">Predavanja</a>
							<option value="vjezbe">Vjezbe</a>
							<option value="tutorijali">Tutorijali</a>
							<option value="vjezbe+tutorijali">Vjezbe + tutorijali</a>
						</select>
					</td>
					-->
					<td><input type="submit" value="Dodaj nastavnika" /></td>
					<!-- <td><?php 
            echo "<a href=\"\">Dodaj nastavnika</a>";
            ?>
</td> -->
				</tr>
				</form>
				<br>
				<?php 
        }
        ?>
	</table>
<br><br><br>
<!-- kraj tabele za dodavanje kolicina predavanja pojedinacnih nastavnika koji trenutno ne predaju -->



<font size="3">Mijenjanje kolicine predavanja, vjezbi i tutorijala za predmet</font>
<!-- tabela za editovanje kolicina predavanja za trenutno odabrani predmet -->
<form action="?sta=nastavnik/unos_kolicine_pred&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $agod;
        ?>
&action=edit" method="POST">
	<input type="hidden" name="akcija" value="edit_3">
	<table border="1" cellspacing="1" font size="big">
		<tr>
			<td>Sifra</td>
			<td>Naziv predmeta</td>
			<td>Sati predavanja</td>
			<td>Sati vjezbi</td>
			<td>Sati tutorijala</td>
		</tr>
	<?php 
        $predmet_query = myquery("SELECT sifra, naziv, sati_predavanja, sati_vjezbi, sati_tutorijala FROM predmet where id = {$predmet} order by id asc");
        // ovo je query za 3. tabelu
        while ($row = mysql_fetch_row($predmet_query)) {
            $sifra = $row[0];
            $naziv = $row[1];
            $br_pred = $row[2];
            $br_vj = $row[3];
            $br_tut = $row[4];
            if ($br_pred == null or "") {
                $br_pred = 0;
            }
            if ($br_vj == null or "") {
                $br_vj = 0;
            }
            if ($br_tut == null or "") {
                $br_tut = 0;
            }
            ?>
		<tr>
			<td><?php 
            echo $sifra;
            ?>
</td>
			<td><?php 
            echo $naziv;
            ?>
</td>
			<td><input type="text" name="br_pred_predmet" value="<?php 
            echo $br_pred;
            ?>
" /></td>
			<td><input type="text" name="br_vj_predmet" value="<?php 
            echo $br_vj;
            ?>
" /></td>
			<td><input type="text" name="br_tut_predmet" value="<?php 
            echo $br_tut;
            ?>
" /></td>
		<!-- <td><input type="submit" name="dugme" value="<?php 
            echo "Spasi";
            ?>
" /></td> -->
		</tr>
		<br>
	<?php 
        }
        ?>
	</table>
	<input type="submit" value="Spasi postavke" />
</form>
<!--kraj tabele za editovanje kolicina predavanja za trenutno odabrani predmet -->


<?php 
        //}//kraj zagrade za provjeru $error
    } else {
        if ($action == "edit") {
            $akcija = $_POST['akcija'];
            if ($akcija == "edit_1") {
                //ovo se izvrsava ako se mijenjaju podaci za Sati predavanja pojedinacnih nastavnika (1. tabela)
                $greska = 0;
                // 0-nema greske, 1-vrijednost nula za varijablu(e), 2-broj predavanja za nastavnika veci od broja predavanja na predmetu
                $kol_id = $_POST['kol_id'];
                /*
                $br_predavanja_predmet =  mysql_result(myquery("SELECT sati_predavanja FROM predmet WHERE id = $predmet"),0,0);
                $br_pred = $_POST['br_pred'];
                if($br_pred > $br_predavanja_predmet)
                	$greska1 = 2;
                else if($br_pred == '0' or NULL)
                	$greska1 = 1;
                $br_vjezbi_predmet =  mysql_result(myquery("SELECT sati_vjezbi FROM predmet WHERE id = $predmet"),0,0);
                $br_vj = $_POST['br_vj'];
                if($br_vj > $br_vjezbi_predmet)
                	$greska2 = 2;
                else if($br_vj == '0' or NULL)
                	$greska2 = 1;
                $br_tutorijala_predmet = mysql_result(myquery("SELECT sati_tutorijala FROM predmet WHERE id = $predmet"),0,0);
                $br_tut = $_POST['br_tut'];
                if($br_tut > $br_tutorijala_predmet)
                	$greska3 = 2;
                else if($br_tut == '0' or NULL)
                	$greska3 = 1;
                if($greska1 == 1 AND $greska2 == 1 AND $greska3 == 1)
                	$greska = 1;
                else if($greska1 == 2 OR $greska2 == 2 OR $greska3 == 2)
                	$greska = 2;
                $query = FALSE;
                */
                if (isset($_POST['delete'])) {
                    $query = myquery("DELETE FROM nastavnik_labgrupa WHERE id = {$kol_id}");
                    if ($query) {
                        echo "<br>Uspjesno ste izbrisali nastavniku predavanja. Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet={$predmet}&ag={$agod}\">OVDJE</a> za povratak.";
                    } else {
                        niceerror("Doslo je do greske prilikom brisanja unosa. Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet={$predmet}&ag={$agod}\">OVDJE</a> za povratak.");
                    }
                } else {
                    switch ($greska) {
                        case 0:
                            $query = myquery("UPDATE kolicina_predavanja set sati_predavanja = {$br_pred}, sati_vjezbi = {$br_vj}, sati_tutorijala = {$br_tut} WHERE id = {$kol_id}");
                            if ($query) {
                                goto prikazi_tabele;
                            } else {
                                niceerror("Doslo je do greske prilikom izmjene podataka u bazi podataka.");
                            }
                            break;
                        case 1:
                            niceerror("Doslo je do greske prilikom unosa podataka. Ne smiju sve 3 varijable imati vrijednost 0.<br>Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet={$pred}&ag={$agod}\">OVDJE</a> za povratak.");
                            break;
                        case 2:
                            niceerror("Doslo je do greske prilikom unosa podataka. Broj predavanja/vjezbi/tutorijala za nastavnika ne smije biti veci od broja predavanja/vjezbi/tutorijala registrovanih za predmet.<br>Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet={$pred}&ag={$agod}\">OVDJE</a> za povratak.");
                            break;
                    }
                }
                /*if($query){
                		goto prikazi_tabele;
                	} else {
                		myerror("Doslo je do greske prilikom izmjene podataka.");
                	}*/
                //echo "<font size=\"10\">$kol_id</font>";
            } else {
                if ($akcija == "edit_2") {
                    //ovo se izvrsava kada se nastavnicima dodaju kolicine predavanja po 1. put (2. tabela)
                    $greska = 0;
                    // 0-nema greske, 1-vrijednost nula za varijablu(e), 2-broj predavanja za nastavnika veci od broja predavanja na predmetu
                    $osoba_id = $_POST['osoba_id'];
                    $predmet_id = $_POST['predmet_id'];
                    $labgrupa_id = $_POST['labgroup'];
                    $ak_godina = $_POST['ak_godina'];
                    $tip = $_POST['tip'];
                    /*
                    $br_predavanja_predmet =  mysql_result(myquery("SELECT sati_predavanja FROM predmet WHERE id = $predmet"),0,0);
                    $br_predavanja = $_POST['br_pred_nastavnik'];
                    if($br_predavanja > $br_predavanja_predmet)
                    	$greska1 = 2;
                    else if($br_predavanja == '0' or NULL)
                    	$greska1 = 1;
                    $br_vjezbi_predmet =  mysql_result(myquery("SELECT sati_vjezbi FROM predmet WHERE id = $predmet"),0,0);
                    $br_vjezbi = $_POST['br_vjezbi_nastavnik'];
                    if($br_vjezbi > $br_vjezbi_predmet)
                    	$greska2 = 2;
                    else if($br_vjezbi == '0' or NULL)
                    	$greska2 = 1;
                    $br_tutorijala_predmet = mysql_result(myquery("SELECT sati_tutorijala FROM predmet WHERE id = $predmet"),0,0);
                    $br_tutorijala = $_POST['br_tutorijala_nastavnik'];
                    if($br_tutorijala > $br_tutorijala_predmet)
                    	$greska3 = 2;
                    else if($br_tutorijala == '0' or NULL)
                    	$greska3 = 1;
                    if($greska1 == 1 AND $greska2 == 1 AND $greska3 == 1)
                    	$greska = 1;
                    else if($greska1 == 2 OR $greska2 == 2 OR $greska3 == 2)
                    	$greska = 2;
                    switch($greska){
                    	case 0:
                    		$query = myquery("INSERT INTO kolicina_predavanja VALUES(null, '$osoba_id','$predmet_id','$labgrupa_id','$ak_godina','$br_predavanja','$br_vjezbi','$br_tutorijala')");
                    		if($query)
                    			echo "<br>Uspjesno ste dodali nastavniku predavanja.Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet=$pred&ag=$agod\">OVDJE</a> za povratak.";
                    		else
                    			niceerror("Doslo je do greske prilikom unosa u bazu podataka.");
                    		break;
                    	case 1:
                    		niceerror("Doslo je do greske prilikom unosa podataka. Ne smiju sve 3 varijable imati vrijednost 0.<br>Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet=$pred&ag=$agod\">OVDJE</a> za povratak.");
                    		break;
                    	case 2:
                    		niceerror("Doslo je do greske prilikom unosa podataka. Broj predavanja/vjezbi/tutorijala za nastavnika ne smije biti<br> veci od broja predavanja/vjezbi/tutorijala registrovanih za predmet.<br>Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet=$pred&ag=$agod\">OVDJE</a> za povratak.");
                    		break;
                    }
                    */
                    $uslov = 0;
                    $postoji = myquery("SELECT count(id) AS br FROM nastavnik_labgrupa where osoba_id = {$osoba_id} and ak_godina = {$ak_godina} and labgrupa_id = {$labgrupa_id} group by osoba_id");
                    //query za odredjivanje da li ovaj unos vec postoji
                    if (mysql_fetch_row($postoji)) {
                        $uslov = intval(mysql_result($postoji, 0, 0));
                    }
                    if ($uslov > 0) {
                        niceerror("Doslo je do greske prilikom procesiranja unosa. Trazeni unos vec postoji u bazi podataka.<br>Molimo Vas da izaberete druge postavke. Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet={$predmet}&ag={$agod}\">OVDJE</a> za povratak.");
                    } else {
                        $query = myquery("INSERT INTO nastavnik_labgrupa VALUES(null, '{$osoba_id}','{$labgrupa_id}','{$ak_godina}')");
                        if ($query) {
                            echo "<br>Uspjesno ste dodali nastavniku predavanja.Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet={$predmet}&ag={$agod}\">OVDJE</a> za povratak.";
                        } else {
                            niceerror("Doslo je do greske prilikom brisanja unosa. Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet={$predmet}&ag={$agod}\">OVDJE</a> za povratak.");
                        }
                    }
                } else {
                    if ($akcija == "edit_3") {
                        //ovo se izvrsava ako se mijenjaju podaci za Sati predavanja predmeta (3. tabela)
                        $br_pred = $_POST['br_pred_predmet'];
                        $br_vj = $_POST['br_vj_predmet'];
                        $br_tut = $_POST['br_tut_predmet'];
                        $query = myquery("update predmet set sati_predavanja = {$br_pred}, sati_vjezbi = {$br_vj}, sati_tutorijala = {$br_tut} where id = {$predmet}");
                        if ($query) {
                            echo "Uspjesno ste promijenili podatke. Kliknite <a href=\"?sta=nastavnik/unos_kolicine_pred&predmet={$predmet}&ag={$agod}\">OVDJE</a> za povratak";
                        } else {
                            niceerror("Doslo je do greske prilikom unosa u bazu podataka.");
                        }
                    }
                }
            }
        }
    }
    //kraj skripte
}
Ejemplo n.º 15
0
function common_attachment()
{
    global $userid, $conf_files_path, $user_student, $user_nastavnik, $user_siteadmin;
    // Kakav fajl se downloaduje?
    $tip = $_REQUEST['tip'];
    if ($tip == "") {
        $tip = "zadaca";
    }
    // privremeno
    // PROVJERA PRIVILEGIJA I ODREĐIVANJE LOKACIJE FAJLA NA SERVERU
    // Tip: zadaća
    if ($tip == "zadaca") {
        // Poslani parametri
        $zadaca = intval($_REQUEST['zadaca']);
        $zadatak = intval($_REQUEST['zadatak']);
        $student = intval($_REQUEST['student']);
        $q5 = myquery("select predmet, akademska_godina from zadaca where id={$zadaca}");
        if (mysql_num_rows($q5) < 1) {
            zamgerlog("nepostojeca zadaca {$zadaca}", 3);
            zamgerlog2("nepostojeca zadaca", $zadaca);
            niceerror("Nepostojeća zadaća");
            return;
        }
        $predmet = mysql_result($q5, 0, 0);
        $ag = mysql_result($q5, 0, 1);
        if ($student == 0) {
            // student otvara vlastitu zadaću
            if ($user_student) {
                $student = $userid;
            } else {
                zamgerlog("pokusao otvoriti attachment bez ID studenta, a sam nije student", 3);
                zamgerlog2("pokusao otvoriti attachment bez ID studenta, a sam nije student");
                niceerror("Čiju zadaću pokušavate otvoriti?");
                return;
            }
        } else {
            // student je odredjen kao parametar
            if (!$user_nastavnik && !$user_siteadmin) {
                zamgerlog("attachment: nije nastavnik (student u{$student} zadaca z{$zadaca})", 3);
                zamgerlog2("nije nastavnik");
                niceerror("Nemate pravo pregleda ove zadaće");
                return;
            }
            if (!$user_siteadmin) {
                $q10 = myquery("select count(*) from nastavnik_predmet where predmet={$predmet} and akademska_godina={$ag} and nastavnik={$userid}");
                if (mysql_result($q10, 0, 0) < 1) {
                    zamgerlog("attachment: nije nastavnik na predmetu (student u{$student} zadaca z{$zadaca})", 3);
                    zamgerlog2("nije nastavnik na predmetu za zadacu", $zadaca);
                    niceerror("Nemate pravo pregleda ove zadaće");
                    return;
                }
                // Provjera ograničenja
                $q20 = myquery("select o.labgrupa from ogranicenje as o, labgrupa as l where o.nastavnik={$userid} and o.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag}");
                if (mysql_num_rows($q20) > 0) {
                    // Ako ograničenja postoje, dozvoljavamo korisniku da otvori zadaće samo studenata u labgrupama kojima inače može pristupiti
                    $nasao = 0;
                    while ($r20 = mysql_fetch_row($q20)) {
                        $q25 = myquery("select count(*) from student_labgrupa where student={$student} and labgrupa={$r20['0']}");
                        if (mysql_result($q25, 0, 0) > 0) {
                            $nasao = 1;
                            break;
                        }
                    }
                    if ($nasao == 0) {
                        zamgerlog("ogranicenje na predmet (student u{$student} predmet p{$ponudakursa})", 3);
                        zamgerlog2("ogranicenje na predmet za zadacu", $zadaca);
                        niceerror("Nemate pravo pregleda ove zadaće");
                        return;
                    }
                }
            }
        }
        // Da li neko pokušava da spoofa zadaću?
        $q30 = myquery("SELECT count(*) FROM student_predmet as sp, ponudakursa as pk WHERE sp.student={$student} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag}");
        if (mysql_result($q30, 0, 0) < 1) {
            zamgerlog("student nije upisan na predmet (student u{$student} zadaca z{$zadaca})", 3);
            zamgerlog2("student ne slusa predmet za zadacu", $zadaca);
            niceerror("Student nije upisan na predmet");
            return;
        }
        // Lokacija zadaće
        $lokacijazadaca = "{$conf_files_path}/zadace/{$predmet}-{$ag}/{$student}/{$zadaca}/";
        $q40 = myquery("select filename from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$student} order by id desc limit 1");
        if (mysql_num_rows($q40) < 1) {
            zamgerlog("ne postoji attachment (zadaca {$zadaca} zadatak {$zadatak} student {$student})", 3);
            zamgerlog2("ne postoji attachment", intval($student), $zadaca, $zadatak);
            niceerror("Ne postoji attachment");
            return;
        }
        $filename = mysql_result($q40, 0, 0);
        $filepath = $lokacijazadaca . $filename;
    }
    // Tip: postavka zadaće
    if ($tip == "postavka") {
        $zadaca = intval($_REQUEST['zadaca']);
        $q100 = myquery("select predmet, akademska_godina, postavka_zadace from zadaca where id={$zadaca}");
        if (mysql_num_rows($q100) < 1) {
            zamgerlog("nepostojeca zadaca {$zadaca}", 3);
            zamgerlog2("nepostojeca zadaca", $zadaca);
            niceerror("Nepostojeća zadaća");
            return;
        }
        $predmet = mysql_result($q100, 0, 0);
        $ag = mysql_result($q100, 0, 1);
        $postavka_zadace = mysql_result($q100, 0, 2);
        if ($postavka_zadace == "") {
            niceerror("Postavka ne postoji");
            zamgerlog("postavka ne postoji z{$zadaca}", 3);
            zamgerlog2("postavka ne postoji", $zadaca);
            return;
        }
        $ok = false;
        if ($user_siteadmin) {
            $ok = true;
        }
        if ($user_nastavnik && !$ok) {
            $q110 = myquery("select count(*) from nastavnik_predmet where predmet={$predmet} and akademska_godina={$ag} and nastavnik={$userid}");
            if (mysql_result($q110, 0, 0) > 0) {
                $ok = true;
            }
        }
        if ($user_student && !$ok) {
            $q120 = myquery("SELECT count(*) FROM student_predmet as sp, ponudakursa as pk WHERE sp.student={$userid} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag}");
            if (mysql_result($q120, 0, 0) > 0) {
                $ok = true;
            }
        }
        if (!$ok) {
            zamgerlog("nema pravo pristupa postavci zadace (z{$zadaca})", 3);
            zamgerlog2("nema pravo pristupa postavci zadace", $zadaca);
            niceerror("Nemate pravo pristupa ovoj postavci");
            return;
        }
        $filename = $postavka_zadace;
        $filepath = "{$conf_files_path}/zadace/{$predmet}-{$ag}/postavke/{$filename}";
    }
    // Tip: projektni fajl
    if ($tip == "projekat") {
        $projekat = intval($_REQUEST['projekat']);
        $id = intval($_REQUEST['id']);
        //file ID
        $q200 = myquery("select predmet, akademska_godina from projekat where id={$projekat}");
        if (mysql_num_rows($q200) < 1) {
            zamgerlog("nepostojeci projekat {$projekat}", 3);
            zamgerlog2("nepostojeci projekat", $projekat);
            niceerror("Nepostojeći projekat");
            return;
        }
        $predmet = mysql_result($q200, 0, 0);
        $ag = mysql_result($q200, 0, 1);
        $ok = false;
        if ($user_siteadmin) {
            $ok = true;
        }
        if ($user_nastavnik && !$ok) {
            $q210 = myquery("select nivo_pristupa from nastavnik_predmet where predmet={$predmet} and akademska_godina={$ag} and nastavnik={$userid}");
            if (mysql_num_rows($q210) > 0 && mysql_result($q210, 0, 0) != "asistent") {
                $ok = true;
            }
        }
        if ($user_student && !$ok) {
            $q220 = myquery("SELECT count(*) FROM student_projekat WHERE student={$userid} and projekat={$projekat}");
            if (mysql_result($q220, 0, 0) > 0) {
                $ok = true;
            }
        }
        if (!$ok) {
            zamgerlog("nema pravo pristupa projektu {$projekat}", 3);
            zamgerlog2("nije na projektu", $projekat);
            niceerror("Nemate pravo pristupa ovom projektu.");
            return;
        }
        $q230 = myquery("select osoba, revizija, filename from projekat_file where id={$id}");
        if (mysql_num_rows($q230) < 1) {
            zamgerlog("nepostojeci file {$id} na projektu {$projekat}", 3);
            zamgerlog2("nepostojeci file na projektu", $projekat, $id);
            niceerror("Nepoznat ID {$id}");
            return;
        }
        $fileosoba = mysql_result($q230, 0, 0);
        $revizija = mysql_result($q230, 0, 1);
        $filename = mysql_result($q230, 0, 2);
        $filepath = "{$conf_files_path}/projekti/fajlovi/{$projekat}/{$fileosoba}/{$filename}/v{$revizija}/{$filename}";
    }
    // Tip: završni rad
    if ($tip == "zavrsni") {
        $zavrsni = intval($_REQUEST['zavrsni']);
        $id = intval($_REQUEST['id']);
        //file ID
        $q300 = myquery("select predmet, akademska_godina from zavrsni where id={$zavrsni}");
        if (mysql_num_rows($q300) < 1) {
            zamgerlog("nepostojeca tema zavrsnog rada {$zavrsni}", 3);
            zamgerlog2("nepostojeca tema zavrsnog rada", $zavrsni);
            niceerror("Nepostojeća tema završnog rada.");
            return;
        }
        $predmet = mysql_result($q300, 0, 0);
        $ag = mysql_result($q300, 0, 1);
        $ok = false;
        if ($user_siteadmin) {
            $ok = true;
        }
        if ($user_nastavnik && !$ok) {
            $q310 = myquery("select nivo_pristupa from nastavnik_predmet where predmet={$predmet} and akademska_godina={$ag} and nastavnik={$userid}");
            if (mysql_num_rows($q310) > 0 && mysql_result($q310, 0, 0) != "asistent") {
                $ok = true;
            }
        }
        if ($user_student && !$ok) {
            $q320 = myquery("SELECT count(*) FROM zavrsni WHERE student={$userid} and id={$zavrsni}");
            if (mysql_result($q320, 0, 0) > 0) {
                $ok = true;
            }
        }
        if (!$ok) {
            zamgerlog("nema pravo pristupa zavrsnom radu {$zavrsni}", 3);
            zamgerlog2("nema pravo pristupa zavrsnom radu", $zavrsni);
            niceerror("Nemate pravo pristupa ovom završnom radu.");
            return;
        }
        $q330 = myquery("select revizija, filename from zavrsni_file where id={$id}");
        if (mysql_num_rows($q330) < 1) {
            zamgerlog("nepostojeci file {$id} na zavrsnom radu {$zavrsni}", 3);
            zamgerlog2("nepostojeci file na zavrsnom radu", $zavrsni, $id);
            niceerror("Nepoznat ID {$id}");
            return;
        }
        $revizija = mysql_result($q330, 0, 0);
        $filename = mysql_result($q330, 0, 1);
        $filepath = "{$conf_files_path}/zavrsni/fajlovi/{$zavrsni}/{$filename}/v{$revizija}/{$filename}";
    }
    // DOWNLOAD
    $type = `file -bi '{$filepath}'`;
    header("Content-Type: {$type}");
    header('Content-Disposition: attachment; filename="' . $filename . '"', false);
    header("Content-Length: " . (string) filesize($filepath));
    // workaround za http://support.microsoft.com/kb/316431 (zamger bug 94)
    header("Pragma: dummy=bogus");
    header("Cache-Control: private");
    $k = readfile($filepath, false);
    if ($k == false) {
        print "Otvaranje attachmenta nije uspjelo! Kontaktirajte administratora";
        zamgerlog("citanje fajla za attachment nije uspjelo (z{$zadaca} zadatak {$zadatak} student {$stud_id})", 3);
        if ($tip == "zadaca") {
            zamgerlog2("citanje fajla za attachment nije uspjelo - zadaca", $zadaca, $zadatak);
        }
        if ($tip == "postavka") {
            zamgerlog2("citanje fajla za attachment nije uspjelo - postavka", $zadaca);
        }
        if ($tip == "projekat") {
            zamgerlog2("citanje fajla za attachment nije uspjelo - projekat", $projekat, $id);
        }
        if ($tip == "zavrsni") {
            zamgerlog2("citanje fajla za attachment nije uspjelo - zavrsni", $zavrsni, $id);
        }
    }
    exit;
}
Ejemplo n.º 16
0
function studentska_prijemni()
{
    global $_lv_;
    // Default akcija je unos novog studenta
    if ($_REQUEST['akcija'] == "") {
        $_REQUEST['akcija'] = "unos";
    }
    ?>
<center>
<table border="0" width="100%">


<?php 
    // ODREDJIVANJE TERMINA I NASLOVA
    $termin = intval($_REQUEST['termin']);
    if ($termin == 0) {
        // Daj najskoriji ispit
        $q10 = myquery("select pt.id, ag.naziv, UNIX_TIMESTAMP(pt.datum), pt.ciklus_studija from prijemni_termin as pt, akademska_godina as ag where pt.akademska_godina=ag.id order by pt.datum desc limit 1");
        if (mysql_num_rows($q10) < 1) {
            $_REQUEST['akcija'] = "novi_ispit";
            $termin = 0;
        } else {
            $termin = mysql_result($q10, 0, 0);
        }
    } else {
        $q10 = myquery("select pt.id, ag.naziv, UNIX_TIMESTAMP(pt.datum), pt.ciklus_studija from prijemni_termin as pt, akademska_godina as ag where pt.id={$termin} and pt.akademska_godina=ag.id");
        if (mysql_num_rows($q10) < 1) {
            niceerror("Nepostojeći termin.");
            zamgerlog("nepostojeci termin {$termin}", 3);
            zamgerlog2("nepostojeci termin prijemnog ispita", $termin);
            return;
        }
    }
    if (mysql_num_rows($q10) < 1) {
        // Ovo će se desiti samo ako nije kreiran niti jedan termin
        $datum = "/";
        $ciklus_studija = 1;
    } else {
        $datum = date("d. m. Y.", mysql_result($q10, 0, 2));
        $ciklus_studija = mysql_result($q10, 0, 3);
        $naziv = " za " . mysql_result($q10, 0, 1) . " akademsku godinu (" . mysql_result($q10, 0, 3) . " ciklus studija), {$datum}";
    }
    // MENI S LIJEVE STRANE
    // (ne prikazuje se ako je akcija "pregled")
    if ($_REQUEST['akcija'] != "pregled") {
        ?>
<tr><td valign="top" width="220">

<!-- Termini prijemnog ispita -->
* <a href="?sta=studentska/prijemni&akcija=novi_ispit">Novi prijemni ispit</a><br />
* <a href="?sta=studentska/prijemni&akcija=arhiva_ispita">Arhiva prijemnih ispita</a><br /><br /><br />


<!-- Tabela za linkove koji otvaraju ostale stranice vezane za modul -->
<?php 
        echo $datum;
        ?>
:<br />
<table bgcolor="" style="border:1px;border-style:solid;border-color:black">
	<tr>
		<td align="left"><a href="?sta=studentska/prijemni&akcija=unos&termin=<?php 
        echo $termin;
        ?>
">Unos kandidata</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td align="left"><a href="?sta=studentska/prijemni&akcija=brzi_unos&termin=<?php 
        echo $termin;
        ?>
">Brzi unos</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td align="left"><a href="?sta=studentska/prijemni&akcija=pregled&termin=<?php 
        echo $termin;
        ?>
">Tabelarni pregled kandidata</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td><a href="?sta=studentska/prijemni&akcija=prijemni&termin=<?php 
        echo $termin;
        ?>
">Unos bodova sa prijemnog ispita</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td align="left"><a href="?sta=studentska/prijemni&akcija=prijemni_sifre&termin=<?php 
        echo $termin;
        ?>
">Unos bodova po šiframa</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td><a href="?sta=studentska/prijemni&akcija=upis_kriterij&termin=<?php 
        echo $termin;
        ?>
">Kriteriji za upis</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td><a href="?sta=studentska/prijemni&akcija=spisak&termin=<?php 
        echo $termin;
        ?>
">Spisak kandidata</a></td>
	</tr>
        <tr>&nbsp;</tr> 	 
	<tr>
		<td><a href="?sta=izvjestaj/prijemni_top10posto&termin=<?php 
        echo $termin;
        ?>
">Najboljih 10% po školama</a></td>
	</tr>
        <tr>&nbsp;</tr> 	 
	<tr> 	 
		<td><a href="?sta=studentska/prijemni&akcija=rang_liste&termin=<?php 
        echo $termin;
        ?>
">Rang liste kandidata</a></td>
	</tr> 	 
</table>




</td><td width="10">&nbsp;</td>


<?php 
    }
    // if ($_REQUEST['akcija'] != "pregled" )
    // NASLOV
    ?>
<td valign="top">

<h1>Prijemni ispit</h1>
<?php 
    // NOVI PRIJEMNI ISPIT
    if ($_POST['akcija'] == "novi_ispit_potvrda" && check_csrf_token()) {
        $ciklus = intval($_REQUEST['ciklus']);
        if ($ciklus != 1 && $ciklus != 2 && $ciklus != 3) {
            biguglyerror("Neispravan ciklus studija");
            return;
        }
        $ag = intval($_REQUEST['_lv_column_akademska_godina']);
        if (preg_match("/(\\d+).*?(\\d+).*?(\\d+)/", $_REQUEST['datum'], $matches)) {
            $dan = $matches[1];
            $mjesec = $matches[2];
            $godina = $matches[3];
            if ($godina < 100) {
                if ($godina < 50) {
                    $godina += 2000;
                } else {
                    $godina += 1900;
                }
            }
            if ($godina < 1000) {
                if ($godina < 900) {
                    $godina += 2000;
                } else {
                    $godina += 1000;
                }
            }
        } else {
            biguglyerror("Neispravan datum");
            return;
        }
        $q20 = myquery("insert into prijemni_termin set akademska_godina={$ag}, datum='{$godina}-{$mjesec}-{$dan}', ciklus_studija={$ciklus}");
        zamgerlog("kreiran novi termin za prijemni ispit", 4);
        // 4 = audit
        zamgerlog2("kreiran novi termin za prijemni ispit", mysql_insert_id());
        ?>
	<p>Novi termin kreiran. <a href="?sta=studentska/prijemni">Kliknite ovdje za nastavak</a></p>

</td></tr></table></center>
	<?php 
        return;
        // Necemo da se ispise naziv
    }
    if ($_REQUEST['akcija'] == "novi_ispit") {
        unset($_REQUEST['akcija']);
        ?>
<h2>Novi termin prijemnog ispita:</h2>

	<?php 
        echo genform("POST");
        ?>
	<input type="hidden" name="akcija" value="novi_ispit_potvrda">
	<table border="0"><tr><td>
	Ciklus studija:</td><td><select name="ciklus"><option value="1">Prvi</option><option value="2">Drugi</option><option value="3">Treći</option></select>
	</td></tr><tr><td>
	Akademska godina:</td><td><?php 
        echo db_dropdown("akademska_godina");
        ?>
	</td></tr><tr><td>
	Datum održavanja ispita:</td><td><input type="text" name="datum" size="20">
	</td></tr><tr><td>&nbsp;</td><td>
	<input type="submit" value="  Kreiraj  ">
	</td></tr></table>
	</form>
	
	<p>Za povratak, kliknite na link "Unos kandidata" sa lijeve strane.</p>

</td></tr></table></center>
	<?php 
        return;
        // Necemo da se ispise naziv
    }
    // ARHIVA PRIJEMNIH ISPITA
    if ($_REQUEST['akcija'] == "arhiva_ispita") {
        ?>
	<p>Do sada održani prijemni ispiti (po datumu ispita):</p>
	<ul>
	<?php 
        $q30 = myquery("select pt.id, ag.naziv, UNIX_TIMESTAMP(pt.datum), pt.ciklus_studija from prijemni_termin as pt, akademska_godina as ag where pt.akademska_godina=ag.id order by pt.datum");
        while ($r30 = mysql_fetch_row($q30)) {
            $datum = date("d. m. Y.", $r30[2]);
            ?>
		<li><a href="?sta=studentska/prijemni&termin=<?php 
            echo $r30[0];
            ?>
">(<?php 
            echo $datum;
            ?>
) Akademska <?php 
            echo $r30[1];
            ?>
 godina, <?php 
            echo $r30[3];
            ?>
. ciklus studija</a></li>
		<?php 
        }
        ?>
	</ul>

</td></tr></table></center>
	<?php 
        return;
        // Necemo da se ispise naziv
    }
    // ISPIS NAZIVA ODABRANOG TERMINA ISPITA
    ?>
<p><?php 
    echo $naziv;
    ?>
</p>
<?php 
    // BRZI UNOS SA AUTOMATSKOM OBRADOM
    if ($_REQUEST['akcija'] == "promijeni_kod") {
        $osoba = intval($_REQUEST['osoba']);
        do {
            $sifra = chr(ord('A') + rand(0, 7)) . chr(ord('A') + rand(0, 7)) . chr(ord('A') + rand(0, 7)) . rand(1, 8) . rand(1, 8);
            $q3015 = myquery("select count(*) from prijemni_obrazac where sifra='{$sifra}' and prijemni_termin={$termin}");
        } while (mysql_result($q3015, 0, 0) > 0);
        $q3040 = myquery("update prijemni_obrazac set sifra='{$sifra}' where prijemni_termin={$termin} and osoba={$osoba}");
        print "Kod promijenjen";
        return;
    }
    if ($_REQUEST['akcija'] == "prijemni_sifre_submit" && check_csrf_token()) {
        if ($_POST['fakatradi'] != 1) {
            $ispis = 1;
        } else {
            $ispis = 0;
        }
        $redovi = explode("\n", $_POST['massinput']);
        $separator = intval($_REQUEST['separator']);
        if ($separator == 1) {
            $sepchar = ',';
        } else {
            $sepchar = "\t";
        }
        $kolona = 2;
        unset($_REQUEST['fakatradi']);
        if ($ispis) {
            print genform("POST");
            ?>
		<input type="hidden" name="fakatradi" value="1">
		<?php 
        }
        $sifra_izasao = array();
        $q6 = myquery("select sifra from prijemni_obrazac where prijemni_termin={$termin}");
        while ($r6 = mysql_fetch_row($q6)) {
            $sifra_izasao[$r6[0]] = "nije";
        }
        foreach ($redovi as $red) {
            $red = trim($red);
            if (strlen($red) < 2) {
                continue;
            }
            // prazan red
            // popravljamo nbsp Unicode karakter
            $red = str_replace("¡", " ", $red);
            $red = str_replace(" ", " ", $red);
            $red = my_escape($red);
            $nred = explode($sepchar, $red, $kolona);
            $sifra = $nred[0];
            $bodovi = floatval(str_replace(",", ".", $nred[1]));
            // Da li korisnik postoji u bazi?
            $q10 = myquery("select osoba from prijemni_obrazac where sifra='{$sifra}' and prijemni_termin={$termin}");
            if (mysql_num_rows($q10) < 1) {
                if ($ispis) {
                    print "<font color=\"red\">Nepoznata šifra {$sifra}</font><br>\n";
                }
                $greska = 1;
                continue;
            } else {
                $osoba = mysql_result($q10, 0, 0);
                $q20 = myquery("select izasao from prijemni_prijava where prijemni_termin={$termin} and osoba={$osoba}");
                /*if (mysql_result($q20,0,0)==1) {
                			if ($ispis)  {
                				print "<font color=\"red\">Kandidatu pod šifrom $sifra je već evidentiran izlazak na prijemni.</font><br>\n";
                			}
                			$greska=1;
                			continue;
                		}*/
                if ($ispis) {
                    print "-- Upisujem {$bodovi} bodova za kandidata pod šifrom {$sifra}<br>\n";
                } else {
                    $q20 = myquery("update prijemni_prijava set izasao=1, rezultat={$bodovi} where prijemni_termin={$termin} and osoba={$osoba}");
                }
                $sifra_izasao[$sifra] = "jeste";
            }
        }
        // Potvrda i Nazad
        if ($ispis) {
            foreach ($sifra_izasao as $sifra => $izasao) {
                if ($izasao == "nije") {
                    print "Nije izasao: {$sifra}<br />\n";
                }
            }
            print '<input type="submit" name="nazad" value=" Nazad "> ';
            if ($greska == 0) {
                print '<input type="submit" value=" Potvrda ">';
            }
            print "</form>";
            return;
        } else {
            ?>
		Upisani rezultati prijemnog.
		<?php 
        }
    }
    if ($_REQUEST['akcija'] == "prijemni_sifre") {
        ?>

<p><hr/></p><p><b>Masovni unos rezultata prijemnog ispita po šiframa</b><br/>
<?php 
        echo genform("POST");
        ?>
<input type="hidden" name="fakatradi" value="0">
<input type="hidden" name="akcija" value="prijemni_sifre_submit">
<input type="hidden" name="nazad" value="">
<input type="hidden" name="visestruki" value="1">
<input type="hidden" name="duplikati" value="0">
<input type="hidden" name="brpodataka" value="1">

<textarea name="massinput" cols="50" rows="10"><?php 
        if (strlen($_POST['nazad']) > 1) {
            print $_POST['massinput'];
        }
        ?>
</textarea><br/>
<br/>Separator: <select name="separator" class="default">
<option value="0" <?php 
        if ($separator == 0) {
            print "SELECTED";
        }
        ?>
>Tab</option>
<option value="1" <?php 
        if ($separator == 1) {
            print "SELECTED";
        }
        ?>
>Zarez</option></select><br/><br/>
<br/><br/>

<input type="submit" value="  Dodaj  ">
</form></p><?php 
    }
    if ($_REQUEST['akcija'] == "brzi_unos") {
        $bojaime = $bojaimerod = $bojaprezime = $bojajmbg = "#FFFF00";
        $rjezik = 'bs';
        if ($_REQUEST['subakcija'] == "potvrda" && check_csrf_token()) {
            $rime = my_escape($_REQUEST['ime']);
            $rprezime = my_escape($_REQUEST['prezime']);
            $rimeroditelja = my_escape($_REQUEST['imeroditelja']);
            $rjmbg = my_escape($_REQUEST['jmbg']);
            $rjezik = my_escape($_REQUEST['jezik']);
            if (!preg_match("/\\w/", $rime)) {
                niceerror("Ime nije ispravno");
                $greska = 1;
                $greskaime = 1;
                $bojaime = "#FF0000";
            }
            if (!preg_match("/\\w/", $rprezime)) {
                niceerror("Prezime nije ispravno");
                $greska = 1;
                $greskaprezme = 1;
                $bojaprezime = "#FF0000";
            }
            if (!preg_match("/\\w/", $rimeroditelja)) {
                niceerror("Ime roditelja nije ispravno");
                $greska = 1;
                $greskaime = 1;
                $bojaimerod = "#FF0000";
            }
            if (testjmbg($rjmbg) != "") {
                niceerror("JMBG neispravan: " . testjmbg($rjmbg));
                $greska = 1;
                $greskajmbg = 1;
                $bojajmbg = "#FF0000";
            }
            $q2995 = myquery("select count(*) from osoba where jmbg='{$rjmbg}'");
            if (mysql_result($q2995, 0, 0) > 0) {
                niceerror("Osoba sa ovim JMBGom već postoji u bazi");
                print "<p>Moguće je da sljedeće:<br />\n\t\t\t1. Pogrešno unesen JMBG. Molimo da ga popravite ispod.<br />\n\t\t\t2. Moguće je da ste ovog kandidata već unijeli! Koristite tabelarni pregled da biste ušli u dosje kandidata, a zatim kliknite na link <i>Odštampaj obrazac</i> koji se nalazi odmah ispod broja dosjea.<br />\n\t\t\t3. Ako se isti kandidat ponovo prijavljuje za prijemni ispit, kliknite na link <i>Unos kandidata</i> a zatim koristite pretragu po broju JMBGa kako biste automatski povukli podatke ovog kandidata i generisali novi obrazac za njega.</p>";
                $greska = 1;
                $greskajmbg = 1;
                $bojajmbg = "#FF0000";
            }
            if ($greska == 0) {
                $q3000 = myquery("select broj_dosjea from prijemni_prijava where prijemni_termin={$termin} order by broj_dosjea desc limit 1");
                if (mysql_num_rows($q3000) > 0) {
                    $broj_dosjea = mysql_result($q3000, 0, 0) + 1;
                } else {
                    $broj_dosjea = 1;
                }
                $q3010 = myquery("select id from osoba order by id desc limit 1");
                $osoba = mysql_result($q3010, 0, 0) + 1;
                // Određivanje šifre
                do {
                    $sifra = chr(ord('A') + rand(0, 7)) . chr(ord('A') + rand(0, 7)) . chr(ord('A') + rand(0, 7)) . rand(1, 8) . rand(1, 8);
                    $q3015 = myquery("select count(*) from prijemni_obrazac where sifra='{$sifra}' and prijemni_termin={$termin}");
                } while (mysql_result($q3015, 0, 0) > 0);
                // Određivanje datuma rođenja iz JMBGa
                $datumrod = mktime(0, 0, 0, substr($rjmbg, 2, 2), substr($rmjbg, 0, 2), substr($rjmbg, 4, 3) + 1000);
                $q3020 = myquery("insert into osoba set id={$osoba}, ime='{$rime}', prezime='{$rprezime}', imeoca='{$rimeroditelja}', jmbg='{$rjmbg}', datum_rodjenja=FROM_UNIXTIME({$datumrod})");
                $q3030 = myquery("insert into prijemni_prijava set prijemni_termin={$termin}, osoba={$osoba}, broj_dosjea={$broj_dosjea}, izasao=0, rezultat=0");
                $q3040 = myquery("insert into prijemni_obrazac set prijemni_termin={$termin}, osoba={$osoba}, sifra='{$sifra}', jezik='{$rjezik}'");
                if ($ciklus_studija == 1) {
                    $q3050 = myquery("select count(*) from uspjeh_u_srednjoj where osoba={$osoba}");
                    if (mysql_result($q3050, 0, 0) == 0) {
                        // Kreiramo blank zapis u tabeli uspjeh u srednjoj kako bi kandidat bio prikazan u tabeli, a naknadno se može popuniti podacima
                        $q3060 = myquery("insert into uspjeh_u_srednjoj set osoba={$osoba}");
                    }
                } else {
                    $q3050 = myquery("select count(*) from prosliciklus_uspjeh where osoba={$osoba}");
                    if (mysql_result($q3050, 0, 0) == 0) {
                        // Kreiramo blank zapis u tabeli uspjeh u srednjoj kako bi kandidat bio prikazan u tabeli, a naknadno se može popuniti podacima
                        $q3060 = myquery("insert into prosliciklus_uspjeh set osoba={$osoba}");
                    }
                }
                zamgerlog("brzo unesen kandidat {$rime} {$rprezime} za termin {$termin}", 2);
                zamgerlog2("brzo unesen kandidat za prijemni", $termin, 0, 0, "{$rime} {$rprezime}");
                ?>
			<table border="1" cellspacing="0" cellpadding="3"><tr><td>
			<table border="0">
				<tr><td>Broj dosjea:</td><td><b><?php 
                echo $broj_dosjea;
                ?>
</b></td></tr>
				<tr><td>Šifra za prijemni ispit:</td><td><b><?php 
                echo $sifra;
                ?>
</b></td></tr>
				<tr><td>Ime:</td><td><b><?php 
                echo $rime;
                ?>
</b></td></tr>
				<tr><td>Prezime:</td><td><b><?php 
                echo $rprezime;
                ?>
</b></td></tr>
				<tr><td>Ime roditelja:</td><td><b><?php 
                echo $rimeroditelja;
                ?>
</b></td></tr>
				<tr><td>JMBG:</td><td><b><?php 
                echo $rjmbg;
                ?>
</b></td></tr>
			</table>
			</td></tr></table>
			<p><a href="?sta=izvjestaj/prijemni_brzi_unos&termin=<?php 
                echo $termin;
                ?>
&osoba=<?php 
                echo $osoba;
                ?>
" target="_new">Odštampaj obrazac</a></p>
			<p><a href="?sta=studentska/prijemni&termin=<?php 
                echo $termin;
                ?>
&akcija=brzi_unos">Unos sljedećeg studenta</a></p>
			<?php 
                return;
            }
        }
        ?>
	<script language="JavaScript">
// Kada korisnik ukuca nesto u obavezno polje, ono prestaje biti zuto (postaje bijelo)
function odzuti(nesto) {
	nesto.style.backgroundColor = '#FFFFFF';
}

// Predji na sljedece polje pritiskom na dugme enter
function enterhack(e,gdje) {
	if(e.keyCode==13) {
		document.getElementById(gdje).focus();
		return false;
	}
}
function provjeri(varijablu) {
	var nesto = document.getElementById(varijablu);
	if(nesto.value=="") {
		alert("Niste unijeli "+varijablu);
		nesto.focus();
		self.scrollTo(nesto.offsetLeft,nesto.offsetTop);
		return false;
	}
	return true;
}
function provjeri_sve() {
	if (!provjeri('ime')) return false;
	if (!provjeri('imeroditelja')) return false;
	if (!provjeri('prezime')) return false;
	if (!provjeri('jmbg')) return false;

	document.getElementById('slanje').disabled = true;
	document.getElementsByName('brzaforma')[0].submit();
	return true;
}
	</script>

	<?php 
        echo genform("POST", "brzaforma");
        ?>
	<input type="hidden" name="subakcija" value="potvrda">
	<h2>Brzi unos kandidata za prijemni ispit</h2>

	<table border="0">
		<tr>
			<td>Ime:</td><td><input type="text" name="ime" id="ime" size="20" style="background-color:<?php 
        echo $bojaime;
        ?>
" oninput="odzuti(this)" autocomplete="off" onkeypress="return enterhack(event,'prezimeoca')" value="<?php 
        echo $rime;
        ?>
" /></td>
		</tr>
		<tr>
			<td>Ime roditelja:</td><td><input type="text" name="imeroditelja" id="imeroditelja" size="20" style="background-color:<?php 
        echo $bojaimerod;
        ?>
" oninput="odzuti(this)" autocomplete="off" onkeypress="return enterhack(event,'prezimeoca')" value="<?php 
        echo $rimeroditelja;
        ?>
" /></td>
		</tr>
		<tr>
			<td>Prezime:</td><td><input type="text" name="prezime" id="prezime" size="20" style="background-color:<?php 
        echo $bojaprezime;
        ?>
" oninput="odzuti(this)" autocomplete="off" onkeypress="return enterhack(event,'prezimeoca')" value="<?php 
        echo $rprezime;
        ?>
" /></td>
		</tr>
		<tr>
			<td>JMBG:</td><td><input type="text" name="jmbg" id="jmbg" size="20" style="background-color:<?php 
        echo $bojajmbg;
        ?>
" oninput="odzuti(this)" autocomplete="off" onkeypress="return enterhack(event,'prezimeoca')" value="<?php 
        echo $rjmbg;
        ?>
" /></td>
		</tr>
		<tr>
			<td>Jezik:</td><td>
				<select name="jezik">
					<option value="bs" <?php 
        if ($rjezik == "bs") {
            print "CHECKED";
        }
        ?>
>Bosanski</option>
					<option value="en" <?php 
        if ($rjezik == "en") {
            print "CHECKED";
        }
        ?>
>Engleski</option>
				</select>
			</td>
		</tr>
		<tr>
			<td>&nbsp;</td><td><input type="button" id="slanje" value="Pošalji" onclick="provjeri_sve()"></td>
		</tr>
	</table>
	</form>
	<?php 
    }
    // GENERATORI IZVJEŠTAJA
    if ($_REQUEST['akcija'] == "spisak") {
        ?>
	<form action="index.php" method="GET">
	<input type="hidden" name="sta" value="izvjestaj/prijemni">
	<input type="hidden" name="akcija" value="kandidati">
	<input type="hidden" name="termin" value="<?php 
        echo $termin;
        ?>
">
	<h2>Spisak kandidata za prijemni ispit</h2>

	<p>Studij: <select name="studij"><option value="0">Svi zajedno</option><?php 
        $q1000 = myquery("select s.id, s.naziv from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.ciklus={$ciklus_studija} and ts.moguc_upis=1 and s.moguc_upis=1 order by s.naziv");
        while ($r1000 = mysql_fetch_row($q1000)) {
            print "<option value=\"{$r1000['0']}\">{$r1000['1']}</option>\n";
        }
        ?>
</select></p>

	<p>Državljanstvo: <select name="iz"><option value="bih">BiH</option>
	<option value="strani">Strani državljani</option>
	<option>Svi zajedno</option>
	</select></p>
	<p>Sortirano po: <select name="sort"><option value="abecedno">imenu i prezimenu</option>
	<option>ukupnom broju bodova</option>
	</select></p>
	<input type="submit" value=" Kreni ">
	</form>
	<?php 
    }
    if ($_REQUEST['akcija'] == "rang_liste") {
        ?>
	<form action="index.php" method="GET">
	<input type="hidden" name="sta" value="izvjestaj/prijemni">
	<input type="hidden" name="akcija" value="rang_liste">
	<input type="hidden" name="termin" value="<?php 
        echo $termin;
        ?>
">
	<h2>Rang liste kandidata</h2>

	<p>Vrsta izvještaja: <select name="vrsta"><option value="preliminarni">Preliminarni rezultati</option>
	<option value="konacni">Konačni rezultati</option></select></p>

	<p>Studij: <select name="studij"><?php 
        $q1000 = myquery("select s.id, s.naziv from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.ciklus={$ciklus_studija} and ts.moguc_upis=1 and s.moguc_upis=1 order by s.naziv");
        while ($r1000 = mysql_fetch_row($q1000)) {
            print "<option value=\"{$r1000['0']}\">{$r1000['1']}</option>\n";
        }
        ?>
</select></p>

	<p>Državljanstvo: <select name="iz"><option value="bih">BiH</option>
	<option value="strani">Strani državljani</option>
	<option>Svi zajedno</option>
	</select></p>

	<p>Način studiranja: <select name="nacin">
	<option value="o_trosku_kantona">O trošku kantona</option>
	<option value="samofinansirajuci">Samofinansirajući</option>
	<option value="redovni">O trošku kantona i samofinansirajući</option>
	<option value="vanredni">Vanredni</option>
	<option>Svi zajedno</option>
	</select></p>

	<input type="submit" value=" Kreni ">
	</form>
	<?php 
    }
    // UNOS KRITERIJA ZA UPIS
    if ($_REQUEST['akcija'] == "upis_kriterij") {
        if ($_POST['spremi'] && check_csrf_token()) {
            $rdonja = intval($_REQUEST['donja_granica']);
            $rgornja = intval($_REQUEST['gornja_granica']);
            $rkandidatisd = intval($_REQUEST['kandidati_sd']);
            $rkandidatisp = intval($_REQUEST['kandidati_sp']);
            $rkandidatikp = intval($_REQUEST['kandidati_kp']);
            $rkandidativan = intval($_REQUEST['kandidati_van']);
            $rprijemnimax = floatval($_REQUEST['prijemni_max']);
            $rstudij = intval($_REQUEST['rstudij']);
            $qInsert = myquery("REPLACE upis_kriterij SET donja_granica={$rdonja}, gornja_granica={$rgornja}, kandidati_strani={$rkandidatisd}, kandidati_sami_placaju={$rkandidatisp}, kandidati_kanton_placa={$rkandidatikp}, kandidati_vanredni={$rkandidativan}, prijemni_max={$rprijemnimax}, studij={$rstudij}, prijemni_termin={$termin}");
            $_REQUEST['prikazi'] = true;
            // prikazi upravo unesene podatke
            zamgerlog("promijenjeni kriteriji za prijemni ispit termin {$termin}, studij {$rstudij}", 4);
            zamgerlog2("promijenjeni kriteriji za prijemni ispit", $termin);
        }
        if ($_REQUEST['prikazi']) {
            $rstudij = intval($_REQUEST['rstudij']);
            $q120 = myquery("select donja_granica, gornja_granica, kandidati_strani, kandidati_sami_placaju, kandidati_kanton_placa, kandidati_vanredni, prijemni_max from upis_kriterij where studij={$rstudij} and prijemni_termin={$termin}");
            if (mysql_num_rows($q120) < 1) {
                $pdonja = $pgornja = $pksd = $pksp = $pkkp = $ppmax = 0;
            } else {
                $pdonja = mysql_result($q120, 0, 0);
                $pgornja = mysql_result($q120, 0, 1);
                $pksd = mysql_result($q120, 0, 2);
                $pksp = mysql_result($q120, 0, 3);
                $pkkp = mysql_result($q120, 0, 4);
                $pkvan = mysql_result($q120, 0, 5);
                $ppmax = mysql_result($q120, 0, 6);
            }
        }
        // Spisak dostupnih studija
        $q130 = myquery("select s.id, s.naziv from studij as s, tipstudija as ts where s.moguc_upis=1 and s.tipstudija=ts.id and ts.ciklus={$ciklus_studija}");
        $spisak_studija = "";
        while ($r130 = mysql_fetch_row($q130)) {
            $spisak_studija .= "<option value=\"{$r130['0']}\"";
            if ($r130[0] == $rstudij) {
                $spisak_studija .= " selected";
            }
            $spisak_studija .= ">{$r130['1']}</option>\n";
        }
        unset($_REQUEST['spremi']);
        ?>

<SCRIPT language="JavaScript">
function odzuti(nesto) {
	nesto.style.backgroundColor = '#FFFFFF';
}
</SCRIPT>

<h3>Unos kriterija za upis</h3>
<br/>

<?php 
        echo genform("POST");
        ?>
<table align="left" border="0" width="70%" bgcolor="">
	<tr>
		<td colspan="2" align="left">Odsjek:</td>
	</tr>
	<tr>
		<td><select name="rstudij"><?php 
        echo $spisak_studija;
        ?>
</select></td>
		<td><input type="submit" name="prikazi" value=" Prikaži "></td>
	</tr>
	<tr>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td width="70%" align="left">Maksimalni broj bodova na prijemnom ispitu:</td>
		<td><input type="text" size="12" name="prijemni_max" style="background-color:#FFFF00" oninput="odzuti(this)" autocomplete="off" value="<?php 
        echo $ppmax;
        ?>
"></td>
	</tr>
	<tr>
		<td width="70%" align="left">Hard limit:</td>
		<td><input type="text" size="12" name="donja_granica" style="background-color:#FFFF00" oninput="odzuti(this)" autocomplete="off" value="<?php 
        echo $pdonja;
        ?>
"></td>
	</tr>
	<tr>
		<td width="70%" align="left">Soft limit:</td>
		<td><input type="text" size="12" name="gornja_granica" style="background-color:#FFFF00" oninput="odzuti(this)" autocomplete="off" value="<?php 
        echo $pgornja;
        ?>
"></td>
	</tr>
	<tr>
		<td width="70%" align="left">Broj kandidata (strani državljani):</td>
		<td><input type="text" size="12" name="kandidati_sd" style="background-color:#FFFF00" oninput="odzuti(this)" autocomplete="off" value="<?php 
        echo $pksd;
        ?>
"></td>
	</tr>
	<tr>
		<td width="70%" align="left">Broj kandidata (sami plaćaju školovanje):</td>
		<td><input type="text" size="12" name="kandidati_sp" style="background-color:#FFFF00" oninput="odzuti(this)" autocomplete="off" value="<?php 
        echo $pksp;
        ?>
"></td>
	</tr>
	<tr>
		<td width="70%" align="left">Broj kandidata (kanton plaća školovanje):</td>
		<td><input type="text" size="12" name="kandidati_kp" style="background-color:#FFFF00" oninput="odzuti(this)" autocomplete="off" value="<?php 
        echo $pkkp;
        ?>
"></td>
	</tr>
	<tr>
		<td width="70%" align="left">Broj kandidata (vanrednih):</td>
		<td><input type="text" size="12" name="kandidati_van" style="background-color:#FFFF00" oninput="odzuti(this)" autocomplete="off" value="<?php 
        echo $pkvan;
        ?>
"></td>
	</tr>
	<tr>
		<td>&nbsp;<td>
	</tr>
	<tr>
		<td><input type="submit" name="spremi" value="Spremi"></td>
	</tr>
	
	</table>
	</form>
	
<?php 
    }
    // TABELARNI UNOS BODOVA SA PRIJEMNOG ISPITA
    if ($_REQUEST['akcija'] == "prijemni") {
        ?>
	<h3>Unos bodova sa prijemnog ispita</h3>
	<br />
	<hr color="black" width="100%">
	<a href="index.php?sta=studentska/prijemni&akcija=prijemni&sort=prezime&termin=<?php 
        echo $termin;
        ?>
">Sortirano po prezimenu</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<a href="index.php?sta=studentska/prijemni&akcija=prijemni&sort=unos&termin=<?php 
        echo $termin;
        ?>
">Sortirano po broju dosjea</a>
	<hr color="black" width="100%">

	<?php 
        // AJAH i prateće funkcije
        print ajah_box();
        ?>
	<SCRIPT language="JavaScript">
	function dobio_focus(element) {
		element.style.borderColor='red';
		if (element.value == "/") element.value="";
	}
	function izgubio_focus(element) {
		element.style.borderColor='black';
		var id = parseInt(element.id.substr(8));
		if (element.value == "") element.value="/";
		var vrijednost = element.value;
		if (vrijednost!=origval[id])
			ajah_start("index.php?c=N&sta=common/ajah&akcija=prijemni_unos&osoba="+id+"&vrijednost="+vrijednost+"&termin=<?php 
        echo $termin;
        ?>
","document.getElementById('prijemni'+"+id+").focus()");
		origval[id]=vrijednost;
	}
	function enterhack(element,e,gdje) {
		if(e.keyCode==13) {
			element.blur();
			document.getElementById('prijemni'+gdje).focus();
			document.getElementById('prijemni'+gdje).select();
		}
	}
	var origval=new Array();
	</SCRIPT>


	<table border="1" bordercolordark="grey" cellspacing="0">
		<tr><td><b>R. br.</b></td><td width="300"><b>Prezime i ime</b></td>
		<td><b>Bodovi (srednja šk.)</b></td>
		<td><b>Bodovi (prijemni)</b></td></tr>
	<?php 
        $upit = "";
        $upit = "SELECT o.id, o.ime, o.prezime, pp.rezultat, pp.izasao, us.opci_uspjeh+us.kljucni_predmeti+us.dodatni_bodovi, pp.broj_dosjea from osoba as o, prijemni_prijava as pp, uspjeh_u_srednjoj as us where o.id=pp.osoba and pp.prijemni_termin={$termin} and us.osoba=o.id";
        if ($_REQUEST['sort'] == "prezime") {
            $upit .= " ORDER BY o.prezime, o.ime";
        } else {
            $upit .= " ORDER BY pp.broj_dosjea";
        }
        $q = myquery($upit);
        $id = 0;
        while ($r = mysql_fetch_row($q)) {
            if ($id != 0) {
                print "{$r['0']})\"></tr>\n";
            }
            $id = $r[0];
            if ($r[4] == 0) {
                $bodova = "/";
            } else {
                $bodova = $r[3];
            }
            // izasao na prijemni?
            ?>
		<SCRIPT language="JavaScript"> origval[<?php 
            echo $id;
            ?>
]="<?php 
            echo $bodova;
            ?>
";</SCRIPT>
		<tr><td><?php 
            echo $r[6];
            ?>
</td>
		<td><?php 
            echo $r[2];
            ?>
 <?php 
            echo $r[1];
            ?>
</td>
		<td align="center"><?php 
            echo round($r[5] * 10) / 10;
            ?>
</td>
		<td align="center"><input type="text" id="prijemni<?php 
            echo $id;
            ?>
" size="2" value="<?php 
            echo $bodova;
            ?>
" style="border:1px black solid" onblur="izgubio_focus(this)" onfocus="dobio_focus(this)" onkeydown="enterhack(this,event,<?php 
        }
        if ($id != 0) {
            ?>
0)"><?php 
        }
        ?>
</tr>
	<?php 
        ?>
	</table>
	<?php 
    }
    // BRISANJE KANDIDATA (poziva se sa vise mjesta)
    if ($_REQUEST["akcija"] == "obrisi") {
        $osoba = intval($_GET['osoba']);
        if ($osoba > 0) {
            myquery("DELETE FROM prijemni_prijava WHERE osoba={$osoba} AND prijemni_termin={$termin} LIMIT 1");
            myquery("DELETE FROM prijemni_obrazac WHERE osoba={$osoba} AND prijemni_termin={$termin} LIMIT 1");
            // Necemo brisati osobu i ostale podatke
            zamgerlog("brisem osobu u{$osoba} sa prijemnog - termin {$termin}", 4);
            zamgerlog2("brisem osobu sa prijemnog", $osoba, $termin);
            nicemessage("Kandidat ispisan sa prijemnog ispita");
        }
        $_REQUEST['akcija'] = "pregled";
    }
    // SPISAK KANDIDATA - TABELA
    if ($_REQUEST['akcija'] == "pregled") {
        if ($ciklus_studija == 1) {
            $sirina = "4000";
        } else {
            $sirina = "3000";
        }
        ?>
	<p><a href="?sta=studentska/prijemni&termin=<?php 
        echo $termin;
        ?>
">&lt; &lt; Nazad na unos kandidata</a></p>
	<h3>Pregled kandidata</h3>
	<br />
	
	<hr color="black" width="<?php 
        echo $sirina;
        ?>
">
	<a href="index.php?sta=studentska/prijemni&akcija=pregled&sort=prezime&termin=<?php 
        echo $termin;
        ?>
">Sortirano po prezimenu</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<a href="index.php?sta=studentska/prijemni&akcija=pregled&sort=bd&termin=<?php 
        echo $termin;
        ?>
">Sortirano po broju dosjea</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<a href="index.php?sta=studentska/prijemni&akcija=unos&termin=<?php 
        echo $termin;
        ?>
">Dodaj kandidata</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<a href="index.php?sta=studentska/prijemni&akcija=prijemni&termin=<?php 
        echo $termin;
        ?>
">Unos bodova sa prijemnog ispita</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<a href="index.php?sta=studentska/prijemni&akcija=kandidati&iz=bih&termin=<?php 
        echo $termin;
        ?>
">Kandidati BiH</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<a href="index.php?sta=studentska/prijemni&akcija=kandidati&iz=strani&termin=<?php 
        echo $termin;
        ?>
">Kandidati (strani državljani)</a>
	<hr color="black" width="<?php 
        echo $sirina;
        ?>
">
	
	<?php 
        $imena_godina = array();
        $q = myquery("select id, naziv from akademska_godina");
        while ($r = mysql_fetch_row($q)) {
            $imena_godina[$r[0]] = $r[1];
        }
        $imena_studija = array();
        $q = myquery("select id,kratkinaziv from studij");
        while ($r = mysql_fetch_row($q)) {
            $imena_studija[$r[0]] = $r[1];
        }
        $imena_opcina = array();
        $q = myquery("select id, naziv from opcina");
        while ($r = mysql_fetch_row($q)) {
            $imena_opcina[$r[0]] = $r[1];
        }
        $imena_drzava = array();
        $q = myquery("select id, naziv from drzava");
        while ($r = mysql_fetch_row($q)) {
            $imena_drzava[$r[0]] = $r[1];
        }
        $imena_nacionalnosti = array();
        $q = myquery("select id, naziv from nacionalnost");
        while ($r = mysql_fetch_row($q)) {
            $imena_nacionalnosti[$r[0]] = $r[1];
        }
        $imena_skola = $opcina_skola = $domaca_skola = array();
        $q = myquery("select id, naziv, opcina, domaca from srednja_skola");
        while ($r = mysql_fetch_row($q)) {
            $imena_skola[$r[0]] = $r[1];
            $opcina_skola[$r[0]] = $imena_opcina[$r[2]];
            $domaca_skola[$r[0]] = $r[3];
        }
        $imena_mjesta = $opcine_mjesta = $drzave_mjesta = array();
        $q = myquery("select id, naziv, opcina, drzava from mjesto");
        while ($r = mysql_fetch_row($q)) {
            $imena_mjesta[$r[0]] = $r[1];
            $opcine_mjesta[$r[0]] = $imena_opcina[$r[2]];
            $drzave_mjesta[$r[0]] = $imena_drzava[$r[3]];
        }
        $imena_kantona = array();
        $q = myquery("select id, naziv from kanton");
        while ($r = mysql_fetch_row($q)) {
            $imena_kantona[$r[0]] = $r[1];
        }
        if ($ciklus_studija == 1) {
            $sqlSelect = "SELECT o.id, o.ime, o.prezime, o.imeoca, o.prezimeoca, o.imemajke, o.prezimemajke, o.spol, UNIX_TIMESTAMP(o.datum_rodjenja), o.mjesto_rodjenja, o.nacionalnost, o.drzavljanstvo, o.boracke_kategorije, o.jmbg, us.srednja_skola, us.godina, us.ucenik_generacije, o.adresa, o.adresa_mjesto, o.telefon, o.kanton, us.opci_uspjeh, us.kljucni_predmeti, us.dodatni_bodovi, pp.broj_dosjea, ns.naziv, pp.rezultat, pp.izasao, pp.studij_prvi, pp.studij_drugi, pp.studij_treci, pp.studij_cetvrti, pp.broj_dosjea\n\t\tFROM osoba as o, uspjeh_u_srednjoj as us, prijemni_prijava as pp, nacin_studiranja as ns\n\t\tWHERE pp.osoba=o.id and pp.prijemni_termin={$termin} and us.osoba=o.id and pp.nacin_studiranja=ns.id ";
        } else {
            $sqlSelect = "SELECT o.id, o.ime, o.prezime, o.imeoca, o.prezimeoca, o.imemajke, o.prezimemajke, o.spol, UNIX_TIMESTAMP(o.datum_rodjenja), o.mjesto_rodjenja, o.nacionalnost, o.drzavljanstvo, o.boracke_kategorije, o.jmbg, 0, 0, 0, o.adresa, o.adresa_mjesto, o.telefon, o.kanton, pcu.opci_uspjeh, 0, pcu.dodatni_bodovi, pp.broj_dosjea, ns.naziv, pp.rezultat, pp.izasao, pp.studij_prvi, pp.studij_drugi, pp.studij_treci, pp.studij_cetvrti,  pp.broj_dosjea\n\t\tFROM osoba as o, prosliciklus_uspjeh as pcu, prijemni_prijava as pp, nacin_studiranja as ns\n\t\tWHERE pp.osoba=o.id and pp.prijemni_termin={$termin} and pcu.osoba=o.id and pp.nacin_studiranja=ns.id ";
        }
        if ($_REQUEST['sort'] == "bd") {
            $sqlSelect .= "ORDER BY pp.broj_dosjea";
        } else {
            $sqlSelect .= "ORDER BY o.prezime, o.ime";
        }
        $q = myquery($sqlSelect);
        ?>
	
	<table width="<?php 
        echo $sirina;
        ?>
" border="1" cellpadding="1" cellspacing="1" bordercolor="#000000">
	<tr>
	<td width="10"><b>R.br.</b></td>
	<td align="center"><b>Opcije</b></td>
	<td><b>Prezime</b></td>
	<td><b>Ime</b></td>
	<td><b>Prezime oca</b></td>
	<td><b>Ime oca</b></td>
	<td><b>Prezime majke</b></td>
	<td><b>Ime majke</b></td>
	<td><b>Spol</b></td>
	<td width="100"><b>Datum rođenja</b></td>
	<td><b>Mjesto rođenja</b></td>
	<td><b>Općina rođenja</b></td>
	<td><b>Država rođenja</b></td>
	<td><b>Nacionalnost</b></td>
	<td><b>Državljanstvo</b></td>
	<td><b>Por. šeh / RVI</b></td>
	<td><b>JMBG</b></td>
	<?php 
        if ($ciklus_studija == 1) {
            ?>
	<td><b>Završena škola</b></td>
	<td><b>Općina</b></td>
	<td><b>Domaća škola</b></td>
	<td><b>Šk. god.</b></td>
	<td><b>Uč. gen.</b></td><?php 
        }
        ?>
	<td><b>Adresa</b></td>
	<td width="200"><b>Kanton</b></td>
	<td><b>Telefon</b></td>
	<?php 
        if ($ciklus_studija == 1) {
            ?>
	<td width="90"><b>Opći uspjeh</b></td>
	<td width="90"><b>Ključni pred.</b></td>
	<td width="90"><b>Dodatni bod.</b></td>
	<td width="90"><b>Prijemni ispit</b></td><?php 
        } else {
            ?>
	<td width="90"><b>Prethodni ciklus</b></td>
	<td width="90"><b>Dodatni bod.</b></td><?php 
        }
        ?>
	<td width="70"><b>Tip studija</b></td>
	<?php 
        if ($ciklus_studija == 1) {
            ?>
	<td width="80"><b>Odsjek prvi</b></td>
	<td width="80"><b>Odsjek drugi</b></td>
	<td width="80"><b>Odsjek treći</b></td>
	<td width="80"><b>Odsjek četvrti</b></td>
	<?php 
        } else {
            ?>
	<td width="80"><b>Odsjek</b></td><?php 
        }
        ?>
	<td width="10"><b>R.br.</b></td>
	<td align="center"><b>Opcije</b></td>
	</tr>
	
	<?php 
        $brojac = 1;
        while ($kandidat = mysql_fetch_row($q)) {
            ?>
		
		<tr>
		<td align="center"><?php 
            echo $kandidat[24];
            ?>
</td>
		<td align="center">
		<a href="?sta=studentska/prijemni&akcija=obrisi&osoba=<?php 
            echo $kandidat[0];
            ?>
&termin=<?php 
            echo $termin;
            ?>
">Obriši&nbsp;&nbsp;</a>
		<a href="?sta=studentska/prijemni&akcija=unos&izmjena=<?php 
            echo $kandidat[0];
            ?>
&termin=<?php 
            echo $termin;
            ?>
">Izmijeni</a>
		</td>

		<td><?php 
            echo $kandidat[2];
            ?>
</td>
		<td><?php 
            echo $kandidat[1];
            ?>
</td>
		<td><?php 
            echo $kandidat[4];
            ?>
</td>
		<td><?php 
            echo $kandidat[3];
            ?>
</td>
		<td><?php 
            echo $kandidat[6];
            ?>
</td>
		<td><?php 
            echo $kandidat[5];
            ?>
</td>
		<td><?php 
            echo $kandidat[7];
            ?>
</td>
		<td><?php 
            echo date("d. m. Y", $kandidat[8]);
            ?>
</td>
		<td><?php 
            echo $imena_mjesta[$kandidat[9]];
            ?>
</td>
		<td><?php 
            echo $opcine_mjesta[$kandidat[9]];
            ?>
</td>
		<td><?php 
            echo $drzave_mjesta[$kandidat[9]];
            ?>
</td>
		<td><?php 
            echo $imena_nacionalnosti[$kandidat[10]];
            ?>
</td>
		<td><?php 
            echo $imena_drzava[$kandidat[11]];
            ?>
</td>
		<td><?php 
            if ($kandidat[12] == 1) {
                print "DA";
            } else {
                print "&nbsp;";
            }
            ?>
</td>
		<td><?php 
            echo $kandidat[13];
            ?>
</td>
		<?php 
            if ($ciklus_studija == 1) {
                ?>
		<td><?php 
                echo $imena_skola[$kandidat[14]];
                ?>
</td>
		<td><?php 
                echo $opcina_skola[$kandidat[14]];
                ?>
</td>
		<td><?php 
                if ($domaca_skola[$kandidat[14]] > 0) {
                    print "DA";
                } else {
                    print "&nbsp;";
                }
                ?>
</td>
		<td><?php 
                echo $imena_godina[$kandidat[15]];
                ?>
</td>
		<td><?php 
                if ($kandidat[16] > 0) {
                    print "DA";
                } else {
                    print "&nbsp;";
                }
                ?>
</td><?php 
            }
            ?>
		<td><?php 
            echo $kandidat[17];
            ?>
, <?php 
            echo $imena_mjesta[$kandidat[18]];
            ?>
</td>
		<td><?php 
            echo $imena_kantona[$kandidat[20]];
            ?>
</td>
		<td><?php 
            echo $kandidat[19];
            ?>
</td>
		<?php 
            if ($ciklus_studija == 1) {
                ?>
		<td align="center"><?php 
                echo $kandidat[21];
                ?>
</td>
		<td align="center"><?php 
                echo $kandidat[22];
                ?>
</td>
		<td align="center"><?php 
                echo $kandidat[23];
                ?>
</td>
		<td align="center"><?php 
                echo $kandidat[26];
                ?>
</td><?php 
            } else {
                ?>
		<td align="center"><?php 
                echo $kandidat[21];
                ?>
</td>
		<td align="center"><?php 
                echo $kandidat[22];
                ?>
</td><?php 
            }
            ?>
		<td align="center"><?php 
            echo $kandidat[25];
            ?>
</td>
		<td align="center"><?php 
            echo $imena_studija[$kandidat[28]];
            ?>
</td>
		<?php 
            if ($ciklus_studija == 1) {
                ?>
		<td align="center"><?php 
                echo $imena_studija[$kandidat[29]];
                ?>
</td>
		<td align="center"><?php 
                echo $imena_studija[$kandidat[30]];
                ?>
</td>
		<td align="center"><?php 
                echo $imena_studija[$kandidat[31]];
                ?>
</td><?php 
            }
            ?>
		<td align="center"><?php 
            echo $kandidat[24];
            ?>
</td>
		
		<td align="center">
		<a href="?sta=studentska/prijemni&akcija=obrisi&osoba=<?php 
            echo $kandidat[0];
            ?>
&termin=<?php 
            echo $termin;
            ?>
">Obriši&nbsp;&nbsp;</a>
		<a href="?sta=studentska/prijemni&akcija=unos&izmjena=<?php 
            echo $kandidat[0];
            ?>
&termin=<?php 
            echo $termin;
            ?>
">Izmijeni</a>
		</td>
		</tr>
		
		<?php 
            $brojac++;
        }
        ?>
	
	</table>
	
	<hr color="black" width="<?php 
        echo $sirina;
        ?>
">
	<a href="index.php?sta=studentska/prijemni&akcija=pregled&sort=prezime&termin=<?php 
        echo $termin;
        ?>
">Sortirano po prezimenu</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<a href="index.php?sta=studentska/prijemni&akcija=pregled&sort=bd&termin=<?php 
        echo $termin;
        ?>
">Sortirano po broju dosjea</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<a href="index.php?sta=studentska/prijemni&akcija=unos&termin=<?php 
        echo $termin;
        ?>
">Dodaj kandidata&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
	<a href="index.php?sta=studentska/prijemni&akcija=prijemni&termin=<?php 
        echo $termin;
        ?>
">Unos bodova sa prijemnog ispita&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></a>
	<a href="index.php?sta=studentska/prijemni&akcija=kandidati&iz=bih&termin=<?php 
        echo $termin;
        ?>
">Kandidati BiH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></a>
	<a href="index.php?sta=studentska/prijemni&akcija=kandidati&iz=strani&termin=<?php 
        echo $termin;
        ?>
">Kandidati (strani državljani)</font></a>
	<hr color="black" width="<?php 
        echo $sirina;
        ?>
">
	<?php 
    }
    // POTVRDA UNOSA KANDIDATA
    // Polje vrstaunosa moze biti:
    // - novi - kreiraju se novi zapisi u tabelama
    // - novigreska - edituju se postojeci zapisi, ali korisnik nema mogucnost unosa ocjena
    // - editovanje - ima mogucnost unosa ocjena
    // - sljedeci - prelazak na unos sljedeceg kandidata
    if ($_POST['akcija'] == 'unospotvrda' && check_csrf_token()) {
        $rosoba = intval($_REQUEST['osoba']);
        $rbrojdosjea = intval($_REQUEST['broj_dosjea']);
        $rime = my_escape(trim($_REQUEST['ime']));
        $rprezime = my_escape(trim($_REQUEST['prezime']));
        $rimeoca = my_escape(trim($_REQUEST['imeoca']));
        $rprezimeoca = my_escape(trim($_REQUEST['prezimeoca']));
        $rimemajke = my_escape(trim($_REQUEST['imemajke']));
        $rprezimemajke = my_escape(trim($_REQUEST['prezimemajke']));
        $rspol = $_REQUEST['spol'];
        // Moze biti samo 'M', 'Z' ili ''
        $rmjestorod = my_escape(trim($_REQUEST['mjesto_rodjenja']));
        $ropcinarod = intval($_REQUEST['opcina_rodjenja']);
        $ropcinavanbihrod = my_escape(trim($_REQUEST['opcina_rodjenja_van_bih']));
        $rdrzavarod = intval($_REQUEST['drzava_rodjenja']);
        $rnacionalnost = my_escape(trim($_REQUEST['nacionalnost']));
        $rdrzavljanstvo = intval($_REQUEST['drzavljanstvo']);
        $rjmbg = $_REQUEST['jmbg'];
        // Bice bolje provjeren
        $rborac = intval($_REQUEST['borac']);
        $rzavrskola = my_escape(trim($_REQUEST['zavrsena_skola']));
        $rskolaopcina = intval($_REQUEST['zavrsena_skola_opcina']);
        $rskoladomaca = intval($_REQUEST['zavrsena_skola_domaca']);
        $rskolagodina = intval($_REQUEST['zavrsena_skola_godina']);
        if ($_REQUEST['ucenik_generacije']) {
            $rgener = 1;
        } else {
            $rgener = 0;
        }
        $radresa = my_escape(trim($_REQUEST['adresa']));
        $radresamjesto = my_escape(trim($_REQUEST['adresa_mjesto']));
        $rtelefon = my_escape(trim($_REQUEST['telefon_roditelja']));
        $rkanton = intval($_REQUEST['kanton']);
        $rnacinstudiranja = intval($_REQUEST['nacin_studiranja']);
        $opi = intval($_REQUEST['studij_prvi_izbor']);
        $odi = intval($_REQUEST['studij_drugi_izbor']);
        $oti = intval($_REQUEST['studij_treci_izbor']);
        $oci = intval($_REQUEST['studij_cetvrti_izbor']);
        $ropci = floatval(str_replace(",", ".", $_REQUEST['opci_uspjeh']));
        $rkljucni = floatval(str_replace(",", ".", $_REQUEST['kljucni_predmeti']));
        $rdodatni = floatval(str_replace(",", ".", $_REQUEST['dodatni_bodovi']));
        $rprijemni = floatval(str_replace(",", ".", $_REQUEST['prijemni']));
        if ($ciklus_studija == 1) {
            $rstrucni_stepen = 5;
            // 5 = bez akademskog zvanja
        } else {
            if ($ciklus_studija == 2) {
                $rstrucni_stepen = 2;
                // 2 = bakalaureat elektrotehnike - ovo bi vjerovatno trebalo unositi
            } else {
                if ($ciklus_studija == 3) {
                    $rstrucni_stepen = 1;
                    // 2 = magistar elektrotehnike - ovo bi vjerovatno trebalo unositi
                }
            }
        }
        // Obrada datuma
        if (preg_match("/(\\d+).*?(\\d+).*?(\\d+)/", $_REQUEST['datum_rodjenja'], $matches)) {
            $dan = $matches[1];
            $mjesec = $matches[2];
            $godina = $matches[3];
            if ($godina < 100) {
                if ($godina < 50) {
                    $godina += 2000;
                } else {
                    $godina += 1900;
                }
            }
            if ($godina < 1000) {
                if ($godina < 900) {
                    $godina += 2000;
                } else {
                    $godina += 1000;
                }
            }
        }
        // Pronalazak mjesta i srednje skole i dodavanje u bazu
        $rmjrid = 0;
        if ($rmjestorod != "") {
            $q300 = myquery("select id from mjesto where naziv like '{$rmjestorod}'");
            if (mysql_num_rows($q300) < 1) {
                if ($ropcinarod == 143) {
                    $q301 = myquery("insert into mjesto set naziv='{$rmjestorod}', opcina={$ropcinarod}, drzava={$rdrzavarod}, opcina_van_bih='{$ropcinavanbihrod}'");
                } else {
                    $q301 = myquery("insert into mjesto set naziv='{$rmjestorod}', opcina={$ropcinarod}, drzava={$rdrzavarod}");
                }
                $q300 = myquery("select id from mjesto where naziv='{$rmjestorod}'");
                zamgerlog("upisano novo mjesto rodjenja {$rmjestorod}", 2);
                zamgerlog2("upisano novo mjesto rodjenja", intval(mysql_result($q300, 0, 0)), 0, 0, $rmjestorod);
            } else {
                $q300 = myquery("select id from mjesto where naziv like '{$rmjestorod}' and opcina={$ropcinarod} and drzava={$rdrzavarod}");
                if (mysql_num_rows($q300) < 1) {
                    // Napravicemo novo mjesto
                    if ($ropcinarod == 143) {
                        $q301 = myquery("insert into mjesto set naziv='{$rmjestorod}', opcina={$ropcinarod}, drzava={$rdrzavarod}, opcina_van_bih='{$ropcinavanbihrod}'");
                    } else {
                        $q301 = myquery("insert into mjesto set naziv='{$rmjestorod}', opcina={$ropcinarod}, drzava={$rdrzavarod}");
                    }
                    $q300 = myquery("select id from mjesto where naziv='{$rmjestorod}' and opcina={$ropcinarod} and drzava={$rdrzavarod}");
                    zamgerlog("promjena opcine/drzave za mjesto rodjenja {$rmjestorod}", 2);
                    zamgerlog2("promjena opcine/drzave za mjesto rodjenja", intval(mysql_result($q300, 0, 0)), 0, 0, $rmjestorod);
                }
            }
            $rmjrid = mysql_result($q300, 0, 0);
        }
        $rnacid = 0;
        if ($rnacionalnost != "") {
            $q302 = myquery("select id from nacionalnost where naziv like '{$rnacionalnost}'");
            if (mysql_num_rows($q302) < 1) {
                $q303 = myquery("insert into nacionalnost set naziv='{$rnacionalnost}'");
                $q302 = myquery("select id from nacionalnost where naziv='{$rnacionalnost}'");
                zamgerlog("upisana nova nacionalnost {$rnacionalnost}", 2);
                zamgerlog2("upisana nova nacionalnost", intval(mysql_result($q302, 0, 0)), 0, 0, $rnacionalnost);
            }
            $rnacid = mysql_result($q302, 0, 0);
        }
        $radmid = 0;
        if ($radresamjesto != "") {
            $q302 = myquery("select id from mjesto where naziv like '{$radresamjesto}'");
            if (mysql_num_rows($q302) < 1) {
                $q303 = myquery("insert into mjesto set naziv='{$radresamjesto}'");
                $q302 = myquery("select id from mjesto where naziv='{$radresamjesto}'");
                zamgerlog("upisano novo mjesto (adresa) {$radresamjesto}", 2);
                zamgerlog2("upisano novo mjesto (adresa)", intval(mysql_result($q302, 0, 0)), 0, 0, $radresamjesto);
            }
            $radmid = mysql_result($q302, 0, 0);
        }
        $rskolaid = 0;
        if ($rzavrskola != "") {
            //		$rzavrskola = str_replace("&quot;", "\\\"", $rzavrskola);
            $rzavrskola = str_replace("\\\\'", "\\'", $rzavrskola);
            $q304 = myquery("select id from srednja_skola where naziv like '{$rzavrskola}'");
            if (mysql_num_rows($q304) < 1) {
                $q305 = myquery("insert into srednja_skola set naziv='{$rzavrskola}', opcina={$rskolaopcina}, domaca={$rskoladomaca}");
                $q304 = myquery("select id from srednja_skola where naziv='{$rzavrskola}' and opcina={$rskolaopcina} and domaca={$rskoladomaca}");
                zamgerlog("upisana nova srednja skola {$rzavrskola}", 2);
                zamgerlog2("upisana nova srednja skola", intval(mysql_result($q304, 0, 0)), 0, 0, $rzavrskola);
            } else {
                $q304 = myquery("select id from srednja_skola where naziv like '{$rzavrskola}' and opcina={$rskolaopcina} and domaca={$rskoladomaca}");
                if (mysql_num_rows($q304) < 1) {
                    $q305 = myquery("insert into srednja_skola set naziv='{$rzavrskola}', opcina={$rskolaopcina}, domaca={$rskoladomaca}");
                    $q304 = myquery("select id from srednja_skola where naziv='{$rzavrskola}' and opcina={$rskolaopcina} and domaca={$rskoladomaca}");
                    zamgerlog("promjena opcine / statusa domacinstva za skolu {$rzavrskola}", 2);
                    zamgerlog2("promjena opcine / statusa domacinstva za skolu", intval(mysql_result($q304, 0, 0)), 0, 0, $rzavrskola);
                }
            }
            $rskolaid = mysql_result($q304, 0, 0);
        }
        // Dodatne provjere integriteta koje je lakše uraditi u PHPu nego u JavaScriptu
        $greska = 0;
        if (!preg_match("/\\w/", $rime)) {
            niceerror("Ime nije ispravno");
            $greska = 1;
            $greskaime = 1;
        }
        if (!preg_match("/\\w/", $rprezime)) {
            niceerror("Prezime nije ispravno");
            $greska = 1;
            $greskaprezme = 1;
        }
        if ($rspol != 'M' && $rspol != 'Z' && $rspol != '') {
            niceerror("Spol nije ispravan");
            $greska = 1;
        }
        if ($rmjrid == 0) {
            niceerror("Nije uneseno mjesto rođenja");
            $greska = 1;
            $greskamjestorod = 1;
        }
        if ($rdrzavljanstvo != 1 && $rkanton != 13) {
            // 1 = bih
            niceerror("Državljanstvo je različito od 'BiH' (" . $rdrzavljanstvo . "), a kanton nije stavljen na 'Strani državljanin'");
            $greska = 1;
            $greskadrzavljanstvo = 1;
        }
        if (testjmbg($rjmbg) != "") {
            niceerror("JMBG neispravan: " . testjmbg($rjmbg));
            $greska = 1;
            $greskajmbg = 1;
        }
        if (preg_match("/(\\d+).*?(\\d+).*?(\\d+)/", $_REQUEST['datum_rodjenja'], $matches)) {
            // Ovo je već urađeno:
            // $dan=$matches[1]; $mjesec=$matches[2]; $godina=$matches[3];
            if (!checkdate($mjesec, $dan, $godina)) {
                niceerror("Datum rođenja je kalendarski nemoguć ({$dan}. {$mjesec}. {$godina})");
                $greskadatumrod = 1;
                $greska = 1;
            }
            $jdan = intval(substr($_REQUEST['jmbg'], 0, 2));
            $jmjesec = intval(substr($_REQUEST['jmbg'], 2, 2));
            $jgodina = intval(substr($_REQUEST['jmbg'], 4, 3));
            if ($jgodina > 900) {
                $jgodina += 1000;
            } else {
                $jgodina += 2000;
            }
            if ($dan != $jdan || $mjesec != $jmjesec || $godina != $jgodina) {
                niceerror("Uneseni datum rođenja se ne poklapa s onim u JMBGu");
                $greska = 1;
                $greskadatumrod = 1;
            }
        } else {
            niceerror("Datum rođenja nije ispravan - ne sadrži dovoljan broj cifara.");
            $greska = 1;
            $greskadatumrod = 1;
        }
        // Transakcija!
        $q305 = myquery("lock tables osoba write, prijemni_prijava write, uspjeh_u_srednjoj write, log write, prosliciklus_uspjeh write");
        // Da li se broj dosjea ponavlja??
        if ($_REQUEST['vrstaunosa'] == "novi" || $rosoba == 0) {
            $q308 = myquery("select count(*) from prijemni_prijava where broj_dosjea={$rbrojdosjea} and prijemni_termin={$termin}");
        } else {
            $q308 = myquery("select count(*) from prijemni_prijava where broj_dosjea={$rbrojdosjea} and prijemni_termin={$termin} and osoba!={$rosoba}");
        }
        if (mysql_result($q308, 0, 0) > 0) {
            niceerror("Broj dosjea {$rbrojdosjea} je već unesen! Izaberite neki drugi redni broj.");
            $greska = 1;
            $greskabrojdos = 1;
        }
        // Dodajemo novog kandidata u tabele osoba, prijemni_prijava i uspjeh_u_srednjoj
        if ($_REQUEST['vrstaunosa'] == "novi" || $rosoba == 0) {
            // Nova osoba
            //$min_id=1;
            $min_id = 2500;
            // radi lakseg grupisanja brojeva
            $q310 = myquery("select id+1 from osoba where id>={$min_id} order by id desc limit 1");
            if (mysql_num_rows($q310) < 1) {
                $rosoba = $min_id;
            } else {
                $rosoba = mysql_result($q310, 0, 0);
            }
            $q320 = myquery("insert into osoba set id={$rosoba}, ime='{$rime}', prezime='{$rprezime}', imeoca='{$rimeoca}', prezimeoca='{$rprezimeoca}', imemajke='{$rimemajke}', prezimemajke='{$rprezimemajke}', spol='{$rspol}', brindexa='', datum_rodjenja='{$godina}-{$mjesec}-{$dan}', mjesto_rodjenja={$rmjrid}, drzavljanstvo={$rdrzavljanstvo}, nacionalnost={$rnacid}, boracke_kategorije={$rborac}, jmbg='{$rjmbg}', adresa='{$radresa}', adresa_mjesto={$radmid}, telefon='{$rtelefon}', kanton={$rkanton}, treba_brisati=0, strucni_stepen={$rstrucni_stepen}, naucni_stepen=6");
            // 6 = bez naucnog stepena
            // Nova prijava prijemni
            $q330 = myquery("insert into prijemni_prijava set prijemni_termin={$termin}, osoba={$rosoba}, broj_dosjea={$rbrojdosjea}, nacin_studiranja={$rnacinstudiranja}, studij_prvi={$opi}, studij_drugi={$odi}, studij_treci={$oti}, studij_cetvrti={$oci}, izasao=0, rezultat=0");
            // Novi uspjeh u srednjoj -- samo za prvi ciklus
            if ($ciklus_studija == 1) {
                $q340 = myquery("insert into uspjeh_u_srednjoj set osoba={$rosoba}, srednja_skola={$rskolaid}, godina={$rskolagodina}, opci_uspjeh=0, kljucni_predmeti=0, dodatni_bodovi=0, ucenik_generacije={$rgener}");
            } else {
                $broj_semestara = intval($_REQUEST['broj_semestara']);
                $q340 = myquery("insert into prosliciklus_uspjeh set osoba={$rosoba}, fakultet=0, akademska_godina=0, broj_semestara={$broj_semestara}, opci_uspjeh=0, dodatni_bodovi=0");
            }
            zamgerlog("novi kandidat za prijemni u{$rosoba} broj dosjea {$rbrojdosjea}", 2);
            // Nastavljamo sa unosom ocjena:
            $_REQUEST['akcija'] = "unos";
            $vrstaunosa = "editovanje";
            $osoba = $rosoba;
            // Ako dodje do greske, mi cemo ubaciti podatke u bazu ali cemo jednostavno traziti da se ponovo unesu
            if ($greska == 1) {
                $vrstaunosa = "novigreska";
            }
        } else {
            // Editovanje postojeceg kandidata
            // Updatujem osobu
            $q350 = myquery("update osoba set ime='{$rime}', prezime='{$rprezime}', imeoca='{$rimeoca}', prezimeoca='{$rprezimeoca}', imemajke='{$rimemajke}', prezimemajke='{$rprezimemajke}', spol='{$rspol}', datum_rodjenja='{$godina}-{$mjesec}-{$dan}', mjesto_rodjenja={$rmjrid}, drzavljanstvo={$rdrzavljanstvo}, nacionalnost={$rnacid}, boracke_kategorije={$rborac}, jmbg='{$rjmbg}', adresa='{$radresa}', adresa_mjesto={$radmid}, telefon='{$rtelefon}', kanton={$rkanton}, treba_brisati=0 where id={$rosoba}");
            // Updatujem prijavu prijemnog
            $q360 = myquery("update prijemni_prijava set broj_dosjea={$rbrojdosjea}, nacin_studiranja={$rnacinstudiranja}, studij_prvi={$opi}, studij_drugi={$odi}, studij_treci={$oti}, studij_cetvrti={$oci}, rezultat={$rprijemni} where osoba={$rosoba} and prijemni_termin={$termin}");
            // Updatujem uspjeh u srednjoj -- samo za prvi ciklus
            if ($ciklus_studija == 1) {
                $q370 = myquery("update uspjeh_u_srednjoj set srednja_skola={$rskolaid}, godina={$rskolagodina}, opci_uspjeh={$ropci}, kljucni_predmeti={$rkljucni}, dodatni_bodovi={$rdodatni}, ucenik_generacije={$rgener} where osoba={$rosoba}");
            } else {
                $broj_semestara = intval($_REQUEST['broj_semestara']);
                $q340 = myquery("update prosliciklus_uspjeh set broj_semestara={$broj_semestara}, opci_uspjeh={$ropci}, dodatni_bodovi={$rdodatni} where osoba={$rosoba}");
            }
            zamgerlog("izmjena kandidata za prijemni u{$rosoba} broj dosjea {$rbrojdosjea}", 2);
            $_REQUEST['akcija'] = "unos";
            // Ako je prethodni unos bio posljedica greske...
            if ($_REQUEST['vrstaunosa'] == "novigreska") {
                // ...prelazimo na unos ocjena
                $vrstaunosa = "editovanje";
                $osoba = $rosoba;
                // zaboravi osobu
                if ($greska == 1) {
                    $vrstaunosa = "novigreska";
                }
                // osim ako nije opet greska
                // Kod editovanja...
            } else {
                // ...unosimo sljedeceg kandidata
                $vrstaunosa = "novi";
                $osoba = 0;
                // zaboravi osobu
                if ($greska == 1) {
                    // u slucaju greske ponovo editujemo
                    $vrstaunosa = "editovanje";
                    $osoba = $rosoba;
                }
            }
        }
        // Kraj transakcije
        $q380 = myquery("unlock tables");
        if ($_REQUEST['vrstaunosa'] == "novi" || $rosoba == 0) {
            zamgerlog2("novi kandidat za prijemni", intval($rosoba), 0, 0, $rbrojdosjea);
        } else {
            zamgerlog2("izmjena kandidata za prijemni", intval($rosoba), 0, 0, $rbrojdosjea);
        }
    }
    // AKCIJA=UNOS NOVOG STUDENTA
    if ($_REQUEST['akcija'] == "unos") {
        // Polje vrstaunosa moze biti:
        // - novi - kreiraju se novi zapisi u tabelama
        // - novigreska - edituju se postojeci zapisi, ali korisnik nema mogucnost unosa ocjena
        // - editovanje - ima mogucnost unosa ocjena
        // - sljedeci - prelazak na unos sljedeceg kandidata
        if (!$vrstaunosa) {
            // ako je prosli put unosen novi kandidat, varijabla $osoba je definisana u akciji unospotvrda
            if (intval($_REQUEST['izmjena']) > 0) {
                $vrstaunosa = "editovanje";
                $osoba = intval($_REQUEST['izmjena']);
            } else {
                $vrstaunosa = "novi";
            }
        }
        // Traženje postojeće osobe po JMBGu
        if (intval($_REQUEST['trazijmbg']) > 0) {
            $jmbg = my_escape($_REQUEST['trazijmbg']);
            // u biti ne znamo format JMBGa
            $q1 = myquery("select id from osoba where jmbg='{$jmbg}'");
            if (mysql_num_rows($q1) < 1) {
                niceerror("Traženi JMBG nije pronađen ({$jmbg}).");
                $vrstaunosa = "novi";
                $ejmbg = $jmbg;
            } else {
                $osoba = mysql_result($q1, 0, 0);
                $vrstaunosa = "editovanje";
                // Da li je osoba vec na prijemnom?
                $q2 = myquery("select count(*) from prijemni_prijava where prijemni_termin={$termin} and osoba={$osoba}");
                if (mysql_result($q2, 0, 0) > 0) {
                    nicemessage("Osoba sa JMBGom već prijavljena na prijemni");
                } else {
                    // Broj dosjea postavljamo na prvi slobodan
                    $q3 = myquery("select broj_dosjea+1 from prijemni_prijava where prijemni_termin={$termin} order by broj_dosjea desc limit 1");
                    if (mysql_num_rows($q3) < 1) {
                        $nbrojdosjea = 1;
                    } else {
                        $nbrojdosjea = mysql_result($q3, 0, 0);
                    }
                    // Kod upisa na više cikluse, pretpostavljamo da će upisati isti studij
                    // što određujemo na osnovu institucije
                    $sp = 0;
                    if ($ciklus_studija > 1) {
                        $q4 = myquery("select s.institucija from studij as s, student_studij as ss where ss.student={$osoba} and ss.studij=s.id order by ss.akademska_godina desc, ss.semestar desc limit 1");
                        if (mysql_num_rows($q4) > 0) {
                            // Da li je ikada studirao išta ovdje?
                            $q5 = myquery("select s.id from studij as s, tipstudija as ts where s.institucija=" . mysql_result($q4, 0, 0) . " and s.tipstudija=ts.id and ts.ciklus<={$ciklus_studija}");
                            $sp = mysql_result($q5, 0, 0);
                        }
                        // Brišemo ranije podatke o uspjehu kako ne bismo stvorili konflikt sa podacima sa prošlog prijemnog (MSc -> PhD)
                        $q5a = myquery("delete from prosliciklus_ocjene where osoba={$osoba}");
                        $q5b = myquery("delete from prosliciklus_uspjeh where osoba={$osoba}");
                    }
                    $q6 = myquery("insert into prijemni_prijava set prijemni_termin={$termin}, osoba={$osoba}, broj_dosjea={$nbrojdosjea}, studij_prvi={$sp}");
                    // Treba li kreirati novi obrazac?
                    $q6a = myquery("select count(*) from prijemni_obrazac where prijemni_termin={$termin} and osoba={$osoba}");
                    if (mysql_result($q6a, 0, 0) == 0) {
                        do {
                            $sifra = chr(ord('A') + rand(0, 7)) . chr(ord('A') + rand(0, 7)) . chr(ord('A') + rand(0, 7)) . rand(1, 8) . rand(1, 8);
                            $q3015 = myquery("select count(*) from prijemni_obrazac where sifra='{$sifra}' and prijemni_termin={$termin}");
                        } while (mysql_result($q3015, 0, 0) > 0);
                        $q6b = myquery("insert into prijemni_obrazac set prijemni_termin={$termin}, osoba={$osoba}, sifra='{$sifra}', jezik='bs'");
                    }
                    nicemessage("Prijavljujem osobu na prijemni ispit");
                }
                // Da li je potrebno kreirati zapis u tabeli "uspjeh u srednjoj"? samo za prvi ciklus
                if ($ciklus_studija == 1) {
                    $q7 = myquery("select count(*) from uspjeh_u_srednjoj where osoba={$osoba}");
                    if (mysql_result($q7, 0, 0) < 1) {
                        $q8 = myquery("insert into uspjeh_u_srednjoj set osoba={$osoba}");
                        // Ostale stvari ce biti popunjene kroz formular
                    }
                } else {
                    // Za više cikluse, popunićemo tabelu podacima o prethodnom ciklusu iz Zamgera
                    $q9 = myquery("select ko.ocjena, p.ects, pk.semestar from konacna_ocjena as ko, ponudakursa as pk, predmet as p, student_predmet as sp, studij as s, tipstudija as ts where ko.student={$osoba} and ko.predmet=pk.predmet and ko.akademska_godina=pk.akademska_godina and pk.predmet=p.id and pk.id=sp.predmet and sp.student={$osoba} and pk.studij=s.id and s.tipstudija=ts.id and ts.ciklus=" . ($ciklus_studija - 1));
                    $bodovi = 0;
                    // Odmah izracunavamo i bodove
                    $rednibroj = 1;
                    $maxsemestar = 0;
                    $sumaects = 0;
                    $sumaocjena = 0;
                    $brojocjena = 0;
                    while ($r9 = mysql_fetch_row($q9)) {
                        $q10 = myquery("insert into prosliciklus_ocjene set osoba={$osoba}, redni_broj={$rednibroj}, ocjena={$r9['0']}, ects={$r9['1']}");
                        $rednibroj++;
                        $bodovi += $r9[0] * $r9[1];
                        $sumaects += $r9[1];
                        if ($r9[2] > $maxsemestar) {
                            $maxsemestar = $r9[2];
                        }
                        $sumaocjena += $r9[0];
                        $brojocjena++;
                    }
                    // bodovi = suma od (ocjena*ects) / suma ects / brojsemestara
                    //$bodovi = $bodovi / $sumaects / $maxsemestar;
                    // Po novom konkursu od 2010. godine za rangiranje se uzima samo prosjek
                    // Po konkursu iz 2012. godine prosjek se množi sa 10 (max. 100 bodova) da bi se sabrao sa 40 bodova sa prijemnog ispita
                    if ($brojocjena > 0) {
                        $bodovi = round($sumaocjena / $brojocjena * 100) / 10;
                    } else {
                        $bodovi = 0;
                    }
                    $q11 = myquery("insert into prosliciklus_uspjeh set osoba={$osoba}, opci_uspjeh={$bodovi}, broj_semestara={$maxsemestar}");
                }
            }
        }
        // Preuzimanje podataka iz baze u slučaju editovanja
        // Neke default vrijednosti
        $enacinstudiranja = 1;
        // Redovni studij
        $eopci = $ekljucni = $edodatni = $eprijemni = 0;
        // Bodove postavljamo na nulu
        $edrzavarodjenja = $edrzavljanstvo = 1;
        // BiH
        $eskoladomaca = 1;
        // domaća škola je default
        $eskolazavrsena = 0;
        // godina završetka škole će biti prošla
        if ($osoba > 0) {
            $q = myquery("select o.ime, o.prezime, o.imeoca, o.prezimeoca, o.imemajke, o.prezimemajke, o.spol, UNIX_TIMESTAMP(o.datum_rodjenja), o.mjesto_rodjenja, o.drzavljanstvo, o.nacionalnost, o.jmbg, o.boracke_kategorije, o.adresa, o.adresa_mjesto, o.telefon, o.kanton, pp.nacin_studiranja, pp.studij_prvi, pp.studij_drugi, pp.studij_treci, pp.studij_cetvrti, pp.rezultat, pp.broj_dosjea, pp.izasao from osoba as o, prijemni_prijava as pp where o.id={$osoba} and o.id=pp.osoba and pp.prijemni_termin={$termin}");
            $eime = mysql_result($q, 0, 0);
            $eprezime = mysql_result($q, 0, 1);
            $eimeoca = mysql_result($q, 0, 2);
            $eprezimeoca = mysql_result($q, 0, 3);
            $eimemajke = mysql_result($q, 0, 4);
            $eprezimemajke = mysql_result($q, 0, 5);
            $espol = mysql_result($q, 0, 6);
            $edatum = date("d. m. Y.", mysql_result($q, 0, 7));
            $emjesto = mysql_result($q, 0, 8);
            $edrzavljanstvo = mysql_result($q, 0, 9);
            $enacionalnost = mysql_result($q, 0, 10);
            $ejmbg = mysql_result($q, 0, 11);
            $eborac = mysql_result($q, 0, 12);
            $eadresa = mysql_result($q, 0, 13);
            $eadresamjesto = mysql_result($q, 0, 14);
            $etelefon = mysql_result($q, 0, 15);
            $ekanton = mysql_result($q, 0, 16);
            $enacinstudiranja = mysql_result($q, 0, 17);
            $eopi = mysql_result($q, 0, 18);
            $eodi = mysql_result($q, 0, 19);
            $eoti = mysql_result($q, 0, 20);
            $eoci = mysql_result($q, 0, 21);
            $eprijemni = mysql_result($q, 0, 22);
            $ebrojdosjea = mysql_result($q, 0, 23);
            $eizasao = mysql_result($q, 0, 24);
            if ($ciklus_studija == 1) {
                // Uzimamo podatke za srednju skolu - samo ako se upisuje na prvi ciklus
                $q300 = myquery("select srednja_skola, godina, opci_uspjeh, kljucni_predmeti, dodatni_bodovi, ucenik_generacije from uspjeh_u_srednjoj where osoba={$osoba}");
                $eskola = mysql_result($q300, 0, 0);
                $eskolazavr = mysql_result($q300, 0, 1);
                $eopci = mysql_result($q300, 0, 2);
                $ekljucni = mysql_result($q300, 0, 3);
                $edodatni = mysql_result($q300, 0, 4);
                $egener = mysql_result($q300, 0, 5);
            } else {
                // podaci za prosli ciklus
                $q310 = myquery("select fakultet, akademska_godina, opci_uspjeh, dodatni_bodovi, broj_semestara from prosliciklus_uspjeh where osoba={$osoba}");
                $efakultet = mysql_result($q310, 0, 0);
                $eskolazavr = mysql_result($q300, 0, 1);
                $eopci = mysql_result($q310, 0, 2);
                $edodatni = mysql_result($q310, 0, 3);
                $ebrojsem = mysql_result($q310, 0, 4);
            }
        } else {
            if ($vrstaunosa == "novigreska") {
                $ebrojdosjea = $rbrojdosjea;
            } else {
                // Nova osoba
                // Odredjujemo broj dosjea
                $q220 = myquery("select broj_dosjea+1 from prijemni_prijava where prijemni_termin={$termin} order by broj_dosjea desc limit 1");
                if (mysql_num_rows($q220) < 1) {
                    $ebrojdosjea = 1;
                } else {
                    $ebrojdosjea = mysql_result($q220, 0, 0);
                }
            }
        }
        // Spisak dostupnih studija ovisno o ciklusu studija
        $q230 = myquery("select s.id, s.kratkinaziv from studij as s, tipstudija as ts where s.moguc_upis=1 and s.tipstudija=ts.id and ts.ciklus={$ciklus_studija} order by s.kratkinaziv");
        $studiji = array();
        $sstudimena = "";
        $sstudbrojevi = "";
        while ($r230 = mysql_fetch_row($q230)) {
            $studiji[$r230[0]] = $r230[1];
            if ($sstudimena != "") {
                $sstudimena .= ",";
            }
            $sstudimena .= "'" . $r230[1] . "'";
            if ($sstudbrojevi != "") {
                $sstudbrojevi .= ",";
            }
            $sstudbrojevi .= "'" . $r230[0] . "'";
        }
        // Spisak gradova za mjesto rodjenja i adresu
        $q240 = myquery("select id, naziv, opcina, drzava, opcina_van_bih from mjesto order by naziv");
        $gradovir = "<option></option>";
        $gradovia = "<option></option>";
        $eopcinarodjenja = $edrzavarodjenja = 0;
        while ($r240 = mysql_fetch_row($q240)) {
            $gradovir .= "<option";
            $gradovia .= "<option";
            if ($r240[0] == $emjesto) {
                $gradovir .= " SELECTED";
                $mjestorvalue = $r240[1];
                $eopcinarodjenja = $r240[2];
                $edrzavarodjenja = $r240[3];
                if ($edrzavarodjenja == 1) {
                    $eopcinavanbih = "";
                } else {
                    $eopcinavanbih = $r240[4];
                }
            }
            if ($r240[0] == $eadresamjesto) {
                $gradovia .= " SELECTED";
                $adresarvalue = $r240[1];
            }
            $gradovir .= " onClick=\"javascript:selectujOpcinuRodjenja('{$r240['2']}', '{$r240['3']}');\">{$r240['1']}</option>\n";
            $gradovia .= ">{$r240['1']}</option>\n";
        }
        // Spisak srednjih skola
        $q250 = myquery("select id, naziv, opcina, domaca from srednja_skola order by naziv");
        $srednjer = "<option></option>";
        $eskolaopcina = $eskoladomaca = 0;
        while ($r250 = mysql_fetch_row($q250)) {
            $srednjer .= "<option";
            if ($r250[0] == $eskola) {
                $srednjer .= " SELECTED";
                $skolarvalue = $r250[1];
                $eskolaopcina = $r250[2];
                $eskoladomaca = $r250[3];
            }
            $srednjer .= " onClick=\"javascript:selectujOpcinuSkola('{$r250['2']}', '{$r250['3']}');\">{$r250['1']}</option>\n";
        }
        // Spisak opština
        $q255 = myquery("select id, naziv from opcina order by naziv");
        $opciner = "<option></option>";
        $opcinerodjr = "<option></option>";
        while ($r255 = mysql_fetch_row($q255)) {
            $opciner .= "<option value=\"{$r255['0']}\" ";
            if ($r255[0] == $eskolaopcina) {
                $opciner .= " SELECTED";
            }
            $opciner .= ">{$r255['1']}</option>\n";
            $opcinerodjr .= "<option value=\"{$r255['0']}\" ";
            if ($r255[0] == $eopcinarodjenja) {
                $opcinerodjr .= " SELECTED";
            }
            $opcinerodjr .= ">{$r255['1']}</option>\n";
        }
        // Spisak nacionalnosti
        $q256 = myquery("select id, naziv from nacionalnost order by naziv");
        $nacionalnostr = "<option></option>";
        while ($r256 = mysql_fetch_row($q256)) {
            $nacionalnostr .= "<option";
            if ($r256[0] == $enacionalnost) {
                $nacionalnostr .= " SELECTED";
                $nacionalnostrvalue = $r256[1];
            }
            $nacionalnostr .= ">{$r256['1']}</option>\n";
        }
        // Spisak država
        $q257 = myquery("select id, naziv from drzava order by naziv");
        $drzaverodjr = "<option></option>";
        $drzavljanstvor = "<option></option>";
        while ($r257 = mysql_fetch_row($q257)) {
            $drzaverodjr .= "<option value=\"{$r257['0']}\" ";
            if ($r257[0] == $edrzavarodjenja) {
                $drzaverodjr .= " SELECTED";
            }
            $drzaverodjr .= ">{$r257['1']}</option>\n";
            $drzavljanstvor .= "<option value=\"{$r257['0']}\" ";
            if ($r257[0] == $edrzavljanstvo) {
                $drzavljanstvor .= " SELECTED";
            }
            $drzavljanstvor .= ">{$r257['1']}</option>\n";
        }
        // Spisak ak. godina
        $q258 = myquery("select id, naziv, aktuelna from akademska_godina order by naziv");
        $skolazavr = "<option></option>";
        while ($r258 = mysql_fetch_row($q258)) {
            $skolazavr .= "<option value=\"{$r258['0']}\" ";
            if ($r258[0] == $eskolazavrsena) {
                $skolazavr .= " SELECTED";
            }
            if ($r258[2] == 1 && $eskolazavrsena == 0) {
                $skolazavr .= " SELECTED";
            }
            $skolazavr .= ">{$r258['1']}</option>\n";
        }
        // Spisak kantona
        $q259 = myquery("select id, naziv from kanton order by naziv");
        $kantonr = "<option></option>";
        while ($r259 = mysql_fetch_row($q259)) {
            $kantonr .= "<option value=\"{$r259['0']}\" ";
            if ($r259[0] == $ekanton) {
                $kantonr .= " SELECTED";
            }
            $kantonr .= ">{$r259['1']}</option>\n";
        }
        // Spisak načina studiranja
        $q259a = myquery("select id, naziv from nacin_studiranja where moguc_upis=1 order by id");
        $nacinstudiranjar = "";
        // Nema blank opcije
        while ($r259a = mysql_fetch_row($q259a)) {
            $nacinstudiranjar .= "<option value=\"{$r259a['0']}\" ";
            if ($r259a[0] == $enacinstudiranja) {
                $nacinstudiranjar .= " SELECTED";
            }
            $nacinstudiranjar .= ">{$r259a['1']}</option>\n";
        }
        // Tabela za unos podataka - design
        ?>
<h3>Unos kandidata</h3>
<br />

<SCRIPT language="JavaScript">

// Funkcija update_izobre() kod izbora studija kao "prvi izbor" izbacuje taj studij iz liste za drugi, treci itd. 
// Slicno radi i za drugi i treci izbor.

function update_izbore() {
	var studijiimena = new Array(<?php 
        echo $sstudimena;
        ?>
);
	var studijibrojevi = new Array(<?php 
        echo $sstudbrojevi;
        ?>
);
	var prvi = document.getElementById('studij_prvi_izbor');
	odzuti(prvi);
	var drugi = document.getElementById('studij_drugi_izbor');
	var treci = document.getElementById('studij_treci_izbor');
	var cetvrti = document.getElementById('studij_cetvrti_izbor');
	var drugval = drugi.value;
	while (drugi.length>1)
		drugi.options[1]=null;
	for (i=0; i<4; i++) {
		if (studijibrojevi[i] != prvi.value) { 
			drugi.options[drugi.length]=new Option(studijiimena[i],studijibrojevi[i]);
			if (drugval==studijibrojevi[i]) drugi.selectedIndex=drugi.length-1;
		}
	}
	var trecval = treci.value;
	while (treci.length>1)
		treci.options[1]=null;
	for (i=0; i<4; i++) {
		if (studijibrojevi[i] != prvi.value && studijibrojevi[i] != drugi.value) { 
			treci.options[treci.length]=new Option(studijiimena[i],studijibrojevi[i]);
			if (trecval==studijibrojevi[i]) treci.selectedIndex=treci.length-1;
		}
	}
	var cetval = cetvrti.value;
	while (cetvrti.length>1)
		cetvrti.options[1]=null;
	for (i=0; i<4; i++) {
		if (studijibrojevi[i] != prvi.value && studijibrojevi[i] != drugi.value && studijibrojevi[i] != treci.value) { 
			cetvrti.options[cetvrti.length]=new Option(studijiimena[i],studijibrojevi[i]);
			if (cetval==studijibrojevi[i]) cetvrti.selectedIndex=cetvrti.length-1;
		}
	}
}

// Kada korisnik ukuca nesto u obavezno polje, ono prestaje biti zuto (postaje bijelo)
function odzuti(nesto) {
	nesto.style.backgroundColor = '#FFFFFF';
}

// Predji na sljedece polje pritiskom na dugme enter
function enterhack(e,gdje) {
	if(e.keyCode==13) {
		document.getElementById(gdje).focus();
		return false;
	}
}

// Trazimo osobu sa datim JMBGom u bazi
function jmbg_trazi() {
	var jmbg = document.getElementById('jmbg').value;
	document.location.replace('index.php?sta=studentska/prijemni&akcija=unos&trazijmbg='+jmbg+'&termin=<?php 
        echo $termin;
        ?>
');
}

// Automatski izbor općine za školu
function selectujOpcinuSkola(idOpcine, domaca) {
	var selOpcine = document.getElementById('zavrsena_skola_opcina');
	for (i=0; i<selOpcine.length; i++)
		if (parseInt(selOpcine.options[i].value)==idOpcine) selOpcine.selectedIndex=i;
	if (idOpcine==0) selOpcine.selectedIndex=0;
	else odzuti(selOpcine);

	// Ovo moze ne raditi...
	if (document.glavnaforma && document.glavnaforma.zavrsena_skola_domaca) {
		var radioDomaca = document.glavnaforma.zavrsena_skola_domaca;
		for (i=0; i<radioDomaca.length; i++) {
			//alert ("forma "+i);
			if (parseInt(radioDomaca[i].value) == domaca) radioDomaca[i].checked=true;
		}
	}
}

// Automatski izbor općine za mjesto rođenja
function selectujOpcinuRodjenja(idOpcine, idDrzave) {
	var selOpcine = document.getElementById('opcina_rodjenja');
	for (i=0; i<selOpcine.length; i++)
		if (parseInt(selOpcine.options[i].value)==idOpcine) selOpcine.selectedIndex=i;
	if (idOpcine==0) selOpcine.selectedIndex=0;
	else odzuti(selOpcine);

	var selDrzave = document.getElementById('drzava_rodjenja');
	for (i=0; i<selDrzave.length; i++)
		if (parseInt(selDrzave.options[i].value)==idDrzave) selDrzave.selectedIndex=i;
	if (idDrzave==0) selDrzave.selectedIndex=0;
	else odzuti(selDrzave);
}
</SCRIPT>

<script type="text/javascript" src="js/mycombobox.js"></script>

<?php 
        // Nećemo da se ove varijable pojavljuju u genform
        unset($_REQUEST['osoba']);
        unset($_REQUEST['vrstaunosa']);
        unset($_REQUEST['broj_dosjea']);
        unset($_REQUEST['ime']);
        unset($_REQUEST['prezime']);
        unset($_REQUEST['imeoca']);
        unset($_REQUEST['prezimeoca']);
        unset($_REQUEST['imemajke']);
        unset($_REQUEST['prezimemajke']);
        unset($_REQUEST['spol']);
        unset($_REQUEST['datum_rodjenja']);
        unset($_REQUEST['mjesto_rodjenja']);
        unset($_REQUEST['opcina_rodjenja']);
        unset($_REQUEST['drzava_rodjenja']);
        unset($_REQUEST['nacionalnost']);
        unset($_REQUEST['drzavljanstvo']);
        unset($_REQUEST['jmbg']);
        unset($_REQUEST['borac']);
        unset($_REQUEST['zavrsena_skola']);
        unset($_REQUEST['zavrsena_skola_opcina']);
        unset($_REQUEST['zavrsena_skola_godina']);
        unset($_REQUEST['zavrsena_skola_domaca']);
        unset($_REQUEST['adresa']);
        unset($_REQUEST['adresa_mjesto']);
        unset($_REQUEST['telefon_roditelja']);
        unset($_REQUEST['tip_studija']);
        unset($_REQUEST['ucenik_generacije']);
        unset($_REQUEST['studij_prvi_izbor']);
        unset($_REQUEST['studij_drugi_izbor']);
        unset($_REQUEST['studij_treci_izbor']);
        unset($_REQUEST['studij_cetvrti_izbor']);
        unset($_REQUEST['prijemni']);
        unset($_REQUEST['opci_uspjeh']);
        unset($_REQUEST['kljucni_predmeti']);
        unset($_REQUEST['dodatni_bodovi']);
        unset($_REQUEST['trazijmbg']);
        // Navigacija na sljedeći i prethodni broj dosjea
        // Dostupna samo ako postoji broj
        $q260 = myquery("select osoba from prijemni_prijava where broj_dosjea<" . intval($ebrojdosjea) . " and prijemni_termin={$termin} order by broj_dosjea desc limit 1");
        if (mysql_num_rows($q260) > 0) {
            $lijevodugme = '<input type="button" value="  <<  " onclick="javascript:document.location.replace(\'index.php?sta=studentska/prijemni&akcija=unos&izmjena=' . mysql_result($q260, 0, 0) . '&termin=' . $termin . '\')"> ';
        } else {
            $lijevodugme = '<input type="button" value="  <<  " disabled> ';
        }
        $q270 = myquery("select osoba from prijemni_prijava where broj_dosjea>" . intval($ebrojdosjea) . " and prijemni_termin={$termin} order by broj_dosjea limit 1");
        if (mysql_num_rows($q270) > 0) {
            $desnodugme = '<input type="button" value="  >>  " onclick="javascript:document.location.replace(\'index.php?sta=studentska/prijemni&akcija=unos&izmjena=' . mysql_result($q270, 0, 0) . '&termin=' . $termin . '\')"> ';
        } else {
            $desnodugme = '<input type="button" value="  >>  " disabled> ';
        }
        print genform("POST", "glavnaforma");
        ?>
<input type="hidden" name="akcija" value="unospotvrda">
<input type="hidden" name="osoba" value="<?php 
        echo $osoba;
        ?>
">
<input type="hidden" name="vrstaunosa" value="<?php 
        echo $vrstaunosa;
        ?>
">

<table border="0" cellpadding="3" cellspacing="0">
	<tr>
		<td width="130" align="left">Broj dosjea:</td>
		<td><?php 
        echo $lijevodugme;
        ?>
<input maxlength="50" size="5" name="broj_dosjea" id="broj_dosjea" type="text" value="<?php 
        echo $ebrojdosjea;
        ?>
" autocomplete="off" onkeypress="enterhack(event,'ime')" class="default"
		<?php 
        if ($greskabrojdos) {
            ?>
 style="background-color:#FF0000" oninput="odzuti(this)" <?php 
        }
        ?>
><font color="#FF0000">*</font> <?php 
        echo $desnodugme;
        ?>
</td>
	</tr>
	<?php 
        if ($osoba > 0) {
            ?>
	<tr><td colspan="2">
		<a href="?sta=izvjestaj/prijemni_brzi_unos&termin=<?php 
            echo $termin;
            ?>
&osoba=<?php 
            echo $osoba;
            ?>
" target="_new">Odštampaj obrazac</a>
	</tr></tr>
	<?php 
        }
        ?>
	<tr><td colspan="2"><br>LIČNI PODACI:</td></tr>
	<tr>
		<td width="130" align="left">Ime kandidata:</td>
		<td><input maxlength="50" size="17" name="ime" id="ime" type="text" class="default" 
		<?php 
        if ($greskaime) {
            ?>
 value="<?php 
            echo $eime;
            ?>
" style="background-color:#FF0000" oninput="odzuti(this)" <?php 
        } else {
            if ($eime) {
                ?>
 value="<?php 
                echo $eime;
                ?>
"<?php 
            } else {
                ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
            }
        }
        ?>
 autocomplete="off" onkeypress="return enterhack(event,'prezime')"><font color="#FF0000">*</font></td>
	</tr>
	<tr>
		<td width="125" align="left">Prezime kandidata:</td>
		<td><input maxlength="50" size="17" name="prezime" id="prezime" type="text" class="default" 
		<?php 
        if ($greskaprezime) {
            ?>
 value="<?php 
            echo $eprezime;
            ?>
" style="background-color:#FF0000" oninput="odzuti(this)" <?php 
        } else {
            if ($eprezime) {
                ?>
 value="<?php 
                echo $eprezime;
                ?>
"<?php 
            } else {
                ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
            }
        }
        ?>
 autocomplete="off" onkeypress="return enterhack(event,'imeoca')"><font color="#FF0000">*</font></td>
	</tr>
	<tr>
		<td width="125" align="left">Ime oca:</td>
		<td><input maxlength="50" size="17" name="imeoca" id="imeoca" type="text" class="default" value="<?php 
        echo $eimeoca;
        ?>
" <?php 
        if (!$eimeoca) {
            ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
        }
        ?>
 autocomplete="off" onkeypress="return enterhack(event,'prezimeoca')"></td>
	</tr>
	<tr>
		<td width="125" align="left">Prezime oca:</td>
		<td><input maxlength="50" size="17" name="prezimeoca" id="prezimeoca" type="text" class="default" value="<?php 
        echo $eprezimeoca;
        ?>
" <?php 
        if (!$eprezimeoca) {
            ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
        }
        ?>
 autocomplete="off" onkeypress="return enterhack(event,'imemajke')"></td>
	</tr>
	<tr>
		<td width="125" align="left">Ime majke:</td>
		<td><input maxlength="50" size="17" name="imemajke" id="imemajke" type="text" class="default" value="<?php 
        echo $eimemajke;
        ?>
" <?php 
        if (!$eimemajke) {
            ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
        }
        ?>
 autocomplete="off" onkeypress="return enterhack(event,'prezimemajke')"></td>
	</tr>
	<tr>
		<td width="125" align="left">Prezime majke:</td>
		<td><input maxlength="50" size="17" name="prezimemajke" id="prezimemajke" type="text" class="default" value="<?php 
        echo $eprezimemajke;
        ?>
" <?php 
        if (!$eprezimemajke) {
            ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
        }
        ?>
 autocomplete="off" onkeypress="return enterhack(event,'datum_rodjenja')"></td>
	</tr>
	<tr>
		<td width="125" align="left">Spol:</td>
		<td><input type="radio" name="spol" id="spol" value="M" <?php 
        if ($espol == 'M') {
            print "CHECKED";
        }
        ?>
> Muški
		<input type="radio" name="spol" id="spol" value="Z" <?php 
        if ($espol == 'Z') {
            print "CHECKED";
        }
        ?>
> Ženski
		</td>
	</tr>
	<tr>
		<td width="125" align="left">Datum rođenja:</td>
		<td><input maxlength="20" size="17" name="datum_rodjenja" id="datum_rodjenja" type="text" class="default" 
		<?php 
        if ($greskadatumrod) {
            ?>
 value="<?php 
            echo $edatum;
            ?>
" style="background-color:#FF0000" oninput="odzuti(this)" <?php 
        } else {
            if ($edatum) {
                ?>
 value="<?php 
                echo $edatum;
                ?>
"<?php 
            } else {
                ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
            }
        }
        ?>
 autocomplete="off" onkeypress="return enterhack(event,'mjesto_rodjenja')"> <font color="#FF0000">*</font></td>
	</tr>
	<tr>
		<td width="125" align="left">Mjesto rođenja:</td>
		<td><input type="text" name="mjesto_rodjenja" id="mjesto_rodjenja" value="<?php 
        echo $mjestorvalue;
        ?>
" class="default" onKeyDown="return comboBoxEdit(event, 'mjesto_rodjenja'); this.style.backgroundColor = '#FFFFFF';" autocomplete="off" size="17" onInput="this.style.backgroundColor = '#FFFFFF';" onBlur="comboBoxHide('<?php 
        echo $name;
        ?>
')" <?php 
        if ($greskamjestorod) {
            ?>
 style="background-color:#FF0000" onChange="this.style.backgroundColor = '#FFFFFF'"<?php 
        } else {
            if ($emjesto == 0) {
                ?>
 style="background-color:#FFFF00" onChange="this.style.backgroundColor = '#FFFFFF'"<?php 
            } else {
                ?>
 style="background-color:#FFFFFF"<?php 
            }
        }
        ?>
><img src="images/cb_up.png" width="19" height="18" onClick="comboBoxShowHide('mjesto_rodjenja')" id="comboBoxImg_mjesto_rodjenja" valign="bottom">
		<!-- Rezultati pretrage primaoca -->
		<div id="comboBoxDiv_mjesto_rodjenja" style="position:absolute;visibility:hidden">
			<select name="comboBoxMenu_mjesto_rodjenja" id="comboBoxMenu_mjesto_rodjenja" size="10" onClick="comboBoxOptionSelected('mjesto_rodjenja')" onFocus="this.focused=true;" onBlur="this.focused=false;"><?php 
        echo $gradovir;
        ?>
</select>
		</div><font color="#FF0000">*</font></td>
	</tr>
	<tr>
		<td width="125" align="left">Općina rođenja:</td>
		<td><select name="opcina_rodjenja" id="opcina_rodjenja" class="default" onChange="this.style.backgroundColor = '#FFFFFF'; if (this.value == 143) document.getElementById('opcina_rodjenja_van_bih').disabled = false; else document.getElementById('opcina_rodjenja_van_bih').disabled = true;" <?php 
        if ($eopcinarodjenja == 0) {
            ?>
 style="background-color:#FFFF00"  <?php 
        }
        ?>
><?php 
        echo $opcinerodjr;
        ?>
</select> <font color="#FF0000">*</font></td>
	</tr>
	<tr>
		<td width="125" align="left">Općina rođenja (van BiH):</td>
		<td><input maxlength="40" size="17" name="opcina_rodjenja_van_bih" id="opcina_rodjenja_van_bih" type="text" class="default" autocomplete="off" <?php 
        if ($eopcinarodjenja != 143) {
            echo "disabled";
        }
        ?>
 value="<?php 
        echo $eopcinavanbih;
        ?>
"></td>
	</tr>
	<tr>
		<td width="125" align="left">Država rođenja:</td>
		<td><select name="drzava_rodjenja" id="drzava_rodjenja" class="default" <?php 
        if ($edrzavarodjenja == 0) {
            ?>
 style="background-color:#FFFF00" onChange="this.style.backgroundColor = '#FFFFFF';" <?php 
        }
        ?>
><?php 
        echo $drzaverodjr;
        ?>
</select> <font color="#FF0000">*</font></td>
	</tr>
	<tr>
		<td width="125" align="left">Nacionalnost:</td>
		<td><input type="text" name="nacionalnost" id="nacionalnost" value="<?php 
        echo $nacionalnostrvalue;
        ?>
" class="default" onKeyDown="return comboBoxEdit(event, 'nacionalnost'); this.style.backgroundColor = '#FFFFFF';" autocomplete="off" size="17" onInput="this.style.backgroundColor = '#FFFFFF';" <?php 
        if ($enacionalnost == 0) {
            ?>
 style="background-color:#FFFF00" onChange="this.style.backgroundColor = '#FFFFFF'"<?php 
        } else {
            ?>
 style="background-color:#FFFFFF"<?php 
        }
        ?>
><img src="images/cb_up.png" width="19" height="18" onClick="comboBoxShowHide('nacionalnost')" id="comboBoxImg_nacionalnost" valign="bottom">
		<!-- Rezultati pretrage primaoca -->
		<div id="comboBoxDiv_nacionalnost" style="position:absolute;visibility:hidden">
			<select name="comboBoxMenu_nacionalnost" id="comboBoxMenu_nacionalnost" size="10" onClick="comboBoxOptionSelected('nacionalnost')" onFocus="this.focused=true;" onBlur="this.focused=false;"><?php 
        echo $nacionalnostr;
        ?>
</select>
		</div><font color="#FF0000">*</font></td>
	</tr>
	<tr>
		<td width="125" align="left">Državljanstvo:</td>
		<!-- Nije žute boje zato što ima default vrijednost -->
		<td><select name="drzavljanstvo" id="drzavljanstvo" class="default"
		<?php 
        if ($greskadrzavljanstvo) {
            ?>
 style="background-color:#FF0000" onChange="this.style.backgroundColor = '#FFFFFF'"<?php 
        }
        ?>
><?php 
        echo $drzavljanstvor;
        ?>
</select> <font color="#FF0000">*</font></td>
	</tr>
	<tr>
		<td width="125" align="left">JMBG:</td>
		<td><input maxlength="13" size="17" name="jmbg" id="jmbg" type="text" class="default" 
		<?php 
        if ($greskajmbg) {
            ?>
 value="<?php 
            echo $ejmbg;
            ?>
" style="background-color:#FF0000" oninput="odzuti(this)" <?php 
        } else {
            if ($ejmbg) {
                ?>
 value="<?php 
                echo $ejmbg;
                ?>
"<?php 
            } else {
                ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
            }
        }
        ?>
 autocomplete="off" onkeypress="return enterhack(event,'adresa')"><font color="#FF0000">*</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value=" Traži " onclick="javascript:jmbg_trazi();"></td>
	</tr>
	<tr>
		<td width="125" align="left">&nbsp;</td>
		<td><input type="checkbox" name="borac"  <?php 
        if ($eborac) {
            ?>
 checked="checked" <?php 
        }
        ?>
 value="1"> Dijete šehida / borca / pripadnik RVI</td>
	</tr>
	<tr><td colspan="2"><br>PODACI O ZAVRŠENOM PRETHODNOM OBRAZOVANJU:</td></tr>

<?php 
        // Srednju školu prikazujemo samo za prvi ciklus
        if ($ciklus_studija == 1) {
            ?>
	<tr>
		<td width="125" align="left">Završena škola:</td>
		<td><input type="text" name="zavrsena_skola" id="zavrsena_skola" value="<?php 
            echo $skolarvalue;
            ?>
" class="default" onKeyDown="return comboBoxEdit(event, 'zavrsena_skola'); this.style.backgroundColor = '#FFFFFF';" autocomplete="off" size="35" onInput="this.style.backgroundColor = '#FFFFFF';"
		<?php 
            if ($eskola == 0) {
                ?>
 style="background-color:#FFFF00" onChange="this.style.backgroundColor = '#FFFFFF'"<?php 
            } else {
                ?>
 style="background-color:#FFFFFF"<?php 
            }
            ?>
><img src="images/cb_up.png" width="19" height="18" onClick="comboBoxShowHide('zavrsena_skola')" id="comboBoxImg_zavrsena_skola" valign="bottom">
		<!-- Rezultati pretrage primaoca -->
		<div id="comboBoxDiv_zavrsena_skola" style="position:absolute;visibility:hidden">
			<select name="comboBoxMenu_zavrsena_skola" id="comboBoxMenu_zavrsena_skola" size="10" onClick="comboBoxOptionSelected('zavrsena_skola')" onFocus="this.focused=true;" onBlur="this.focused=false;"><?php 
            echo $srednjer;
            ?>
</select>
		</div></td>
	</tr>
	<tr>
		<td width="125" align="left">Općina škole:</td>
		<td><select name="zavrsena_skola_opcina" id="zavrsena_skola_opcina" class="default" <?php 
            if ($eskolaopcina == 0) {
                ?>
 style="background-color:#FFFF00" onChange="this.style.backgroundColor = '#FFFFFF';" <?php 
            }
            ?>
><?php 
            echo $opciner;
            ?>
</select></td>
	</tr>
	<tr>
		<td width="125" align="left">&nbsp;</td>
		<td><input type="radio" name="zavrsena_skola_domaca" id="zavrsena_skola_domaca" value="1" <?php 
            if ($eskoladomaca == 1) {
                print "CHECKED";
            }
            ?>
> Domaća škola
		<input type="radio" name="zavrsena_skola_domaca" id="zavrsena_skola_domaca" value="0" <?php 
            if ($eskoladomaca == 0) {
                print "CHECKED";
            }
            ?>
> Strana škola
		</td>
	</tr>
	<tr>
		<td width="125" align="left">U školskoj godini:</td>
		<!-- Nije žute boje zato što ima default vrijednost -->
		<td><select name="zavrsena_skola_godina" id="zavrsena_skola_godina" class="default"><?php 
            echo $skolazavr;
            ?>
</select></td>
	</tr>
	<tr>
		<td width="125" align="left">Učenik generacije?</td>
		<td><input type="checkbox" name="ucenik_generacije" <?php 
            if ($egener) {
                ?>
 checked="checked" <?php 
            }
            ?>
 value="1"></td>
	</tr>
<?php 
        }
        ?>
	<tr><td colspan="2"><br>KONTAKT PODACI:</td></tr>
	<tr>
		<td width="125" align="left">Adresa:</td>
		<td><input maxlength="50" size="17" name="adresa" id="adresa" type="text" class="default" <?php 
        if ($eadresa) {
            ?>
 value="<?php 
            echo $eadresa;
            ?>
"<?php 
        } else {
            ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
        }
        ?>
 autocomplete="off" onkeypress="return enterhack(event,'telefon_roditelja')"></td>
	</tr>
	<tr>
		<td width="125" align="left">Adresa (mjesto):</td>
		<td><input type="text" name="adresa_mjesto" id="adresa_mjesto" value="<?php 
        echo $adresarvalue;
        ?>
" class="default" onKeyDown="return comboBoxEdit(event, 'adresa_mjesto'); this.style.backgroundColor = '#FFFFFF';" autocomplete="off" size="17" onInput="this.style.backgroundColor = '#FFFFFF';" <?php 
        if ($eadresamjesto == 0) {
            ?>
 style="background-color:#FFFF00" onChange="this.style.backgroundColor = '#FFFFFF'"<?php 
        } else {
            ?>
 style="background-color:#FFFFFF"<?php 
        }
        ?>
><img src="images/cb_up.png" width="19" height="18" onClick="comboBoxShowHide('adresa_mjesto')" id="comboBoxImg_adresa_mjesto" valign="bottom">
		<!-- Rezultati pretrage primaoca -->
		<div id="comboBoxDiv_adresa_mjesto" style="position:absolute;visibility:hidden">
			<select name="comboBoxMenu_adresa_mjesto" id="comboBoxMenu_adresa_mjesto" size="10" onClick="comboBoxOptionSelected('adresa_mjesto')" onFocus="this.focused=true;" onBlur="this.focused=false;"><?php 
        echo $gradovia;
        ?>
</select>
		</div><font color="#FF0000">*</font></td>
	</tr>
	<tr>
		<td width="125" align="left">Kanton:</td>
		<td><select name="kanton" id="kanton" class="default" <?php 
        if ($ekanton == 0) {
            ?>
 style="background-color:#FFFF00" onChange="this.style.backgroundColor = '#FFFFFF';" <?php 
        }
        ?>
><?php 
        echo $kantonr;
        ?>
</select> <font color="#FF0000">*</font></td>
	</tr>
	<tr>
		<td width="125" align="left">Telefon roditelja:</td>
		<td><input maxlength="30" size="17" name="telefon_roditelja" id="telefon_roditelja" type="text" class="default"
		<?php 
        if ($etelefon) {
            ?>
 value="<?php 
            echo $etelefon;
            ?>
"<?php 
        } else {
            ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
        }
        ?>
 autocomplete="off" onkeypress="return enterhack(event,'kanton')"></td>
	</tr>
	<tr><td colspan="2"><br>IZBOR STUDIJA:</td></tr>
	<tr>
		<td width="125" align="left">Način studiranja</td>
		<td><select name="nacin_studiranja" id="kanton" class="default" style="background-color:#FFFF00" onChange="this.style.backgroundColor = '#FFFFFF';"><?php 
        echo $nacinstudiranjar;
        ?>
</select></td>
	</tr>
<?php 
        // Više izbora nudimo samo za prvi ciklus studija (svakako je to hack)
        if ($ciklus_studija == 1) {
            ?>
	<tr>
		<td width="125" align="left">Studij:</td>
		<td>
		<table width="100%" border="0" align="center">
			<tr><td>Prvi izbor</td><td>Drugi izbor</td><td>Treći izbor</td><td>Četvrti izbor</td></tr>
			<tr>
				<td><select name="studij_prvi_izbor" id="studij_prvi_izbor" onchange="update_izbore()" <?php 
            if (!$eopi) {
                ?>
 style="background-color:#FFFF00"<?php 
            }
            ?>
><option></option><?php 
            foreach ($studiji as $id => $naziv) {
                print "<option value=\"{$id}\"";
                if ($id == $eopi) {
                    print " selected";
                }
                print ">{$naziv}</option>";
            }
            ?>
</select></td>
				<td><select name="studij_drugi_izbor" id="studij_drugi_izbor" onchange="update_izbore()"><option></option><?php 
            foreach ($studiji as $id => $naziv) {
                print "<option value=\"{$id}\"";
                if ($id == $eodi) {
                    print " selected";
                }
                print ">{$naziv}</option>";
            }
            ?>
</select></td>
				<td><select name="studij_treci_izbor" id="studij_treci_izbor" onchange="update_izbore()"><option></option><?php 
            foreach ($studiji as $id => $naziv) {
                print "<option value=\"{$id}\"";
                if ($id == $eoti) {
                    print " selected";
                }
                print ">{$naziv}</option>";
            }
            ?>
</select></td>
				<td><select name="studij_cetvrti_izbor" id="studij_cetvrti_izbor" onchange="update_izbore()"><option></option><?php 
            foreach ($studiji as $id => $naziv) {
                print "<option value=\"{$id}\"";
                if ($id == $eoci) {
                    print " selected";
                }
                print ">{$naziv}</option>";
            }
            ?>
</select></td>
			</tr>
		</table>
		</td>
	</tr>
<?php 
        } else {
            // Samo jedan izbor -- TODO (mozda) omogućiti konfigurisanje da li je izbor samo jedan ili višestruki na nivou termina
            ?>
	<tr>
		<td width="125" align="left">Studij:</td>
		<td><select name="studij_prvi_izbor" id="studij_prvi_izbor" <?php 
            if (!$eopi) {
                ?>
 style="background-color:#FFFF00"<?php 
            }
            ?>
><option></option><?php 
            foreach ($studiji as $id => $naziv) {
                print "<option value=\"{$id}\"";
                if ($id == $eopi) {
                    print " selected";
                }
                print ">{$naziv}</option>";
            }
            ?>
</select>
		</td>
	</tr>
<?php 
        }
        if ($eizasao > 0) {
            ?>
	<tr>
		<td width="125" align="left">Bodovi na prijemnom:</td>
		<td><input maxlength="50" size="17" name="prijemni" id="prijemni" type="text" value="<?php 
            echo $eprijemni;
            ?>
" autocomplete="off"></td>
	</tr>
<?php 
        } else {
            ?>
	<input type="hidden" name="prijemni" value="0">
<?php 
        }
        ?>
</table>
<br />


<!-- Provjera ispravnosti svih polja na formularu prije slanja -->

<SCRIPT language="JavaScript">
function provjeri(varijablu) {
	var nesto = document.getElementById(varijablu);
	if(nesto.value=="") {
		alert("Niste unijeli "+varijablu);
		nesto.focus();
		self.scrollTo(nesto.offsetLeft,nesto.offsetTop);
		return false;
	}
	return true;
}
function provjeri_sve() {
	if (!provjeri('ime')) return false;
	if (!provjeri('prezime')) return false;
	if (!provjeri('datum_rodjenja')) return false;
	if (!provjeri('mjesto_rodjenja')) return false;
	if (!provjeri('opcina_rodjenja')) return false;
	if (!provjeri('drzava_rodjenja')) return false;
	if (!provjeri('nacionalnost')) return false;
	if (!provjeri('drzavljanstvo')) return false;
	if (!provjeri('broj_dosjea')) return false;
	if (!provjeri('jmbg')) return false;
<?php 
        if ($ciklus_studija == 1) {
            ?>
	if (!provjeri('studij_prvi_izbor')) return false;
<?php 
        }
        ?>

	// Da li je broj dosjea pozitivan broj?
	var nesto = document.getElementById('broj_dosjea');
	if (parseInt(nesto.value) < 1) {
		alert ("Broj dosjea mora biti veći od nule.");
		nesto.focus();
		self.scrollTo(nesto.offsetLeft, nesto.offsetTop);
		return false;
	}

	var nesto = document.getElementsByName('kanton');
	if (nesto[0].value=='-1') {
		alert("Niste izabrali kanton");
		nesto[0].focus();
		self.scrollTo(nesto[0].offsetLeft,nesto[0].offsetTop);
		return false;
	}

	var nesto = document.getElementById('studij_prvi_izbor');
	if (nesto.value=='') {
		alert("Niste izabrali odsjek");
		nesto.focus();
		self.scrollTo(nesto.offsetLeft,nesto.offsetTop);
		return false;
	}

	document.getElementsByName('glavnaforma')[0].submit();
	return true;
}

</script>


<?php 
        // UNOS OCJENA IZ SREDNJE SKOLE
        // Unos ocjena ce se prikazati samo prilikom editovanja, posto su ocjene u zasebnoj tabeli koja se vezuje
        // za osobu, na taj nacin se osigurava da osoba postoji prilikom editovanja.
        // Ukoliko bismo se oslonili na prvi slobodan ID u tabeli osoba, postojala bi mogucnost da dva korisnika
        // unose ocjene za istu osobu (ta bi osoba mogla biti registrovana pod novim IDom ali ne bi imala ocjene,
        // dok bi druga osoba imala pogresne ocjene)
        if ($vrstaunosa != "editovanje") {
            ?>
	</form>
	<p><font color="#FF0000">*</font> - Sva polja označena zvjezdicom su obavezna.<br/>
	<input type="hidden" name="unosocjena" value="1">
	<input type="button" value="Unos ocjena" onclick="provjeri_sve()"></p>
	
	<p>&nbsp;</p>
	<?php 
        } else {
            if ($ciklus_studija == 1) {
                // Ocjene iz srednje škole
                ?>
	<b>Ocjene iz srednje škole:</b><br/>
	
	<?php 
                // AJAH i prateće funkcije
                print ajah_box();
                ?>
	<SCRIPT language="JavaScript">
	// Funkcija koja racuna bodove za opci uspjeh i kljucne predmete
	function izracunaj_bodove() {
		// Opci uspjeh
		var sumaocjena=0, brojocjena=0;
		for (i=1; i<=20; i++) {
			for (j=1; j<=4; j++) {
				var id = <?php 
                echo $osoba;
                ?>
*1000 + j*100 + i;
				var val = document.getElementById('prijemniocjene'+id).value;
				if (val != "/" && val != "") {
					sumaocjena += parseInt(val);
					brojocjena++;
				}
			}
		}
		var prosjeku;
		if (brojocjena>0) prosjeku=Math.round((sumaocjena/brojocjena)*100)/100; 
		else prosjeku=0;
		document.getElementById('opci_uspjeh').value = prosjeku * 4;

		// Kljucni predmeti
		var sumekljucni=new Array(), brojkljucni=new Array(), prosjecikljucni=new Array();
		for (var i=1; i<=3; i++) {
			sumekljucni[i]=0; brojkljucni[i]=0;
			var pocni_od=1;
			if (i==3) pocni_od=3;
			for (var j=pocni_od; j<=4; j++) {
				var id = <?php 
                echo $osoba;
                ?>
*1000 + j*100 + i+90;
				var val = document.getElementById('prijemniocjene'+id).value;
				if (val != "/" && val != "") {
					sumekljucni[i] += parseInt(val);
					brojkljucni[i]++;
				}
			}
			if (brojkljucni[i]>0)
				prosjecikljucni[i] = sumekljucni[i]/brojkljucni[i];
			else prosjecikljucni[i]=0;
		}
		var bodovi_kljucni = (prosjecikljucni[1]+prosjecikljucni[2]+prosjecikljucni[3])/3 * 8;
		bodovi_kljucni = Math.round(bodovi_kljucni*10)/10;
		document.getElementById('kljucni_predmeti').value=bodovi_kljucni;
	}

	function dobio_focus(element) {
		element.style.borderColor='red';
	}

	function izgubio_focus(element) {
		element.style.borderColor='black';

		var vrijednost = element.value;
		var id = parseInt(element.id.substr(14));
		var osoba = Math.floor(id/1000);
		var razred = Math.floor((id-osoba*1000)/100);
		var tipocjene = id-osoba*1000-razred*100;
		var rednibroj = 0;
		if (tipocjene>=90) { tipocjene -= 90; rednibroj=0; }
		else { rednibroj=tipocjene; tipocjene=0; }

		if (vrijednost == "") {
			vrijednost="/";
		}
		if (origval[id]=="") origval[id]="/";
		if (vrijednost != "/" && vrijednost != "0" && (!parseInt(vrijednost) || parseInt(vrijednost)<0 || parseInt(vrijednost)>5)) {
			alert("Neispravna ocjena: "+vrijednost+" !\nOcjena mora biti u opsegu 0-5 ili znak / za poništavanje "+id);
			element.value = origval[id];
			if (origval[id]=="/") element.value="";
			element.focus();
			element.select();
			return false;
		}
		if (zamger_ajah_sending) {
			element.focus();
			element.select();
			return false;
		}
		if (origval[id]=="/" && vrijednost!="/")
			ajah_start("index.php?c=N&sta=common/ajah&akcija=prijemni_ocjene&osoba="+osoba+"&nova="+vrijednost+"&subakcija=dodaj&razred="+razred+"&tipocjene="+tipocjene+"&rednibroj="+rednibroj,"document.getElementById('prijemniocjene'+"+id+").focus()");
		else if (origval[id]!="/" && vrijednost=="/")
			ajah_start("index.php?c=N&sta=common/ajah&akcija=prijemni_ocjene&osoba="+osoba+"&stara="+origval[id]+"&subakcija=obrisi&razred="+razred+"&tipocjene="+tipocjene+"&rednibroj="+rednibroj,"document.getElementById('prijemniocjene'+"+id+").focus()");
		else if (origval[id]!=vrijednost)
			ajah_start("index.php?c=N&sta=common/ajah&akcija=prijemni_ocjene&osoba="+osoba+"&nova="+vrijednost+"&stara="+origval[id]+"&subakcija=izmijeni&razred="+razred+"&tipocjene="+tipocjene+"&rednibroj="+rednibroj,"document.getElementById('prijemniocjene'+"+id+").focus()");

		origval[id]=vrijednost;

		izracunaj_bodove();
	}

	function enterhack2(element,e,gdje) {
		if(e.keyCode==13) {
			element.blur();
			document.getElementById('prijemniocjene'+gdje).focus();
			document.getElementById('prijemniocjene'+gdje).select();
			return false;
		}
	}
	var origval=new Array();
	</SCRIPT>

	<table border="0" cellspacing="0" cellpadding="1">
	<tr><td valign="top">

	<table border="0" cellspacing="0" cellpadding="1">
		<tr><td>&nbsp;</td><td align="center"><b> I </b></td><td align="center"><b> II </b></td><td align="center"><b> III </b></td><td align="center"><b> IV </b></td></tr>
	<?php 
                $q = myquery("SELECT razred, ocjena, tipocjene,redni_broj FROM srednja_ocjene WHERE osoba={$osoba}");
                $razred = array();
                $kljucni = array();
                while ($r = mysql_fetch_row($q)) {
                    if ($r[2] == 0 && $r[3] == 0) {
                        $razred[$r[0]][] = $r[1];
                    } else {
                        if ($r[2] == 0) {
                            $razred[$r[0]][$r[3]] = $r[1];
                        } else {
                            $kljucni[$r[0]][$r[2]] = $r[1];
                        }
                    }
                }
                for ($i = 1; $i <= 20; $i++) {
                    ?>
		<tr><td align="right"><?php 
                    echo $i;
                    ?>
.</td>
		<?php 
                    for ($j = 1; $j <= 4; $j++) {
                        $id = $osoba * 1000 + $j * 100 + $i;
                        if ($i <= 19) {
                            $nextid = $id + 1;
                        } else {
                            if ($j < 4) {
                                $nextid = $osoba * 1000 + ($j + 1) * 100 + $i;
                            } else {
                                $nextid = $osoba * 1000 + 100 + 91;
                            }
                        }
                        if (is_array($razred[$j]) && array_key_exists($i, $razred[$j])) {
                            $vr = $razred[$j][$i];
                        } else {
                            $vr = "";
                        }
                        ?>
			<SCRIPT language="JavaScript"> origval[<?php 
                        echo $id;
                        ?>
]='<?php 
                        echo $vr;
                        ?>
'</SCRIPT>
			<td align="center"><input type="text" id="prijemniocjene<?php 
                        echo $id;
                        ?>
" size="4" value="<?php 
                        echo $vr;
                        ?>
" style="border:1px black solid" onblur="izgubio_focus(this)" onfocus="dobio_focus(this)" onkeydown="return enterhack2(this,event,<?php 
                        echo $nextid;
                        ?>
)"></td>
			<?php 
                    }
                    ?>
</tr><?php 
                }
                ?>
	</table>

	</td><td width="30">&nbsp;</td>
	<td valign="top">

	<table border="0" cellspacing="0" cellpadding="1">
		<tr><td>&nbsp;</td><td align="center"><b> I </b></td><td align="center"><b> II </b></td><td align="center"><b> III </b></td><td align="center"><b> IV </b></td></tr>
		<?php 
                for ($i = 1; $i <= 3; $i++) {
                    if ($i == 1) {
                        print "<tr><td><b>Jezik</b></td>\n";
                    } else {
                        if ($i == 2) {
                            print "<tr><td><b>Matematika</b></td>\n";
                        } else {
                            if ($i == 3) {
                                print "<tr><td><b>Fizika</b></td>\n";
                            }
                        }
                    }
                    $pocni_od = 1;
                    if ($i == 3) {
                        $pocni_od = 3;
                    }
                    for ($j = 1; $j < $pocni_od; $j++) {
                        print "<td>&nbsp;</td>\n";
                    }
                    for ($j = $pocni_od; $j <= 4; $j++) {
                        $id = $osoba * 1000 + $j * 100 + $i + 90;
                        if (is_array($kljucni[$j]) && array_key_exists($i, $kljucni[$j])) {
                            $vr = $kljucni[$j][$i];
                        } else {
                            $vr = "";
                        }
                        if ($j < 4) {
                            $nextid = $osoba * 1000 + ($j + 1) * 100 + $i + 90;
                        } else {
                            if ($i == 1) {
                                $nextid = $osoba * 1000 + 100 + $i + 90 + 1;
                            } else {
                                if ($i == 2) {
                                    $nextid = $osoba * 1000 + 3 * 100 + $i + 90 + 1;
                                } else {
                                    $nextid = 0;
                                }
                            }
                        }
                        ?>
			<SCRIPT language="JavaScript"> origval[<?php 
                        echo $id;
                        ?>
]='<?php 
                        echo $vr;
                        ?>
'</SCRIPT>
			<td align="center"><input type="text" id="prijemniocjene<?php 
                        echo $id;
                        ?>
" size="4" value="<?php 
                        echo $vr;
                        ?>
" style="border:1px black solid" onblur="izgubio_focus(this)" onfocus="dobio_focus(this)" onkeydown="enterhack2(this,event,<?php 
                        echo $nextid;
                        ?>
)"></td>
			<?php 
                    }
                }
                ?>
	</table>

	</td></tr></table>
	<?php 
                ?>

<br /><br />
<!-- Tablica bodova -->

<fieldset style="width:200px" style="background-color:#0099FF">
<legend>Bodovi</legend>
<table align="center" width="600" border="0">
	<tr>
		<td align="left">Opći uspjeh: 
		<input maxlength="10" size="5" name="opci_uspjeh" id="opci_uspjeh" type="text" value="<?php 
                echo $eopci;
                ?>
"><font color="#FF0000">*</font></td>
		<td align="left">Ključni predmeti:
		<input maxlength="10" size="5" name="kljucni_predmeti" id="kljucni_predmeti" type="text" value="<?php 
                echo $ekljucni;
                ?>
"><font color="#FF0000">*</font></td>
		<td align="left">Dodatni bodovi:
		<input maxlength="10" size="5" name="dodatni_bodovi" type="text" value="<?php 
                echo $edodatni;
                ?>
"></td>
	</tr>
</table>
</fieldset>
</form>


<!-- Provjera zajedno sa bodovima -->

<SCRIPT language="JavaScript">
function provjeri_sve_bodovi() {
	var nesto = document.getElementById('opci_uspjeh');
	if (parseInt(nesto.value)==0) {
		alert("Opći uspjeh je nula!");
		nesto.focus();
		return false;
	}
	var nesto = document.getElementById('kljucni_predmeti');
	if (parseInt(nesto.value)==0) {
		alert("Bodovi za ključne predmete su nula!");
		nesto.focus();
		return false;
	}
	return provjeri_sve();
}

</script>


<p><font color="#FF0000">*</font> - Sva polja označena zvjezdicom su obavezna.<br/>
<input type="button" value="Snimi" onclick="provjeri_sve_bodovi()"></p>

<p>&nbsp;</p>


<?php 
            } else {
                // Unos ocjena sa prethodnog ciklusa studija
                ?>
	<b>Ocjene iz prethodnog ciklusa studija:</b><br/><br/>
	 
<table border="0" cellpadding="3" cellspacing="0">
	<tr>
		<td width="250" align="left">Broj semestara na prethodnom ciklusu:</td>
		<td><input maxlength="50" size="5" name="broj_semestara" id="broj_semestara" type="text" class="default" <?php 
                if ($ebrojsem) {
                    ?>
 value="<?php 
                    echo $ebrojsem;
                    ?>
"<?php 
                } else {
                    ?>
 style="background-color:#FFFF00" oninput="odzuti(this)" <?php 
                }
                ?>
 autocomplete="off"><font color="#FF0000">*</font></td>
	</tr>
	<?php 
                // AJAH i prateće funkcije
                print ajah_box();
                ?>
	<SCRIPT language="JavaScript">
	// Funkcija koja racuna bodove za prethodni ciklus studija
	function izracunaj_bodove() {

		// Po konkursu iz 2010. godine, za rangiranje se koristi samo prosjek
		var suma=0, broj=0;
		for (i=1; i<=50; i++) {
			var idoc=2*i-1;
			var idec=2*i;
			var ocjena = document.getElementById('prijemniocjene'+idoc).value;
			var ects = document.getElementById('prijemniocjene'+idec).value;
			if (ocjena != "/" && ocjena != "" && ects != "/" && ects != "") {
				suma += parseInt(ocjena);
				broj++;
			}
		}
		if (broj>0) {
			var rezultat = suma / broj;
			rezultat =  Math.round(rezultat*100) / 10; // Konkurs 2012.
			document.getElementById('opci_uspjeh').value = rezultat;
		} else {
			document.getElementById('opci_uspjeh').value = "0";
		}
	}

	function dobio_focus(element) {
		element.style.borderColor='red';
	}

	function izgubio_focus(element) {
		element.style.borderColor='black';

		var vrijednost = element.value;
		var id = parseInt(element.id.substr(14));
		var rednibroj = Math.ceil(id/2);
		var osoba = <?php 
                echo $osoba;
                ?>
;
		if (vrijednost == "") {
			vrijednost="/";
		}

		if (vrijednost==origval[id]) return true; // ne radi nista ako nije promijenjeno

		// Blokiraj ako je slanje u toku
		if (zamger_ajah_sending) {
			element.focus();
			element.select();
			return false;
		}

		if (id%2==1) { // Ocjena

			// Provjera ispravnosti
			if (vrijednost != "/" && (!parseInt(vrijednost) || parseInt(vrijednost)<6 || parseInt(vrijednost)>10)) {
				alert("Neispravna ocjena: "+vrijednost+" !\nOcjena mora biti u opsegu 6-10 ili znak / za poništavanje "+id);
				element.value = origval[id];
				if (origval[id]=="/") element.value="";
				element.focus();
				element.select();
				return false;
			}
			ajah_start("index.php?c=N&sta=common/ajah&akcija=prosli_ciklus_ocjena&osoba="+osoba+"&nova="+vrijednost+"&rednibroj="+rednibroj,"document.getElementById('prijemniocjene'+"+id+").focus()");

		} else { // ECTS
			if (vrijednost != "/" && (!parseFloat(vrijednost) || parseFloat(vrijednost)<=0 || parseFloat(vrijednost)>20)) {
				alert("Neispravan ECTS: "+vrijednost+" !\nECTS mora biti u opsegu 0-20 ili znak / za poništavanje "+id);
				element.value = origval[id];
				if (origval[id]=="/") element.value="";
				element.focus();
				element.select();
				return false;
			}
			ajah_start("index.php?c=N&sta=common/ajah&akcija=prosli_ciklus_ects&osoba="+osoba+"&nova="+vrijednost+"&rednibroj="+rednibroj,"document.getElementById('prijemniocjene'+"+id+").focus()");
		}

		origval[id]=vrijednost;

		izracunaj_bodove();
	}

	function enterhack2(element,e,gdje) {
		if(e.keyCode==13) {
			element.blur();
			document.getElementById('prijemniocjene'+gdje).focus();
			document.getElementById('prijemniocjene'+gdje).select();
			return false;
		}
	}
	var origval=new Array();
	</SCRIPT>

	<table border="0" cellspacing="0" cellpadding="1">
	<tr><td valign="top">

	<table border="0" cellspacing="0" cellpadding="1">
		<tr><td>Predmet&nbsp;</td><td align="center"><b>Ocjena</b></td><td align="center"><b>ECTS</b></td></td></tr>
	<?php 
                $q = myquery("SELECT ocjena, ects, redni_broj FROM prosliciklus_ocjene WHERE osoba={$osoba}");
                $ocjene = $ects = array();
                while ($r = mysql_fetch_row($q)) {
                    if ($r[2] == 0) {
                        $ocjene[] = $r[0];
                        $ects[] = $r[1];
                    } else {
                        $ocjene[$r[2]] = $r[0];
                        $ects[$r[2]] = $r[1];
                    }
                }
                for ($i = 1; $i <= 25; $i++) {
                    ?>
		<tr><td align="right"><?php 
                    echo $i;
                    ?>
.</td>
		<SCRIPT language="JavaScript"> origval[<?php 
                    echo $i * 2 - 1;
                    ?>
]='<?php 
                    echo $ocjene[$i];
                    ?>
'</SCRIPT>
		<td align="center"><input type="text" id="prijemniocjene<?php 
                    echo $i * 2 - 1;
                    ?>
" size="4" value="<?php 
                    echo $ocjene[$i];
                    ?>
" style="border:1px black solid" onblur="izgubio_focus(this)" onfocus="dobio_focus(this)" onkeydown="return enterhack2(this,event,<?php 
                    echo $i * 2;
                    ?>
)"></td>
		<SCRIPT language="JavaScript"> origval[<?php 
                    echo $i * 2;
                    ?>
]='<?php 
                    echo $ects[$i];
                    ?>
'</SCRIPT>
		<td align="center"><input type="text" id="prijemniocjene<?php 
                    echo $i * 2;
                    ?>
" size="4" value="<?php 
                    echo $ects[$i];
                    ?>
" style="border:1px black solid" onblur="izgubio_focus(this)" onfocus="dobio_focus(this)" onkeydown="return enterhack2(this,event,<?php 
                    echo $i * 2 + 1;
                    ?>
)"></td>
		</tr><?php 
                }
                ?>
	</table>

	</td><td width="30">&nbsp;</td>
	<td valign="top">

	<table border="0" cellspacing="0" cellpadding="1">
		<tr><td>Predmet&nbsp;</td><td align="center"><b>Ocjena</b></td><td align="center"><b>ECTS</b></td></td></tr>
	<?php 
                for ($i = 26; $i <= 50; $i++) {
                    ?>
		<tr><td align="right"><?php 
                    echo $i;
                    ?>
.</td>
		<td align="center"><input type="text" id="prijemniocjene<?php 
                    echo $i * 2 - 1;
                    ?>
" size="4" value="<?php 
                    echo $ocjene[$i];
                    ?>
" style="border:1px black solid" onblur="izgubio_focus(this)" onfocus="dobio_focus(this)" onkeydown="return enterhack2(this,event,<?php 
                    echo $i * 2;
                    ?>
)"></td>
		<td align="center"><input type="text" id="prijemniocjene<?php 
                    echo $i * 2;
                    ?>
" size="4" value="<?php 
                    echo $ects[$i];
                    ?>
" style="border:1px black solid" onblur="izgubio_focus(this)" onfocus="dobio_focus(this)" onkeydown="return enterhack2(this,event,<?php 
                    echo $i * 2 + 1;
                    ?>
)"></td>
		</tr><?php 
                }
                ?>
	</table>

	</td></tr></table>
	<?php 
                ?>

<br /><br />
<!-- Tablica bodova -->

<fieldset style="width:200px" style="background-color:#0099FF">
<legend>Bodovi</legend>
<table align="center" width="600" border="0">
	<tr>
		<td align="left">Prethodni ciklus: 
		<input maxlength="20" size="10" name="opci_uspjeh" id="opci_uspjeh" type="text" value="<?php 
                echo $eopci;
                ?>
"><font color="#FF0000">*</font></td>
		<td align="left">Dodatni bodovi:
		<input maxlength="20" size="10" name="dodatni_bodovi" type="text" value="<?php 
                echo $edodatni;
                ?>
"></td>
	</tr>
</table>
</fieldset>
</form>


<!-- Provjera zajedno sa bodovima -->

<SCRIPT language="JavaScript">
function provjeri_sve_bodovi() {
	var nesto = document.getElementById('opci_uspjeh');
	if (parseInt(nesto.value)==0) {
		alert("Opći uspjeh je nula!");
		nesto.focus();
		return false;
	}
	var nesto = document.getElementById('broj_semestara');
	if (parseInt(nesto.value)==0) {
		alert("Broj semestara je nula!");
		nesto.focus();
		return false;
	}
	return provjeri_sve();
}

</script>


<p><font color="#FF0000">*</font> - Sva polja označena zvjezdicom su obavezna.<br/>
<input type="button" value="Snimi" onclick="provjeri_sve_bodovi()"></p>

<p>&nbsp;</p>


<?php 
            }
        }
        // if ($vrstaunosa) ... else if ... else {
    }
    // ne znam od cega je ovo?
    ?>
</td></tr></table></center>
<?php 
}
Ejemplo n.º 17
0
function nastavnik_obavjestenja()
{
    global $userid, $user_siteadmin, $conf_ldap_domain;
    // Parametri
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // Naziv predmeta
    $q10 = myquery("select naziv from predmet where id={$predmet}");
    if (mysql_num_rows($q10) < 1) {
        biguglyerror("Nepoznat predmet");
        zamgerlog("ilegalan predmet {$predmet}", 3);
        //nivo 3: greska
        zamgerlog2("nepoznat predmet", $predmet);
        return;
    }
    $predmet_naziv = mysql_result($q10, 0, 0);
    // Da li korisnik ima pravo ući u modul?
    if (!$user_siteadmin) {
        $q10 = myquery("select nivo_pristupa from nastavnik_predmet where nastavnik={$userid} and predmet={$predmet} and akademska_godina={$ag}");
        if (mysql_num_rows($q10) < 1 || mysql_result($q10, 0, 0) == "asistent") {
            zamgerlog("nastavnik/ispiti privilegije (predmet pp{$predmet})", 3);
            zamgerlog2("nije nastavnik na predmetu", $predmet, $ag);
            biguglyerror("Nemate pravo pristupa ovoj opciji");
            return;
        }
    }
    ?>

<p>&nbsp;</p>

<p><h3><?php 
    echo $predmet_naziv;
    ?>
 - Obavještenja za studente</h3></p>

<script language="JavaScript">
function upozorenje(obavjest) {
	var a = confirm("Želite li obrisati ovo obavještenje? Ako ste odabrali opciju Slanje maila, ne možete poništiti njen efekat!");
	if (a) {
		document.brisanjeobavjestenja.obavjestenje.value=obavjest;
		document.brisanjeobavjestenja.submit();
	}
}
</script>
<?php 
    echo genform("POST", "brisanjeobavjestenja");
    ?>
<input type="hidden" name="akcija" value="obrisi_obavjestenje">
<input type="hidden" name="obavjestenje" value=""></form>

<?php 
    // LEGENDA tabele poruke
    // Tip:
    //    1 - obavjestenja
    //    2 - lične poruke
    // Opseg:
    //    0 - svi korisnici Zamgera
    //    1 - svi studenti
    //    2 - svi nastavnici
    //    3 - svi studenti na studiju (primalac - id studija)
    //    4 - svi studenti na godini (primalac - id akademske godine)
    //    5 - svi studenti na predmetu (primalac - id predmeta)
    //    6 - korisnik (primalac - user id)
    // Parametri
    $naslov = $tekst = "";
    $citava = intval($_REQUEST['citava']);
    $izmijeni = intval($_REQUEST['izmijeni']);
    // Brisanje obavjestenja
    if ($_POST['akcija'] == "obrisi_obavjestenje" && check_csrf_token()) {
        $obavjestenje = intval($_POST['obavjestenje']);
        // Provjera predmeta
        $q15 = myquery("select primalac, opseg from poruka where id={$obavjestenje}");
        if (mysql_num_rows($q15) < 1) {
            zamgerlog("poruka {$obavjestenje} ne postoji", 3);
            zamgerlog2("nepostojeca poruka", $obavjestenje);
            nicemessage("Pogrešan ID poruke! Poruka nije obrisana");
        } else {
            // Provjeravamo prava za brisanje
            $primalac = mysql_result($q15, 0, 0);
            $opseg = mysql_result($q15, 0, 1);
            if ($opseg == 5 && $primalac != $predmet) {
                zamgerlog("poruka {$obavjestenje} nije za predmet pp{$predmet} nego pp{$primalac}", 3);
                zamgerlog2("primalac poruke ne odgovara predmetu", $obavjestenje, $predmet, $ag);
                nicemessage("Pogrešan ID poruke! Poruka nije obrisana");
                return;
            } else {
                if ($opseg == 6) {
                    $q17 = myquery("select predmet, akademska_godina from labgrupa where id={$primalac}");
                    if (mysql_result($q17, 0, 0) != $predmet || mysql_result($q17, 0, 1) != $ag) {
                        zamgerlog("poruka {$obavjestenje} je za labgrupu {$primalac} koja nije sa pp{$predmet}", 3);
                        zamgerlog2("primalac poruke ne odgovara labgrupi", $obavjestenje, $predmet, $ag);
                        nicemessage("Pogrešan ID poruke! Poruka nije obrisana");
                        return;
                    }
                }
            }
            $q20 = myquery("delete from poruka where id={$obavjestenje}");
            zamgerlog("obrisano obavjestenje (id {$obavjestenje} )", 2);
            zamgerlog2("obrisana poruka", $obavjestenje);
        }
    }
    // Novo obavještenje / izmjena obavještenja
    if ($_POST['akcija'] == 'novo' && check_csrf_token()) {
        $naslov = my_escape($_REQUEST['naslov']);
        $tekst = my_escape($_REQUEST['tekst']);
        $primalac = intval($_REQUEST['primalac']);
        if ($_REQUEST['email']) {
            $email = 1;
        } else {
            $email = 0;
        }
        $io = intval($_REQUEST['izmjena_obavjestenja']);
        if (strlen($naslov) < 5) {
            zamgerlog("tekst vijesti je prekratak ({$naslov})", 3);
            zamgerlog2("tekst poruke je prekratak", 0, 0, 0, $naslov);
            niceerror("Tekst vijesti je prekratak");
        } else {
            if ($io > 0) {
                $q6 = myquery("update poruka set tip=1, opseg=5, primalac={$predmet}, posiljalac={$userid}, ref=0, naslov='{$naslov}', tekst='{$tekst}' where id={$io}");
                zamgerlog("izmjena obavjestenja (id {$io})", 2);
                zamgerlog2("poruka izmijenjena", $io);
            } else {
                if ($primalac > 0) {
                    $q6 = myquery("insert into poruka set tip=1, opseg=6, primalac={$primalac}, posiljalac={$userid}, vrijeme=NOW(), ref=0, naslov='{$naslov}', tekst='{$tekst}'");
                    $io = mysql_insert_id();
                    // Upit za spisak studenata u grupi
                    $upit = "select o.id, o.ime, o.prezime from osoba as o, student_labgrupa as sl where sl.labgrupa={$primalac} and sl.student=o.id";
                } else {
                    $q6 = myquery("insert into poruka set tip=1, opseg=5, primalac={$predmet}, posiljalac={$userid}, vrijeme=NOW(), ref=0, naslov='{$naslov}', tekst='{$tekst}'");
                    $io = mysql_insert_id();
                    // Upit za spisak studenata na predmetu
                    $upit = "select o.id, o.ime, o.prezime from osoba as o, student_predmet as sp, ponudakursa as pk where sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag} and sp.student=o.id";
                }
                // Šaljem mail studentima
                if ($email == 1) {
                    // Podaci za konverziju naših slova
                    $nasaslova = array("č", "ć", "đ", "š", "ž", "Č", "Ć", "Đ", "Š", "Ž");
                    $beznasihslova = array("c", "c", "d", "s", "z", "C", "C", "D", "S", "Z");
                    // Subject email poruke
                    $subject = "OBAVJEŠTENJE: {$predmet_naziv}";
                    if ($primalac > 0) {
                        $q8 = myquery("select naziv from labgrupa where id={$primalac}");
                        $subject .= " (" . mysql_result($q8, 0, 0) . ")";
                    }
                    $subject = iconv("UTF-8", "ISO-8859-2", $subject);
                    // neki mail klijenti ne znaju prikazati utf-8 u subjektu
                    $preferences = array("input-charset" => "ISO-8859-2", "output-charset" => "ISO-8859-2", "line-length" => 76, "line-break-chars" => "\n");
                    $preferences["scheme"] = "Q";
                    // quoted-printable
                    $subject = iconv_mime_encode("", $subject, $preferences);
                    // Vraćamo naslov i tekst obavještenja koji su ranije escapovani
                    // mail() nema poznatih eksploita po tom pitanju
                    $naslov = $_REQUEST['naslov'];
                    $tekst = $_REQUEST['tekst'];
                    $mail_body = "\n=== OBAVJEŠTENJE ZA STUDENTE ===\n\nNastavnik ili saradnik na predmetu {$predmet_naziv} poslao vam je sljedeće obavještenje:\n\n{$naslov}\n\n{$tekst}";
                    // Podaci za from polje
                    $q9 = myquery("select o.ime, o.prezime from osoba as o where o.id={$userid}");
                    $from = mysql_result($q9, 0, 0) . " " . mysql_result($q9, 0, 1);
                    $from = str_replace($nasaslova, $beznasihslova, $from);
                    $q9a = myquery("SELECT adresa FROM email WHERE osoba={$userid} ORDER BY sistemska DESC, id");
                    if (mysql_num_rows($q9a) < 1) {
                        niceerror("Ne možemo poslati mail jer nemate definisanu adresu.");
                        print "Da bi se mail mogao poslati, mora biti definisana odlazna adresa (adresa pošiljaoca). Molimo vas da u vašem <a href=\"?sta=common/profil\">profilu</a> podesite vašu e-mail adresu.";
                        return 0;
                    }
                    $from .= " <" . mysql_result($q9a, 0, 0) . ">";
                    $add_header = "From: {$from}\r\nContent-Type: text/plain; charset=utf-8\r\n";
                    $broj = 0;
                    $q7 = myquery($upit);
                    while ($r7 = mysql_fetch_row($q7)) {
                        $student_id = $r7[0];
                        $student_ime_prezime = str_replace($nasaslova, $beznasihslova, "{$r7['1']} {$r7['2']}");
                        // Određujemo email adrese studenta
                        $q9b = myquery("SELECT adresa FROM email WHERE osoba={$student_id} ORDER BY sistemska DESC, id");
                        $mail_to = "";
                        $mail_cc = "";
                        // Prvu adresu stavljamo u To: a sve ostale u Cc: kako bi mail server otkrio eventualne aliase
                        while ($r9b = mysql_fetch_row($q9b)) {
                            if ($mail_to == "") {
                                $mail_to = $r9b[0];
                            }
                            $mail_cc .= "{$student_ime_prezime} <{$r9b['0']}>; ";
                        }
                        if ($mail_to != "") {
                            // Da li student ima ijednu adresu?
                            mail($mail_to, $subject, $mail_body, "{$add_header}" . "Cc: {$mail_cc}");
                            nicemessage("Mail poslan za {$student_ime_prezime} &lt;{$mail_to}&gt;");
                        }
                    }
                }
                // if ($email==1)...
                zamgerlog("novo obavjestenje (predmet pp{$predmet})", 2);
                zamgerlog2("nova poruka poslana", $io);
            }
            $naslov = $tekst = "";
        }
    }
    // Stara obavjestenja
    // Obavjestenja od proslih akademskih godina nisu relevantna:
    $q5 = myquery("select naziv from akademska_godina where id={$ag}");
    $manjidatum = intval(mysql_result($q5, 0, 0)) . "-09-01";
    $vecidatum = intval(mysql_result($q5, 0, 0) + 1) . "-10-01";
    $q10 = myquery("select distinct p.id, UNIX_TIMESTAMP(p.vrijeme), p.naslov, p.tekst, p.opseg, p.primalac from poruka as p, labgrupa as l where p.tip=1 and (p.opseg=5 and p.primalac={$predmet} and p.vrijeme>'{$manjidatum}' and p.vrijeme<'{$vecidatum}' or p.opseg=6 and p.primalac=l.id and l.predmet={$predmet} and l.akademska_godina={$ag}) order by vrijeme");
    if (mysql_num_rows($q10) > 0) {
        print "<p>Do sada unesena obavještenja:</p>\n<ul>\n";
    } else {
        print "<p>Do sada niste unijeli nijedno obavještenje.</p>";
    }
    while ($r10 = mysql_fetch_row($q10)) {
        if ($obrisi == $r10[0]) {
            $q20 = myquery("delete from poruka where id={$obrisi}");
            zamgerlog("obrisano obavjestenje (id {$obrisi})", 2);
            zamgerlog2("obrisana poruka", $obrisi);
            continue;
        }
        print "<li><b>(" . date("d.m.Y", $r10[1]) . ")</b> " . $r10[2];
        $tekst_poruke = str_replace("\n", "<br/>", $r10[3]);
        if (strlen($tekst_poruke) > 0) {
            if ($citava == $r10[0]) {
                print "<br/><br/>" . $tekst_poruke;
            } else {
                print " (<a href=\"?sta=nastavnik/obavjestenja&predmet={$predmet}&ag={$ag}&citava={$r10['0']}\">Dalje...</a>)";
            }
        }
        if ($izmijeni == $r10[0]) {
            $naslov = $r10[2];
            $tekst = $r10[3];
            if ($r10[4] == 5) {
                $labgrupa = 0;
            } else {
                $labgrupa = $r10[5];
            }
        }
        print "<br/> <a href=\"?sta=nastavnik/obavjestenja&predmet={$predmet}&ag={$ag}&izmijeni={$r10['0']}\">[Izmijeni]</a> <a href=\"javascript:onclick=upozorenje('{$r10['0']}')\">[Obriši]</a></li>\n";
    }
    if (mysql_num_rows($q10) > 0) {
        print "</ul>\n";
    }
    // Formular za novo obavještenje
    ?>
<hr>
<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="akcija" value="novo">
<?php 
    if ($izmijeni > 0) {
        ?>
<input type="hidden" name="izmjena_obavjestenja" value="<?php 
        echo $izmijeni;
        ?>
">
<p><b>Izmjena postojećeg obavještenja</b></p>
<?php 
    } else {
        ?>
<input type="hidden" name="izmjena_obavjestenja" value="0">
<p><b>Unos novog obavještenja</b></p>
<?php 
    }
    ?>
<p>Obavještenje za: <select name="primalac" class="default"><option value="0">Sve studente</option>
<?php 
    $q20 = myquery("select id,naziv from labgrupa where predmet={$predmet} and akademska_godina={$ag} order by naziv");
    while ($r20 = mysql_fetch_row($q20)) {
        if ($r20[0] == $labgrupa) {
            $sel = "SELECTED";
        } else {
            $sel = "";
        }
        ?>
<option value="<?php 
        echo $r20[0];
        ?>
" <?php 
        echo $sel;
        ?>
><?php 
        echo $r20[1];
        ?>
</option>
	<?php 
    }
    ?>
</select>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="checkbox" name="email" value="1"> Slanje e-maila
</p>
<p>Kraći tekst (2-3 rečenice):<br/>
<textarea  rows="5" cols="80" name="naslov"><?php 
    echo $naslov;
    ?>
</textarea>
<br/><br/>
Detaljan tekst (nije obavezan):<br/>
<textarea  rows="20" cols="80" name="tekst"><?php 
    echo $tekst;
    ?>
</textarea>
<br/><br/>
<input type="submit" value=" Pošalji ">  <input type="reset" value=" Poništi ">
</p></form>

<?php 
}
Ejemplo n.º 18
0
function studentska_intro()
{
    global $userid, $user_siteadmin, $user_studentska, $conf_files_path;
    // Provjera privilegija
    if (!$user_studentska && !$user_siteadmin) {
        zamgerlog("nije studentska", 3);
        // 3: error
        biguglyerror("Pristup nije dozvoljen.");
        return;
    }
    // Akcije
    function promjena($nominativ, $u, $iz)
    {
        if ($iz == $u) {
            return;
        }
        if ($iz == "" || $iz == "0" || $iz == "01. 01. 1970." || !preg_match("/\\w/", $iz)) {
            print "<li>Upis novog podatka <b>{$nominativ}</b> (vrijednost: <b>{$u}</b>)</li>\n";
        } else {
            if ($u == "" || $u == "0" || !preg_match("/\\w/", $u)) {
                print "<li>Brisanje podatka <b>{$nominativ}</b> (stara vrijednost: <b>{$iz}</b>)</li>\n";
            } else {
                print "<li>Promjena podatka <b>{$nominativ}</b> iz vrijednosti <b>{$iz}</b> u vrijednost <b>{$u}</b></li>\n";
            }
        }
    }
    if ($_POST['akcija'] == "Prihvati zahtjev" && check_csrf_token()) {
        $id = intval($_REQUEST['id']);
        $osoba = intval($_REQUEST['osoba']);
        $q100 = myquery("select pp.osoba, pp.ime, pp.prezime, pp.brindexa, pp.datum_rodjenja, pp.mjesto_rodjenja, pp.drzavljanstvo, pp.jmbg, pp.adresa, pp.adresa_mjesto, pp.telefon, pp.kanton, pp.imeoca, pp.prezimeoca, pp.imemajke, pp.prezimemajke, pp.spol, pp.nacionalnost, pp.slika, UNIX_TIMESTAMP(pp.vrijeme_zahtjeva), djevojacko_prezime, maternji_jezik, vozacka_dozvola, nacin_stanovanja from promjena_podataka as pp where pp.id={$id} order by pp.vrijeme_zahtjeva");
        while ($r100 = mysql_fetch_row($q100)) {
            // Sve parametre treba ponovo escape-ati
            // Npr: korisnik je ukucao Meho'
            // - prilikom inserta u tabelu promjena podataka ovo se pretvara u Meho\'
            // - u tabeli se ustvari nalazi Meho'
            // - vrijednost varijable $r100[1] je Meho'
            $ime = mysql_real_escape_string($r100[1]);
            $prezime = mysql_real_escape_string($r100[2]);
            $brindexa = mysql_real_escape_string($r100[3]);
            $datum_rodjenja = mysql_real_escape_string($r100[4]);
            // mjesto rodjenja je tipa int
            // drzavljanstvo je tipa int
            $jmbg = mysql_real_escape_string($r100[7]);
            $adresa = mysql_real_escape_string($r100[8]);
            // adresa_mjesto je tipa int
            $telefon = mysql_real_escape_string($r100[10]);
            // kanton je tipa int
            $imeoca = mysql_real_escape_string($r100[12]);
            $prezimeoca = mysql_real_escape_string($r100[13]);
            $imemajke = mysql_real_escape_string($r100[14]);
            $prezimemajke = mysql_real_escape_string($r100[15]);
            // spol je tipa enum
            // nacionalnost je tipa int
            $slikapromjena = $r100[18];
            $djevojacko_prezime = mysql_real_escape_string($r100[20]);
            // maternji_jezik je tipa integer
            // vozacka_dozvola je tipa int
            // nacin_stanovanja je tipa integer
            $q110 = myquery("update osoba set ime='{$ime}', prezime='{$prezime}', brindexa='{$brindexa}', datum_rodjenja='{$datum_rodjenja}', mjesto_rodjenja={$r100['5']}, drzavljanstvo={$r100['6']}, jmbg='{$jmbg}', adresa='{$adresa}', adresa_mjesto={$r100['9']}, telefon='{$telefon}', kanton={$r100['11']}, imeoca='{$imeoca}', prezimeoca='{$prezimeoca}', imemajke='{$imemajke}', prezimemajke='{$prezimemajke}', spol='{$r100['16']}', nacionalnost={$r100['17']}, djevojacko_prezime='{$djevojacko_prezime}', maternji_jezik={$r100['21']}, vozacka_dozvola={$r100['22']}, nacin_stanovanja={$r100['23']} where id={$r100['0']}");
            $vrijeme_zahtjeva = $r100[19];
            // Provjera izmjene slike
            $q115 = myquery("select slika from osoba where id={$r100['0']}");
            $staraslika = mysql_result($q115, 0, 0);
            if ($staraslika != $slikapromjena) {
                $novaslika = $slikapromjena;
                $novaslika = str_replace("-promjena", "", $novaslika);
                $prefiks = "{$conf_files_path}/slike/";
                if (file_exists($prefiks . $staraslika)) {
                    unlink($prefiks . $staraslika);
                }
                if ($slikapromjena != "") {
                    rename($prefiks . $slikapromjena, $prefiks . $novaslika);
                }
                $q117 = myquery("update osoba set slika='{$novaslika}' where id={$r100['0']}");
            }
        }
        $q120 = myquery("delete from promjena_podataka where id={$id}");
        zamgerlog("prihvacen zahtjev za promjenu podataka korisnika u{$osoba}", 4);
        print "Zahtjev je prihvaćen";
        // Poruka korisniku
        $tekst_poruke = "Na dan " . date("d. m. Y.", $vrijeme_zahtjeva) . ", u " . date("H:i:s", $vrijeme_zahtjeva) . " poslali ste zahtjev za promjenu ličnih podataka. Vaš zahtjev je prihvaćen. Klikom na link Profil možete vidjeti vaše nove podatke.";
        if (strlen($_REQUEST['komentar']) > 2) {
            $tekst_poruke .= "\n\nPovodom Vašeg zahtjeva, Studentska služba vam je uputila sljedeći komentar:\n\t" . $_REQUEST['komentar'];
        }
        $q310 = myquery("insert into poruka set tip=2, opseg=7, primalac={$osoba}, posiljalac={$userid}, vrijeme=NOW(), ref=0, naslov='Vaš zahtjev za promjenu podataka je prihvaćen', tekst='{$tekst_poruke}'");
        return;
    }
    if ($_POST['akcija'] == "Odbij zahtjev" && check_csrf_token()) {
        $id = intval($_REQUEST['id']);
        $osoba = intval($_REQUEST['osoba']);
        $q195 = myquery("select UNIX_TIMESTAMP(vrijeme_zahtjeva), slika from promjena_podataka where id={$id}");
        if (mysql_num_rows($q195) < 1) {
            niceerror("Nepostojeci zahtjev sa IDom {$id}.");
            zamgerlog("nepostojeci zahtjev sa IDom {$id}", 3);
            return;
        }
        $vrijeme_zahtjeva = mysql_result($q195, 0, 0);
        $slikapromjena = mysql_result($q195, 0, 1);
        // Treba li obrisati viška sliku?
        $q197 = myquery("select slika from osoba where id={$osoba}");
        if ($slikapromjena != "" && mysql_result($q197, 0, 0) != $slikapromjena) {
            unlink("{$conf_files_path}/slike/{$slikapromjena}");
        }
        $q200 = myquery("delete from promjena_podataka where id={$id}");
        zamgerlog("odbijen zahtjev za promjenu podataka korisnika u{$osoba}", 2);
        print "Zahtjev je odbijen";
        // Poruka korisniku
        $tekst_poruke = "Na dan " . date("d. m. Y.", $vrijeme_zahtjeva) . ", u " . date("H:i:s", $vrijeme_zahtjeva) . " poslali ste zahtjev za promjenu ličnih podataka. Vaš zahtjev je odbijen.";
        if (strlen($_REQUEST['komentar']) > 2) {
            $tekst_poruke .= "\n\nRazlog odbijanja zahtjeva je:\n\t" . $_REQUEST['komentar'];
        }
        $q310 = myquery("insert into poruka set tip=2, opseg=7, primalac={$osoba}, posiljalac={$userid}, vrijeme=NOW(), ref=0, naslov='Vaš zahtjev za promjenu podataka je odbijen!', tekst='{$tekst_poruke}'");
        return;
    }
    if ($_GET['akcija'] == "zahtjev") {
        $id = intval($_REQUEST['id']);
        $q100 = myquery("select pp.osoba, pp.ime, pp.prezime, pp.brindexa, UNIX_TIMESTAMP(pp.datum_rodjenja), pp.mjesto_rodjenja, pp.drzavljanstvo, pp.jmbg, pp.adresa, pp.adresa_mjesto, pp.telefon, pp.kanton, o.ime, o.prezime, o.brindexa, UNIX_TIMESTAMP(o.datum_rodjenja), o.mjesto_rodjenja, o.drzavljanstvo, o.jmbg, o.adresa, o.adresa_mjesto, o.telefon, o.kanton, pp.imeoca, o.imeoca, pp.prezimeoca, o.prezimeoca, pp.imemajke, o.imemajke, pp.prezimemajke, o.prezimemajke, pp.spol, o.spol, pp.nacionalnost, o.nacionalnost, pp.slika, o.slika, pp.djevojacko_prezime, o.djevojacko_prezime, pp.maternji_jezik, o.maternji_jezik, pp.vozacka_dozvola, o.vozacka_dozvola, pp.nacin_stanovanja, o.nacin_stanovanja from promjena_podataka as pp, osoba as o where o.id=pp.osoba and pp.id={$id}");
        if (mysql_num_rows($q100) < 1) {
            niceerror("Nepoznat ID zahtjeva {$id}.");
            zamgerlog("nepoznat id zahtjeva za promjenu podataka {$id}", 3);
            return;
        }
        $osoba = mysql_result($q100, 0, 0);
        ?>
	<p>Korisnik <b><?php 
        echo mysql_result($q100, 0, 12);
        ?>
 <?php 
        echo mysql_result($q100, 0, 13);
        ?>
</b> zatražio je sljedeće izmjene svojih ličnih podataka:
	<ul>
	<?php 
        promjena("ime", mysql_result($q100, 0, 1), mysql_result($q100, 0, 12));
        promjena("prezime", mysql_result($q100, 0, 2), mysql_result($q100, 0, 13));
        promjena("djevojačko prezime", mysql_result($q100, 0, 37), mysql_result($q100, 0, 38));
        promjena("ime oca", mysql_result($q100, 0, 23), mysql_result($q100, 0, 24));
        promjena("prezime oca", mysql_result($q100, 0, 25), mysql_result($q100, 0, 26));
        promjena("ime majke", mysql_result($q100, 0, 27), mysql_result($q100, 0, 28));
        promjena("prezime majke", mysql_result($q100, 0, 29), mysql_result($q100, 0, 30));
        $starispol = mysql_result($q100, 0, 31);
        $novispol = mysql_result($q100, 0, 32);
        if ($starispol != $novispol) {
            if ($starispol == "M") {
                $starispol = "muški";
            }
            if ($starispol == "Z") {
                $starispol = "ženski";
            }
            if ($novispol == "M") {
                $novispol = "muški";
            }
            if ($novispol == "Z") {
                $novispol = "ženski";
            }
            promjena("spol", $starispol, $novispol);
        }
        promjena("broj indexa", mysql_result($q100, 0, 3), mysql_result($q100, 0, 14));
        promjena("datum rođenja", date("d. m. Y.", mysql_result($q100, 0, 4)), date("d. m. Y.", mysql_result($q100, 0, 15)));
        // Mjesto rodjenja
        $staromj = mysql_result($q100, 0, 5);
        $novomj = mysql_result($q100, 0, 16);
        if ($staromj != $novomj) {
            if ($staromj != 0) {
                $q101 = myquery("select naziv from mjesto where id={$staromj}");
                $staromjn = mysql_result($q101, 0, 0);
            }
            if ($novomj != 0) {
                $q102 = myquery("select naziv from mjesto where id={$novomj}");
                $novomjn = mysql_result($q102, 0, 0);
            }
            if ($staromjn == $novomjn) {
                $q101 = myquery("select o.naziv from mjesto as m, opcina as o where m.id={$staromj} and m.opcina=o.id");
                $staromjn .= " (" . mysql_result($q101, 0, 0) . ")";
                $q102 = myquery("select o.naziv from mjesto as m, opcina as o where m.id={$novomj} and m.opcina=o.id");
                $novomjn .= " (" . mysql_result($q102, 0, 0) . ")";
            }
            promjena("mjesto rođenja", $staromjn, $novomjn);
        }
        // Drzavljanstvo
        $starodrz = mysql_result($q100, 0, 6);
        $novodrz = mysql_result($q100, 0, 17);
        if ($starodrz != $novodrz) {
            if ($starodrz != 0) {
                $q101 = myquery("select naziv from drzava where id={$starodrz}");
                $starodrz = mysql_result($q101, 0, 0);
            }
            if ($novodrz != 0) {
                $q102 = myquery("select naziv from drzava where id={$novodrz}");
                $novodrz = mysql_result($q102, 0, 0);
            }
            promjena("državljanstvo", $starodrz, $novodrz);
        }
        // Nacionalnost
        $staronac = mysql_result($q100, 0, 33);
        $novonac = mysql_result($q100, 0, 34);
        if ($staronac != $novonac) {
            if ($staronac != 0) {
                $q101 = myquery("select naziv from nacionalnost where id={$staronac}");
                $staronac = mysql_result($q101, 0, 0);
            }
            if ($novonac != 0) {
                $q102 = myquery("select naziv from nacionalnost where id={$novonac}");
                $novonac = mysql_result($q102, 0, 0);
            }
            promjena("nacionalnost", $staronac, $novonac);
        }
        promjena("JMBG", mysql_result($q100, 0, 7), mysql_result($q100, 0, 18));
        // Adresa
        $staraadr = mysql_result($q100, 0, 8);
        $novaadr = mysql_result($q100, 0, 19);
        $said = mysql_result($q100, 0, 9);
        $naid = mysql_result($q100, 0, 20);
        if ($said != 0) {
            $q103 = myquery("select naziv from mjesto where id={$said}");
            $staraadr .= ", " . mysql_result($q103, 0, 0);
        }
        if ($naid != 0) {
            $q103 = myquery("select naziv from mjesto where id={$naid}");
            $novaadr .= ", " . mysql_result($q103, 0, 0);
        }
        promjena("adresa", $staraadr, $novaadr);
        promjena("telefon", mysql_result($q100, 0, 10), mysql_result($q100, 0, 21));
        $starikanton = mysql_result($q100, 0, 11);
        $novikanton = mysql_result($q100, 0, 22);
        if ($starikanton != $novikanton) {
            if ($starikanton != 0) {
                $q110 = myquery("select naziv from kanton where id={$starikanton}");
                $starikanton = mysql_result($q110, 0, 0);
            }
            if ($novikanton != 0) {
                $q112 = myquery("select naziv from kanton where id={$novikanton}");
                $novikanton = mysql_result($q112, 0, 0);
            }
            promjena("kanton", $starikanton, $novikanton);
        }
        $starimaternji = mysql_result($q100, 0, 39);
        $novimaternji = mysql_result($q100, 0, 40);
        if ($starimaternji != $novimaternji) {
            if ($starimaternji != 0) {
                $q110 = myquery("select naziv from maternji_jezik where id={$starimaternji}");
                $starimaternji = mysql_result($q110, 0, 0);
            }
            if ($novimaternji != 0) {
                $q112 = myquery("select naziv from maternji_jezik where id={$novimaternji}");
                $novimaternji = mysql_result($q112, 0, 0);
            }
            promjena("maternji jezik", $starimaternji, $novimaternji);
        }
        $staravozacka = mysql_result($q100, 0, 41);
        $novavozacka = mysql_result($q100, 0, 42);
        if ($staravozacka != $novavozacka) {
            if ($staravozacka != 0) {
                $q110 = myquery("select naziv from vozacki_kategorija where id={$staravozacka}");
                $staravozacka = mysql_result($q110, 0, 0);
            }
            if ($novavozacka != 0) {
                $q112 = myquery("select naziv from vozacki_kategorija where id={$novavozacka}");
                $novavozacka = mysql_result($q112, 0, 0);
            }
            promjena("vozačka dozvola", $staravozacka, $novimaternji);
        }
        $starinacinst = mysql_result($q100, 0, 43);
        $novinacinst = mysql_result($q100, 0, 44);
        if ($starinacinst != $novinacinst) {
            if ($starinacinst != 0) {
                $q110 = myquery("select naziv from nacin_stanovanja where id={$starinacinst}");
                $starinacinst = mysql_result($q110, 0, 0);
            }
            if ($novinacinst != 0) {
                $q112 = myquery("select naziv from nacin_stanovanja where id={$novinacinst}");
                $novinacinst = mysql_result($q112, 0, 0);
            }
            promjena("način stanovanja", $starinacinst, $novinacinst);
        }
        ?>
	</ul><p>&nbsp;</p>
	<?php 
        $staraslika = mysql_result($q100, 0, 36);
        $novaslika = mysql_result($q100, 0, 35);
        if ($staraslika != $novaslika) {
            if ($staraslika == "") {
                ?>
			<p>Dodavanje slike:<br><img src="?sta=common/slika&osoba=<?php 
                echo $osoba;
                ?>
&promjena=1"></p>
			<?php 
            } else {
                if ($novaslika == "") {
                    ?>
			<p>Brisanje slike (stara slika):<br><img src="?sta=common/slika&osoba=<?php 
                    echo $osoba;
                    ?>
"></p>
			<?php 
                } else {
                    ?>
			<p>Promjena slike</p>
			<table border="0"><tr><td valign="top">Iz:<br><img src="?sta=common/slika&osoba=<?php 
                    echo $osoba;
                    ?>
"></td>
			<td valign="top">U<br><img src="?sta=common/slika&osoba=<?php 
                    echo $osoba;
                    ?>
&promjena=1"></td></tr></table>
			<?php 
                }
            }
            print "<p>&nbsp;</p>\n";
        }
        ?>
	<?php 
        echo genform("POST");
        ?>
	<input type="hidden" name="osoba" value="<?php 
        echo $osoba;
        ?>
">
	<input type="submit" name="akcija" value="Prihvati zahtjev">
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<input type="submit" name="akcija" value="Odbij zahtjev"><br><br>
	Eventualno upišite komentar koji želite poslati studentu:<br>
	<input type="text" size="50" name="komentar">
	</form>
	<?php 
        return;
    }
    // Zahtjevi za dokumenta / potvrde
    if ($_GET['akcija'] == "obradi_potvrdu") {
        $id = intval($_GET['id']);
        $status = intval($_GET['status']);
        $q210 = myquery("UPDATE zahtjev_za_potvrdu SET status={$status} WHERE id={$id}");
        zamgerlog("obradjen zahtjev za potvrdu {$id} (status: {$status})", 2);
        zamgerlog2("obradjen zahtjev za potvrdu", $id, $status);
        nicemessage("Zahtjev obrađen");
        // Poruka korisniku
        $q215 = myquery("SELECT UNIX_TIMESTAMP(datum_zahtjeva), student FROM zahtjev_za_potvrdu WHERE id={$id}");
        $vrijeme_zahtjeva = mysql_result($q215, 0, 0);
        $student = mysql_result($q215, 0, 1);
        $tekst_poruke = "Na dan " . date("d. m. Y.", $vrijeme_zahtjeva) . ", u " . date("H:i:s", $vrijeme_zahtjeva) . " poslali ste zahtjev za ovjereno uvjerenje ili potvrdu o redovnom studiju. Vaše uvjerenje je spremno i možete ga preuzeti u studentskoj službi.";
        $q310 = myquery("insert into poruka set tip=2, opseg=7, primalac={$student}, posiljalac={$userid}, vrijeme=NOW(), ref=0, naslov='Vaša potvrda/uvjerenje je spremno', tekst='{$tekst_poruke}'");
        // Slanje GCM poruke
        require "gcm/push_message.php";
        push_message(array($student), "Potvrde", "Vaša potvrda/uvjerenje je spremno");
        $_GET['akcija'] = "potvrda";
    }
    if ($_GET['akcija'] == "obrisi_potvrdu") {
        $id = intval($_GET['id']);
        $q210 = myquery("DELETE FROM zahtjev_za_potvrdu WHERE id={$id}");
        zamgerlog("obrisan zahtjev za potvrdu {$id}", 2);
        zamgerlog2("obrisan zahtjev za potvrdu", $id, $status);
        nicemessage("Zahtjev obrisan");
        $_GET['akcija'] = "potvrda";
    }
    if ($_GET['akcija'] == "potvrda") {
        if ($_REQUEST['sort'] == "prezime") {
            $order_by = "ORDER BY o.prezime, o.ime";
            $link1 = "prezime_desc";
            $link2 = "brindexa";
            $link3 = "datum";
        } else {
            if ($_REQUEST['sort'] == "prezime_desc") {
                $order_by = "ORDER BY o.prezime DESC, o.ime DESC";
                $link1 = "prezime";
                $link2 = "brindexa";
                $link3 = "datum";
            } else {
                if ($_REQUEST['sort'] == "datum") {
                    $order_by = "ORDER BY zzp.datum_zahtjeva";
                    $link1 = "prezime";
                    $link2 = "brindexa";
                    $link3 = "datum_desc";
                } else {
                    if ($_REQUEST['sort'] == "datum_desc") {
                        $order_by = "ORDER BY zzp.datum_zahtjeva DESC";
                        $link1 = "prezime";
                        $link2 = "brindexa";
                        $link3 = "datum";
                    } else {
                        if ($_REQUEST['sort'] == "brindexa") {
                            $order_by = "ORDER BY o.brindexa";
                            $link1 = "prezime";
                            $link2 = "brindexa_desc";
                            $link3 = "datum";
                        } else {
                            if ($_REQUEST['sort'] == "brindexa_desc") {
                                $order_by = "ORDER BY o.brindexa DESC";
                                $link1 = "prezime";
                                $link2 = "brindexa";
                                $link3 = "datum";
                            } else {
                                // Default
                                $order_by = "ORDER BY zzp.datum_zahtjeva";
                                $link1 = "prezime";
                                $link2 = "brindexa";
                                $link3 = "datum_desc";
                            }
                        }
                    }
                }
            }
        }
        ?>
	<p><b>Neobrađeni zahtjevi</b></p>
	<table border="1" cellspacing="0" cellpadding="2">
		<tr>
			<th>R.br.</th><th><a href="?sta=studentska/intro&akcija=potvrda&sort=<?php 
        echo $link1;
        ?>
">Prezime i ime studenta</a></th><th><a href="?sta=studentska/intro&akcija=potvrda&sort=<?php 
        echo $link2;
        ?>
">Broj indeksa</a></th><th>Tip zahtjeva</th><th><a href="?sta=studentska/intro&akcija=potvrda&sort=<?php 
        echo $link3;
        ?>
">Datum</a></th><th>Opcije</th>
		</tr>
	<?php 
        $q200 = myquery("SELECT zzp.id, o.ime, o.prezime, tp.id, tp.naziv, UNIX_TIMESTAMP(zzp.datum_zahtjeva), o.id, zzp.svrha_potvrde, o.brindexa FROM zahtjev_za_potvrdu as zzp, osoba as o, tip_potvrde as tp WHERE zzp.student=o.id AND zzp.tip_potvrde=tp.id AND zzp.status=1 {$order_by}");
        $rbr = 1;
        while ($r200 = mysql_fetch_row($q200)) {
            if ($r200[3] == 1) {
                $link_printanje = "?sta=izvjestaj/potvrda&student={$r200['6']}&svrha={$r200['7']}";
            } else {
                $link_printanje = "?sta=izvjestaj/index2&student={$r200['6']}";
            }
            print "<tr><td>{$rbr}</td><td>{$r200['2']} {$r200['1']}</td><td>{$r200['8']}</td><td>{$r200['4']}</td><td>" . date("d.m.Y. H:i:s", $r200[5]) . "</td><td><a href=\"{$link_printanje}\">printaj</a> * <a href=\"?sta=studentska/intro&akcija=obradi_potvrdu&id={$r200['0']}&status=2\">obradi</a>";
            // Dodatne kontrole
            $error = 0;
            $q210 = myquery("SELECT count(*) FROM student_studij AS ss, akademska_godina AS ag WHERE ss.student={$r200['6']} AND ss.akademska_godina=ag.id AND ag.aktuelna=1");
            if (mysql_result($q210, 0, 0) == 0) {
                print " - <font color=\"red\">trenutno nije upisan na studij!</font>";
                $error = 1;
            }
            $q220 = myquery("SELECT mjesto_rodjenja, datum_rodjenja, jmbg FROM osoba WHERE id={$r200['6']}");
            if (mysql_result($q220, 0, 0) == 0) {
                print " - <font color=\"red\">nedostaje mjesto rođenja</font>";
                $error = 1;
            }
            if (mysql_result($q220, 0, 1) == '0000-00-00') {
                print " - <font color=\"red\">nedostaje datum rođenja</font>";
                $error = 1;
            }
            if (mysql_result($q220, 0, 2) == "") {
                print " - <font color=\"red\">nedostaje JMBG</font>";
                $error = 1;
            }
            if ($error == 1) {
                print " <a href=\"?sta=studentska/osobe&akcija=edit&osoba={$r200['6']}\">popravi</a>";
            }
            print "</td></tr>\n";
            $rbr++;
        }
        ?>
	</table>
	<p><b>Obrađeni zahtjevi</b></p>
	<?php 
        if ($_REQUEST['subakcija'] == "arhiva") {
            ?>
		<p><a href="?sta=studentska/intro&akcija=potvrda">Sakrij zahtjeve starije od mjesec dana</a></p>
		<?php 
        } else {
            ?>
		<p><a href="?sta=studentska/intro&akcija=potvrda&subakcija=arhiva">Prikaži zahtjeve starije od mjesec dana</a></p>
		<?php 
        }
        ?>
	<table border="1" cellspacing="0" cellpadding="2">
		<tr>
			<th>R.br.</th><th><a href="?sta=studentska/intro&akcija=potvrda&sort=<?php 
        echo $link1;
        ?>
">Prezime i ime studenta</a></th><th><a href="?sta=studentska/intro&akcija=potvrda&sort=<?php 
        echo $link2;
        ?>
">Broj indeksa</a></th><th>Tip zahtjeva</th><th><a href="?sta=studentska/intro&akcija=potvrda&sort=<?php 
        echo $link3;
        ?>
">Datum</a></th><th>Opcije</th>
		</tr>
	<?php 
        if ($_REQUEST['subakcija'] == "arhiva") {
            $arhiva = "";
        } else {
            $arhiva = "AND zzp.datum_zahtjeva > DATE_SUB(NOW(), INTERVAL 1 MONTH)";
        }
        $q200 = myquery("SELECT zzp.id, o.ime, o.prezime, tp.id, tp.naziv, UNIX_TIMESTAMP(zzp.datum_zahtjeva), o.id, zzp.svrha_potvrde, o.brindexa FROM zahtjev_za_potvrdu as zzp, osoba as o, tip_potvrde as tp WHERE zzp.student=o.id AND zzp.tip_potvrde=tp.id AND zzp.status=2 {$arhiva} {$order_by}");
        $rbr = 1;
        while ($r200 = mysql_fetch_row($q200)) {
            if ($r200[3] == 1) {
                $link_printanje = "?sta=izvjestaj/potvrda&student={$r200['6']}&svrha={$r200['7']}";
            } else {
                $link_printanje = "?sta=izvjestaj/index2&student={$r200['6']}";
            }
            print "<tr><td>{$rbr}</td><td>{$r200['2']} {$r200['1']}</td><td>{$r200['8']}</td><td>{$r200['4']}</td><td>" . date("d.m.Y. H:i:s", $r200[5]) . "</td><td><a href=\"{$link_printanje}\">printaj</a> * <a href=\"?sta=studentska/intro&akcija=obradi_potvrdu&id={$r200['0']}&status=1\">postavi kao neobrađen</a> * <a href=\"?sta=studentska/intro&akcija=obrisi_potvrdu&id={$r200['0']}\">obriši</a></td></tr>\n";
            $rbr++;
        }
        print "</table>\n";
        return;
    }
    // -----------------------------------------
    //
    // POCETNA STRANICA
    //
    // -----------------------------------------
    // Dobrodošlica
    $q1 = myquery("select ime, spol from osoba where id={$userid}");
    $ime = mysql_result($q1, 0, 0);
    $spol = mysql_result($q1, 0, 1);
    if ($spol == 'Z' || $spol == '' && spol($ime) == "Z") {
        print "<h1>Dobro došla, " . vokativ($ime, "Z") . "</h1>";
    } else {
        print "<h1>Dobro došao, " . vokativ($ime, "M") . "</h1>";
    }
    // Zahtjevi za promjenu ličnih podataka
    $q10 = myquery("select pp.id, pp.osoba, UNIX_TIMESTAMP(pp.vrijeme_zahtjeva), o.ime, o.prezime from promjena_podataka as pp, osoba as o where o.id=pp.osoba order by pp.vrijeme_zahtjeva");
    if (mysql_num_rows($q10) < 1) {
        ?>
<p>Nema novih zahtjeva za promjenu ličnih podataka.</p>
<?php 
    } else {
        ?>
<p><b>Zahtjevi za promjenu ličnih podataka:</b>
<ul>
<?php 
    }
    while ($r10 = mysql_fetch_row($q10)) {
        ?>
	<li><a href="?sta=studentska/intro&akcija=zahtjev&id=<?php 
        echo $r10[0];
        ?>
"><?php 
        echo $r10[3];
        ?>
 <?php 
        echo $r10[4];
        ?>
</a> (<?php 
        echo date("d. m. Y. H:i", $r10[2]);
        ?>
)</li>
	<?php 
    }
    if (mysql_num_rows($q10) > 0) {
        ?>
</ul>
Kliknite na zahtjev da biste ga prihvatili ili odbili.
</p>

<?php 
    }
    // Zathjevi za dokumenta
    $q40 = myquery("SELECT count(*) FROM zahtjev_za_potvrdu WHERE status=1");
    $br_zahtjeva = mysql_result($q40, 0, 0);
    if ($br_zahtjeva > 0) {
        print "<p><a href=\"?sta=studentska/intro&akcija=potvrda\">Imate {$br_zahtjeva} neobrađenih zahtjeva za dokumenta.</a></p>";
    } else {
        print "<p>Nema neobrađenih zahtjeva za dokumenta.</p>";
    }
}
Ejemplo n.º 19
0
function db_submit()
{
    global $__lv_cn, $__lv_ct, $__lv_cs, $__lv_showcreate;
    global $__lv_submitted;
    // Prevent executing twice
    if ($__lv_submitted == 1) {
        return;
    }
    $__lv_submitted = 1;
    // Check if submitted data is ok (we only use POST)
    $action = $_POST['_lv_action'];
    $table = my_escape($_POST['_lv_table']);
    if (!$table) {
        return;
    }
    if ($action != "add" && $action != "edit" && $action != "delete") {
        return;
    }
    // This enables us to have custom names for buttons
    if ($_POST['_lv_action_delete']) {
        $action = "delete";
    }
    // Get list of table columns
    __lv_parsetable($table);
    // Construct SQL query (later we will decide between insert and update)
    $sql = "";
    for ($i = 0; $i < count($__lv_cn); $i++) {
        $name = $__lv_cn[$i];
        $type = $__lv_ct[$i];
        $data = $_POST["_lv_column_" . $name];
        // FIXME: do not submit empty values
        //if ($_POST['_lv_where_'.$name]) continue;
        if ($type == "timestamp" && $data == "") {
            continue;
            // Do not resubmit timestamps, since they have to be updated
        }
        if ($sql != "") {
            $sql .= ", ";
        }
        // Dates parsing... we are splitting dates into separate fields
        if ($type == "date") {
            $d = $_POST["_lv_column_" . $name . "_day"];
            $m = $_POST["_lv_column_" . $name . "_month"];
            $y = $_POST["_lv_column_" . $name . "_year"];
            $sql .= "{$name}='" . time2mysql(mktime(0, 0, 0, $m, $d, $y)) . "'";
        } else {
            if ($type == "datetime") {
                $d = $_POST["_lv_column_" . $name . "_day"];
                $m = $_POST["_lv_column_" . $name . "_month"];
                $y = $_POST["_lv_column_" . $name . "_year"];
                $h = $_POST["_lv_column_" . $name . "_hour"];
                $mi = $_POST["_lv_column_" . $name . "_minute"];
                $se = $_POST["_lv_column_" . $name . "_second"];
                $sql .= "{$name}='" . time2mysql(mktime($h, $mi, $se, $m, $d, $y)) . "'";
            } else {
                if ($data == "on" && $type == "tinyint") {
                    $sql .= "{$name}=1";
                } else {
                    if ($type == "tinyint" || $type == "int" || $type == "smallint" || $type == "mediumint" || $type == "bigint") {
                        $sql .= "{$name}=" . intval($data);
                    } else {
                        if ($type == "float" || $type == "double" || $type == "decimal") {
                            $sql .= "{$name}=" . floatval(str_replace(",", ".", $data));
                        } else {
                            $sql .= "{$name}='" . my_escape($data) . "'";
                        }
                    }
                }
            }
        }
    }
    // Insert or update?
    if ($action == "add") {
        $sql = "insert into {$table} set {$sql}";
    } else {
        // Generate query
        if ($action == "delete") {
            $sql = "delete from {$table} where ";
        } else {
            $sql = "update {$table} set {$sql} where ";
        }
        $n = 0;
        foreach ($_POST as $key => $value) {
            if (substr($key, 0, 10) == "_lv_where_") {
                if ($n > 0) {
                    $sql .= "and ";
                }
                $sql .= my_escape(substr($key, 10)) . "='" . my_escape($value) . "'";
                $n++;
            }
        }
        if ($n == 0) {
            niceerror("Ne mogu izvršiti upit jer nema nijedne WHERE vrijednosti...");
            return;
        }
    }
    //print "submit SQL: $sql<br/>";
    // Do the update
    myquery($sql);
}
Ejemplo n.º 20
0
function izvjestaj_index2()
{
    global $userid, $user_studentska, $user_siteadmin;
    // Ulazni parametri
    $student = intval($_REQUEST['student']);
    $param_ciklus = intval($_REQUEST['ciklus']);
    // Prava pristupa
    if (!$user_studentska && !$user_siteadmin && $userid != $student) {
        biguglyerror("Nemate pravo pristupa ovom izvještaju");
        zamgerlog("nije studentska, a pristupa tudjem izvjestaju ({$student})", 3);
        zamgerlog2("nije studentska, a pristupa tudjem izvjestaju", $student);
        return;
    }
    // Deklaracije nizova
    $imena_semestara = array("", "prvi", "drugi", "treći", "četvrti", "peti", "šesti");
    $rimski_brojevi = array("", "I", "II", "III", "IV", "V", "VI");
    $imena_ocjena = array("", "", "", "", "", "5 (pet)", "6 (šest)", "7 (sedam)", "8 (osam)", "9 (devet)", "10 (deset)", "ispunio/la obaveze");
    $ects_ocjene = array("", "", "", "", "", "F", "E", "D", "C", "B", "A", "IO");
    // Podaci o studentu
    $q100 = myquery("select ime, prezime, brindexa, jmbg, spol from osoba where id={$student}");
    if (!($r100 = mysql_fetch_row($q100))) {
        biguglyerror("Student se ne nalazi u bazi podataka.");
        zamgerlog("nepoznat ID {$student}", 3);
        // 3 = greska
        zamgerlog2("nepoznat id korisnika", $student);
        // 3 = greska
        return;
    }
    $ime_prezime = "{$r100['0']} {$r100['1']}";
    $brindexa = $r100[2];
    $jmbg = $r100[3];
    if ($param_ciklus != 0) {
        $upit_dodaj = " AND ts.ciklus={$param_ciklus}";
    }
    $q110 = myquery("SELECT s.naziv, ag.naziv, ss.semestar, ns.naziv, ss.ponovac, s.id, ts.ciklus, s.institucija, ts.trajanje, ts.ects \nFROM student_studij as ss, studij as s, nacin_studiranja as ns, akademska_godina as ag, tipstudija as ts \nWHERE ss.student={$student} and ss.studij=s.id and ss.akademska_godina=ag.id and ss.nacin_studiranja=ns.id and s.tipstudija=ts.id {$upit_dodaj}\nORDER BY ag.id desc, ss.semestar DESC LIMIT 1");
    if (!($r110 = mysql_fetch_row($q110))) {
        niceerror("Nemamo podataka o studiju za studenta " . $r100[0] . " " . $r100[1]);
        zamgerlog("student u{$student} nikada nije studirao", 3);
        zamgerlog2("korisnik nikada nije studirao", $student);
        return;
    }
    $naziv_studija = $r110[0];
    $naziv_ag = $r110[1];
    $trenutno_semestar = $r110[2];
    $nacin_studiranja = $r110[3];
    $ponovac = $r110[4];
    $studij_ciklus = $r110[6];
    $studij_trajanje = $r110[8];
    $studij_ects = $r110[9];
    if ($ponovac == 1) {
        $q120 = myquery("select count(*) from student_studij where student={$student} and studij={$r110['5']} and semestar={$r110['2']}");
        $koji_put = mysql_result($q120, 0, 0);
    } else {
        $koji_put = "1";
    }
    // Kod izvještaja za sve cikluse sumiramo ECTS bodove na svim studijima koje je student slušao
    if ($studij_ciklus == 2 && $param_ciklus == 0) {
        $q115 = myquery("select ts.ects from student_studij as ss, studij as s, tipstudija as ts where ss.student={$student} and ss.studij=s.id and s.tipstudija=ts.id and ts.ciklus=1 and ss.semestar=ts.trajanje order by ss.akademska_godina desc limit 1");
        if (mysql_num_rows($q115) > 0) {
            $studij_ects += mysql_result($q115, 0, 0);
        }
    }
    ?>
<img src="images/content/ETF-memorandum.png">
<p>&nbsp;</p>
<p>Na osnovu člana 169. Zakona o upravnom postupku FBiH (Službene novine FBiH, broj 2/98, 48/99), člana 147. (4) Zakona o visokom 
obrazovanju Kantona Sarajevo (Službene novine Kantona Sarajevo, broj 22/10, 15/13) i člana 198. stav (1) Statuta 
Univerziteta u Sarajevu, Elektrotehnički fakultet u Sarajevu izdaje</p>

<h2>Uvjerenje o prepisu ocjena</h2>
<p>&nbsp;<br />
<table border="0">
<tr>
	<td>Ime i prezime studenta:</td>
	<td><b><?php 
    echo $ime_prezime;
    ?>
</b></td>
</tr>
<tr>
	<td>Broj dosijea:</td>
	<td><b><?php 
    echo $brindexa;
    ?>
</b></td>
</tr>
<tr>
	<td>JMBG:</td>
	<td><b><?php 
    echo $jmbg;
    ?>
</b></td>
</tr>
</table>

<?php 
    $spol = $r100[4];
    if ($spol == "") {
        $spol = spol($r100[0]);
    }
    // Da li je student završio/la studij?
    $q88 = myquery("SELECT COUNT(*), SUM(p.ects) \nFROM konacna_ocjena as ko, ponudakursa as pk, predmet as p, student_predmet as sp, studij as s, tipstudija as ts\nWHERE ko.student={$student} and ko.predmet=p.id and ko.predmet=pk.predmet and ko.akademska_godina=pk.akademska_godina and pk.id=sp.predmet \nand sp.student={$student} and pk.studij=s.id and s.tipstudija=ts.id and ko.ocjena>5 {$upit_dodaj}");
    $broj_polozenih_predmeta = mysql_result($q88, 0, 0);
    $suma_ects = mysql_result($q88, 0, 1);
    // Određujemo na osnovu sume ECTS kredita
    if ($suma_ects >= $studij_ects && $trenutno_semestar == $studij_trajanje) {
        $q89 = myquery("SELECT UNIX_TIMESTAMP(ko.datum_u_indeksu) \n\tFROM konacna_ocjena as ko, predmet as p, ponudakursa as pk, student_predmet as sp, studij as s, tipstudija as ts, akademska_godina_predmet as agp\n\tWHERE ko.student={$student} and ko.predmet=p.id and ko.predmet=pk.predmet and ko.akademska_godina=pk.akademska_godina and pk.id=sp.predmet and sp.student={$student} and pk.studij=s.id and s.tipstudija=ts.id and agp.predmet=p.id and agp.akademska_godina=pk.akademska_godina and agp.tippredmeta=1000 {$upit_dodaj}\n\tORDER BY ko.datum_u_indeksu desc");
        // 1000 = tip predmeta "Završni rad"
        if (mysql_num_rows($q89) == 0) {
            niceerror("Greška! Ne može se generisati izvještaj.");
            print "Student je završio studij jer trenutno nije upisan, ima sve potrebne ECTS kredite, ali nije unesena ocjena za Završni rad tako da se ne može odrediti datum diplomiranja. Nešto nije u redu sa podacima vezanim za ovog studenta (suma ECTS kredita ne bi trebala biti ispravna) STUDIJ: {$studij_ects} SUMA {$suma_ects}.";
            return;
        }
        $datum_diplomiranja = date("d. m. Y.", mysql_result($q89, 0, 0));
        if ($spol == "Z") {
            ?>
		<p>Studentica <?php 
            echo $ime_prezime;
            ?>
 je završila <?php 
            echo $studij_ciklus;
            ?>
. ciklus studija dana <?php 
            echo $datum_diplomiranja;
            ?>
 kao <?php 
            echo $nacin_studiranja;
            ?>
 student, studij "<?php 
            echo $naziv_studija;
            ?>
" , pri čemu je položila sljedeće predmete:</p>
		<?php 
        } else {
            ?>
		<p>Student <?php 
            echo $ime_prezime;
            ?>
 je završio <?php 
            echo $studij_ciklus;
            ?>
. ciklus studija dana <?php 
            echo $datum_diplomiranja;
            ?>
 kao <?php 
            echo $nacin_studiranja;
            ?>
 student, studij "<?php 
            echo $naziv_studija;
            ?>
", pri čemu je položio sljedeće predmete:</p>
		<?php 
        }
    } else {
        if ($spol == "Z") {
            ?>
		<p>Studentica <?php 
            echo $ime_prezime;
            ?>
 je upisana u akademskoj <?php 
            echo $naziv_ag;
            ?>
. godini u <?php 
            echo $rimski_brojevi[$trenutno_semestar];
            ?>
 (<?php 
            echo $imena_semestara[$trenutno_semestar];
            ?>
) semestar <?php 
            echo $koji_put;
            ?>
. put kao <?php 
            echo $nacin_studiranja;
            ?>
 student, studij "<?php 
            echo $naziv_studija;
            ?>
" (<?php 
            echo $studij_ciklus;
            ?>
. ciklus), pri čemu je položila sljedeće predmete:</p>
		<?php 
        } else {
            ?>
		<p>Student <?php 
            echo $ime_prezime;
            ?>
 je upisan u akademskoj <?php 
            echo $naziv_ag;
            ?>
. godini u <?php 
            echo $rimski_brojevi[$trenutno_semestar];
            ?>
 (<?php 
            echo $imena_semestara[$trenutno_semestar];
            ?>
) semestar <?php 
            echo $koji_put;
            ?>
. put kao <?php 
            echo $nacin_studiranja;
            ?>
 student, studij "<?php 
            echo $naziv_studija;
            ?>
" (<?php 
            echo $studij_ciklus;
            ?>
. ciklus), pri čemu je položio sljedeće predmete:</p>
		<?php 
        }
    }
    $sumagodine = $brojgodine = $sumauk = $brojuk = $sumaects = 0;
    // Ocjene po odluci:
    $q105 = myquery("select ko.ocjena, p.naziv, UNIX_TIMESTAMP(o.datum), o.broj_protokola, p.ects from konacna_ocjena as ko, odluka as o, predmet as p where ko.odluka=o.id and ko.predmet=p.id and ko.student={$student}");
    if (mysql_num_rows($q105) > 0) {
        ?>
	<p><b>Ocjene donesene odlukom (nostrifikacija, promjena studija itd.):</b><br/><ul>
	<?php 
    }
    while ($r105 = mysql_fetch_row($q105)) {
        print "<li><b>{$r105['1']}</b> - ocjena: " . $imena_ocjena[$r105[0]] . "<br/>(odluka br. {$r105['3']} od " . date("d. m. Y.", $r105[2]) . ")</li>\n";
        $sumauk += $r105[0];
        $brojuk++;
        $sumaects += $r105[4];
    }
    if (mysql_num_rows($q105) > 0) {
        print "</ul></p><p>&nbsp;</p>\n";
    }
    // Ocjene priznavanje
    if ($param_ciklus != 0) {
        $dod_priznavanje = " and ciklus={$param_ciklus}";
    } else {
        $dod_priznavanje = "";
    }
    $q125 = myquery("select naziv_predmeta, sifra_predmeta, ects, ocjena, odluka, akademska_godina, strana_institucija from priznavanje where student={$student} {$dod_priznavanje} order by odluka, akademska_godina, naziv_predmeta");
    if (mysql_num_rows($q125) > 0) {
        ?>
	<p><b>Priznavanje ocjena ostvarenih na drugoj instituciji po osnovu mobilnosti studenata:</b></p>
	<table width="700" border="1" cellspacing="0" cellpadding="3"><tr bgcolor="#AAAAAA">
		<td width="20"><b>R.br.</b></td>
		<td width="60"><b>Šifra</b></td>
		<td width="280"><b>Naziv predmeta</b></td>
		<td width="30"><b>ECTS bodovi</b></td>
		<td width="60"><b>Konačna ocjena</b></td>
		<td width="40"><b>ECTS ocjena</b></td>
	</tr>
	<?php 
    }
    $i = 1;
    $stara_odluka = $stara_ag = $stara_inst = 0;
    while ($r125 = mysql_fetch_row($q125)) {
        if ($r125[4] != $stara_odluka || $r125[5] != $stara_ag || $r125[6] != $stara_inst) {
            $stara_odluka = $r125[4];
            $stara_ag = $r125[5];
            $stara_inst = $r125[6];
            $q115 = myquery("select UNIX_TIMESTAMP(datum), broj_protokola from odluka where id={$stara_odluka}");
            if (mysql_num_rows($q115) > 0) {
                $odluka_ispis = " (odluka br. " . mysql_result($q115, 0, 1) . " od " . date("d. m. Y.", mysql_result($q115, 0, 0)) . ")";
            }
            $q127 = myquery("SELECT naziv FROM akademska_godina WHERE id={$stara_ag}");
            ?>
		<tr bgcolor="#CCCCCC">
			<td colspan="6"><b><?php 
            echo $stara_inst;
            ?>
, akademska <?php 
            echo mysql_result($q127, 0, 0);
            ?>
. godina <?php 
            echo $odluka_ispis;
            ?>
:</b></td>
		</tr>
		<?php 
        }
        ?>
	<tr>
		<td><?php 
        echo $i++;
        ?>
</td><td><?php 
        echo $r125[1];
        ?>
</td><td><?php 
        echo $r125[0];
        ?>
</td>
		<td><?php 
        echo $r125[2];
        ?>
</td>
		<td><?php 
        echo $imena_ocjena[$r125[3]];
        ?>
</td>
		<td align="center"><?php 
        echo $ects_ocjene[$r125[3]];
        ?>
</td>
	</tr>
	<?php 
        $sumauk += $r125[3];
        $brojuk++;
        $sumaects += $r125[2];
    }
    if (mysql_num_rows($q125) > 0) {
        print "</table><p>&nbsp;</p><p><b>Ocjene ostvarene na matičnoj instituciji:</b></p>\n";
    }
    ?>

<table width="700" border="1" cellspacing="0" cellpadding="3"><tr bgcolor="#AAAAAA">
	<td width="20"><b>R.br.</b></td>
	<td width="60"><b>Šifra</b></td>
	<td width="280"><b>Naziv predmeta</b></td>
	<td width="30"><b>ECTS bodovi</b></td>
	<td width="60"><b>Konačna ocjena</b></td>
	<td width="40"><b>ECTS ocjena</b></td>
	<td width="80"><b>Datum polaganja</b></td>
</tr>
<?php 
    function nuliraj($broj)
    {
        if ($broj == round($broj)) {
            $broj .= ",0";
        } else {
            $broj = str_replace(".", ",", $broj);
        }
        return $broj;
    }
    $upisanagodina = round($r110[2] / 2);
    $oldgodina = 0;
    $i = 1;
    $q130 = myquery("SELECT p.sifra, p.naziv, p.ects, ko.ocjena, UNIX_TIMESTAMP(ko.datum_u_indeksu), UNIX_TIMESTAMP(ko.datum), pk.semestar, ts.ciklus\nFROM konacna_ocjena as ko, ponudakursa as pk, predmet as p, student_predmet as sp, studij as s, tipstudija as ts\nWHERE ko.student={$student} and ko.predmet=p.id and ko.predmet=pk.predmet and ko.akademska_godina=pk.akademska_godina and pk.id=sp.predmet \nand sp.student={$student} and pk.studij=s.id and s.tipstudija=ts.id and ko.ocjena>5 {$upit_dodaj}\nORDER BY ts.ciklus, pk.semestar, p.naziv");
    while ($r130 = mysql_fetch_row($q130)) {
        $godina = round($r130[6] / 2);
        if ($oldgodina != $godina) {
            // Koliziju preskačemo
            if ($godina > $upisanagodina && $r130[7] == $r110[6]) {
                break;
            }
            if ($oldgodina != 0 && $brojgodine != 0) {
                ?>
			<tr bgcolor="#DDDDDD">
			<td colspan="7"><b>Prosjek godine: <?php 
                echo nuliraj(round($sumagodine / $brojgodine, 2));
                ?>
</b></td>
			</tr>
			<?php 
                $sumagodine = $brojgodine = 0;
            }
            ?>
		<tr bgcolor="#CCCCCC">
		<td colspan="7"><b><?php 
            echo $godina;
            ?>
. GODINA <?php 
            echo $r130[7];
            ?>
. CIKLUSA STUDIJA</b></td>
		</tr>
		<?php 
            $oldgodina = $godina;
        }
        $datum = $r130[4];
        if ($datum == 0) {
            $datum = $r130[5];
        }
        ?>
	<tr>
		<td><?php 
        echo $i++;
        ?>
.</td>
		<td><?php 
        echo $r130[0];
        ?>
</td>
		<td><?php 
        echo $r130[1];
        ?>
</td>
		<td align="center"><?php 
        echo nuliraj($r130[2]);
        ?>
</td>
		<td align="center"><?php 
        echo $imena_ocjena[$r130[3]];
        ?>
</td>
		<td align="center"><?php 
        echo $ects_ocjene[$r130[3]];
        ?>
</td>
		<td align="center"><?php 
        echo date("d. m. Y", $datum);
        ?>
</td>
	</tr>
	<?php 
        $sumagodine += $r130[3];
        $sumauk += $r130[3];
        $brojgodine++;
        $brojuk++;
        $sumaects += $r130[2];
    }
    if ($oldgodina != 0 && $brojgodine != 0) {
        ?>
	<tr bgcolor="#DDDDDD">
	<td colspan="7"><b>Prosjek godine: <?php 
        echo nuliraj(round($sumagodine / $brojgodine, 2));
        ?>
</b></td>
	</tr>
	<?php 
    }
    if ($brojuk == 0) {
        $prosjek = 0;
    } else {
        $prosjek = $sumauk / $brojuk;
    }
    ?>
</table>

<p>&nbsp;</p>

<table border="1" cellspacing="0" cellpadding="3">
<tr>
	<td>Ukupan broj položenih predmeta:</td>
	<td><b><?php 
    echo $brojuk;
    ?>
</b></td>
</tr>
<tr>
	<td>Prosječna ocjena položenih predmeta:</td>
	<td><b><?php 
    echo nuliraj(round($prosjek, 2));
    ?>
</b></td>
</tr>
<tr>
	<td>Ukupan broj ECTS bodova:</td>
	<td><b><?php 
    echo nuliraj($sumaects);
    ?>
</b></td>
</tr>
</table>

<?php 
    // Određivanje dekana i broja protokola
    $institucija = $r110[7];
    do {
        $q140 = myquery("select tipinstitucije, roditelj, dekan, broj_protokola from institucija where id={$institucija}");
        if (!($r140 = mysql_fetch_row($q140))) {
            return;
        }
        if ($r140[0] == 1 && $r140[2] != 0) {
            $dekan = $r140[2];
            if ($r140[3] !== "") {
                $dodaj_broj_protokola = "<p>Broj protokola: {$r140['3']}</p>";
            } else {
                $dodaj_broj_protokola = "";
            }
            break;
        }
        $institucija = $r140[1];
    } while (true);
    ?>

<p>&nbsp;</p>

<p>Sarajevo, <?php 
    echo date("d. m. Y.");
    ?>
 godine</p>

<?php 
    echo $dodaj_broj_protokola;
    ?>

<table border="0" width="100%">
<tr>
	<td width="60%">&nbsp;</td>
	<td width="40%" align="center"><p>DEKAN<br /><br /><br /><?php 
    echo tituliraj($dekan);
    ?>
</p></td>
</tr>
</table>

<?php 
    // Označi izvještaj kao obrađen - FIXME: ovo treba biti event na klik u studentska/intro
    if ($user_studentska) {
        $q200 = myquery("SELECT id, status FROM zahtjev_za_potvrdu WHERE student={$student} AND svrha_potvrde=1");
        while ($r200 = mysql_fetch_row($q200)) {
            if ($r200[1] == 1) {
                $q210 = myquery("UPDATE zahtjev_za_potvrdu SET status=2 WHERE id={$r200['0']}");
            }
        }
    }
}
Ejemplo n.º 21
0
function studentska_predmeti()
{
    global $userid, $user_siteadmin, $user_studentska;
    global $_lv_;
    // Potrebno za genform() iz libvedran
    require "lib/manip.php";
    // radi ispisa studenata sa predmeta
    // Provjera privilegija
    if (!$user_studentska && !$user_siteadmin) {
        zamgerlog("nije studentska", 3);
        // 3: error
        zamgerlog2("nije studentska");
        biguglyerror("Pristup nije dozvoljen.");
        return;
    }
    ?>
<center>
<table border="0"><tr><td>

<?php 
    $akcija = $_REQUEST['akcija'];
    // AKCIJA: Ogranicenje nastavnika na odredjene grupe
    if ($akcija == "ogranicenja") {
        $nastavnik = intval($_REQUEST['nastavnik']);
        $predmet = intval($_REQUEST['predmet']);
        $ag = intval($_REQUEST['ag']);
        // akademska godina
        // Imena stvari
        $q370 = myquery("select ime,prezime from osoba where id={$nastavnik}");
        if (mysql_num_rows($q370) < 1) {
            zamgerlog("nepoznat nastavnik u{$nastavnik}", 3);
            zamgerlog2("nepoznat nastavnik", $nastavnik);
            niceerror("Nepoznat nastavnik");
            return;
        }
        $ime = mysql_result($q370, 0, 0);
        $prezime = mysql_result($q370, 0, 1);
        $q371 = myquery("select naziv from predmet where id={$predmet}");
        if (mysql_num_rows($q371) < 1) {
            zamgerlog("nepoznat predmet pp{$predmet}", 3);
            zamgerlog2("nepoznat predmet", $predmet);
            niceerror("Nepoznat predmet");
            return;
        }
        $naziv_predmeta = mysql_result($q371, 0, 0);
        ?>
<ul><p>
	<b>Ograničenja za nastavnika <?php 
        echo $ime . " " . $prezime;
        ?>
 na predmetu <?php 
        echo $naziv_predmeta;
        ?>
</b></p><?php 
        // Subakcija
        if ($_POST['subakcija'] == "izmjena" && check_csrf_token()) {
            // Provjera podataka...
            $q374 = myquery("select id from labgrupa where predmet={$predmet} and akademska_godina={$ag}");
            $izabrane = 0;
            $grupe = 0;
            $upitdodaj = $upitbrisi = $upitbrisisve = "";
            while ($r374 = mysql_fetch_row($q374)) {
                $labgrupa = $r374[0];
                if ($_REQUEST['lg' . $labgrupa]) {
                    $izabrane++;
                    if ($upitdodaj) {
                        $upitdodaj .= ",";
                    }
                    $upitdodaj .= "({$nastavnik},{$labgrupa})";
                } else {
                    if ($upitbrisi) {
                        $upitbrisi .= " OR ";
                    }
                    $upitbrisi .= "(nastavnik={$nastavnik} AND labgrupa={$labgrupa})";
                }
                if ($upitbrisisve) {
                    $upitbrisisve .= " OR ";
                }
                $upitbrisisve .= "(nastavnik={$nastavnik} AND labgrupa={$labgrupa})";
                $grupe++;
            }
            if ($upitdodaj == "") {
                zamgerlog("pokusao ograniciti sve grupe nastavniku u{$nastavnik}, predmet pp{$predmet}, ag{$ag}", 3);
                zamgerlog2("pokusao ograniciti sve grupe nastavniku", $nastavnik, $predmet, $ag);
                niceerror("Nastavnik mora imati pristup barem jednoj grupi");
                print "<br/>Ako ne želite da ima pristup, odjavite ga/je sa predmeta.";
            } else {
                if ($grupe == $izabrane) {
                    // Sve izabrano
                    $q375 = myquery("delete from ogranicenje where {$upitbrisisve}");
                } else {
                    $q376 = myquery("delete from ogranicenje where {$upitbrisisve}");
                    $q377 = myquery("insert into ogranicenje values {$upitdodaj}");
                }
                nicemessage("Postavljena nova ograničenja.");
                zamgerlog("izmijenjena ogranicenja nastavniku u{$nastavnik}, predmet pp{$predmet}, ag{$ag}", 4);
                zamgerlog2("izmijenjena ogranicenja nastavniku", $nastavnik, $predmet, $ag);
            }
        }
        // Skripta za (de)selektovanje svih checkboxa
        ?>
	<script language="JavaScript">
	function checkall(val) {
		var z;
		for(z=0; z<document.ogranicenjaform.length; z++)
			if (document.ogranicenjaform[z].type=='checkbox')
				document.ogranicenjaform[z].checked=val;
	}
	</script>
	<?php 
        ?>
	<?php 
        echo genform("POST", "ogranicenjaform");
        ?>
	<input type="hidden" name="subakcija" value="izmjena">
	<p>
	<?php 
        $nema_ogranicenja = 0;
        $q372 = myquery("select count(*) from ogranicenje as o, labgrupa as l where o.nastavnik={$nastavnik} and o.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag}");
        if (mysql_result($q372, 0, 0) < 1) {
            $nema_ogranicenja = 1;
        }
        $q373 = myquery("select id,naziv from labgrupa where predmet={$predmet} and akademska_godina={$ag}");
        while ($r373 = mysql_fetch_row($q373)) {
            $dodaj = "CHECKED";
            if ($nema_ogranicenja == 0) {
                $q374 = myquery("select count(*) from ogranicenje where labgrupa={$r373['0']} and nastavnik={$nastavnik}");
                if (mysql_result($q374, 0, 0) == 0) {
                    $dodaj = "";
                }
            }
            ?>
<input type="checkbox" name="lg<?php 
            echo $r373[0];
            ?>
" <?php 
            echo $dodaj;
            ?>
> <?php 
            echo $r373[1];
            ?>
<br/><?php 
        }
        ?>
<br/><input type="submit" value=" Izmijeni "> &nbsp; <input type="button" value=" Označi sve " onclick="javascript:checkall(true);"> &nbsp; <input type="button" value=" Poništi sve " onclick="javascript:checkall(false);">
	&nbsp; <input type="button" value=" Nazad " onclick="location.href='?sta=studentska/predmeti&akcija=edit&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
';"></form><?php 
    } else {
        if ($_POST['akcija'] == "novi" && check_csrf_token()) {
            // Naziv predmeta
            $naziv = substr(my_escape($_POST['naziv']), 0, 100);
            if (!preg_match("/\\w/", $naziv)) {
                zamgerlog("naziv nije ispravan ({$naziv})", 3);
                zamgerlog2("naziv nije ispravan", 0, 0, 0, $naziv);
                niceerror("Naziv nije ispravan");
                return;
            }
            // Dodajemo ga u aktuelnu akademsku godinu
            $q200 = myquery("select id from akademska_godina where aktuelna=1");
            if (mysql_num_rows($q200) < 1) {
                $q200 = myquery("select id from akademska_godina order by id desc");
            }
            if (mysql_num_rows($q200) < 1) {
                niceerror("Nije definisana nijedna akademska godina. Molimo kontaktirajte administratora sajta.");
                zamgerlog("ne postoji nijedna akademska godina", 3);
                zamgerlog2("ne postoji nijedna akademska godina");
                return;
            }
            $ak_god = mysql_result($q200, 0, 0);
            // Da li već postoji?
            $q210 = myquery("select id from predmet where naziv='{$naziv}'");
            if (mysql_num_rows($q210) > 0) {
                $predmet = mysql_result($q210, 0, 0);
                // Da li se drži u tekućoj akademskoj godini?
                $q220 = myquery("select count(*) from ponudakursa where predmet={$predmet} and akademska_godina={$ak_god}");
                if (mysql_result($q220, 0, 0) > 0) {
                    zamgerlog("predmet vec postoji u ovoj ak.god (pp{$predmet})", 3);
                    zamgerlog2("predmet vec postoji u ovoj ak.god", $predmet, $ag, 0, $naziv);
                    niceerror("Predmet već postoji");
                    ?>
<a href="?sta=studentska/predmeti&akcija=edit&predmet=<?php 
                    echo $predmet;
                    ?>
&ag=<?php 
                    echo $ak_god;
                    ?>
">Editovanje predmeta &quot;<?php 
                    echo $naziv;
                    ?>
&quot;</a><?php 
                    return;
                } else {
                    // Određujemo najnoviji plan studija
                    $q225 = myquery("select godina_vazenja from plan_studija where predmet={$predmet} order by godina_vazenja desc limit 1");
                    if (mysql_num_rows($q225) > 0) {
                        // Biramo ponude kursa iz najnovijeg plana studija
                        $q230 = myquery("select studij, semestar, obavezan from plan_studija where predmet={$predmet} and godina_vazenja=" . mysql_result($q225, 0, 0));
                    } else {
                        // Ne postoji plan studija
                        // Kopiramo ponude kursa iz prošle godine u ovu
                        $q230 = myquery("select studij, semestar, obavezan from ponudakursa where predmet={$predmet} and akademska_godina=" . ($ak_god - 1));
                    }
                    if (mysql_num_rows($q230) < 1) {
                        zamgerlog("predmet vec postoji, ali nije se drzao (pp{$predmet})", 3);
                        zamgerlog2("predmet vec postoji, ali nije se drzao", $predmet);
                        niceerror("Predmet već postoji, ali nije se držao ni ove ni prošle akademske godine.");
                        ?>
<p>Takođe nije definisan ni plan studija. Iz ovih razloga ne možemo automatski kreirati ponude kursa. Koristite editovanje da biste ručno dodali ponude kursa.</p><br/><a href="?sta=studentska/predmeti&akcija=edit&predmet=<?php 
                        echo $predmet;
                        ?>
&ag=<?php 
                        echo $ak_god;
                        ?>
">Editovanje predmeta &quot;<?php 
                        echo $naziv;
                        ?>
&quot;</a><?php 
                        return;
                    }
                    while ($r230 = mysql_fetch_row($q230)) {
                        $q240 = myquery("insert into ponudakursa set predmet={$predmet}, studij={$r230['0']}, semestar={$r230['1']}, obavezan={$r230['2']}, akademska_godina={$ak_god}");
                        $pk = mysql_insert_id();
                        // Ispis i logging
                        $q231 = myquery("select naziv from studij where id={$r230['0']}");
                        $ispis = "Kreiram ponudu kursa za predmet {$naziv} (studij " . mysql_result($q231, 0, 0) . ", semestar {$r230['1']}";
                        if ($r230[2] != 1) {
                            $ispis .= ", izborni";
                        }
                        $ispis .= ")";
                        nicemessage($ispis);
                        zamgerlog("kreirana ponudakursa za pp{$predmet}");
                        zamgerlog2("kreirana ponudakursa", $pk);
                    }
                    // Kreiram virtualnu labgrupu "Svi studenti"
                    $q250 = myquery("insert into labgrupa set naziv='(Svi studenti)', predmet={$predmet}, akademska_godina={$ak_god}, virtualna=1");
                    ?>
<a href="?sta=studentska/predmeti&akcija=edit&predmet=<?php 
                    echo $predmet;
                    ?>
&ag=<?php 
                    echo $ak_god;
                    ?>
">Editovanje predmeta &quot;<?php 
                    echo $naziv;
                    ?>
&quot;</a><?php 
                    return;
                }
            }
            // Kreiranje potpuno novog predmeta
            // Određujemo kratki naziv
            $dijelovi = explode(" ", $naziv);
            $kratki_naziv = "";
            foreach ($dijelovi as $dio) {
                $kratki_naziv .= strtoupper(substr($dio, 0, 1));
            }
            // Polje institucija u tabeli predmet mora biti definisano!
            // Korisnik ga može promijeniti kasnije
            $q260 = myquery("select id from institucija order by id limit 1");
            $institucija = mysql_result($q260, 0, 0);
            // Dodajem predmet u bazu
            $q270 = myquery("insert into predmet set naziv='{$naziv}', kratki_naziv='{$kratki_naziv}', institucija={$institucija}");
            // Koji id predmeta smo dobili?
            $q280 = myquery("select id from predmet where naziv='{$naziv}'");
            $predmet = mysql_result($q280, 0, 0);
            // Potrebno je definisati zapis u tabeli akademska_godina_predmet. Biramo
            // default tip predmeta (ETF Bologna standard) a korisnik ga može promijeniti kasnije
            $q285 = myquery("select id from tippredmeta order by id limit 1");
            $tippredmeta = mysql_result($q285, 0, 0);
            $q287 = myquery("insert into akademska_godina_predmet set akademska_godina={$ak_god}, predmet={$predmet}, tippredmeta={$tippredmeta}");
            // Kreiramo virtualnu labgrupu "Svi studenti"
            $q290 = myquery("insert into labgrupa set naziv='(Svi studenti)', predmet={$predmet}, akademska_godina={$ak_god}, virtualna=1");
            // Logging
            zamgerlog("potpuno novi predmet pp{$predmet}, akademska godina ag{$ak_god}", 4);
            zamgerlog2("kreiran novi predmet", $predmet, $ak_god);
            ?>
	<p>Kreiran novi predmet pod nazivom <?php 
            echo $naziv;
            ?>
 sa uobičajenim parametrima. Koristite polja za izmjenu da ih podesite.</p>
	<p>Obavezno definišite barem jednu ponudu kursa, u suprotnom studenti neće moći biti upisani na predmet.</p>
	<a href="?sta=studentska/predmeti&akcija=edit&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ak_god;
            ?>
">Editovanje predmeta &quot;<?php 
            echo $naziv;
            ?>
&quot;</a>
	<?php 
        } else {
            if ($akcija == "realedit") {
                $predmet = intval($_REQUEST['predmet']);
                $ag = intval($_REQUEST['ag']);
                // akademska godina
                print "<h1>Izmjena podataka o predmetu</h1>";
                if ($_REQUEST['_lv_action'] == "edit") {
                    nicemessage("Podaci o predmetu izmijenjeni");
                    zamgerlog("izmijenjeni podaci o predmetu pp{$predmet}", 4);
                    zamgerlog2("izmijenjeni podaci o predmetu", $predmet);
                }
                $_lv_['where:id'] = $predmet;
                $_lv_['forceedit'] = 1;
                print db_form("predmet");
                ?>
	<p><a href="?sta=studentska/predmeti&akcija=edit&predmet=<?php 
                echo $predmet;
                ?>
&ag=<?php 
                echo $ag;
                ?>
">Nazad</a></p>
	<?php 
            } else {
                if ($akcija == "dodaj_pk") {
                    $predmet = intval($_REQUEST['predmet']);
                    $ag = intval($_REQUEST['ag']);
                    // akademska godina
                    if ($_REQUEST['subakcija'] == "potvrda" && check_csrf_token()) {
                        $studij = intval($_REQUEST['_lv_column_studij']);
                        $semestar = intval($_REQUEST['semestar']);
                        if ($_REQUEST['obavezan']) {
                            $obavezan = true;
                        } else {
                            $obavezan = false;
                        }
                        kreiraj_ponudu_kursa($predmet, $studij, $semestar, $ag, $obavezan, $ispis = 0);
                        nicemessage("Ponuda kursa uspješno kreirana");
                    }
                    $q400 = myquery("select naziv from predmet where id={$predmet}");
                    $q410 = myquery("select naziv from akademska_godina where id={$ag}");
                    print "<h3>Nova ponuda kursa za predmet " . mysql_result($q400, 0, 0) . ",<br/> akademska godina " . mysql_result($q410, 0, 0) . "</h3>";
                    unset($_REQUEST['obavezan']);
                    print genform("POST");
                    ?>
	<input type="hidden" name="subakcija" value="potvrda">
	Studij: <?php 
                    echo db_dropdown("studij");
                    ?>
<br><br>
	Semestar: <input type="text" name="semestar" size="5"><br><br>
	<input type="checkbox" name="obavezan"> Obavezan<br><br>
	<input type="submit" value=" Pošalji "> <input type="reset" value=" Poništi "></form>

	<p><a href="?sta=studentska/predmeti&akcija=edit&predmet=<?php 
                    echo $predmet;
                    ?>
&ag=<?php 
                    echo $ag;
                    ?>
">Nazad</a></p>
	<?php 
                } else {
                    if ($akcija == "edit") {
                        $predmet = intval($_REQUEST['predmet']);
                        $ag = intval($_REQUEST['ag']);
                        // akademska godina
                        if ($ag == 0) {
                            // Izaberi aktuelnu akademsku godinu
                            $q358 = myquery("select id from akademska_godina where aktuelna=1 limit 1");
                            $ag = mysql_result($q358, 0, 0);
                        }
                        $old_search = $_REQUEST['search'];
                        // Za link ispod
                        print "<a href=\"?sta=studentska/predmeti&ag={$ag}&search={$old_search}&offset=" . intval($_REQUEST['offset']) . "\">Nazad na rezultate pretrage</a><br/><br/>";
                        // Izvjestaji
                        ?>
	<center>
	<table width="700" border="0" cellspacing="0" cellpadding="0"><tr><td width="100" valign="top">
		<table width="100%" border="1" cellspacing="0" cellpadding="0">
			<tr><td bgcolor="#777777" align="center">
				<font color="white"><b>IZVJEŠTAJI:</b></font>
			</td></tr>
			<tr><td align="center"><a href="?sta=izvjestaj/grupe&predmet=<?php 
                        echo $predmet;
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
">
			<img src="images/32x32/izvjestaj.png" border="0"><br/>Spisak grupa</a></td></tr>
			<tr><td align="center"><a href="?sta=izvjestaj/predmet&predmet=<?php 
                        echo $predmet;
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
&skrati=da">
			<img src="images/32x32/izvjestaj.png" border="0"><br/>Puni izvještaj</a></td></tr><?php 
                        $q359 = myquery("select i.id,UNIX_TIMESTAMP(i.datum), k.gui_naziv from ispit as i, komponenta as k where i.predmet={$predmet} and i.akademska_godina={$ag} and i.komponenta=k.id order by i.datum,i.komponenta");
                        if (mysql_num_rows($q359) > 0) {
                            ?>
<tr><td align="center"><a href="?sta=izvjestaj/statistika_predmeta&predmet=<?php 
                            echo $predmet;
                            ?>
&ag=<?php 
                            echo $ag;
                            ?>
">
				<img src="images/32x32/izvjestaj.png" border="0"><br/>Statistika predmeta</a></td></tr><?php 
                        }
                        ?>
			<tr><td align="center"><a href="?sta=studentska/prijave&predmet=<?php 
                        echo $predmet;
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
">
			<img src="images/32x32/izvjestaj.png" border="0"><br/>Štampanje prijava</a></td></tr>
			<tr><td align="center"><a href="?sta=nastavnik/ispiti&predmet=<?php 
                        echo $predmet;
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
">
			<img src="images/32x32/izvjestaj.png" border="0"><br/>Ispiti i prijave</a></td></tr>
			<tr><td align="center"><a href="?sta=nastavnik/unos_ocjene&predmet=<?php 
                        echo $predmet;
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
">
			<img src="images/32x32/izvjestaj.png" border="0"><br/>Unos ocjena</a></td></tr>


			<tr><td align="left">Ispiti:<br/><?php 
                        while ($r359 = mysql_fetch_row($q359)) {
                            $ispit = $r359[0];
                            $datum = date("d. m. Y.", $r359[1]);
                            $nazivispita = $r359[2];
                            ?>
				* <a href="?sta=izvjestaj/ispit&ispit=<?php 
                            echo $ispit;
                            ?>
"><?php 
                            echo $nazivispita;
                            ?>
<br/>
				(<?php 
                            echo $datum;
                            ?>
)</a><br/>
				<?php 
                        }
                        ?>
</td></tr>
		</table>
	</td><td width="10" valign="top">&nbsp;
	</td><td width="590" valign="top">
	<?php 
                        // Submit akcije
                        // Angazman nastavnika na predmetu
                        if ($_POST['subakcija'] == "dodaj_nastavnika" && check_csrf_token()) {
                            $nastavnik = intval($_POST['nastavnik']);
                            if ($nastavnik > 0) {
                                $q360 = myquery("select count(*) from nastavnik_predmet where nastavnik={$nastavnik} and predmet={$predmet} and akademska_godina={$ag}");
                                if (mysql_result($q360, 0, 0) < 1) {
                                    $q361 = myquery("insert into nastavnik_predmet set nastavnik={$nastavnik}, predmet={$predmet}, akademska_godina={$ag}");
                                }
                                nicemessage("Nastavniku dato pravo pristupa predmetu");
                                zamgerlog("nastavnik u{$nastavnik} dodan na predmet pp{$predmet}", 4);
                                zamgerlog2("nastavniku data prava na predmetu", $nastavnik, $predmet, $ag);
                            }
                        } else {
                            if ($_POST['subakcija'] == "postavi_nivo_pristupa" && check_csrf_token()) {
                                $nastavnik = intval($_POST['nastavnik']);
                                $nivo_pristupa = $_POST['nivo_pristupa'];
                                if ($nivo_pristupa != 'nastavnik' && $nivo_pristupa != 'super_asistent' && $nivo_pristupa != 'asistent') {
                                    niceerror("Nepoznat nivo pristupa");
                                    zamgerlog("nepoznat nivo pristupa " . my_escape($nivo_pristupa), 3);
                                    zamgerlog2("nepoznat nivo pristupa", 0, 0, 0, $nivo_pristupa);
                                    return;
                                }
                                $q362a = myquery("update nastavnik_predmet set nivo_pristupa='{$nivo_pristupa}' where nastavnik={$nastavnik} and predmet={$predmet} and akademska_godina={$ag}");
                                nicemessage("Promijenjeni nivoi pristupa korisnika na predmetu");
                                zamgerlog("nastavnik u{$nastavnik} dat nivo '{$nivo_pristupa}' na predmetu pp{$predmet}", 4);
                                zamgerlog2("nastavniku data prava na predmetu", $nastavnik, $predmet, $ag, $nivo_pristupa);
                            } else {
                                if ($_POST['subakcija'] == "izbaci_nastavnika" && check_csrf_token()) {
                                    $nastavnik = intval($_POST['nastavnik']);
                                    $q363 = myquery("delete from nastavnik_predmet where nastavnik={$nastavnik} and predmet={$predmet} and akademska_godina={$ag}");
                                    nicemessage("Nastavnik više nema pravo pristupa predmetu");
                                    zamgerlog("nastavnik u{$nastavnik} izbacen sa predmeta pp{$predmet}", 4);
                                    zamgerlog2("nastavniku oduzeta prava na predmetu", $nastavnik, $predmet, $ag);
                                } else {
                                    if ($_POST['subakcija'] == "obrisi_pk" && check_csrf_token()) {
                                        $ponudakursa = intval($_POST['pk']);
                                        // Ispisujemo studente sa predmeta radi ispravnog brisanja podataka
                                        $q364 = myquery("select sp.student, pk.predmet, pk.akademska_godina, o.ime, o.prezime, p.naziv from student_predmet as sp, ponudakursa as pk, osoba as o, predmet as p where pk.id={$ponudakursa} and sp.predmet=pk.id and sp.student=o.id and pk.predmet=p.id");
                                        while ($r364 = mysql_fetch_row($q364)) {
                                            $predmet = $r364[1];
                                            $ag = $r364[2];
                                            // za kasnije...
                                            nicemessage("Ispisujem studenta {$r364['3']} {$r364['4']} sa predmeta {$r365}");
                                            // Ova funkcija briše ispite, zadaće, prisustvo i konačnu ocjenu te ispisuje studenta iz labgrupe
                                            ispis_studenta_sa_predmeta($r364[0], $r364[1], $r364[2]);
                                        }
                                        // Brišemo ponudu kursa
                                        $q365 = myquery("delete from ponudakursa where id={$ponudakursa}");
                                        nicemessage("Ponuda kursa je obrisana");
                                        zamgerlog("obrisana ponudakursa {$ponudakursa} (predmet pp{$predmet}, godina ag{$ag})", 4);
                                        zamgerlog2("obrisana ponudakursa", $ponudakursa);
                                    } else {
                                        if ($_GET['subakcija'] == "deangazuj") {
                                            $osoba = intval($_GET['osoba']);
                                            $q367 = myquery("delete from angazman where osoba={$osoba} and predmet={$predmet} and akademska_godina={$ag}");
                                            nicemessage("Nastavnik više nije angažovan na predmetu");
                                            zamgerlog("osoba u{$osoba} deangazovana sa predmeta pp{$predmet}, godina {$ag}", 4);
                                            zamgerlog2("nastavnik deangazovan sa predmeta", $osoba, $predmet, $ag);
                                        }
                                    }
                                }
                            }
                        }
                        // Osnovni podaci o predmetu
                        $q350 = myquery("SELECT p.id, p.sifra, p.naziv, p.kratki_naziv, p.institucija, agp.tippredmeta, p.ects, p.sati_predavanja, p.sati_vjezbi, p.sati_tutorijala \n\tFROM predmet as p, akademska_godina_predmet as agp \n\tWHERE p.id={$predmet} AND agp.akademska_godina={$ag} AND p.id=agp.predmet");
                        if (!($r350 = mysql_fetch_row($q350))) {
                            $q351 = myquery("SELECT COUNT(*) FROM predmet WHERE id={$predmet}");
                            if (mysql_result($q351, 0, 0) > 0) {
                                zamgerlog("nedostaje slog u tabeli akademska_godina_predmet {$predmet} {$ag}", 3);
                                zamgerlog2("nedostaje slog u tabeli akademska_godina_predmet", $predmet, $ag);
                                niceerror("Nepostojeći predmet (nedostaje agp)!");
                            } else {
                                zamgerlog("nepostojeci predmet {$predmet}", 3);
                                zamgerlog2("nepostojeci predmet", $predmet);
                                niceerror("Nepostojeći predmet!");
                            }
                            return;
                        }
                        // Oznacicemo neispravne podatke
                        $greska = 0;
                        $naziv = $r350[2];
                        if (!preg_match("/\\w/", $naziv)) {
                            $naziv = "<font color=\"red\">Bez naziva!</font>";
                            $greska = 1;
                        }
                        $sifra = $r350[1];
                        if ($sifra == "") {
                            $sifra = "<font color=\"red\">(?)</font>";
                            $greska = 1;
                        }
                        $kratkinaziv = $r350[3];
                        if ($kratkinaziv == "") {
                            $kratkinaziv = "<font color=\"red\">(?)</font>";
                            $greska = 1;
                        }
                        $ects = floatval($r350[6]);
                        if ($ects == 0) {
                            $ects = "<font color=\"red\">(?)</font>";
                            $greska = 1;
                        }
                        // Zašto ne bi bilo nula sati?
                        $sati_predavanja = floatval($r350[7]);
                        // if ($sati_predavanja==0) { $sati_predavanja="<font color=\"red\">(?)</font>"; $greska=1; }
                        $sati_vjezbi = floatval($r350[8]);
                        // if ($sati_vjezbi==0) { $sati_vjezbi="<font color=\"red\">(?)</font>"; $greska=1; }
                        $sati_tutorijala = floatval($r350[9]);
                        // if ($sati_tutorijala==0) { $sati_tutorijala="<font color=\"red\">(?)</font>"; $greska=1; }*/
                        // Institucija
                        $q352 = myquery("select naziv from institucija where id={$r350['4']}");
                        if (mysql_num_rows($q352) < 1) {
                            $institucija = "<font color=\"red\">(?)</font>";
                            $greska = 1;
                        } else {
                            $institucija = mysql_result($q352, 0, 0);
                        }
                        // Tip predmeta
                        $q354 = myquery("select naziv from tippredmeta where id={$r350['5']}");
                        if (mysql_num_rows($q354) < 1) {
                            $tippredmeta = "<font color=\"red\">(?)</font>";
                            $greska = 1;
                        } else {
                            $tippredmeta = mysql_result($q354, 0, 0);
                        }
                        ?>
	<h3><?php 
                        echo $naziv;
                        ?>
</h3>
	<p>Šifra predmeta: <b><?php 
                        echo $sifra;
                        ?>
</b><br />
	Skraćeni naziv predmeta: <b><?php 
                        echo $kratkinaziv;
                        ?>
</b><br />
	Institucija: <b><?php 
                        echo $institucija;
                        ?>
</b><br />
	Tip predmeta: <b><?php 
                        echo $tippredmeta;
                        ?>
</b><br />
	ECTS: <b><?php 
                        echo $ects;
                        ?>
 bodova</b><br />
	Sati predavanja: <b><?php 
                        echo $sati_predavanja;
                        ?>
 </b><br />
	Sati vježbi: <b><?php 
                        echo $sati_vjezbi;
                        ?>
 </b><br />
	Sati tutorijala: <b><?php 
                        echo $sati_tutorijala;
                        ?>
 </b><br />
	ID: <?php 
                        echo $predmet;
                        ?>
</p>

	<?php 
                        if ($greska == 1) {
                            print "<font color=\"red\">Imate grešaka u definiciji predmeta. Kliknite na dugme <b>Izmijeni</b>.</font>\n";
                        }
                        unset($_REQUEST['akcija']);
                        print "\n\n<p>\n" . genform("GET");
                        ?>
	<input type="hidden" name="akcija" value="realedit">
	<input type="submit" value=" Izmijeni "></form></p>
	<?php 
                        // Omogućujemo popravku ako ne postoji labgrupa "svi studenti"
                        $q356 = myquery("SELECT COUNT(*) FROM labgrupa WHERE predmet={$predmet} AND akademska_godina={$ag} AND virtualna=1");
                        if (mysql_result($q356, 0, 0) == 0) {
                            niceerror("Ne postoji virtualna labgrupa.");
                        }
                        ?>
	<hr>
	<?php 
                        // Nastavni ansambl
                        ?>
<h3>Nastavni ansambl:</h3>
	<ul>
	<?php 
                        $q355 = myquery("select o.id, angs.naziv from angazman as a, osoba as o, angazman_status as angs where a.predmet={$predmet} and a.akademska_godina={$ag} and a.osoba=o.id and a.angazman_status=angs.id order by angs.id, o.prezime");
                        if (mysql_num_rows($q355) < 1) {
                            print "<li>Niko nije angažovan na ovom predmetu</li>\n";
                        }
                        while ($r355 = mysql_fetch_row($q355)) {
                            print "<li><a href=\"?sta=studentska/osobe&akcija=edit&osoba={$r355['0']}\">" . tituliraj($r355[0], false, false, true) . "</a> - {$r355['1']} (<a href=\"?sta=studentska/predmeti&akcija=edit&predmet={$predmet}&ag={$ag}&subakcija=deangazuj&osoba={$r355['0']}\">deangažuj</a>)</li>\n";
                        }
                        print "</ul>\n";
                        // Ponude kursa
                        ?>
<h3>Ponude kursa:</h3>
	<?php 
                        // Forma za upozorenje prilikom brisanja ponudekursa
                        ?>
	<script language="JavaScript">
	function upozorenje2(grupa,broj) {
		var a = confirm("Ovim će sa predmeta biti ispisano "+broj+" studenata, te pobrisani svi ostvareni bodovi i ocjene. Da li ste sigurni?");
		if (a) {
			document.brisanjepkform.pk.value=grupa;
			document.brisanjepkform.submit();
		}
	}
	</script>
	<?php 
                        echo genform("POST", "brisanjepkform");
                        ?>
	<input type="hidden" name="akcija" value="edit">
	<input type="hidden" name="subakcija" value="obrisi_pk">
	<input type="hidden" name="pk" value=""></form>
	<?php 
                        // Evt ispis akademske godine
                        $q359 = myquery("select naziv, aktuelna from akademska_godina where id={$ag}");
                        if (mysql_num_rows($q359) < 1) {
                            zamgerlog("nepostojeca akademska godina {$ag}", 3);
                            zamgerlog2("nepostojeca akademska godina", $ag);
                            niceerror("Nepostojeća akademska godina!");
                            return;
                        }
                        $agnaziv = mysql_result($q359, 0, 0);
                        if (mysql_result($q359, 0, 1) != 1) {
                            print "<p>Akademska godina: <b>{$agnaziv}</b></p>";
                        }
                        $q360 = myquery("select pk.id, s.naziv, pk.semestar, pk.obavezan from ponudakursa as pk, studij as s where pk.predmet={$predmet} and pk.akademska_godina={$ag} and pk.studij=s.id");
                        if (mysql_num_rows($q360) < 1) {
                            ?>
<p><font color="red">Ovaj predmet se trenutno ne nudi nigdje!</font><br/>
		Dodajte ponudu kursa ispod. Dok to ne uradite, predmet neće biti vidljiv, osim kod pretrage ako je izabrana opcija &quot;Sve akademske godine&quot;</p>
		<?php 
                        } else {
                            print "<ul>\n";
                        }
                        while ($r360 = mysql_fetch_row($q360)) {
                            // Broj studenata
                            $q365 = myquery("select count(*) from student_predmet where predmet={$r360['0']}");
                            $brstud = mysql_result($q365, 0, 0);
                            ?>
		<li><?php 
                            echo $r360[1];
                            ?>
, <?php 
                            echo $r360[2];
                            ?>
. semestar <?php 
                            if ($r360[3] < 1) {
                                print "(izborni)";
                            }
                            ?>
 (<a href="javascript:onclick=upozorenje2('<?php 
                            echo $r360[0];
                            ?>
','<?php 
                            echo $brstud;
                            ?>
')">obriši ponudu kursa</a>)</li>
		<?php 
                        }
                        if (mysql_num_rows($q360) > 0) {
                            print "</ul>\n";
                        }
                        ?>
<a href="?sta=studentska/predmeti&predmet=<?php 
                        echo $predmet;
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
&akcija=dodaj_pk">Dodaj ponudu kursa</a><?php 
                        // Ranije akademske godine
                        $q370 = myquery("select ag.id, ag.naziv from akademska_godina as ag, ponudakursa as pk where pk.predmet={$predmet} and pk.akademska_godina=ag.id and ag.id!={$ag} group by ag.id order by ag.id");
                        if (mysql_num_rows($q370) > 0) {
                            ?>
		<p>Ovaj predmet se držao i sljedećih godina:
		<?php 
                        }
                        while ($r370 = mysql_fetch_row($q370)) {
                            ?>
<a href="?sta=studentska/predmeti&akcija=edit&predmet=<?php 
                            echo $predmet;
                            ?>
&ag=<?php 
                            echo $r370[0];
                            ?>
"><?php 
                            echo $r370[1];
                            ?>
</a> <?php 
                        }
                        if (mysql_num_rows($q370) > 0) {
                            print "</p>\n";
                        }
                        // Prava pristupa na predmetu
                        ?>
	<hr>
	<p>Osobe sa pravima pristupa na predmetu (<?php 
                        echo $agnaziv;
                        ?>
):</p>
	<?php 
                        $q351 = myquery("select np.nastavnik,np.nivo_pristupa,o.ime,o.prezime from osoba as o, nastavnik_predmet as np where np.nastavnik=o.id and np.predmet={$predmet} and np.akademska_godina={$ag} order by np.nivo_pristupa, o.prezime, o.ime");
                        if (mysql_num_rows($q351) < 1) {
                            print "<ul><li>Nijedan nastavnik nema pravo pristupa predmetu.</li></ul>\n";
                        } else {
                            ?>
		<script language="JavaScript">
		function upozorenje(nastavnik) {
			document.izbaciform.nastavnik.value=nastavnik;
			document.izbaciform.submit();
		}
		</script>
		<?php 
                            echo genform("POST", "izbaciform");
                            ?>
		<input type="hidden" name="akcija" value="edit">
		<input type="hidden" name="subakcija" value="izbaci_nastavnika">
		<input type="hidden" name="nastavnik" id="nastavnik" value=""></form>

		<table width="100%" border="1" cellspacing="0"><tr><td>Ime i prezime</td><td>Nivo pristupa</td><td>Ograničenja</td><td>&nbsp;</td></tr><?php 
                        }
                        while ($r351 = mysql_fetch_row($q351)) {
                            $nastavnik = $r351[0];
                            $imeprezime = "{$r351['2']} {$r351['3']}";
                            $nivo_pristupa = $r351[1];
                            if ($nivo_pristupa == 'nastavnik') {
                                $option_nastavnik = "SELECTED";
                                $option_sa = $option_asistent = "";
                            } else {
                                if ($nivo_pristupa == 'super_asistent') {
                                    $option_sa = "SELECTED";
                                    $option_nastavnik = $option_asistent = "";
                                } else {
                                    if ($nivo_pristupa == 'asistent') {
                                        $option_asistent = "SELECTED";
                                        $option_nastavnik = $option_sa = "";
                                    }
                                }
                            }
                            ?>
		<tr>
			<td><a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                            echo $nastavnik;
                            ?>
"><?php 
                            echo $imeprezime;
                            ?>
</td>
			<td><?php 
                            echo genform("POST");
                            ?>
				<input type="hidden" name="akcija" value="edit">
				<input type="hidden" name="nastavnik" value="<?php 
                            echo $nastavnik;
                            ?>
">
				<input type="hidden" name="subakcija" value="postavi_nivo_pristupa">
				<select name="nivo_pristupa" class="default">
					<option value="nastavnik" <?php 
                            echo $option_nastavnik;
                            ?>
>Nastavnik</option>
					<option value="super_asistent" <?php 
                            echo $option_sa;
                            ?>
>Super-asistent</option>
					<option value="asistent" <?php 
                            echo $option_asistent;
                            ?>
>Asistent</option>
				</select>
				<input type="submit" class="default" value=" Postavi ">
				</form>
			</td>
			<td><a href="<?php 
                            echo genuri();
                            ?>
&akcija=ogranicenja&nastavnik=<?php 
                            echo $nastavnik;
                            ?>
"><?php 
                            // Spisak grupa na koje ima ogranicenje
                            $q352 = myquery("select l.naziv from ogranicenje as o, labgrupa as l where o.nastavnik={$nastavnik} and o.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag}");
                            if (mysql_num_rows($q352) < 1) {
                                print "Nema";
                            }
                            while ($r352 = mysql_fetch_row($q352)) {
                                // Ljudi daju glupa imena grupama...
                                if (!preg_match("/\\w/", $r352[0])) {
                                    $imegrupe = "[Nema imena]";
                                } else {
                                    $imegrupe = substr($r352[0], 0, 15);
                                }
                                print "{$imegrupe}, ";
                            }
                            ?>
</a></td>
			<td><a href="javascript:onclick=upozorenje('<?php 
                            echo $nastavnik;
                            ?>
')">Izbaci</a></td>
		</tr>
		<?php 
                        }
                        if (mysql_num_rows($q351) > 0) {
                            print "</table>\n";
                        }
                        // Dodaj nove nastavnike
                        ?>
<p>Angažman nastavnika na predmetu:
	<?php 
                        echo genform("POST");
                        ?>
	<input type="hidden" name="akcija" value="edit">
	<input type="hidden" name="subakcija" value="dodaj_nastavnika">
	<select name="nastavnik" class="default">'<?php 
                        $q360 = myquery("select o.id, o.prezime, o.ime from osoba as o, privilegije as p where p.osoba=o.id and p.privilegija='nastavnik' order by o.prezime, o.ime");
                        while ($r360 = mysql_fetch_row($q360)) {
                            print "<option value=\"{$r360['0']}\">{$r360['1']} {$r360['2']}</option>\n";
                        }
                        ?>
</select>&nbsp;&nbsp; <input type="submit" value=" Dodaj "></form></p><?php 
                        ?>
</td></tr></table></center><?php 
                        // Vanjska tabela
                    } else {
                        $src = my_escape($_REQUEST["search"]);
                        $limit = 20;
                        $offset = intval($_REQUEST["offset"]);
                        $ak_god = intval($_REQUEST["ag"]);
                        if ($ak_god == 0) {
                            $q299 = myquery("select id from akademska_godina where aktuelna=1 order by naziv desc limit 1");
                            $ak_god = mysql_result($q299, 0, 0);
                        }
                        ?>
	<table width="100%" border="0"><tr><td align="left">
		<p><b>Pretraga</b><br/>
		Za prikaz svih predmeta na akademskoj godini, ostavite polje za pretragu prazno.</br>
		<?php 
                        echo genform("GET");
                        ?>
		<input type="hidden" name="offset" value="0"> <?php 
                        /*resetujem offset*/
                        ?>
		<select name="ag">
			<option value="-1">Sve akademske godine</option>
		<?php 
                        $q295 = myquery("select id,naziv, aktuelna from akademska_godina order by naziv");
                        while ($r295 = mysql_fetch_row($q295)) {
                            ?>
			<option value="<?php 
                            echo $r295[0];
                            ?>
"<?php 
                            if ($r295[0] == $ak_god) {
                                print " selected";
                            }
                            ?>
><?php 
                            echo $r295[1];
                            ?>
</option>
<?php 
                        }
                        ?>
</select><br/>
		<input type="text" size="50" name="search" value="<?php 
                        if ($src != "") {
                            print $src;
                        }
                        ?>
"> <input type="Submit" value=" Pretraži "></form>
		<br/>
	<?php 
                        if ($ak_god >= 0 && $src != "") {
                            $q300 = myquery("select count(distinct pk.predmet) from ponudakursa as pk, predmet as p where pk.akademska_godina={$ak_god} and (p.naziv like '%{$src}%' or p.kratki_naziv like '%{$src}%') and pk.predmet=p.id");
                        } else {
                            if ($ak_god >= 0) {
                                $q300 = myquery("select count(distinct pk.predmet) from ponudakursa as pk where pk.akademska_godina={$ak_god}");
                            } else {
                                if ($src != "") {
                                    $q300 = myquery("select count(*) from predmet as p where (p.naziv like '%{$src}%' or p.kratki_naziv like '%{$src}%')");
                                } else {
                                    $q300 = myquery("select count(*) from predmet as p");
                                }
                            }
                        }
                        $rezultata = mysql_result($q300, 0, 0);
                        if ($rezultata == 0) {
                            print "Nema rezultata!";
                        } else {
                            if ($rezultata > $limit) {
                                print "Prikazujem rezultate " . ($offset + 1) . "-" . ($offset + 20) . " od {$rezultata}. Stranica: ";
                                for ($i = 0; $i < $rezultata; $i += $limit) {
                                    $br = intval($i / $limit) + 1;
                                    if ($i == $offset) {
                                        print "<b>{$br}</b> ";
                                    } else {
                                        print "<a href=\"" . genuri() . "&offset={$i}&_lv_column_akademska_godina={$ak_god}\">{$br}</a> ";
                                    }
                                }
                                print "<br/>";
                            }
                            print "<br/>";
                            if ($ak_god >= 0 && $src != "") {
                                $q301 = myquery("select distinct p.id, p.naziv, i.kratki_naziv, ag.id, ag.naziv from predmet as p, ponudakursa as pk, akademska_godina as ag, institucija as i where pk.akademska_godina=ag.id and ag.id={$ak_god} and (p.naziv like '%{$src}%' or p.kratki_naziv like '%{$src}%') and pk.predmet=p.id and p.institucija=i.id order by ag.naziv desc, p.naziv limit {$offset},{$limit}");
                            } else {
                                if ($ak_god >= 0) {
                                    $q301 = myquery("select distinct p.id, p.naziv, i.kratki_naziv, ag.id, ag.naziv from predmet as p, ponudakursa as pk, akademska_godina as ag, institucija as i where pk.akademska_godina=ag.id and ag.id={$ak_god} and pk.predmet=p.id and p.institucija=i.id order by ag.naziv desc, p.naziv limit {$offset},{$limit}");
                                } else {
                                    if ($src != "") {
                                        $q301 = myquery("select distinct p.id, p.naziv, i.kratki_naziv, 1 from predmet as p, institucija as i where (p.naziv like '%{$src}%' or p.kratki_naziv like '%{$src}%') and p.institucija=i.id order by p.naziv limit {$offset},{$limit}");
                                    } else {
                                        $q301 = myquery("select distinct p.id, p.naziv, i.kratki_naziv, 1 from predmet as p, institucija as i where p.institucija=i.id order by p.naziv limit {$offset},{$limit}");
                                    }
                                }
                            }
                            print '<table width="100%" border="0">';
                            $i = $offset + 1;
                            while ($r301 = mysql_fetch_row($q301)) {
                                print "<tr><td>{$i}. {$r301['1']} ({$r301['2']})</td>\n";
                                print "<td><a href=\"" . genuri() . "&akcija=edit&predmet={$r301['0']}&ag={$r301['3']}\">Detalji</a></td>\n";
                                if ($user_siteadmin) {
                                    print "<td><a href=\"?sta=nastavnik/predmet&predmet={$r301['0']}&ag={$r301['3']}\">Uređivanje predmeta</a></td></tr>";
                                }
                                $i++;
                            }
                            print "</table>";
                        }
                        ?>
		<br/>
		<?php 
                        echo genform("POST");
                        ?>
		<input type="hidden" name="akcija" value="novi">
		<b>Novi predmet:</b><br/>
		<input type="text" name="naziv" size="50"> <input type="submit" value=" Dodaj ">
		</form>
	</table>
	<?php 
                    }
                }
            }
        }
    }
    ?>
</td></tr></table></center>
<?php 
}
Ejemplo n.º 22
0
function izvjestaj_potvrda()
{
    global $userid, $user_studentska, $user_siteadmin;
    $imena_semestara = array("", "prvi", "drugi", "treći", "četvrti", "peti", "šesti");
    $rimski_brojevi = array("", "I", "II", "III", "IV", "V", "VI");
    // Ulazni parametar
    $student = intval($_REQUEST['student']);
    $svrha = intval($_REQUEST['svrha']);
    // Prava pristupa
    if (!$user_studentska && !$user_siteadmin && $userid != $student) {
        biguglyerror("Nemate pravo pristupa ovom izvještaju");
        zamgerlog("nije studentska, a pristupa tudjem izvjestaju ({$student})", 3);
        zamgerlog2("nije studentska, a pristupa tudjem izvjestaju", $student);
        return;
    }
    $q100 = myquery("SELECT ime, prezime, brindexa, jmbg, UNIX_TIMESTAMP(datum_rodjenja), mjesto_rodjenja, spol FROM osoba WHERE id={$student}");
    if (mysql_num_rows($q100) < 1) {
        biguglyerror("Nepoznat student");
        return;
    }
    $r100 = mysql_fetch_row($q100);
    $q110 = myquery("SELECT m.naziv, o.naziv, d.naziv FROM mjesto as m, opcina as o, drzava as d WHERE m.id={$r100['5']} AND m.opcina=o.id and m.drzava=d.id");
    $r110 = mysql_fetch_row($q110);
    if ($r100[5] == 1) {
        // Sarajevo
        $r110[0] = "Sarajevo";
        $r110[1] = "Centar Sarajevo";
        $r110[2] = "Bosna i Hercegovina";
    }
    $q120 = myquery("SELECT naziv FROM svrha_potvrde WHERE id={$svrha}");
    if (mysql_num_rows($q120) < 1) {
        biguglyerror("Nepoznata svrha");
        return;
    }
    $r120 = mysql_fetch_row($q120);
    // Treba nam ID aktuelne godine
    $q200 = myquery("SELECT id, naziv FROM akademska_godina WHERE aktuelna=1");
    $id_ak_god = mysql_result($q200, 0, 0);
    $naziv_ak_god = mysql_result($q200, 0, 1);
    // Trenutno upisan na semestar:
    $q220 = myquery("SELECT s.naziv, ss.semestar, ss.akademska_godina, ag.naziv, s.id, ts.trajanje, ns.naziv, ts.ciklus, s.institucija from student_studij as ss, studij as s, akademska_godina as ag, tipstudija as ts, nacin_studiranja as ns where ss.student={$student} and ss.studij=s.id and ag.id=ss.akademska_godina and s.tipstudija=ts.id and ss.nacin_studiranja=ns.id order by ag.naziv desc");
    $studij = "0";
    $studij_id = $semestar = 0;
    $puta = 1;
    // Da li je ikada slusao nesto?
    $ikad_studij = $ikad_studij_id = $ikad_semestar = $ikad_ak_god = $institucija = 0;
    while ($r220 = mysql_fetch_row($q220)) {
        if ($r220[2] == $id_ak_god && $r220[1] > $semestar) {
            //trenutna akademska godina
            $studij = $r220[0];
            $semestar = $r220[1];
            $studij_id = $r220[4];
            $studij_trajanje = $r220[5];
            $nacin_studiranja = "kao {$r220['6']}";
            $ciklus = $r220[7];
            $institucija = $r220[8];
        } else {
            if ($r220[0] == $studij && $r220[1] == $semestar) {
                // ponovljeni semestri
                $puta++;
            } else {
                if ($r220[2] > $ikad_ak_god || $r220[2] == $ikad_ak_god && $r220[1] > $ikad_semestar) {
                    $ikad_studij = $r220[0];
                    $ikad_semestar = $r220[1];
                    $ikad_ak_god = $r220[2];
                    $ikad_ak_god_naziv = $r220[3];
                    $ikad_studij_id = $r220[4];
                    $ikad_studij_trajanje = $r220[5];
                }
            }
        }
    }
    if ($institucija == 0) {
        niceerror("Trenutno niste upisani na studij.");
        print "Ako je ovo greška, hitno kontaktirajte Studentsku službu.";
        return 0;
    }
    // Određivanje institucije
    do {
        $q140 = myquery("select tipinstitucije, roditelj, dekan, broj_protokola from institucija where id={$institucija}");
        if (!($r140 = mysql_fetch_row($q140))) {
            return;
        }
        if ($r140[0] == 1 && $r140[2] != 0) {
            $dekan = $r140[2];
            if ($r140[3] !== "") {
                $dodaj_broj_protokola = "<p>Broj protokola: {$r140['3']}</p>";
            } else {
                $dodaj_broj_protokola = "";
            }
            break;
        }
        $institucija = $r140[1];
    } while (true);
    $spol = $r100[6];
    if ($spol == "") {
        $spol = spol($r100[0]);
    }
    if ($spol == "Z") {
        $upisana = "upisana";
    } else {
        $upisana = "upisan";
    }
    ?>
<img src="images/content/ETF-memorandum.png">
<p>&nbsp;</p>
<p>Na osnovu člana 169. Zakona o upravnom postupku FBiH (Službene novine FBiH, broj 2/98, 48/99) izdaje se:</p>

<center><h2>P O T V R D A</h2></center>
<p>&nbsp;<br />
<table border="0">
<tr>
	<td>Ime i prezime studenta:</td>
	<td><b><?php 
    echo $r100[0] . " " . $r100[1];
    ?>
</b></td>
</tr>
<tr>
	<td>Broj dosijea:</td>
	<td><b><?php 
    echo $r100[2];
    ?>
</b></td>
</tr>
<tr>
	<td>Datum rođenja:</td>
	<td><b><?php 
    echo date("d. m. Y", $r100[4]);
    ?>
</b></td>
</tr>
<tr>
	<td>Mjesto rođenja:</td>
	<td><b><?php 
    echo $r110[0];
    ?>
</b></td>
</tr>
<tr>
	<td>Općina rođenja:</td>
	<td><b><?php 
    echo $r110[1];
    ?>
</b></td>
</tr>
<tr>
	<td>Država rođenja:</td>
	<td><b><?php 
    echo $r110[2];
    ?>
</b></td>
</tr>
</table>

<p>&nbsp;</p>

<p>Potvrđuje se da je <?php 
    echo $r100[0] . " " . $r100[1];
    ?>
 <?php 
    echo $upisana;
    ?>
 <?php 
    echo $puta;
    ?>
. put u akademskoj <?php 
    echo $naziv_ak_god;
    ?>
 godini u <?php 
    echo $rimski_brojevi[$semestar];
    ?>
 (<?php 
    echo $imena_semestara[$semestar];
    ?>
) semestar - <?php 
    echo $imena_semestara[$ciklus];
    ?>
 ciklus <?php 
    echo $nacin_studiranja;
    ?>
 student, na studiju <?php 
    echo $studij;
    ?>
.</p>

<p>Ova potvrda se izdaje u svrhu <b><?php 
    echo $r120[0];
    ?>
</b>, te se u druge svrhe ne može koristiti.</p>

<p>&nbsp;</p>

<p>Sarajevo, <?php 
    echo date("d. m. Y.");
    ?>
 godine</p>

<?php 
    echo $dodaj_broj_protokola;
    ?>

<table border="0" width="100%">
<tr>
	<td width="60%">&nbsp;</td>
	<td width="40%" align="center"><p>DEKAN<br /><br /><br /><?php 
    echo tituliraj($dekan);
    ?>
</p></td>
</tr>
</table>

<?php 
    // Označi izvještaj kao obrađen
    if ($user_studentska) {
        require "gcm/push_message.php";
        $q200 = myquery("SELECT id, status FROM zahtjev_za_potvrdu WHERE student={$student} AND svrha_potvrde={$svrha}");
        while ($r200 = mysql_fetch_row($q200)) {
            if ($r200[1] == 1) {
                $q210 = myquery("UPDATE zahtjev_za_potvrdu SET status=2 WHERE id={$r200['0']}");
                // Slanje GCM poruke
                push_message(array($student), "Potvrde", "Vaša potvrda/uvjerenje je spremno");
            }
        }
    }
}
Ejemplo n.º 23
0
function student_zadacapdf()
{
    global $userid, $conf_files_path, $files, $i;
    $files = array();
    $i = 0;
    # Poslani parametar:
    $zadaca = intval($_GET['zadaca']);
    if ($zadaca == 0) {
        biguglyerror("Neispravan zadatak.");
        return;
    }
    // Da li neko pokušava da spoofa zadaću?
    $q10 = myquery("SELECT z.predmet, z.akademska_godina FROM zadaca as z, student_predmet as sp, ponudakursa as pk\nWHERE sp.student={$userid} and sp.predmet=pk.id and pk.predmet=z.predmet and pk.akademska_godina=z.akademska_godina and z.id={$zadaca}");
    if (mysql_num_rows($q10) < 1) {
        biguglyerror("Ova zadaća nije iz vašeg predmeta!?");
        return;
    }
    $predmet = mysql_result($q10, 0, 0);
    $ag = mysql_result($q10, 0, 1);
    $lokacijazadaca = "{$conf_files_path}/zadace/{$predmet}-{$ag}/{$userid}/{$zadaca}/";
    // Podaci o zadaći
    //echo "select z.zadataka,p.naziv,z.naziv,pj.ekstenzija from zadaca as z,predmet as p,programskijezik as pj where z.id=$zadaca and z.predmet=p.id and z.programskijezik=pj.id";
    $q20 = myquery("select z.zadataka,p.naziv,z.naziv,pj.ekstenzija from zadaca as z,predmet as p,programskijezik as pj where z.id={$zadaca} and z.predmet=p.id and z.programskijezik=pj.id");
    if (mysql_num_rows($q20) < 1) {
        biguglyerror("Ne mogu pronaći zadaću");
        // .. može li se ukinuti ovo?
        return;
    }
    $brzad = mysql_result($q20, 0, 0);
    $imepredmeta = strtoupper(mysql_result($q20, 0, 1));
    $imezad = mysql_result($q20, 0, 2);
    $ekst = mysql_result($q20, 0, 3);
    // Podaci o studentu
    //echo "select ime, prezime, brindexa from osoba where id=$userid";
    $q30 = myquery("select ime, prezime, brindexa from osoba where id={$userid}");
    if (mysql_num_rows($q30) < 1) {
        biguglyerror("Ne mogu pronaći studenta");
        // .. može li se ukinuti ovo?
        return;
    }
    $ime = mysql_result($q30, 0, 0);
    $prezime = mysql_result($q30, 0, 1);
    $brindexa = mysql_result($q30, 0, 2);
    // Labgrupa
    $q40 = myquery("select l.naziv from labgrupa as l, student_labgrupa as sl where sl.student={$userid} and sl.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag} limit 1");
    if (mysql_num_rows($q40) > 0) {
        $labgrupa = mysql_result($q40, 0, 0);
    } else {
        $labgrupa = "";
    }
    // nema grupe
    // Računanje ocjene
    $bodova_zadaca = 0;
    $filename = array();
    for ($zadatak = 1; $zadatak <= $brzad; $zadatak++) {
        // Uzmi samo rjesenje sa zadnjim IDom
        $q50 = myquery("select status,bodova,filename from zadatak where student={$userid} and zadaca={$zadaca} and redni_broj={$zadatak} order by id desc limit 1");
        if (mysql_num_rows($q50) > 0) {
            $status = mysql_result($q50, 0, 0);
            $bodova_zadatak = mysql_result($q50, 0, 1);
            if ($status == 5) {
                $bodova_zadaca += $bodova_zadatak;
            }
            $filename[$zadatak] = mysql_result($q50, 0, 2);
            if (strlen($filename[$zadatak]) < 2) {
                $filename[$zadatak] = "{$zadatak}{$ekst}";
            }
        }
    }
    require_once 'lib/tcpdf/tcpdf.php';
    // Extend the TCPDF class to create custom Header and Footer
    class MYPDF extends TCPDF
    {
        //Page header
        public function Header()
        {
            $this->SetMargins(10, 35, 25, true);
            $this->Image("images/etf-100x100.png", 10, 8, 20);
            $this->Image("images/unsa.png", 180, 8, 20);
            $this->SetFont("DejaVu Sans", '', 10);
            $this->SetY(15);
            $this->SetX(80);
            $this->Cell(50, 5, 'UNIVERZITET U SARAJEVU', 0, 0, 'C');
            $this->Ln();
            $this->SetX(80);
            $this->Cell(50, 5, 'ELEKTROTEHNIČKI FAKULTET', 0, 0, 'C');
            $this->Ln();
            $this->Cell(190, 5, '', 'B', 0, 'C');
            $this->Ln();
            $this->Ln();
        }
        // Page footer
        public function Footer()
        {
            if ($this->PageNo() > 1) {
                //Position at 1.5 cm from bottom
                $this->SetY(-15);
                //Arial italic 8
                $this->SetFont('DejaVu Sans B', 'I', 8);
                //Text color in gray
                $this->SetTextColor(128);
                //Page number
                $this->Cell(0, 10, 'Stranica ' . $this->PageNo(), 0, 0, 'C');
            }
        }
    }
    // Prva stranica
    $pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    $pdf->AddFont("DejaVuSans", "", "DejaVuSans.php");
    $pdf->AddFont("DejaVuSans", "", "DejaVuSans-Bold.php");
    $pdf->AddPage();
    $pdf->SetY(100);
    $pdf->SetFont('DejaVuSans', '', 30);
    $pdf->Cell(190, 10, $imezad, 0, 0, 'C');
    $pdf->Ln();
    $pdf->SetFont('DejaVuSans', '', 16);
    $pdf->Cell(190, 10, $imepredmeta, 0, 0, 'C');
    $pdf->SetY(-90);
    $pdf->SetFont('DejaVu Sans', '', 12);
    $pdf->Cell(40, 10, 'Student:');
    $pdf->SetFont('DejaVu Sans B', '', 12);
    $pdf->Cell(24, 10, $ime . ' ' . $prezime, 0, 0, 'C');
    $pdf->Ln();
    if ($labgrupa != "") {
        $pdf->SetFont('DejaVu Sans', '', 12);
        $pdf->Cell(40, 10, 'Grupa:');
        $pdf->SetFont('DejaVu Sans', '', 12);
        $pdf->Cell(19, 10, $labgrupa, 0, 0, 'C');
        $pdf->Ln();
    }
    $pdf->SetFont('DejaVu Sans', '', 12);
    $pdf->Cell(40, 10, 'Broj indeksa:');
    $pdf->SetFont('DejaVu Sans', '', 12);
    $pdf->Cell(38, 10, $brindexa);
    $pdf->Ln();
    $pdf->Ln();
    $pdf->SetFont('DejaVu Sans', '', 12);
    $pdf->Cell(60, 10, 'Potpis:', 0, 0, 'C');
    $pdf->Ln();
    $pdf->Cell(60, 10, '', 'B', 0, 'C');
    $pdf->SetY(-90);
    $pdf->SetX(-80);
    $pdf->SetFont('DejaVu Sans', '', 12);
    $pdf->Cell(40, 10, 'Ocjena:');
    $pdf->SetFont('DejaVu Sans', '', 16);
    $pdf->Cell(40, 10, $bodova_zadaca);
    $pdf->Ln();
    $pdf->Ln();
    $pdf->Ln();
    $pdf->Ln();
    $pdf->SetX(-80);
    $pdf->SetFont('DejaVu Sans', '', 12);
    $pdf->Cell(60, 10, 'Potpis tutora:', 0, 0, 'C');
    $pdf->Ln();
    $pdf->SetX(-80);
    $pdf->Cell(60, 10, '', 'B', 0, 'C');
    include_once 'lib/geshi/geshi.php';
    //Funkcija koja kupi putanje za sve fajlove u direktoriju
    function OtvaranjeDirektorija($dirPutanja)
    {
        global $files;
        if (!($handle = opendir($dirPutanja))) {
            die("Greska kod otvaranja dirketorija {$dirPutanja}");
        }
        while ($file = readdir($handle)) {
            if ($file != "." && $file != "..") {
                if (is_dir($dirPutanja . "/" . $file)) {
                    $file .= "/";
                }
                $fajlovi[] = $file;
            }
        }
        foreach ($fajlovi as $file) {
            if (substr($file, -1) == "/") {
                $dir = $dirPutanja . "/" . substr($file, 0, -1);
                OtvaranjeDirektorija($dir);
            } else {
                $files[] = $dirPutanja . "/" . $file;
            }
        }
        return $files;
    }
    //Funkcija koja brise cijeli direktorij
    function delete_directory($dirname)
    {
        if (is_dir($dirname)) {
            $dir_handle = opendir($dirname);
        }
        if (!$dir_handle) {
            return false;
        }
        while ($file = readdir($dir_handle)) {
            if ($file != "." && $file != "..") {
                if (!is_dir($dirname . "/" . $file)) {
                    unlink($dirname . "/" . $file);
                } else {
                    delete_directory($dirname . '/' . $file);
                }
            }
        }
        closedir($dir_handle);
        rmdir($dirname);
        return true;
    }
    // Zadaci
    include 'lib/pclzip/pclzip.lib.php';
    // Fajlovi tipa cpp,c se mogu slati i u formi attachmenta i vrsi se bojenje sintakse
    for ($i = 1; $i <= $brzad; $i++) {
        if ($filename[$i] == "") {
            continue;
        }
        if (!file_exists("{$conf_files_path}/zadace/{$predmet}-{$ag}/{$userid}/{$zadaca}/{$filename[$i]}")) {
            zamgerlog("ne postoji fajl za zadacu z{$zadaca} zadatak {$i} student u{$userid}", 3);
            continue;
        }
        $extrenut = strtolower(end(explode('.', $filename[$i])));
        //Extract zip fajlovaa
        if ($extrenut == "zip") {
            if (!file_exists("{$lokacijazadaca}{$userid}")) {
                mkdir("{$lokacijazadaca}{$userid}", 0777);
                mkdir("{$lokacijazadaca}{$userid}/{$i}", 0777);
            }
            $archive = new PclZip("{$conf_files_path}/zadace/{$predmet}-{$ag}/{$userid}/{$zadaca}/{$filename[$i]}");
            if ($archive->extract(PCLZIP_OPT_ADD_PATH, "{$conf_files_path}/zadace/{$predmet}-{$ag}/{$userid}/{$zadaca}/{$userid}/{$i}") == 0) {
                die("Error : " . $archive->errorInfo(true));
            }
            $dir = "{$conf_files_path}/zadace/{$predmet}-{$ag}/{$userid}/{$zadaca}/{$userid}";
            $files = OtvaranjeDirektorija("{$dir}/{$i}");
            //------------------------------------------------------------------------------
            $txt = "";
            foreach ($files as $putanjaFajla) {
                $naslov = '<html><p><font size="14" color="black">' . basename($putanjaFajla) . '</font></p></html>';
                $txt = "";
                $txt = $txt . file_get_contents($putanjaFajla);
                $extrenut = strtolower(end(explode('.', $putanjaFajla)));
                $geshi =& new GeSHi($txt, $extrenut);
                $txt = $geshi->parse_code();
                if ($txt != false) {
                    // Zamijeni tabove sa po 8 razmaka
                    $txt = str_replace("\t", "        ", $txt);
                    $pdf->SetAutoPageBreak(1, 15);
                    $pdf->AddPage();
                    $pdf->SetX(15);
                    $pdf->SetFont('DejaVu Sans', '', 16);
                    $pdf->Cell(40, 10, 'Zadatak ' . $i . '.');
                    $pdf->writeHTMLCell($w = 0, $h = 0, $x = '', $y = '', $naslov, $border = 0, $ln = 1, $fill = 0, $reseth = true, $align = '', $autopadding = true);
                    $pdf->Ln();
                    $pdf->SetX(15);
                    $pdf->SetFont('DejaVu Sans', '', 10);
                    $pdf->writeHTMLCell($w = 0, $h = 0, $x = '', $y = '', $txt, $border = 0, $ln = 1, $fill = 0, $reseth = true, $align = '', $autopadding = true);
                }
            }
        } else {
            if ($extrenut == "cpp" || $extrenut == "c") {
                $txt = file_get_contents("{$conf_files_path}/zadace/{$predmet}-{$ag}/{$userid}/{$zadaca}/{$filename[$i]}");
                $extrenut = strtolower(end(explode('.', $filename[$i])));
                $naslov = '<html><p><font size="14" color="black">' . $filename[$i] . '</font></p></html>';
                $geshi =& new GeSHi($txt, $extrenut);
                $txt = $geshi->parse_code();
                $txt = str_replace("\t", "        ", $txt);
                $pdf->SetAutoPageBreak(1, 15);
                $pdf->AddPage();
                $pdf->SetX(15);
                $pdf->Cell(40, 10, 'Zadatak ' . $i . '.');
                $pdf->SetFont('DejaVu Sans', '', 16);
                $pdf->writeHTMLCell($w = 0, $h = 0, $x = '', $y = '', $naslov, $border = 0, $ln = 1, $fill = 0, $reseth = true, $align = '', $autopadding = true);
                $pdf->SetX(15);
                $pdf->SetFont('DejaVu Sans', '', 10);
                $pdf->writeHTMLCell($w = 0, $h = 0, $x = '', $y = '', $txt, $border = 0, $ln = 1, $fill = 0, $reseth = true, $align = '', $autopadding = true);
            } else {
                niceerror("Ovaj tip datoteke nije podržan");
                return;
            }
        }
        $files = null;
    }
    delete_directory($dir);
    $pdf->Output($ime . '_' . $prezime . '_' . $imezad . '.pdf', 'I');
}
Ejemplo n.º 24
0
function izvjestaj_anketa_sumarno()
{
    ?>
<p>Univerzitet u Sarajevu<br/>
	Elektrotehnički fakultet Sarajevo</p>
	<p>Datum i vrijeme izvještaja: <?php 
    echo date("d. m. Y. H:i");
    ?>
</p>
	<?php 
    $anketa = intval($_REQUEST['anketa']);
    $q10 = myquery("SELECT UNIX_TIMESTAMP(aa.datum_otvaranja), UNIX_TIMESTAMP(aa.datum_zatvaranja), aa.naziv, ag.naziv, ag.id, ap.semestar, ap.predmet \r\n\t\tFROM anketa_anketa as aa, akademska_godina as ag, anketa_predmet as ap \r\n\t\tWHERE aa.id={$anketa} and ap.anketa={$anketa} and aa.akademska_godina=ag.id");
    if (mysql_num_rows($q10) < 1) {
        biguglyerror("Nepostojeća anketa!");
        zamgerlog("Pristup nepostojećoj anketi {$anketa}", 3);
        zamgerlog2("pristup nepostojećoj anketi", $anketa);
        return;
    }
    $datum_otvaranja = mysql_result($q10, 0, 0);
    $datum_zatvaranja = mysql_result($q10, 0, 1);
    $naziv_ankete = mysql_result($q10, 0, 2);
    $naziv_ag = mysql_result($q10, 0, 3);
    $ag = mysql_result($q10, 0, 4);
    $semestar = mysql_result($q10, 0, 5);
    $anketa_predmet = mysql_result($q10, 0, 6);
    // Ova vrsta izvještaja nema smisla za ankete koje su samo za jedan predmet
    // Stoga ćemo prikazati sve predmete u datoj akademskoj godini i semestru
    if ($anketa_predmet != 0) {
        niceerror("Ova anketa je vezana samo za jedan predmet");
        print "Nema smisla prikazivati sumarni izvještaj za takvu anketu.";
        return;
    }
    if (!isset($_REQUEST['tip']) || $_REQUEST['tip'] == "izlaznost") {
        ?>
		<h2>Izlaznost na anketu <?php 
        echo $naziv_ankete;
        ?>
 (godina <?php 
        echo $naziv_ag;
        ?>
)</h2>
		<?php 
    } else {
        if ($_REQUEST['tip'] == "sveukupna") {
            ?>
		<h2>Sveukupna ocjena predmeta, anketa <?php 
            echo $naziv_ankete;
            ?>
 (godina <?php 
            echo $naziv_ag;
            ?>
)</h2>
		<?php 
        }
    }
    if ($datum_otvaranja > time()) {
        print "<p><font color=\"red\">Anketa još uvijek nije održana! Datum otvaranja je u budućnosti.</font></p>\n";
    } else {
        if ($datum_zatvaranja > time()) {
            print "<p><font color=\"red\">Anketa je još uvijek otvorena! Datum zatvaranja je u budućnosti.</font></p>\n";
        }
    }
    // Cachiramo broj studenata po predmetu u nizove
    $broj_studenata = array();
    $q15 = myquery("SELECT pk.predmet, count(*) FROM student_predmet as sp, ponudakursa as pk WHERE sp.predmet=pk.id and pk.akademska_godina={$ag} and pk.semestar mod 2={$semestar} GROUP BY pk.id");
    while ($r15 = mysql_fetch_row($q15)) {
        $broj_studenata[$r15[0]] += $r15[1];
    }
    if (!isset($_REQUEST['tip']) || $_REQUEST['tip'] == "izlaznost") {
        // Glavna tabela
        ?>
	<table cellspacing="0" border="1">
	<tr><th>Predmet</th><th>Uk. studenata</th><th>Nije popunilo anketu</th><th>Poništilo anketu</th><th>Učestvovalo u anketi</th></tr>
	<?php 
        $predmet_bio = array();
        $stari_studij = $stari_semestar = 0;
        $q20 = myquery("SELECT p.id, p.naziv, pk.studij, pk.semestar, s.naziv, p.institucija, s.institucija\r\n\t\tFROM predmet as p, ponudakursa as pk, studij as s\r\n\t\tWHERE pk.akademska_godina={$ag} and pk.semestar mod 2={$semestar} and pk.predmet=p.id and pk.studij=s.id\r\n\t\tand s.id<=10 " . "\r\n\t\tORDER BY s.tipstudija, s.naziv, pk.semestar, p.naziv");
        while ($r20 = mysql_fetch_row($q20)) {
            // Svrstavamo predmete pod njihov odsjek
            if ($r20[5] != $r20[6] && $r20[5] != 1) {
                continue;
            }
            // Da li je predmet bio?
            $predmet = $r20[0];
            if (in_array($predmet, $predmet_bio)) {
                continue;
            }
            array_push($predmet_bio, $predmet);
            // Preskačemo predmete bez studenata
            if ($broj_studenata[$predmet] == 0) {
                continue;
            }
            // Da li je novi studij
            $naziv_predmeta = $r20[1];
            $studij = $r20[2];
            $semestar = $r20[3];
            if ($studij != $stari_studij || $semestar != $stari_semestar) {
                $naziv_studija = $r20[4];
                print "<tr><td colspan='5'><b>{$naziv_studija}, {$semestar} semestar</b></td></tr>\n";
                $stari_studij = $studij;
                $stari_semestar = $semestar;
            }
            print "<tr><td>{$naziv_predmeta}</td>\n";
            /*$q30 = myquery("select count(*) from student_predmet as sp, ponudakursa as pk where sp.predmet=pk.id and pk.predmet=$r20[0] and pk.akademska_godina=$r20[4]");
            		$broj_studenata = mysql_result($q30,0,0);*/
            $bs = $broj_studenata[$predmet];
            // Kraće pisanje
            print "<td>{$bs}</td>\n";
            $q40 = myquery("select id from anketa_rezultat where anketa={$anketa} and zavrsena='Y' and predmet={$r20['0']}");
            $broj_neuradjenih = $bs - mysql_num_rows($q40);
            print "<td>{$broj_neuradjenih} (" . procenat($broj_neuradjenih, $bs) . ")</td>\n";
            $ponistenih = $uradjenih = 0;
            while ($r40 = mysql_fetch_row($q40)) {
                $q50 = myquery("select count(*) from anketa_odgovor_rank where rezultat={$r40['0']}");
                // TODO: dodati i ostale tipove pitanja
                if (mysql_result($q50, 0, 0) == 0) {
                    $ponistenih++;
                } else {
                    $uradjenih++;
                }
            }
            print "<td>{$ponistenih} (" . procenat($ponistenih, $bs) . ")</td>\n";
            print "<td>{$uradjenih} (" . procenat($uradjenih, $bs) . ")</td>\n";
            print "</tr>\n";
            $suma_bs += $bs;
            $suma_neuradjenih += $broj_neuradjenih;
            $suma_ponistenih += $ponistenih;
            $suma_uradjenih += $uradjenih;
        }
        print "<tr><td colspan='5'><b>UKUPNO:</b></td></tr>\n";
        print "<tr><td>&nbsp;</td><td>{$suma_bs}</td><td>{$suma_neuradjenih} (" . procenat($suma_neuradjenih, $suma_bs) . ")</td><td>{$suma_ponistenih} (" . procenat($suma_ponistenih, $suma_bs) . ")</td><td>{$suma_uradjenih} (" . procenat($suma_uradjenih, $suma_bs) . ")</td></tr>\n";
        print "</table>\n";
        return;
    }
    if ($_REQUEST['tip'] == "sveukupna") {
        // Anketno pitanje "sveukupna ocjena predmeta"
        $q17 = myquery("SELECT p.id, p.tekst FROM anketa_pitanje as p,anketa_tip_pitanja as t WHERE p.tip_pitanja = t.id and p.anketa={$anketa} and p.tip_pitanja=1 order by p.id");
        $the_pitanje = 0;
        while ($r17 = mysql_fetch_row($q17)) {
            if (strstr($r17[1], "ocjena predmeta")) {
                $the_pitanje = $r17[0];
            }
        }
        if ($the_pitanje == 0) {
            biguglyerror("Nije pronađeno anketno pitanje 'sveukupna ocjena predmeta'");
            return;
        }
        // Glavna tabela
        ?>
	<table cellspacing="0" border="1">
	<tr><th>Predmet</th><th>Sveukupna ocjena</th><th>Odgovora</th></tr>
	<?php 
        $predmet_bio = array();
        $stari_studij = $stari_semestar = 0;
        $q20 = myquery("SELECT p.id, p.naziv, pk.studij, pk.semestar, s.naziv, p.institucija, s.institucija\r\n\t\tFROM predmet as p, ponudakursa as pk, studij as s\r\n\t\tWHERE pk.akademska_godina={$ag} and pk.semestar mod 2={$semestar} and pk.predmet=p.id and pk.studij=s.id\r\n\t\tand s.id<=10 " . "\r\n\t\tORDER BY s.tipstudija, s.naziv, pk.semestar, p.naziv");
        while ($r20 = mysql_fetch_row($q20)) {
            // Svrstavamo predmete pod njihov odsjek
            if ($r20[5] != $r20[6] && $r20[5] != 1) {
                continue;
            }
            // Da li je predmet bio?
            $predmet = $r20[0];
            if (in_array($predmet, $predmet_bio)) {
                continue;
            }
            array_push($predmet_bio, $predmet);
            // Preskačemo predmete bez studenata
            if ($broj_studenata[$predmet] == 0) {
                continue;
            }
            // Da li je novi studij
            $naziv_predmeta = $r20[1];
            $studij = $r20[2];
            $semestar = $r20[3];
            if ($studij != $stari_studij || $semestar != $stari_semestar) {
                $naziv_studija = $r20[4];
                print "<tr><td colspan='3'><b>{$naziv_studija}, {$semestar} semestar</b></td></tr>\n";
                $stari_studij = $studij;
                $stari_semestar = $semestar;
            }
            print "<tr><td>{$naziv_predmeta}</td>\n";
            $bs = $broj_studenata[$predmet];
            // Kraće pisanje
            $q40 = myquery("select id from anketa_rezultat where anketa={$anketa} and zavrsena='Y' and predmet={$r20['0']}");
            $suma_ocjena = $br_ocjena = 0;
            while ($r40 = mysql_fetch_row($q40)) {
                $q50 = myquery("select izbor_id from anketa_odgovor_rank where rezultat={$r40['0']} and pitanje={$the_pitanje}");
                if (mysql_num_rows($q50) > 0) {
                    $suma_ocjena += mysql_result($q50, 0, 0);
                    $br_ocjena++;
                }
            }
            if ($br_ocjena > 0) {
                $prosjek = round($suma_ocjena / $br_ocjena, 2);
                $suma_suma_ocjena += $suma_ocjena / $br_ocjena;
            } else {
                $prosjek = 0;
            }
            print "<td>{$prosjek}</td><td>{$br_ocjena} (" . procenat($br_ocjena, $bs) . ")</td>\n";
            print "</tr>\n";
            $suma_uradjenih += $br_ocjena;
            $suma_bs += $bs;
            $br_predmeta++;
        }
        print "<tr><td colspan='3'><b>UKUPNO:</b></td></tr>\n";
        print "<tr><td>&nbsp;</td><td>" . round($suma_suma_ocjena / $br_predmeta, 2) . "</td><td>{$suma_uradjenih} (" . procenat($suma_uradjenih, $suma_bs) . ")</td></tr>\n";
        print "</table>\n";
        return;
    }
    // if ($_REQUEST['tip'] == "sveukupna")
    // naziv predmeta
    $q10 = myquery("select p.naziv,pk.akademska_godina,p.id from predmet as p, ponudakursa as pk where pk.predmet=p.id and p.id={$predmet} and pk.akademska_godina={$ag}; ");
    $naziv_predmeta = mysql_result($q10, 0, 0);
    // provjera da li je dati profesor zadužen na predmetu za koji želi pogledat izvještaj
    if (!$user_siteadmin && !$user_studentska) {
        $q20 = myquery("select nivo_pristupa from nastavnik_predmet where nastavnik={$userid} and predmet={$predmet} and akademska_godina={$ag}");
        if (mysql_num_rows($q20) == 0) {
            zamgerlog("nastavnik/izvjestaj_anketa privilegije", 3);
            zamgerlog2("privilegije");
            biguglyerror("Nemate pravo pregledati ovaj izvještaj!");
            return;
        }
    }
    // naziv akademske godine
    $q30 = myquery("select naziv from akademska_godina where id={$ag}");
    $naziv_ak_god = mysql_result($q30, 0, 0);
    // da li postoji anketa?
    if ($anketa > 0) {
        $q40 = myquery("select id, aktivna from anketa_anketa where akademska_godina= {$ag} and id={$anketa}");
    } else {
        $q40 = myquery("select aa.id, aa.aktivna from anketa_anketa as aa where aa.akademska_godina={$ag} and (select count(*) from anketa_rezultat as ar where ar.anketa=aa.id and ar.predmet={$predmet})>0 order by id desc");
        // prikaži anketu koju je neko popunjavao
        if (mysql_num_rows($q40) < 1) {
            $q40 = myquery("select id, aktivna from anketa_anketa where akademska_godina={$ag}");
        }
    }
    if (mysql_num_rows($q40) == 0) {
        biguglyerror("Za datu akademsku godinu nije kreirana anketa!");
        return;
    }
    $anketa = mysql_result($q40, 0, 0);
    $aktivna = mysql_result($q40, 0, 1);
    if (!$user_siteadmin && !$user_studentska && $aktivna == 1) {
        ?>
		<h2>Pristup rezultatima ankete nije moguć</h2>
		<p>Odlukom uprave <?php 
        echo $conf_skr_naziv_institucije_genitiv;
        ?>
, nastavni ansambl ne može pristupiti rezultatima ankete do isteka određenog roka. Za dodatne informacije predlažemo da kontaktirate službe <?php 
        echo $conf_skr_naziv_institucije_genitiv;
        ?>
</p>
		<?php 
        return;
    }
    if ($_REQUEST['komentar'] == "da") {
        // ---------------------------------------------   IZVJESTAJ ZA KOMENTARE ---------------------------------------------
        $limit = 5;
        // broj kometara prikazanih po stranici
        $offset = intval($_REQUEST["offset"]);
        $q50 = myquery("select count(*) from anketa_rezultat where predmet={$predmet} and anketa = {$anketa} AND zavrsena='Y'");
        $broj_anketa = mysql_result($q50, 0, 0);
        ?>
		<center>
		<h2>Prikaz svih komentara za predmet <?php 
        echo $naziv_predmeta;
        ?>
 za akademsku godinu <?php 
        echo $naziv_ak_god;
        ?>
</h2>
		
		<h3>Broj studenata koji su pristupili anketi je: <?php 
        echo $broj_anketa;
        ?>
</h3>
		<?php 
        // pokupimo sve komentare za dati predmet
        $q60 = myquery("SELECT count(*) FROM anketa_odgovor_text WHERE odgovor<>'' and rezultat IN (SELECT id FROM anketa_rezultat WHERE predmet={$predmet} and anketa={$anketa} AND zavrsena='Y')");
        $broj_odgovora = mysql_result($q60, 0, 0);
        $q61 = myquery(" SELECT odgovor FROM anketa_odgovor_text WHERE odgovor<>'' and rezultat IN (SELECT id FROM anketa_rezultat WHERE predmet ={$predmet} and anketa={$anketa}) limit {$offset}, {$limit}");
        if ($broj_odgovora == 0) {
            print "Nema rezultata!";
        } else {
            if ($broj_odgovora > $limit) {
                $donja_granica = $offset + 1;
                $gornja_granica = $offset + 5;
                if ($gornja_granica > $broj_odgovora) {
                    $gornja_granica = $broj_odgovora;
                }
                print "Prikazujem rezultate {$donja_granica}-{$gornja_granica} od {$broj_odgovora}. Stranica: ";
                for ($i = 0; $i < $broj_odgovora; $i += $limit) {
                    $br = intval($i / $limit) + 1;
                    if ($i == $offset) {
                        print "<b>{$br}</b> ";
                    } else {
                        print "<a href=\"?sta=izvjestaj/anketa&predmet={$predmet}&ag={$ag}&komentar=da&offset={$i}\">{$br}</a> ";
                    }
                }
                print "<br/>";
            }
        }
        ?>
		<table width="650px"  >
			 <tr>
				<td bgcolor="#6699CC" height="10">   </td>
			</tr>
		<?php 
        $i = 0;
        while ($r61 = mysql_fetch_row($q61)) {
            $komentar = str_replace("\n", "<br/>\n", $r61[0]);
            ?>
<tr>
				<td><hr/></td>
			</tr>
			<tr>
				<td><?php 
            echo $komentar;
            ?>
</td>
			</tr>
			<?php 
            $i++;
        }
        ?>
		
		</table> 
		</center>
		<?php 
    } else {
        if ($_REQUEST['rank'] == "da") {
            print "<center>";
            print "<h2>Statistika za predmet {$naziv_predmeta} za akademsku godinu {$naziv_ak_god}</h2>\n";
            $q100 = myquery("select count(*) from anketa_rezultat where predmet={$predmet} and anketa = {$anketa} AND zavrsena='Y'");
            $broj_anketa = mysql_result($q100, 0, 0);
            print "<h3> Broj studenata koji su pristupili anketi je : {$broj_anketa} </h3>";
            // broj rank pitanja
            $q110 = myquery("SELECT id FROM anketa_pitanje WHERE anketa ={$anketa} and tip_pitanja =1");
            $i = 0;
            while ($r110 = mysql_fetch_row($q110)) {
                $j = $i + 1;
                $q120 = myquery("SELECT avg(izbor_id), count(izbor_id) FROM anketa_odgovor_rank WHERE rezultat IN (SELECT id FROM anketa_rezultat WHERE predmet={$predmet} and anketa={$anketa} AND zavrsena='Y') AND pitanje = {$r110['0']}");
                $prosjek[$i] = mysql_result($q120, 0, 0);
                $broj_odgovora[$i] = mysql_result($q120, 0, 1);
                $i++;
            }
            // kupimo pitanja
            $q130 = myquery("SELECT p.id, p.tekst,t.tip FROM anketa_pitanje p,anketa_tip_pitanja t WHERE p.tip_pitanja = t.id and p.anketa ={$anketa} and p.tip_pitanja=1");
            ?>
		
		<table width="800px">
			<tr> 
				<td bgcolor="#6699CC">&nbsp;&nbsp;Pitanje</td><td bgcolor="#6699CC" width='350px'>&nbsp;&nbsp;Prosjek odgovora</td>
			</tr>
		
			<tr>
				<td colspan="2"><hr/></td>
			</tr>
			<tr>
				 <td>&nbsp;</td><td bgcolor="#FF0000" width='350px'>&nbsp;MAX </td>
			</tr>
		<?php 
            $i = 0;
            while ($r130 = mysql_fetch_row($q130)) {
                $tekst = $r130[1];
                $procenat = $prosjek[$i] / 5 * 100;
                ?>
<tr height='35'>
				<td><?php 
                echo $i + 1;
                ?>
. <?php 
                echo $tekst;
                ?>
<br><font color="#999999"><small>(<?php 
                echo $broj_odgovora[$i];
                ?>
 odgovora)</small></font></td>
				<td>
					<table border='0' width='350px'>
					<tr> 
	        				<td height='30' width='<?php 
                echo $procenat;
                ?>
%' bgcolor="#CCCCFF"> &nbsp;<?php 
                echo round($prosjek[$i], 2);
                ?>
</td>
						<td width='<?php 
                echo 100 - $procenat;
                ?>
%'> </td>
        				</tr></table> 
				</td>
			</tr>
			<?php 
                $i++;
            }
            $prosjek = array_sum($prosjek) / count($prosjek);
            // PITANJA TIPA IZBOR
            //kupimo pitanja
            $q200 = myquery("SELECT p.id, p.tekst,t.tip FROM anketa_pitanje p,anketa_tip_pitanja t WHERE p.tip_pitanja = t.id and p.anketa ={$anketa} and (p.tip_pitanja=3 or p.tip_pitanja=4)");
            if (mysql_num_rows($q200) > 0) {
                ?>
		
		<table width="800px"  >
			<tr> 
				<td bgcolor="#6699CC"> Pitanje </td> <td bgcolor="#6699CC" width='350px'> Odgovori </td>
			</tr>
		   
			<tr> 
				<td colspan="2"> <hr/>  </td>
			</tr>
			<tr > 
				 <td  > </td> <td bgcolor="#FF0000" width='350px'> &nbsp;MAX </td>
			</tr>
		<?php 
                $i = 0;
                while ($r200 = mysql_fetch_row($q200)) {
                    $id_pitanja = $r200[0];
                    $tekst = $r200[1];
                    $ispis_odgovori = "";
                    $q210 = myquery("select ip.id, ip.izbor, ip.dopisani_odgovor, count(oi.rezultat) from anketa_izbori_pitanja as ip, anketa_odgovor_izbori as oi where ip.pitanje={$id_pitanja} and oi.pitanje={$id_pitanja} and oi.izbor_id=ip.id group by ip.id");
                    while ($r210 = mysql_fetch_row($q210)) {
                        $ispis_odgovori .= $r210[1] . " - " . $r210[3] . " (" . round($r210[3] / $broj_anketa, 4) * 100 . "%)<br>\n";
                        if ($r210[2] == 1) {
                            $q220 = myquery("select odgovor from anketa_odgovor_dopisani where pitanje={$id_pitanja}");
                            if (mysql_num_rows($q220) == 0) {
                                continue;
                            }
                            $ispis_odgovori .= "<font color=\"#BBBBBB\">";
                            while ($r220 = mysql_fetch_row($q220)) {
                                $ispis_odgovori .= "&quot;" . $r220[0] . "&quot; ";
                            }
                            $ispis_odgovori .= "</font><br>\n";
                        }
                    }
                    $q230 = myquery("select count(distinct rezultat) from anketa_odgovor_izbori where pitanje={$id_pitanja}");
                    $q240 = myquery("select count(*) from anketa_odgovor_izbori where pitanje={$id_pitanja} and izbor_id=0");
                    $neodg = $broj_anketa - mysql_result($q230, 0, 0) + mysql_result($q240, 0, 0);
                    $ispis_odgovori .= "<i>neodgovoreno: {$neodg} (" . round($neodg / $broj_anketa, 4) * 100 . "%)</i>";
                    ?>
<tr height='35'>
				<td><?php 
                    echo $i + 1;
                    ?>
. <?php 
                    echo $tekst;
                    ?>
</td>
				<td width="100"><?php 
                    echo $ispis_odgovori;
                    ?>
</td>
			</tr>
			<tr><td colspan="2"><hr></td></tr>
			<?php 
                    $i++;
                }
            }
            // mysql_num_rows($result202)
            ?>
		<tr> 
				<td colspan="2"> <hr/>  </td>
			</tr>
			  <!--tr > 
				 <td align="right"> Prosjek predmeta : </td> <td  width='350px'> &nbsp;<strong><?php 
            echo round($prosjek, 2);
            ?>
 </strong> </td>
			 </tr-->
		</table> 
		</center>
		<?php 
        }
    }
}
Ejemplo n.º 25
0
function student_ugovoroucenju()
{
    global $userid;
    require "lib/manip.php";
    // Naslov
    ?>
	<h3>Ugovor o učenju</h3>

	<?php 
    // Za koju godinu se prijavljuje?
    $q1 = myquery("select id, naziv from akademska_godina where aktuelna=1");
    $q2 = myquery("select id, naziv from akademska_godina where id>" . mysql_result($q1, 0, 0) . " order by id limit 1");
    if (mysql_num_rows($q2) < 1) {
        //		nicemessage("U ovom trenutku nije aktiviran upis u sljedeću akademsku godinu.");
        //		return;
        // Pretpostavljamo da se upisuje u aktuelnu?
        $zagodinu = mysql_result($q1, 0, 0);
        $zagodinunaziv = mysql_result($q1, 0, 1);
        $q3 = myquery("select id from akademska_godina where id<{$zagodinu} order by id desc limit 1");
        $proslagodina = mysql_result($q3, 0, 0);
    } else {
        $proslagodina = mysql_result($q1, 0, 0);
        $zagodinu = mysql_result($q2, 0, 0);
        $zagodinunaziv = mysql_result($q2, 0, 1);
    }
    ?>
	<p>Za akademsku <?php 
    echo $zagodinunaziv;
    ?>
 godinu.</p>
	<?php 
    // Ulazni podaci
    $studij = intval($_REQUEST['studij']);
    $godina = intval($_REQUEST['godina']);
    // Provjera ispravnosti podataka
    if ($studij != 0) {
        $q5 = myquery("select zavrsni_semestar from studij where id={$studij}");
        if (mysql_num_rows($q5) < 1) {
            niceerror("Neispravan studij");
            $studij = 0;
            unset($_POST['akcija']);
        } else {
            if ($godina < 1 || $godina > mysql_result($q5, 0, 0) / 2) {
                $godina = 1;
            }
        }
    } else {
        unset($_POST['akcija']);
    }
    // Odabir plana studija
    $plan_studija = 0;
    if ($studij > 0) {
        $q5a = myquery("SELECT studij, plan_studija FROM student_studij WHERE student={$userid} AND akademska_godina<={$zagodinu} ORDER BY akademska_godina DESC LIMIT 1");
        if (mysql_num_rows($q5a) > 0 && $studij == mysql_result($q5a, 0, 0)) {
            $plan_studija = mysql_result($q5a, 0, 1);
        }
        if ($plan_studija == 0) {
            // Student nije prethodno studirao na istom studiju ili plan studija nije bio definisan
            // Uzimamo najnoviji plan za odabrani studij
            $q6 = myquery("select godina_vazenja from plan_studija where studij={$studij} order by godina_vazenja desc limit 1");
            if (mysql_num_rows($q6) < 1) {
                niceerror("Nepostojeći studij");
                return;
            }
            $plan_studija = mysql_result($q6, 0, 0);
        }
    }
    // Akcija - kreiranje ugovora
    if ($_POST['akcija'] == "kreiraj_ugovor") {
        // Provjera da li student ima minimalno 30 ECTS kredita po semestru
        // Ako je ovaj uslov ispunjen za oba semestra, slijedi i da ima minimalno
        // 60 ECTS kredita po godini
        $s1predmeti = $s2predmeti = array();
        // Ujedno punimo nizove izbornih predmeta
        for ($sem = $godina * 2 - 1; $sem <= $godina * 2; $sem++) {
            $semestar_ects = 0;
            $q100 = myquery("select p.ects, p.naziv from predmet as p, plan_studija as ps where ps.godina_vazenja={$plan_studija} and ps.studij={$studij} and ps.semestar={$sem} and ps.obavezan=1 and ps.predmet=p.id");
            while ($r100 = mysql_fetch_row($q100)) {
                $semestar_ects += $r100[0];
            }
            $q110 = myquery("select distinct predmet from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and semestar={$sem} and obavezan=0");
            while ($r110 = mysql_fetch_row($q110)) {
                $izabran = $_REQUEST["is{$r110['0']}"];
                if ($izabran == "odsjek{$sem}") {
                    // izborni predmet sa drugog odsjeka
                    $izabran = intval($_REQUEST["odsjek-{$r110['0']}"]);
                } else {
                    $izabran = intval($izabran);
                }
                if ($izabran > 0) {
                    $q120 = myquery("select ects, naziv from predmet where id={$izabran}");
                    if (mysql_num_rows($q120) < 1) {
                        niceerror("Ilegalan izborni predmet");
                        return;
                    }
                    if (provjeri_kapacitet($izabran, $zagodinu, $plan_studija) == 0) {
                        niceerror("Predmet " . mysql_result($q120, 0, 1) . " se ne može izabrati jer su dostupni kapaciteti za taj predmet popunjeni");
                        zamgerlog2("popunjen kapacitet za predmet", $izabran);
                        return;
                    }
                    $semestar_ects += mysql_result($q120, 0, 0);
                    if ($sem == $godina * 2 - 1) {
                        $s1predmeti[] = $izabran;
                    } else {
                        $s2predmeti[] = $izabran;
                    }
                    // Ako spisak izbornih predmeta nije radio buttons
                    // nego checkboxes, $izabran ce biti 0
                } else {
                    foreach ($_REQUEST as $ime => $vrijednost) {
                        $komad = "iz{$r110['0']}-";
                        if (substr($ime, 0, strlen($komad)) == $komad) {
                            // izborni predmet sa drugog odsjeka
                            if (substr($ime, strlen($komad)) == "odsjek") {
                                $izabran = intval($_REQUEST["odsjek-{$r110['0']}"]);
                            } else {
                                $izabran = intval($vrijednost);
                            }
                            $q130 = myquery("select ects, naziv from predmet where id={$izabran}");
                            if (mysql_num_rows($q130) < 1) {
                                niceerror("Ilegalan izborni predmet");
                                return;
                            }
                            if (provjeri_kapacitet($izabran, $zagodinu, $plan_studija) == 0) {
                                niceerror("Predmet " . mysql_result($q130, 0, 1) . " se ne može izabrati jer su dostupni kapaciteti za taj predmet popunjeni");
                                zamgerlog2("popunjen kapacitet za predmet", $izabran);
                                return;
                            }
                            $semestar_ects += mysql_result($q130, 0, 0);
                            if ($sem == $godina * 2 - 1) {
                                $s1predmeti[] = $izabran;
                            } else {
                                $s2predmeti[] = $izabran;
                            }
                        }
                    }
                }
            }
            if ($semestar_ects < 30) {
                niceerror("Niste izabrali dovoljno izbornih predmeta u {$sem}. semestru (ukupno {$semestar_ects} ECTS kredita, a potrebno je 30)");
                return;
            }
        }
        // Sve ok, brišemo stari ugovor iz baze
        $q140 = myquery("select id from ugovoroucenju where student={$userid} and akademska_godina={$zagodinu}");
        while ($r140 = mysql_fetch_row($q140)) {
            $q145 = myquery("delete from ugovoroucenju where id={$r140['0']}");
            $q145 = myquery("delete from ugovoroucenju_izborni where ugovoroucenju={$r140['0']}");
        }
        // Ubacujemo novi ugovor u bazu
        $q150 = myquery("insert into ugovoroucenju set student={$userid}, akademska_godina={$zagodinu}, studij={$studij}, semestar=" . ($godina * 2 - 1));
        // Uzimamo ID ugovora
        $q160 = myquery("select id from ugovoroucenju where student={$userid} and akademska_godina={$zagodinu} and studij={$studij} and semestar=" . ($godina * 2 - 1));
        $id1 = mysql_result($q160, 0, 0);
        foreach ($s1predmeti as $predmet) {
            $q170 = myquery("insert into ugovoroucenju_izborni set ugovoroucenju={$id1}, predmet={$predmet}");
        }
        // Isto za parni semestar
        $q180 = myquery("insert into ugovoroucenju set student={$userid}, akademska_godina={$zagodinu}, studij={$studij}, semestar=" . $godina * 2);
        $q190 = myquery("select id from ugovoroucenju where student={$userid} and akademska_godina={$zagodinu} and studij={$studij} and semestar=" . $godina * 2);
        $id2 = mysql_result($q190, 0, 0);
        foreach ($s2predmeti as $predmet) {
            $q200 = myquery("insert into ugovoroucenju_izborni set ugovoroucenju={$id2}, predmet={$predmet}");
        }
        zamgerlog("student u{$userid} kreirao ugovor o ucenju (ID: {$id1} i {$id2})", 2);
        // 2 - edit
        zamgerlog2("kreirao ugovor o ucenju", intval($id1), intval($id2));
        nicemessage("Kreirali ste Ugovor o učenju!");
        ?>
		<p><a href="?sta=student/ugovoroucenjupdf">Kliknite ovdje da biste ga isprintali.</a></p>
		<?php 
        return;
    }
    // Da li student već ima kreiran ugovor o učenju za sljedeću godinu?
    $q9 = myquery("select count(*) from ugovoroucenju where student={$userid} and akademska_godina={$zagodinu}");
    if (mysql_result($q9, 0, 0) > 0) {
        ?>
		<p>Već imate kreiran Ugovor o učenju.<br />Možete ga preuzeti <a href="?sta=student/ugovoroucenjupdf">klikom ovdje</a>, ili možete kreirati novi ugovor ispod (pri čemu će stari biti pobrisan).</p>
		<p>&nbsp;</p>
		<?php 
    }
    // --- Prikaz formulara za kreiranje ugovora
    // Studij nije odabran, biramo onaj koji student trenutno sluša
    if ($studij == 0) {
        $q10 = myquery("select ss.studij, ss.semestar, s.zavrsni_semestar, s.institucija, s.tipstudija, ss.plan_studija from student_studij as ss, studij as s where ss.student={$userid} and ss.akademska_godina={$proslagodina} and ss.studij=s.id order by semestar desc limit 1");
        if (mysql_num_rows($q10) > 0) {
            $studij = mysql_result($q10, 0, 0);
            $godina = mysql_result($q10, 0, 1) / 2 + 1;
            $plan_studija = mysql_result($q10, 0, 5);
            if (mysql_result($q10, 0, 1) >= mysql_result($q10, 0, 2)) {
                $q20 = myquery("select id from studij where moguc_upis=1 and institucija=" . mysql_result($q10, 0, 3) . " and tipstudija>" . mysql_result($q10, 0, 4));
                // FIXME pretpostavka je da su tipovi studija poredani po ciklusima
                if (mysql_num_rows($q20) > 0) {
                    $studij = mysql_result($q20, 0, 0);
                    $godina = 1;
                    $plan_studija = 0;
                    // Uzećemo najnoviji plan za odabrani studij
                } else {
                    // Nema gdje dalje... postavljamo sve na nulu
                    $studij = 0;
                    $godina = 1;
                }
            }
            if ($plan_studija == 0) {
                // Određujemo najnoviji plan za novi studij
                $q6 = myquery("select godina_vazenja from plan_studija where studij={$studij} order by godina_vazenja desc limit 1");
                if (mysql_num_rows($q6) < 1) {
                    niceerror("Nepostojeći studij");
                    return;
                }
                $plan_studija = mysql_result($q6, 0, 0);
            }
        } else {
            niceerror("Niste nikada bili naš student!");
            // Radi testiranja dozvolićemo nestudentima da uđu
            $godina = 1;
        }
    }
    ?>
	<SCRIPT language="JavaScript">
	// Refresh stranice sa novim izbornim predmetima
	function refresh() {
		var studij = parseInt(document.getElementById('studij').value);
		var godina = parseInt(document.getElementById('godina').value);
		location.replace("index.php?sta=student/ugovoroucenju&studij="+studij+"&godina="+godina);
	}

	// Da bismo spriječili da pritisak na Enter submituje formu
	function noenter() {
		if (window.event && window.event.keyCode == 13) {
			refresh();
			return false;
		}
	}

	// Funckija koja ne dozvoljava da se selektuje različit broj polja od navedenog
	var globalna;
	function jedanod(slot, clicked) {
		var template = "iz"+slot;
		var found=false;
		for (var i=0; i<document.mojaforma.length; i++) {
			var el = document.mojaforma.elements[i];

			if (el.type != "checkbox") continue;
			if (el==clicked) continue;
			if (template == el.name.substr(0,template.length)) {
				if (clicked.checked==true && el.checked==true) {
					el.checked=false; found=true; break; 
				}
				if (clicked.checked==false && el.checked==false) {
					el.checked=true; found=true; break;
				}
			}
		}
		if (!found) {
			globalna=clicked;
			setTimeout("revertuj()", 100);
		}
		return found;
	}
	function drugiodsjek(slot, semestar, enable) {
		var template = "iz"+slot;
		for (var i=0; i<document.mojaforma.length; i++) {
			var el = document.mojaforma.elements[i];
			if (el.type != "checkbox" && el.type != "radio") continue;
			if (el.name.substr(0,template.length) == template) continue;
			if (el.name.substr(0,template.length) == "is"+slot) continue;
			if (el.value == "odsjek"+semestar) el.disabled=enable;
		}
	}
	function revertuj() {
			if (globalna.checked) globalna.checked=false;
			else globalna.checked=true;
	}
	</SCRIPT>

	<form action="index.php" method="POST" name="mojaforma">
	<input type="hidden" name="sta" value="student/ugovoroucenju">
	<input type="hidden" name="akcija" value="kreiraj_ugovor">

	<p>Bjanko Ugovor o učenju: <a href="images/content/150dpi/domestic-contract-0.png">stranica 1</a>, <a href="images/content/150dpi/domestic-contract-1.png">stranica 2</a>!</p>

	<p>Studij: <select name="studij" id="studij" onchange="javascript:refresh()"><option></option>
	<?php 
    // Spisak studija
    $q30 = myquery("select id, naziv from studij where moguc_upis=1 order by tipstudija, naziv");
    while ($r30 = mysql_fetch_row($q30)) {
        print "<option value=\"{$r30['0']}\"";
        if ($r30[0] == $studij) {
            print " selected";
        }
        print ">{$r30['1']}</option>\n";
    }
    $semestar = $godina * 2 - 1;
    ?>
	</select></p>
	<p>Godina studija: <input type="text" name="godina" id="godina" value="<?php 
    echo $godina;
    ?>
" onchange="javascript:refresh()" onkeypress="javascript:return noenter()"></p>
	<p>&nbsp;</p>

	<p><b>Izborni predmeti:</b></p>
	<p><?php 
    echo $semestar;
    ?>
. semestar:<br />
	<?php 
    // Spisak izbornih predmeta
    $ops = $count = 0;
    $q40 = myquery("select predmet from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and semestar={$semestar} and obavezan=0 order by predmet");
    if (mysql_num_rows($q40) < 1) {
        print "Nema izbornih predmeta.";
    } else {
        $ops = $count = 0;
        $slotovi = array();
        while ($r40 = mysql_fetch_row($q40)) {
            $slotovi[] = $r40[0];
        }
        $slotovi[] = 0;
        foreach ($slotovi as $slot) {
            if ($ops == 0) {
                /* nop */
            } else {
                if ($slot == $ops) {
                    $count++;
                } else {
                    if ($count == 0) {
                        $q45 = myquery("select p.id, p.naziv from predmet as p, izborni_slot as iz where iz.id={$ops} and iz.predmet=p.id");
                        $prvi = 1;
                        while ($r45 = mysql_fetch_row($q45)) {
                            print "<input type=\"radio\" name=\"is{$ops}\" value=\"{$r45['0']}\"  onchange=\"drugiodsjek('{$ops}',{$semestar},false);\"";
                            if ($prvi) {
                                print " CHECKED";
                                $prvi = 0;
                            }
                            print ">{$r45['1']}</input><br />\n";
                        }
                        // Predmet sa drugog studija
                        print "<input type=\"radio\" name=\"is{$ops}\" value=\"odsjek{$semestar}\" onchange=\"drugiodsjek('{$ops}',{$semestar},true);\">Predmet sa drugog odsjeka</input><br />\n";
                        print "<select name=\"odsjek-{$ops}\">\n";
                        $spisak_predmeta_drugi_studij = array();
                        $drugi_studiji = array();
                        $q46 = myquery("select tipstudija from studij where id={$studij}");
                        $studij_ts = intval(mysql_result($q46, 0, 0));
                        $q47 = myquery("select ps.predmet, p.naziv, s.kratkinaziv, s.id from plan_studija as ps, studij as s, predmet as p where ps.godina_vazenja={$plan_studija} and ps.studij!={$studij} and ps.semestar={$semestar} and ps.obavezan=1 and ps.studij=s.id and s.tipstudija={$studij_ts} and ps.predmet=p.id order by s.kratkinaziv, ps.semestar, p.naziv");
                        while ($r47 = mysql_fetch_row($q47)) {
                            $drugi_studiji[$r47[3]] = $r47[2];
                            // Ne uzimamo u obzir predmete koji su zajednicki za vise studija, pa ce ih student svakako slusati ili ih je vec slusao
                            $q48 = myquery("select count(*) from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and obavezan=1 and predmet={$r47['0']}");
                            if (mysql_result($q48, 0, 0) > 0) {
                                continue;
                            }
                            // Ne nudimo predmete koje je student eventualno vec polozio
                            //				$q49 = myquery("select count(*) from konacna_ocjena where student=$userid and predmet=$r47[0] and ocjena>5");
                            //				if (mysql_result($q49,0,0)>0) continue;
                            $spisak_predmeta_drugi_studij[$r47[0]] = "{$r47['1']} ({$r47['2']})";
                            //print "<option value=\"$r47[0]\">$r47[1] ($r47[2])</option>\n";
                        }
                        // A sada i izborni
                        $q51 = myquery("select ps.predmet, s.kratkinaziv, s.id from plan_studija as ps, studij as s where ps.godina_vazenja={$plan_studija} and ps.studij!={$studij} and ps.semestar={$semestar} and ps.obavezan=0 and ps.studij=s.id and s.tipstudija={$studij_ts} order by s.kratkinaziv");
                        while ($r51 = mysql_fetch_row($q51)) {
                            $drugi_studiji[$r51[2]] = $r51[1];
                            $q52 = myquery("select izs.predmet, p.naziv from izborni_slot as izs, predmet as p where izs.id={$r51['0']} and izs.predmet=p.id order by p.naziv");
                            while ($r52 = mysql_fetch_row($q52)) {
                                // Ne uzimamo u obzir predmete koji su zajednicki za vise studija, pa ce ih student svakako slusati ili ih je vec slusao
                                $q48 = myquery("select count(*) from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and obavezan=1 and predmet={$r52['0']}");
                                if (mysql_result($q48, 0, 0) > 0) {
                                    continue;
                                }
                                // Ne nudimo predmete koje je student eventualno vec polozio
                                //					$q49 = myquery("select count(*) from konacna_ocjena where student=$userid and predmet=$r52[0] and ocjena>5");
                                //					if (mysql_result($q49,0,0)>0) continue;
                                $spisak_predmeta_drugi_studij[$r52[0]] = "{$r52['1']} ({$r51['1']})";
                            }
                            //				print "<option value=\"$r47[0]\">$r47[1] ($r47[2])</option>\n";
                        }
                        sort($drugi_studiji);
                        //			sort($spisak_predmeta_drugi_studij);
                        foreach ($drugi_studiji as $studij_id => $studij_naziv) {
                            foreach ($spisak_predmeta_drugi_studij as $predmet_id => $predmet_naziv) {
                                if (strstr($predmet_naziv, "({$studij_naziv})")) {
                                    print "<option value=\"{$predmet_id}\">{$predmet_naziv}</option>\n";
                                }
                            }
                        }
                        print "</select><br>\n";
                    } else {
                        print "(izaberite " . ($count + 1) . " predmeta)<br />\n";
                        $q45 = myquery("select p.id, p.naziv from predmet as p, izborni_slot as iz where iz.id={$ops} and iz.predmet=p.id and p.moguc_upis=1");
                        $prvi = $count + 1;
                        while ($r45 = mysql_fetch_row($q45)) {
                            print "<input type=\"checkbox\" name=\"iz{$ops}-{$r45['0']}\" value=\"{$r45['0']}\"";
                            if ($prvi) {
                                print " CHECKED";
                                $prvi--;
                            }
                            print " onchange=\"javascript:jedanod('{$ops}',this)\">{$r45['1']}</input><br />\n";
                        }
                        // Predmet sa drugog studija
                        print "<input type=\"checkbox\" name=\"iz{$ops}-odsjek\" value=\"odsjek{$semestar}\" onchange=\"javascript:jedanod('{$ops}',this); drugiodsjek('{$ops}',{$semestar},this.checked);\">Predmet sa drugog odsjeka</input><br />\n";
                        print "<select name=\"odsjek-{$ops}\">\n";
                        $spisak_predmeta_drugi_studij = array();
                        $drugi_studiji = array();
                        $q46 = myquery("select tipstudija from studij where id={$studij}");
                        $studij_ts = intval(mysql_result($q46, 0, 0));
                        $q47 = myquery("select ps.predmet, p.naziv, s.kratkinaziv, s.id from plan_studija as ps, studij as s, predmet as p where ps.godina_vazenja={$plan_studija} and ps.studij!={$studij} and ps.semestar={$semestar} and ps.obavezan=1 and ps.studij=s.id and s.tipstudija={$studij_ts} and ps.predmet=p.id order by s.kratkinaziv, ps.semestar, p.naziv");
                        while ($r47 = mysql_fetch_row($q47)) {
                            $drugi_studiji[$r47[3]] = $r47[2];
                            // Ne uzimamo u obzir predmete koji su zajednicki za vise studija, pa ce ih student svakako slusati ili ih je vec slusao
                            $q48 = myquery("select count(*) from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and obavezan=1 and predmet={$r47['0']}");
                            if (mysql_result($q48, 0, 0) > 0) {
                                continue;
                            }
                            // Ne nudimo predmete koje je student eventualno vec polozio
                            //				$q49 = myquery("select count(*) from konacna_ocjena where student=$userid and predmet=$r47[0] and ocjena>5");
                            //				if (mysql_result($q49,0,0)>0) continue;
                            $spisak_predmeta_drugi_studij[$r47[0]] = "{$r47['1']} ({$r47['2']})";
                            //print "<option value=\"$r47[0]\">$r47[1] ($r47[2])</option>\n";
                        }
                        // A sada i izborni
                        $q51 = myquery("select ps.predmet, s.kratkinaziv, s.id from plan_studija as ps, studij as s where ps.godina_vazenja={$plan_studija} and ps.studij!={$studij} and ps.semestar={$semestar} and ps.obavezan=0 and ps.studij=s.id and s.tipstudija={$studij_ts} order by s.kratkinaziv");
                        while ($r51 = mysql_fetch_row($q51)) {
                            $drugi_studiji[$r51[2]] = $r51[1];
                            $q52 = myquery("select izs.predmet, p.naziv from izborni_slot as izs, predmet as p where izs.id={$r51['0']} and izs.predmet=p.id order by p.naziv");
                            while ($r52 = mysql_fetch_row($q52)) {
                                // Ne uzimamo u obzir predmete koji su zajednicki za vise studija, pa ce ih student svakako slusati ili ih je vec slusao
                                $q48 = myquery("select count(*) from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and obavezan=1 and predmet={$r52['0']}");
                                if (mysql_result($q48, 0, 0) > 0) {
                                    continue;
                                }
                                // Ne nudimo predmete koje je student eventualno vec polozio
                                //					$q49 = myquery("select count(*) from konacna_ocjena where student=$userid and predmet=$r52[0] and ocjena>5");
                                //					if (mysql_result($q49,0,0)>0) continue;
                                $spisak_predmeta_drugi_studij[$r52[0]] = "{$r52['1']} ({$r51['1']})";
                            }
                            //				print "<option value=\"$r47[0]\">$r47[1] ($r47[2])</option>\n";
                        }
                        sort($drugi_studiji);
                        //			sort($spisak_predmeta_drugi_studij);
                        foreach ($drugi_studiji as $studij_id => $studij_naziv) {
                            foreach ($spisak_predmeta_drugi_studij as $predmet_id => $predmet_naziv) {
                                if (strstr($predmet_naziv, "({$studij_naziv})")) {
                                    print "<option value=\"{$predmet_id}\">{$predmet_naziv}</option>\n";
                                }
                            }
                        }
                        print "</select><br>\n";
                    }
                }
            }
            $ops = $slot;
        }
    }
    $semestar = $godina * 2;
    ?>
</p>

	<p><?php 
    echo $semestar;
    ?>
. semestar:<br />
	<?php 
    $q40 = myquery("select predmet from plan_studija as ps where godina_vazenja={$plan_studija} and studij={$studij} and semestar={$semestar} and obavezan=0 order by predmet");
    if (mysql_num_rows($q40) < 1) {
        print "Nema izbornih predmeta.";
    } else {
        $ops = $count = 0;
        $slotovi = array();
        while ($r40 = mysql_fetch_row($q40)) {
            $slotovi[] = $r40[0];
        }
        $slotovi[] = 0;
        foreach ($slotovi as $slot) {
            if ($ops == 0) {
                /* nop */
            } else {
                if ($slot == $ops) {
                    $count++;
                } else {
                    if ($count == 0) {
                        $q45 = myquery("select p.id, p.naziv from predmet as p, izborni_slot as iz where iz.id={$ops} and iz.predmet=p.id");
                        $prvi = 1;
                        while ($r45 = mysql_fetch_row($q45)) {
                            print "<input type=\"radio\" name=\"is{$ops}\" value=\"{$r45['0']}\"  onchange=\"drugiodsjek('{$ops}',{$semestar},false);\"";
                            if ($prvi) {
                                print " CHECKED";
                                $prvi = 0;
                            }
                            print ">{$r45['1']}</input><br />\n";
                        }
                        // Predmet sa drugog studija
                        print "<input type=\"radio\" name=\"is{$ops}\" value=\"odsjek{$semestar}\" onchange=\"drugiodsjek('{$ops}',{$semestar},true);\">Predmet sa drugog odsjeka</input><br />\n";
                        print "<select name=\"odsjek-{$ops}\">\n";
                        $spisak_predmeta_drugi_studij = array();
                        $drugi_studiji = array();
                        $q46 = myquery("select tipstudija from studij where id={$studij}");
                        $studij_ts = intval(mysql_result($q46, 0, 0));
                        $q47 = myquery("select ps.predmet, p.naziv, s.kratkinaziv, s.id from plan_studija as ps, studij as s, predmet as p where ps.godina_vazenja={$plan_studija} and ps.studij!={$studij} and ps.semestar={$semestar} and ps.obavezan=1 and ps.studij=s.id and s.tipstudija={$studij_ts} and ps.predmet=p.id order by s.kratkinaziv, ps.semestar, p.naziv");
                        while ($r47 = mysql_fetch_row($q47)) {
                            $drugi_studiji[$r47[3]] = $r47[2];
                            // Ne uzimamo u obzir predmete koji su zajednicki za vise studija, pa ce ih student svakako slusati ili ih je vec slusao
                            $q48 = myquery("select count(*) from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and obavezan=1 and predmet={$r47['0']}");
                            if (mysql_result($q48, 0, 0) > 0) {
                                continue;
                            }
                            // Ne nudimo predmete koje je student eventualno vec polozio
                            $q49 = myquery("select count(*) from konacna_ocjena where student={$userid} and predmet={$r47['0']} and ocjena>5");
                            //				if (mysql_result($q49,0,0)>0) continue;
                            $spisak_predmeta_drugi_studij[$r47[0]] = "{$r47['1']} ({$r47['2']})";
                            //print "<option value=\"$r47[0]\">$r47[1] ($r47[2])</option>\n";
                        }
                        // A sada i izborni
                        $q51 = myquery("select ps.predmet, s.kratkinaziv, s.id from plan_studija as ps, studij as s where ps.godina_vazenja={$plan_studija} and ps.studij!={$studij} and ps.semestar={$semestar} and ps.obavezan=0 and ps.studij=s.id and s.tipstudija={$studij_ts} order by s.kratkinaziv");
                        while ($r51 = mysql_fetch_row($q51)) {
                            $drugi_studiji[$r51[2]] = $r51[1];
                            $q52 = myquery("select izs.predmet, p.naziv from izborni_slot as izs, predmet as p where izs.id={$r51['0']} and izs.predmet=p.id order by p.naziv");
                            while ($r52 = mysql_fetch_row($q52)) {
                                // Ne uzimamo u obzir predmete koji su zajednicki za vise studija, pa ce ih student svakako slusati ili ih je vec slusao
                                $q48 = myquery("select count(*) from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and obavezan=1 and predmet={$r52['0']}");
                                if (mysql_result($q48, 0, 0) > 0) {
                                    continue;
                                }
                                // Ne nudimo predmete koje je student eventualno vec polozio
                                $q49 = myquery("select count(*) from konacna_ocjena where student={$userid} and predmet={$r52['0']} and ocjena>5");
                                //					if (mysql_result($q49,0,0)>0) continue;
                                $spisak_predmeta_drugi_studij[$r52[0]] = "{$r52['1']} ({$r51['1']})";
                            }
                            //				print "<option value=\"$r47[0]\">$r47[1] ($r47[2])</option>\n";
                        }
                        sort($drugi_studiji);
                        //sort($spisak_predmeta_drugi_studij);
                        foreach ($drugi_studiji as $studij_id => $studij_naziv) {
                            foreach ($spisak_predmeta_drugi_studij as $predmet_id => $predmet_naziv) {
                                if (strstr($predmet_naziv, "({$studij_naziv})")) {
                                    print "<option value=\"{$predmet_id}\">{$predmet_naziv}</option>\n";
                                }
                            }
                        }
                        print "</select><br>\n";
                    } else {
                        print "(izaberite " . ($count + 1) . " predmeta)<br />\n";
                        $q45 = myquery("select p.id, p.naziv from predmet as p, izborni_slot as iz where iz.id={$ops} and iz.predmet=p.id");
                        $prvi = $count + 1;
                        while ($r45 = mysql_fetch_row($q45)) {
                            print "<input type=\"checkbox\" name=\"iz{$ops}-{$r45['0']}\" value=\"{$r45['0']}\"";
                            if ($prvi) {
                                print " CHECKED";
                                $prvi--;
                            }
                            print " onchange=\"javascript:jedanod('{$ops}',this)\">{$r45['1']}</input><br />\n";
                        }
                        // Predmet sa drugog studija
                        print "<input type=\"checkbox\" name=\"iz{$ops}-odsjek\" value=\"odsjek{$semestar}\" onchange=\"javascript:jedanod('{$ops}',this); drugiodsjek('{$ops}',{$semestar},this.checked);\">Predmet sa drugog odsjeka</input><br />\n";
                        print "<select name=\"odsjek-{$ops}\">\n";
                        $spisak_predmeta_drugi_studij = array();
                        $drugi_studiji = array();
                        $q46 = myquery("select tipstudija from studij where id={$studij}");
                        $studij_ts = intval(mysql_result($q46, 0, 0));
                        $q47 = myquery("select ps.predmet, p.naziv, s.kratkinaziv, s.id from plan_studija as ps, studij as s, predmet as p where ps.godina_vazenja={$plan_studija} and ps.studij!={$studij} and ps.semestar={$semestar} and ps.obavezan=1 and ps.studij=s.id and s.tipstudija={$studij_ts} and ps.predmet=p.id order by s.kratkinaziv, ps.semestar, p.naziv");
                        while ($r47 = mysql_fetch_row($q47)) {
                            $drugi_studiji[$r47[3]] = $r47[2];
                            // Ne uzimamo u obzir predmete koji su zajednicki za vise studija, pa ce ih student svakako slusati ili ih je vec slusao
                            $q48 = myquery("select count(*) from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and obavezan=1 and predmet={$r47['0']}");
                            if (mysql_result($q48, 0, 0) > 0) {
                                continue;
                            }
                            // Ne nudimo predmete koje je student eventualno vec polozio
                            $q49 = myquery("select count(*) from konacna_ocjena where student={$userid} and predmet={$r47['0']} and ocjena>5");
                            //				if (mysql_result($q49,0,0)>0) continue;
                            $spisak_predmeta_drugi_studij[$r47[0]] = "{$r47['1']} ({$r47['2']})";
                            //print "<option value=\"$r47[0]\">$r47[1] ($r47[2])</option>\n";
                        }
                        // A sada i izborni
                        $q51 = myquery("select ps.predmet, s.kratkinaziv, s.id from plan_studija as ps, studij as s where ps.godina_vazenja={$plan_studija} and ps.studij!={$studij} and ps.semestar={$semestar} and ps.obavezan=0 and ps.studij=s.id and s.tipstudija={$studij_ts} order by s.kratkinaziv");
                        while ($r51 = mysql_fetch_row($q51)) {
                            $drugi_studiji[$r51[2]] = $r51[1];
                            $q52 = myquery("select izs.predmet, p.naziv from izborni_slot as izs, predmet as p where izs.id={$r51['0']} and izs.predmet=p.id order by p.naziv");
                            while ($r52 = mysql_fetch_row($q52)) {
                                // Ne uzimamo u obzir predmete koji su zajednicki za vise studija, pa ce ih student svakako slusati ili ih je vec slusao
                                $q48 = myquery("select count(*) from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and obavezan=1 and predmet={$r52['0']}");
                                if (mysql_result($q48, 0, 0) > 0) {
                                    continue;
                                }
                                // Ne nudimo predmete koje je student eventualno vec polozio
                                $q49 = myquery("select count(*) from konacna_ocjena where student={$userid} and predmet={$r52['0']} and ocjena>5");
                                //					if (mysql_result($q49,0,0)>0) continue;
                                $spisak_predmeta_drugi_studij[$r52[0]] = "{$r52['1']} ({$r51['1']})";
                            }
                            //				print "<option value=\"$r47[0]\">$r47[1] ($r47[2])</option>\n";
                        }
                        sort($drugi_studiji);
                        //sort($spisak_predmeta_drugi_studij);
                        foreach ($drugi_studiji as $studij_id => $studij_naziv) {
                            foreach ($spisak_predmeta_drugi_studij as $predmet_id => $predmet_naziv) {
                                if (strstr($predmet_naziv, "({$studij_naziv})")) {
                                    print "<option value=\"{$predmet_id}\">{$predmet_naziv}</option>\n";
                                }
                            }
                        }
                        print "</select><br>\n";
                    }
                }
            }
            $ops = $slot;
        }
    }
    ?>
	</p>
	<input type="button" value="Osvježi spisak predmeta" onclick="javascript:refresh()"><br /><br />

	<input type="submit" value="Kreiraj ugovor"></form>


	<p><b>Napomene:</b><br>
	* Ukoliko obnavljate godinu, trebate ponovo izabrati one predmete koje ste već položili.<br>
	* Možete izabrati najviše jedan predmet s drugog odsjeka po semestru, a u zbiru trebate imati najmanje 30 ECTS kredita po semestru odnosno 60 ECTS kredita po godini.<br>
	* Ako želite slušati izborni predmet sa drugog fakulteta, sada ovdje izaberite neki predmet sa našeg fakulteta a ujedno pokrenite proceduru (koja podrazumijeva odobrenje oba fakulteta).</p>
	<?php 
}
Ejemplo n.º 26
0
function _izmijeni_profil($student, $predmet)
{
    $ime = my_escape($_POST['ime']);
    $prezime = my_escape($_POST['prezime']);
    $brind = my_escape($_POST['brind']);
    if ($brind == 0) {
        // Obsolete?
        zamgerlog("broj indexa nije broj ({$brind})", 3);
        niceerror("Broj indexa mora biti BROJ :)");
        return;
    }
    $grupa = intval($_POST['grupa']);
    $q200 = myquery("select count(*) from labgrupa where id={$grupa} and predmet={$predmet}");
    if (mysql_result($q200, 0, 0) < 1) {
        zamgerlog("nepoznata grupa ({$grupa}) ili nije na predmetu pp{$predmet}", 3);
        niceerror("Nepoznata grupa.");
        return;
    }
    $q210 = myquery("update osoba set ime='{$ime}', prezime='{$prezime}', brindexa='{$brind}' where id={$student}");
    // Update grupe - prvo obrisati staru pa ubaciti novu
    $q220 = myquery("select sl.labgrupa from student_labgrupa as sl,labgrupa where sl.student={$student} and sl.labgrupa=labgrupa.id and labgrupa.predmet={$predmet} and labgrupa.virtualna=0");
    $vec_upisan_u_grupu = 0;
    while ($r220 = mysql_fetch_row($q220)) {
        if ($r220[0] == $grupa) {
            $vec_upisan_u_grupu = 1;
        } else {
            $q230 = myquery("delete from student_labgrupa where student={$student} and labgrupa={$r220['0']}");
            // Brisanje prisustva za staru grupu
            $q235 = myquery("delete from prisustvo where student={$student} and cas=ANY(select id from cas where labgrupa={$r220['0']})");
        }
    }
    if ($vec_upisan_u_grupu == 0) {
        $q240 = myquery("insert into student_labgrupa set student={$student}, labgrupa={$grupa}");
        // Update komponente za prisustvo
        $q250 = myquery("select tpk.komponenta from tippredmeta_komponenta as tpk, ponudakursa as pk, komponenta as k, akademska_godina_predmet as agp where pk.id={$predmet} and pk.predmet=agp.predmet and agp.akademska_godina={$ag} and agp.tippredmeta=tpk.tippredmeta and tpk.komponenta=k.id and k.tipkomponente=3");
        // tipkomponente 3 = prisustvo
        // Ovo za sada ne radi jer update_komponente trazi ponudukursa sto mi ovdje ne mozemo znati
        /*		while ($r250 = mysql_fetch_row($q250))
        			update_komponente($student, $predmet, $r250[0]);*/
    }
    zamgerlog("update profila i labgrupe za studenta u{$student}", 2);
    // nivo 2: edit
    return $grupa;
}
Ejemplo n.º 27
0
function student_popuni_kviz()
{
    global $userid;
    $kviz = intval($_REQUEST['kviz']);
    if ($_REQUEST['akcija'] == "salji") {
        // Ako je akcija salji, dodajemo vrijeme aktivacije
        $q5 = myquery("select vrijeme_aktivacije from kviz_student where student={$userid} and kviz={$kviz}");
        if (mysql_num_rows($q5) < 1) {
            niceerror("Molimo ponovite kviz");
            zamgerlog("poslao popunjen kviz {$kviz} a nema stavke u student_kviz", 3);
            zamgerlog2("poslao popunjen kviz a nema stavke u student_kviz", $kviz);
            return;
        }
        $vrijeme_kraja = "'" . mysql_result($q5, 0, 0) . "' + INTERVAL (trajanje_kviza+60) SECOND";
        // Dodajemo 60 sekundi na trajanje, zbog evt. problema sa konekcijom
    } else {
        $vrijeme_kraja = "vrijeme_kraj";
    }
    $q10 = myquery("select naziv, predmet, akademska_godina, aktivan, vrijeme_pocetak<NOW(), {$vrijeme_kraja} > NOW(), labgrupa, ip_adrese, broj_pitanja, trajanje_kviza, prolaz_bodova FROM kviz where id={$kviz}");
    if (mysql_num_rows($q10) < 1) {
        // Postoji li kviz
        niceerror("Kviz ne postoji");
        zamgerlog("pristup nepostojecem kvizu {$kviz}", 3);
        zamgerlog2("pristup nepostojecem kvizu", $kviz);
        return;
    }
    $naziv_ankete = mysql_result($q10, 0, 0);
    $predmet = mysql_result($q10, 0, 1);
    $ag = mysql_result($q10, 0, 2);
    $broj_pitanja = mysql_result($q10, 0, 8);
    $trajanje_kviza = mysql_result($q10, 0, 9);
    // u sekundama
    $prolaz_bodova = mysql_result($q10, 0, 10);
    // Da li student sluša predmet? Ujedno i naziv predmeta
    $q20 = myquery("select p.naziv from student_predmet as sp, ponudakursa as pk, predmet as p where sp.student={$userid} and sp.predmet=pk.id and pk.predmet=p.id and p.id={$predmet} and pk.akademska_godina={$ag}");
    if (mysql_num_rows($q20) < 1) {
        niceerror("Nemate pristup ovom kvizu");
        zamgerlog("student nije na predmetu za kviz {$kviz}", 3);
        zamgerlog2("student nije na predmetu", $kviz);
        return;
    }
    $naziv_predmeta = mysql_result($q20, 0, 0);
    // Da li je aktivan kviz
    if (mysql_result($q10, 0, 3) != 1) {
        niceerror("Kviz nije aktivan");
        zamgerlog("kviz nije aktivan {$kviz}", 3);
        zamgerlog2("kviz nije aktivan", $kviz);
        return;
    }
    // Da li je vrijeme za kviz
    if (mysql_result($q10, 0, 4) != 1 || mysql_result($q10, 0, 5) != 1) {
        niceerror("Vrijeme za ovaj kviz je isteklo " . mysql_result($q10, 0, 4));
        zamgerlog("vrijeme isteklo za kviz {$kviz}", 3);
        zamgerlog2("vrijeme isteklo", $kviz);
        return;
    }
    // Da li je u labgrupi?
    $labgrupa = mysql_result($q10, 0, 6);
    if ($labgrupa > 0) {
        $q30 = myquery("select count(*) from student_labgrupa where student={$userid} and labgrupa={$labgrupa}");
        if (mysql_result($q30, 0, 0) == 0) {
            niceerror("Nemate pristup ovom kvizu");
            zamgerlog("student nije u labgrupi {$labgrupa} za kviz {$kviz}", 3);
            zamgerlog2("student nije u odgovarajucoj labgrupi", intval($labgrupa), intval($kviz));
            return;
        }
    }
    // Provjera IP adrese
    if (mysql_result($q10, 0, 7) != "") {
        $moja_ip = getip();
        $ispravna = false;
        $blokovi = explode(",", mysql_result($q10, 0, 7));
        foreach ($blokovi as $blok) {
            if (strstr($blok, "/")) {
                // adresa u CIDR formatu
                // Npr. 192.168.0.1/24
                // Preuzeto sa: http://pgregg.com/blog/2009/04/php-algorithms-determining-if-an-ip-is-within-a-specific-range.html
                list($baza, $maska) = explode("/", $blok);
                $moja_f = ip2float($moja_ip);
                $baza_f = ip2float($baza);
                $netmask_dec = bindec(str_pad('', $maska, '1') . str_pad('', 32 - $maska, '0'));
                $wildcard_dec = pow(2, 32 - $maska) - 1;
                $netmask_dec = ~$wildcard_dec;
                if (($moja_f & $netmask_dec) == ($baza_f & $netmask_dec)) {
                    $ispravna = true;
                    break;
                }
            } else {
                if (strstr($blok, "-")) {
                    // Raspon sa crticom
                    // Npr. 10.0.0.1 - 10.0.0.15
                    list($prva, $zadnja) = explode("-", $blok);
                    $moja_f = ip2float($moja_ip);
                    $prva_f = ip2float($prva);
                    $zadnja_f = ip2float($zadnja);
                    if ($moja_f >= $prva_f && $moja_f <= $zadnja_f) {
                        $ispravna = true;
                        break;
                    }
                } else {
                    // Pojedinačna adresa
                    if ($moja_ip == $blok) {
                        $ispravna = true;
                        break;
                    }
                }
            }
        }
        //
        if ($ispravna == false) {
            niceerror("Nemate pristup ovom kvizu");
            zamgerlog("losa ip adresa za kviz {$kviz}", 3);
            zamgerlog2("losa ip adresa", $kviz);
            return;
        }
    }
    // AKCIJA šalji
    // Sve ove provjere smo iskoristili da ih ne bismo ponovo kucali
    if ($_REQUEST['akcija'] == "salji" && check_csrf_token()) {
        $uk_bodova = 0;
        $rbr = 1;
        for ($i = 1; $i <= $broj_pitanja; $i++) {
            // MCSA - ako je dato više tačnih odgovora na pitanje, uvažavamo bilo koji
            $id_pitanja = $_REQUEST["rbrpitanje{$i}"];
            $tacan_odgovor = false;
            $q200 = myquery("select kp.tekst, kp.bodova, ko.id from kviz_pitanje as kp, kviz_odgovor as ko where kp.id={$id_pitanja} and ko.kviz_pitanje=kp.id and ko.tacan=1");
            while ($r200 = mysql_fetch_row($q200)) {
                $tekst_pitanja = $r200[0];
                $bodova_pitanje = $r200[1];
                if ($_REQUEST["odgovor"][$id_pitanja] == $r200[2]) {
                    $tacan_odgovor = true;
                }
            }
            $ispis_rezultata .= "<tr><td>{$rbr}.</td><td>" . substr($tekst_pitanja, 0, 20) . "...</td><td>";
            $rbr++;
            if ($tacan_odgovor) {
                $uk_bodova += $bodova_pitanje;
                $ispis_rezultata .= '<img src="images/16x16/zad_ok.png" width="16" height="16">' . "</td><td>{$bodova_pitanje}</td></tr>";
                $q205 = myquery("UPDATE kviz_pitanje SET ukupno=ukupno+1, tacnih=tacnih+1 WHERE id={$id_pitanja}");
            } else {
                $ispis_rezultata .= '<img src="images/16x16/brisanje.png" width="16" height="16">' . "</td><td>0</td></tr>";
                $q208 = myquery("UPDATE kviz_pitanje SET ukupno=ukupno+1 WHERE id={$id_pitanja}");
            }
        }
        /*
        $q200 = myquery("select kp.id, kp.bodova, ko.id, ko.tacan, kp.tekst from kviz_pitanje as kp, kviz_odgovor as ko where ko.kviz_pitanje=kp.id and kp.kviz=$kviz");
        $ispis_rezultata = "";
        $rbr=1;
        while ($r200 = mysql_fetch_row($q200)) {
        	$id_pitanja = $r200[0];
        	$id_odgovora = $r200[2];
        	if ($_REQUEST["odgovor"][$id_pitanja] == $id_odgovora && $r200[3]==1) 
        		$uk_bodova += $r200[1];
        	$tekst = $r200[4];
        	
        	if ($r200[3]!=1 || $_REQUEST["odgovor"][$id_pitanja]==0) continue;
        	
        	$ispis_rezultata .= "<tr><td>$rbr.</td><td>".substr($tekst,0,20)."...</td><td>";
        	$rbr++;
        	if ($_REQUEST["odgovor"][$id_pitanja] == $id_odgovora && $r200[3]==1) 
        		$ispis_rezultata .= '<img src="images/16x16/zad_ok.png" width="16" height="16">'."</td><td>$r200[1]</td></tr>";
        	else
        		$ispis_rezultata .= '<img src="images/16x16/brisanje.png" width="16" height="16">'."</td><td>0</td></tr>";
        }
        */
        $q210 = myquery("update kviz_student set dovrsen=1, bodova={$uk_bodova} where student={$userid} and kviz={$kviz}");
        print "<center><h1>Kviz završen</h1></center>\n";
        nicemessage("Osvojili ste {$uk_bodova} bodova.");
        if ($uk_bodova >= $prolaz_bodova) {
            nicemessage("Čestitamo");
        }
        ?>
		<p><b>Tabela odgovora</b></p>
		<table border="1" cellspacing="0" cellpadding="2">
			<tr><td>R.br.</td><td>Pitanje</td><td>Tačno?</td><td>Bodova</td></tr>
		<?php 
        print $ispis_rezultata;
        print "</table>\n<br><br>\n";
        ?>
<p><a href="#" onclick="window.close();">Zatvorite ovaj prozor</a></p><?php 
        zamgerlog("uradio kviz {$kviz}", 2);
        zamgerlog2("uradio kviz", $kviz);
        return;
    }
    // Da li je već ranije popunjavao kviz?
    $q40 = myquery("select count(*) from kviz_student where student={$userid} and kviz={$kviz}");
    if (mysql_result($q40, 0, 0) > 0) {
        niceerror("Već ste popunjavali ovaj kviz");
        zamgerlog("vec popunjavan kviz {$kviz}", 3);
        zamgerlog2("vec popunjavan kviz", $kviz);
        return;
    }
    // Ubacujemo da je započeo kviz
    $q50 = myquery("insert into kviz_student set student={$userid}, kviz={$kviz}, dovrsen=0, bodova=0, vrijeme_aktivacije=NOW()");
    // Student može sudjelovati u kvizu pa šaljemo HTML
    ?>
	<html>
	<head>
	<title>Kviz</title>
	<script>
	var Tpocetak=new Date();
	var Tkraj=new Date();
	var active_element;

	function onBlur() {
		if (/*@cc_on!@*/false) { // check for Internet Explorer
			if (active_element != document.activeElement) {
				active_element = document.activeElement;
				return;
			}
		}

		alert('Vaš kviz je obustavljen jer ste pokušali raditi nešto što nije popunjavanje kviza!\nIzgubili ste bodove.');
		var forma=document.getElementsByName('slanje');
		forma[0].submit();
	}

	function ucitavanje() {
		Tkraj.setTime((new Date()).getTime()+<?php 
    echo $trajanje_kviza;
    ?>
*1000); // vrijeme je u milisekundama
		var t = setTimeout("provjeriVrijeme()",1000);
		if (/*@cc_on!@*/false) { // check for Internet Explorer
			active_element = document.activeElement;
			document.onfocusout = onBlur;
		} else {
			window.onblur = onBlur;
		}
		setTimeout("clp_clear();",1000);
	}
	
	function clp_clear() {
		var content=window.clipboardData.getData("Text");
		if (content==null) {
			window.clipboardData.clearData();
		}
		setTimeout("clp_clear();",1000);
	}

	function provjeriVrijeme() {
		var diff=new Date();
		diff.setTime(Tkraj-(new Date()));
		var vrijeme=document.getElementById('vrijeme');

		if (Tkraj<=(new Date())) {
			var forma=document.getElementsByName('slanje');
			forma[0].submit();
			return;
		}

		if (diff.getMinutes()==0 && diff.getSeconds()<30) {
			vrijeme.style.color='#FF0000';
		}
		var s = diff.getSeconds();
		if (s<10) s = "0"+s;
		
		vrijeme.innerHTML = diff.getMinutes()+":"+s;
		setTimeout("provjeriVrijeme()", 1000);
	}

	</script>
	</head>
	<body onload="ucitavanje()">
	<center><h2><?php 
    echo $naziv_predmeta;
    ?>
</h2>
	<h2><?php 
    echo $naziv_ankete;
    ?>
</h2></center>
	<div id="vrijemeinfo" style="width:150px; position:fixed; right:10px; top:20px; background-color: #303030; color:white;">Preostalo vrijeme: <span id="vrijeme"></span></div>
	<?php 
    // Ispisujemo pitanja kviza
    ?>
	<br>
	<?php 
    echo genform("POST", "slanje");
    ?>
	<input type="hidden" name="akcija" value="salji">
	<table width=600px align=center>
	<?php 
    // ISPISI PITANJA
    $i = 0;
    $q100 = myquery("select id, tip, tekst from kviz_pitanje where vidljivo=1 and kviz={$kviz} order by RAND() limit 0,{$broj_pitanja}");
    while ($r100 = mysql_fetch_array($q100)) {
        $i++;
        $pitanje_id = $r100[0];
        $pitanje = $r100[2];
        ?>
			<tr>
				<td valign=top><font size="5" face="serif"><?php 
        echo $i;
        ?>
.</font></td>
				<td><font size="5" face="serif"><?php 
        echo $pitanje;
        ?>
</font>
				<input type="hidden" name="rbrpitanje<?php 
        echo $i;
        ?>
" value="<?php 
        echo $pitanje_id;
        ?>
">
					<br>
					<table>
					<?php 
        // ISPISI ODGOVORE ZA PITANJE
        $q110 = mysql_query("select id, tekst from kviz_odgovor where vidljiv=1 and kviz_pitanje=" . $pitanje_id . " order by RAND()");
        while ($r110 = mysql_fetch_array($q110)) {
            $odgovor = $r110[1];
            $odgovor_id = $r110[0];
            // FIXME: moze mapipulirati id odgovora i pitanja kada salje...
            ?>
							<tr>
								<td><font size="5" face="serif">
								&nbsp;&nbsp; <input name="odgovor[<?php 
            echo $pitanje_id;
            ?>
]" type="radio" value=<?php 
            echo $odgovor_id;
            ?>
>&nbsp;&nbsp;<?php 
            echo $odgovor;
            ?>
								</font></td>
							</tr>
							<?php 
        }
        // kraj ispisa odgovora
        ?>
					</table>
				</td>
			</tr>
			<tr><td colspan="2"><font size="5" face="serif">&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;</font></td></tr>
			<?php 
    }
    // Kraj ispisa pitanja
    ?>
		
	
	</table>	
		
	<br><br>
		<input type="submit" value="Predaj">
	</form>
<!--
	 <div id=navbox style="width:150px; position:fixed; right:10px; top:120px">
		<b><div id=showTime2 style="width:100%; background-color: #303030; color:white;" ></div></b>
		<?php 
    for ($j = 1; $j < $i + 1; $j++) {
        ?>
			<a href="#pitanje<?php 
        echo $j;
        ?>
" style="text-decoration: none; color:white;"><div style="width:100%; background-color: darkgray;" ><b>Pitanje <?php 
        echo $j;
        ?>
</b></div>
		<?php 
    }
    ?>
	 </div>
-->

	</body>
	</html>
	<?php 
}
Ejemplo n.º 28
0
function admin_konzistentnost()
{
    global $userid;
    // Akcije - popravke nekonzistentnosti
    if ($_GET['akcija'] == "upisi_studij") {
        $student = intval($_GET['student']);
        $studij = intval($_GET['studij']);
        $ag = intval($_GET['ag']);
        $semestar = intval($_GET['semestar']);
        // Ubacujemo studij
        $q520 = myquery("insert into student_studij set student={$student}, studij={$studij}, semestar={$semestar}, akademska_godina={$ag}");
        if ($semestar % 2 == 0) {
            $q525 = myquery("select count(*) from student_studij where student={$student} and studij={$studij} and semestar=" . ($semestar - 1) . " and akademska_godina={$ag}");
            if (mysql_result($q525, 0, 0) < 1) {
                $q530 = myquery("insert into student_studij set student={$student}, studij={$studij}, semestar=" . ($semestar - 1) . ", akademska_godina={$ag}");
            }
        }
        zamgerlog("admin/pk: student u{$student} upisan na studij {$studij}, semestar {$semestar}, ag ag{$ag}", 4);
        print "student {$student} upisan na studij {$studij}, semestar {$semestar}, ag {$ag}<br/>";
    }
    if ($_GET['akcija'] == "ispisi_studij") {
        $student = intval($_GET['student']);
        $studij = intval($_GET['studij']);
        $ag = intval($_GET['ag']);
        $semestar = intval($_GET['semestar']);
        // Ubacujemo studij
        $q540 = myquery("delete from student_studij where student={$student} and studij={$studij} and semestar={$semestar} and akademska_godina={$ag} limit 1");
        if ($semestar % 2 == 1) {
            $q545 = myquery("select count(*) from student_studij where student={$student} and studij={$studij} and semestar=" . ($semestar + 1) . " and akademska_godina={$ag}");
            if (mysql_result($q545, 0, 0) > 0) {
                $q550 = myquery("delete from student_studij where student={$student} and studij={$studij} and semestar=" . ($semestar + 1) . " and akademska_godina={$ag} limit 1");
            }
        }
        zamgerlog("admin/pk: student u{$student} ispisan sa studija {$studij}, semestar {$semestar}, ag ag{$ag}", 4);
        print "student {$student} ispisan sa studija {$studij}, semestar {$semestar}, ag {$ag}<br/>";
    }
    if ($_GET['akcija'] == "promijeni_studij") {
        $student = intval($_GET['student']);
        $studij = intval($_GET['studij']);
        $ag = intval($_GET['ag']);
        $semestar = intval($_GET['semestar']);
        // Ubacujemo studij
        $q560 = myquery("update student_studij set studij={$studij} where student={$student} and semestar={$semestar} and akademska_godina={$ag}");
        if ($semestar % 2 == 1) {
            $s2 = $semestar + 1;
        } else {
            $s2 = $semestar - 1;
        }
        $q565 = myquery("select count(*) from student_studij where student={$student} and semestar={$s2} and akademska_godina={$ag}");
        if (mysql_result($q565, 0, 0) > 0) {
            $q570 = myquery("update student_studij set studij={$studij} where student={$student} and semestar={$s2} and akademska_godina={$ag}");
        }
        zamgerlog("admin/pk: student u{$student} prebacen na studij {$studij}, semestar {$semestar}, ag ag{$ag}", 4);
        print "student {$student} prebacen na studij {$studij}, semestar {$semestar}, ag {$ag}<br/>";
    }
    if ($_GET['akcija'] == "brisiocjenu") {
        $student = intval($_GET['student']);
        $predmet = intval($_GET['predmet']);
        $ag = intval($_GET['ag']);
        // Odredjujemo ponudukursa
        $q500 = myquery("select count(*) from konacna_ocjena where predmet={$predmet} and student={$student} and akademska_godina={$ag}");
        if (mysql_result($q500, 0, 0) < 1) {
            niceerror("Nije pronađena ocjena koju treba brisati! student: {$student} predmet: {$predmet} akademska_godina: {$ag}");
            zamgerlog("nije pronađena ocjena koju treba brisati! student: {$student} predmet: {$predmet} akademska_godina: {$ag}", 3);
        } else {
            $q510 = myquery("delete from konacna_ocjena where student={$student} and predmet={$predmet} and akademska_godina={$ag} limit 1");
            zamgerlog("admin/pk: obrisana ocjena - student: u{$student} predmet: p{$predmet} akademska_godina: ag{$ag}", 4);
            print "obrisana ocjena - student: {$student} predmet: {$predmet} akademska_godina: {$ag}<br/>";
        }
    }
    if ($_GET['akcija'] == "upisi_predmet") {
        $student = intval($_GET['student']);
        $predmet = intval($_GET['predmet']);
        $ag = intval($_GET['ag']);
        $studij = intval($_GET['studij']);
        // Odredjujemo ponudukursa
        $q580 = myquery("select pk.id from ponudakursa as pk where pk.predmet={$predmet} and pk.akademska_godina={$ag} and pk.studij={$studij}");
        if (mysql_num_rows($q580) > 0) {
            $pk = mysql_result($q580, 0, 0);
            $q590 = myquery("insert into student_predmet set student={$student}, predmet={$pk}");
            zamgerlog("admin/pk: student u{$student} upisan na predmet p{$pk}", 4);
            print "student {$student} upisan na predmet {$pk}<br/>";
        } else {
            zamgerlog("nije pronadjena ponudakursa za predmet {$predmet}, ag ag{$ag}, studij {$studij}", 3);
            niceerror("Nije pronađena ponudakursa za predmet {$predmet}, ag {$ag}, studij {$studij}");
        }
    }
    if ($_GET['akcija'] == "ispisi_predmet") {
        $student = intval($_GET['student']);
        $predmet = intval($_GET['predmet']);
        $ag = intval($_GET['ag']);
        // Odredjujemo ponudukursa
        $q600 = myquery("select pk.id from ponudakursa as pk, student_predmet as sp where pk.predmet={$predmet} and pk.akademska_godina={$ag} and pk.id=sp.predmet and sp.student={$student}");
        if (mysql_num_rows($q600) > 0) {
            $pk = mysql_result($q600, 0, 0);
            $q590 = myquery("delete from student_predmet where student={$student} and predmet={$pk} limit 1");
            zamgerlog("admin/pk: student u{$student} ispisan sa predmeta p{$pk}", 4);
            print "student {$student} ispisan sa predmeta {$pk}<br/>";
        } else {
            zamgerlog("student u{$student} ne slusa nijedan predmet {$predmet}, ag ag{$ag}", 3);
            niceerror("student {$student} ne slusa nijedan predmet {$predmet}, ag {$ag}");
        }
    }
    // Tip provjere: STUDENTI
    if ($_GET['vrsta'] == "studenti") {
        print "<br/><br/>Rezultati:<br/><ul>";
        // Cache imena predmeta
        $ip = array();
        $q5 = myquery("select id,naziv from predmet");
        while ($r5 = mysql_fetch_row($q5)) {
            $ip[$r5[0]] = $r5[1];
        }
        // Cache imena akademskih godina
        $iag = array();
        $maxag = 0;
        $q6 = myquery("select id,naziv from akademska_godina");
        while ($r6 = mysql_fetch_row($q6)) {
            $iag[$r6[0]] = $r6[1];
            if ($r6[0] > $maxag) {
                $maxag = $r6[0];
            }
        }
        // Cache imena studija
        $istud = array();
        $q7 = myquery("select id,naziv from studij");
        while ($r7 = mysql_fetch_row($q7)) {
            $istud[$r7[0]] = $r7[1];
        }
        $q10 = myquery("select o.id,o.ime,o.prezime,o.brindexa from osoba as o, privilegije as p where p.osoba=o.id and p.privilegija='student' order by o.prezime,o.ime");
        while ($r10 = mysql_fetch_row($q10)) {
            $stud_id = $r10[0];
            $ime = $r10[1];
            $prezime = $r10[2];
            $brindexa = $r10[3];
            // Spisak studija
            $studiji = array();
            $ssemestar = array();
            $q20 = myquery("select studij,semestar,akademska_godina from student_studij where student={$stud_id} order by akademska_godina,semestar");
            while ($r20 = mysql_fetch_row($q20)) {
                $studiji[$r20[2]] = $r20[0];
                if ($r20[1] % 2 == 0 && $ssemestar[$r20[2]] < 1) {
                    ?>
<li>Student <a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                    echo $stud_id;
                    ?>
"><?php 
                    echo $prezime;
                    ?>
 <?php 
                    echo $ime;
                    ?>
 (<?php 
                    echo $brindexa;
                    ?>
)</a> upisan na semestar <?php 
                    echo $r20[1];
                    ?>
 a nije bio upisan na <?php 
                    echo $r20[1] - 1;
                    ?>
 u <?php 
                    echo $iag[$r20[2]];
                    ?>
<br>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=upisi_studij&student=<?php 
                    echo $stud_id;
                    ?>
&studij=<?php 
                    echo $r20[0];
                    ?>
&ag=<?php 
                    echo $r20[2];
                    ?>
&semestar=<?php 
                    echo $r20[1] - 1;
                    ?>
">Upiši studenta na studij '<?php 
                    echo $istud[$r20[0]];
                    ?>
', semestar <?php 
                    echo $r20[1] - 1;
                    ?>
, godina <?php 
                    echo $iag[$r20[2]];
                    ?>
</a><br/>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=ispisi_studij&student=<?php 
                    echo $stud_id;
                    ?>
&studij=<?php 
                    echo $r20[0];
                    ?>
&ag=<?php 
                    echo $r20[2];
                    ?>
&semestar=<?php 
                    echo $r20[1];
                    ?>
">Ispiši studenta sa studija '<?php 
                    echo $istud[$r20[0]];
                    ?>
', semestar <?php 
                    echo $r20[1];
                    ?>
, godina <?php 
                    echo $iag[$r20[2]];
                    ?>
</a>
				</li><?php 
                }
                $ssemestar[$r20[2]] = $r20[1];
            }
            // Kada je slusao predmet i na kojem studiju
            $predmeti = array();
            $pstudij = array();
            $psemestar = array();
            $pobavezan = array();
            $q30 = myquery("select pk.predmet, pk.studij, pk.semestar, pk.akademska_godina, pk.obavezan from student_predmet as sp, ponudakursa as pk where sp.student={$stud_id} and sp.predmet=pk.id order by pk.akademska_godina");
            while ($r30 = mysql_fetch_row($q30)) {
                $predmeti[$r30[0]] = $r30[3];
                $pstudij[$r30[0]] = $r30[1];
                $psemestar[$r30[0]] = $r30[2];
                if ($r30[4] == 1) {
                    $pobavezan[$r30[0]] = 1;
                } else {
                    $pobavezan[$r30[0]] = 0;
                }
            }
            // Kada je ocijenjen
            $ocjene = array();
            $oocjene = array();
            $q40 = myquery("select pk.predmet, pk.akademska_godina, ko.ocjena from konacna_ocjena as ko, ponudakursa as pk where ko.student={$stud_id} and ko.predmet=pk.predmet and ko.akademska_godina=pk.akademska_godina order by pk.akademska_godina");
            while ($r40 = mysql_fetch_row($q40)) {
                if ($ocjene[$r40[0]] > 0) {
                    ?>
<li>Student <a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                    echo $stud_id;
                    ?>
"><?php 
                    echo $prezime;
                    ?>
 <?php 
                    echo $ime;
                    ?>
 (<?php 
                    echo $brindexa;
                    ?>
)</a> dvaput ocijenjen iz predmeta <?php 
                    echo $ip[$r40[0]];
                    ?>
: jednom <?php 
                    echo $iag[$ocjene[$r40[0]]];
                    ?>
, a drugi put <?php 
                    echo $iag[$r40[1]];
                    ?>
<br>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=brisiocjenu&student=<?php 
                    echo $stud_id;
                    ?>
&predmet=<?php 
                    echo $r40[0];
                    ?>
&ag=<?php 
                    echo $ocjene[$r40[0]];
                    ?>
">Obriši ocjenu <?php 
                    echo $oocjene[$r40[0]];
                    ?>
 iz <?php 
                    echo $iag[$ocjene[$r40[0]]];
                    ?>
</a><br/>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=brisiocjenu&student=<?php 
                    echo $stud_id;
                    ?>
&predmet=<?php 
                    echo $r40[0];
                    ?>
&ag=<?php 
                    echo $r40[1];
                    ?>
">Obriši ocjenu <?php 
                    echo $r40[2];
                    ?>
 iz <?php 
                    echo $iag[$r40[1]];
                    ?>
</a>
				</li><?php 
                }
                $ocjene[$r40[0]] = $r40[1];
                $oocjene[$r40[0]] = $r40[2];
            }
            // Slusa predmete koje je vec polozio
            foreach ($ocjene as $predmet => $ag) {
                if ($predmeti[$predmet] > $ag) {
                    ?>
<li>Student <a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                    echo $stud_id;
                    ?>
"><?php 
                    echo $prezime;
                    ?>
 <?php 
                    echo $ime;
                    ?>
 (<?php 
                    echo $brindexa;
                    ?>
)</a> sluša predmet <?php 
                    echo $ip[$predmet];
                    ?>
 (<?php 
                    echo $iag[$predmeti[$predmet]];
                    ?>
) koji je već položio <?php 
                    echo $iag[$ag];
                    ?>
<br/>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=ispisi_predmet&student=<?php 
                    echo $stud_id;
                    ?>
&predmet=<?php 
                    echo $predmet;
                    ?>
&ag=<?php 
                    echo $predmeti[$predmet];
                    ?>
">Ispiši studenta sa predmeta <?php 
                    echo $ip[$predmet];
                    ?>
 u <?php 
                    echo $iag[$predmeti[$predmet]];
                    ?>
</a><br/>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=brisiocjenu&student=<?php 
                    echo $stud_id;
                    ?>
&predmet=<?php 
                    echo $predmet;
                    ?>
&ag=<?php 
                    echo $ag;
                    ?>
">Obriši ocjenu <?php 
                    echo $oocjene[$predmet];
                    ?>
 iz <?php 
                    echo $iag[$ag];
                    ?>
</a>
				</li><?php 
                }
            }
            // Prenio >1 predmeta ili preko dvije godine
            foreach ($ssemestar as $ag => $semestar) {
                $prenio = 0;
                $nazivi = "";
                $ispis_ispis = "";
                $prenio_predmet = 0;
                if ($semestar % 2 == 0) {
                    $s2 = $semestar - 1;
                } else {
                    $s2 = $semestar;
                }
                foreach ($predmeti as $predmet => $agp) {
                    if ($psemestar[$predmet] < $s2 - 2 && $ocjene[$predmet] < 1) {
                        ?>
<li>Student <a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                        echo $stud_id;
                        ?>
"><?php 
                        echo $prezime;
                        ?>
 <?php 
                        echo $ime;
                        ?>
 (<?php 
                        echo $brindexa;
                        ?>
)</a> je prenio predmet <?php 
                        echo $ip[$predmet];
                        ?>
 sa semestra <?php 
                        echo $psemestar[$predmet];
                        ?>
, a sluša semestar <?php 
                        echo $semestar;
                        ?>
, godina <?php 
                        echo $iag[$ag];
                        ?>
! Molimo razriješite ručno.
					</li><?php 
                    } else {
                        if ($psemestar[$predmet] < $s2 && $ocjene[$predmet] < 1) {
                            $prenio++;
                            $nazivi .= $ip[$predmet] . ", ";
                            $ispis_ispis .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href=\"?sta=admin/konzistentnost&vrsta=studenti&akcija=ispisi_predmet&student={$stud_id}&predmet={$predmet}&ag={$predmeti[$predmet]}\">Ispiši studenta sa predmeta " . $ip[$predmet] . " u " . $iag[$predmeti[$predmet]] . "</a><br/>\n";
                            $prenio_predmet = $predmet;
                        }
                    }
                }
                // Prenio više od 1 predmeta
                if ($prenio > 1) {
                    ?>
<li>Student <a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                    echo $stud_id;
                    ?>
"><?php 
                    echo $prezime;
                    ?>
 <?php 
                    echo $ime;
                    ?>
 (<?php 
                    echo $brindexa;
                    ?>
)</a> je prenio <?php 
                    echo $prenio;
                    ?>
 predmeta: <?php 
                    echo $nazivi;
                    ?>
. Molimo razriješite ručno.<br/><?php 
                    echo $ispis_ispis;
                    ?>
</li><?php 
                    // Ne sluša predmet koji je prenio
                } else {
                    if ($prenio == 1 && $predmeti[$prenio_predmet] < $ag && $pobavezan[$prenio_predmet] == 1) {
                        ?>
<li>Student <a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                        echo $stud_id;
                        ?>
"><?php 
                        echo $prezime;
                        ?>
 <?php 
                        echo $ime;
                        ?>
 (<?php 
                        echo $brindexa;
                        ?>
)</a> je prenio predmet <?php 
                        echo $ip[$prenio_predmet];
                        ?>
 u godinu <?php 
                        echo $iag[$ag];
                        ?>
 a nije ga upisao<br/>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=upisi_predmet&student=<?php 
                        echo $stud_id;
                        ?>
&predmet=<?php 
                        echo $prenio_predmet;
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
&studij=<?php 
                        echo $pstudij[$prenio_predmet];
                        ?>
">Upiši studenta na predmet <?php 
                        echo $ip[$prenio_predmet];
                        ?>
 u <?php 
                        echo $iag[$ag];
                        ?>
</a><br/>
				</li><?php 
                    }
                }
                //print "- $prezime $ime $stud_id $prenio<br/>";
                // Preskocio godinu?
                $zadnji_neparni = $semestar - 1;
                if ($semestar % 2 == 0) {
                    $zadnji_parni -= 2;
                }
                if ($ag > 1 && $ssemestar[$ag - 1] > 0 && $ssemestar[$ag - 1] < $zadnji_parni) {
                    ?>
<li>Student <a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                    echo $stud_id;
                    ?>
"><?php 
                    echo $prezime;
                    ?>
 <?php 
                    echo $ime;
                    ?>
 (<?php 
                    echo $brindexa;
                    ?>
)</a> je prešao iz <?php 
                    echo $ssemestar[$ag - 1];
                    ?>
 semestra u <?php 
                    echo $iag[$ag - 1];
                    ?>
 na <?php 
                    echo $semestar;
                    ?>
 semestar u <?php 
                    echo $iag[$ag];
                    ?>
. Molimo razriješite ručno</li><?php 
                }
            }
            $pisao = array();
            foreach ($predmeti as $predmet => $ag) {
                // Nije upisan na fakultet?
                if ($studiji[$ag] < 1) {
                    // kolizija
                    if ($pisao[$psemestar[$predmet]] != 1) {
                        ?>
<li>Student <a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                        echo $stud_id;
                        ?>
"><?php 
                        echo $prezime;
                        ?>
 <?php 
                        echo $ime;
                        ?>
 (<?php 
                        echo $brindexa;
                        ?>
)</a> <?php 
                        echo $iag[$ag];
                        ?>
 slušao predmete sa <?php 
                        echo $psemestar[$predmet];
                        ?>
 semestra a nije bio upisan na fakultet<br/>
					&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=upisi_studij&student=<?php 
                        echo $stud_id;
                        ?>
&studij=<?php 
                        echo $pstudij[$predmet];
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
&semestar=<?php 
                        echo $psemestar[$predmet];
                        ?>
">Upiši studenta na studij '<?php 
                        echo $istud[$pstudij[$predmet]];
                        ?>
', semestar <?php 
                        echo $psemestar[$predmet];
                        ?>
, godina <?php 
                        echo $iag[$ag];
                        ?>
</a><br/>
					&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=ispisi_predmet&student=<?php 
                        echo $stud_id;
                        ?>
&predmet=<?php 
                        echo $predmet;
                        ?>
&ag=<?php 
                        echo $predmeti[$predmet];
                        ?>
">Ispiši studenta sa predmeta <?php 
                        echo $ip[$predmet];
                        ?>
 u <?php 
                        echo $iag[$ag];
                        ?>
 (potencijalno još predmeta)</a>
					</li><?php 
                        $pisao[$psemestar[$predmet]] = 1;
                    }
                } else {
                    if ($pstudij[$predmet] != $studiji[$ag] && $pstudij[$predmet] != 1 && $studiji[$ag] != 1) {
                        // studij 1 = prva godina
                        ?>
<li>Student <a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                        echo $stud_id;
                        ?>
"><?php 
                        echo $prezime;
                        ?>
 <?php 
                        echo $ime;
                        ?>
 (<?php 
                        echo $brindexa;
                        ?>
)</a> <?php 
                        echo $iag[$ag];
                        ?>
 slušao predmet <?php 
                        echo $ip[$predmet];
                        ?>
 sa studija <?php 
                        echo $istud[$pstudij[$predmet]];
                        ?>
 a bio upisan na <?php 
                        echo $istud[$studiji[$ag]];
                        ?>
<br/>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=promijeni_studij&student=<?php 
                        echo $stud_id;
                        ?>
&studij=<?php 
                        echo $pstudij[$predmet];
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
">Prebaci studenta sa '<?php 
                        echo $istud[$studiji[$ag]];
                        ?>
' na '<?php 
                        echo $istud[$pstudij[$predmet]];
                        ?>
' u <?php 
                        echo $iag[$ag];
                        ?>
</a><br/>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=ispisi_predmet&student=<?php 
                        echo $stud_id;
                        ?>
&predmet=<?php 
                        echo $predmet;
                        ?>
&ag=<?php 
                        echo $predmeti[$predmet];
                        ?>
">Ispiši studenta sa predmeta <?php 
                        echo $ip[$predmet];
                        ?>
 u <?php 
                        echo $iag[$ag];
                        ?>
 (potencijalno još predmeta)</a>
				</li>
				<?php 
                    }
                }
            }
            // Nije upisan na predmete sa trenutnog studija (a nije ih ranije polozio)
            foreach ($studiji as $ag => $studij) {
                $s1 = $ssemestar[$ag];
                if ($s1 % 2 == 0) {
                    $s2 = $s1 - 1;
                } else {
                    $s2 = $s1 + 1;
                }
                $q50 = myquery("select id,predmet,semestar from ponudakursa where studij={$studij} and akademska_godina={$ag} and obavezan=1 and (semestar={$s1} or semestar={$s2})");
                while ($r50 = mysql_fetch_row($q50)) {
                    $pk = $r50[0];
                    $predmet = $r50[1];
                    $semestar = $r50[2];
                    if ($ssemestar[$ag] < $semestar) {
                        continue;
                    }
                    if ($ocjene[$predmet] > 0 && $ocjene[$predmet] < $ag) {
                        continue;
                    }
                    $q60 = myquery("select count(*) from student_predmet where predmet={$pk} and student={$stud_id}");
                    if (mysql_result($q60, 0, 0) < 1) {
                        ?>
<li>Student <a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                        echo $stud_id;
                        ?>
"><?php 
                        echo $prezime;
                        ?>
 <?php 
                        echo $ime;
                        ?>
 (<?php 
                        echo $brindexa;
                        ?>
)</a> <?php 
                        echo $iag[$ag];
                        ?>
 nije slušao predmet <?php 
                        echo $ip[$predmet];
                        ?>
 a bio upisan na <?php 
                        echo $istud[$studij];
                        ?>
<br/>
					&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=upisi_predmet&student=<?php 
                        echo $stud_id;
                        ?>
&predmet=<?php 
                        echo $predmet;
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
&studij=<?php 
                        echo $studij;
                        ?>
">Upiši studenta na predmet <?php 
                        echo $ip[$predmet];
                        ?>
 u <?php 
                        echo $iag[$ag];
                        ?>
</a><br/>
					&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href="?sta=admin/konzistentnost&vrsta=studenti&akcija=ispisi_studij&student=<?php 
                        echo $stud_id;
                        ?>
&studij=<?php 
                        echo $studij;
                        ?>
&ag=<?php 
                        echo $ag;
                        ?>
&semestar=<?php 
                        echo $semestar;
                        ?>
">Ispiši studenta sa studija '<?php 
                        echo $istud[$studij];
                        ?>
', semestar <?php 
                        echo $semestar;
                        ?>
, godina <?php 
                        echo $iag[$ag];
                        ?>
</a>
					</li><?php 
                    }
                }
            }
            // Dodati test prenesenih predmeta
        }
        print "</ul>";
    } else {
        // if ($_GET['akcija']...
        ?>
	
	<h3>Provjera konzistentnosti</h3>
	
	<ul>
	<li><a href="?sta=admin/konzistentnost&vrsta=studenti">Provjera konzistentnosti podataka za studente o upisanim predmetima, godina studija itd.</a></li>
	</ul>
	<?php 
    }
}
Ejemplo n.º 29
0
function izvjestaj_ugovoroucenju()
{
    function dajstudenta($stud)
    {
        $q = myquery("select prezime, ime from osoba where id={$stud}");
        return mysql_result($q, 0, 0) . " " . mysql_result($q, 0, 1);
    }
    require "lib/manip.php";
    $debug_student = 0;
    $debug_predmet = 0;
    $novaag = intval($_REQUEST['akademska_godina']);
    if ($novaag == 0) {
        $novaag = intval($_REQUEST['ag']);
    }
    if ($novaag == 0) {
        $q3 = myquery("select id, naziv, aktuelna from akademska_godina order by id desc limit 1");
        $novaag = mysql_result($q3, 0, 0);
    } else {
        $q3 = myquery("select 0, naziv, aktuelna from akademska_godina where id={$novaag}");
        if (mysql_num_rows($q3) < 1) {
            niceerror("Nepoznata akademska godina");
            zamgerlog("nepoznata godina {$ag}", 3);
            return;
        }
    }
    $novaag_naziv = mysql_result($q3, 0, 1);
    $novaag_aktuelna = mysql_result($q3, 0, 2);
    $q5 = myquery("select id, naziv from akademska_godina where id<{$novaag} order by id desc limit 1");
    if (mysql_num_rows($q5) < 1) {
        niceerror("Nije definisana akademska godina prije godine {$novaag_naziv}");
        print "Nemam na osnovu čega da vršim procjenu.";
        return;
    }
    $ag = mysql_result($q5, 0, 0);
    $ag_naziv = mysql_result($q5, 0, 1);
    ?>
<p>Univerzitet u Sarajevu<br/>
Elektrotehnički fakultet Sarajevo</p>
<p>Datum i vrijeme izvještaja: <?php 
    echo date("d. m. Y. H:i");
    ?>
</p>
<?php 
    // Podvrsta izvještaja: IMENA
    // Daje spisak studenata koji su odabrali određeni predmet kroz Ugovor
    $imena = intval($_REQUEST['imena']);
    if ($imena > 0) {
        $q1 = myquery("select naziv from predmet where id={$imena}");
        print "<h2>Spisak studenata koji su odabrali predmet: " . mysql_result($q1, 0, 0) . "</h2>\n";
    }
    // Podvrsta izvještaja: NISU IZABRALI
    // Daje spisak imena studenata koji nisu izabrali izborne predmete
    $nisu_izabrali = $_REQUEST['nisu_izabrali'];
    // Odredićemo vrstu izvještaja kasnije
    $fuzzy = $pola_godine = false;
    // Spisak predmeta koji su imali ispit u septembru
    $ispit_septembar = array();
    $q5 = myquery("select i.id, i.predmet, i.komponenta from ispit as i where i.akademska_godina={$ag} and (MONTH(i.datum)=8 or MONTH(i.datum)=9) and (select count(*) from ispitocjene as io where io.ispit=i.id)>0 order by i.predmet");
    $staripredmet = 0;
    while ($r5 = mysql_fetch_row($q5)) {
        $predmet = $r5[1];
        if ($predmet != $staripredmet) {
            $staripredmet = $predmet;
            $ispit_septembar[$predmet] = array();
        }
        array_push($ispit_septembar[$predmet], "{$r5['0']}-{$r5['2']}");
    }
    // Spisak svih studenata iz zadnje godine
    $q10 = myquery("select student, studij, semestar, plan_studija from student_studij where akademska_godina={$ag} and semestar MOD 2=0");
    while ($r10 = mysql_fetch_row($q10)) {
        $student = $r10[0];
        $studij = $r10[1];
        $semestar = $r10[2];
        $ps = $r10[3];
        // Da li je student već upisan u novoj akademskoj godini?
        $q200 = myquery("select studij, semestar, ponovac from student_studij where student={$student} and akademska_godina={$novaag} order by semestar");
        if (mysql_num_rows($q200) > 0) {
            $novistudij = mysql_result($q200, 0, 0);
            $novisemestar = mysql_result($q200, 0, 1);
            $ponovac = mysql_result($q200, 0, 2);
            // Jeste, samo selektujemo predmete na koje je upisan
            $imakoliziju = false;
            $q210 = myquery("select pk.predmet, pk.semestar from ponudakursa as pk, student_predmet as sp where sp.student={$student} and sp.predmet=pk.id and pk.akademska_godina={$novaag}");
            while ($r210 = mysql_fetch_row($q210)) {
                if ($r210[1] < $novisemestar) {
                    $slusa_prenio_sigurno[$r210[0]]++;
                    if ($imena == $r210[0]) {
                        $q268 = myquery("select prezime, ime, brindexa from osoba where id={$student}");
                        print "- " . mysql_result($q268, 0, 0) . " " . mysql_result($q268, 0, 1) . " (" . mysql_result($q268, 0, 2) . ") - već upisan (prenio)<br>";
                    }
                } else {
                    if ($r210[1] > $novisemestar + 1) {
                        $slusa_kolizija_sigurno[$r210[0]]++;
                        $imakoliziju = true;
                        if ($imena == $r210[0]) {
                            $q268 = myquery("select prezime, ime, brindexa from osoba where id={$student}");
                            print "- " . mysql_result($q268, 0, 0) . " " . mysql_result($q268, 0, 1) . " (" . mysql_result($q268, 0, 2) . ") - kolizija<br>";
                        }
                    } else {
                        if ($ponovac) {
                            $slusa_ponovac_sigurno[$r210[0]]++;
                            if ($novisemestar > 1) {
                                $slusa_odsjek_ponovac[$r210[0]][$novistudij]++;
                            }
                            if ($imena == $r210[0]) {
                                $q268 = myquery("select prezime, ime, brindexa from osoba where id={$student}");
                                print "- " . mysql_result($q268, 0, 0) . " " . mysql_result($q268, 0, 1) . " (" . mysql_result($q268, 0, 2) . ") - već upisan (ponovac) studij {$novistudij}<br>";
                            }
                        } else {
                            $slusa_redovno_sigurno[$r210[0]]++;
                            $slusa_odsjek_sigurno[$r210[0]][$novistudij]++;
                            if ($imena == $r210[0]) {
                                $q268 = myquery("select prezime, ime, brindexa from osoba where id={$student}");
                                print "- " . mysql_result($q268, 0, 0) . " " . mysql_result($q268, 0, 1) . " (" . mysql_result($q268, 0, 2) . ") - već upisan (redovno) studij {$novistudij}<br>";
                            }
                        }
                    }
                }
            }
            // Opšta statistika
            if ($ponovac) {
                $br_ponovac[$novistudij][$novisemestar + 1]++;
            } else {
                if ($novisemestar == 1) {
                    $br_ima_uslov[$novistudij][6]++;
                } else {
                    $br_ima_uslov[$novistudij][$novisemestar - 1]++;
                }
            }
            if ($imakoliziju) {
                $br_kolizija_nema_uslov[$novistudij][$novisemestar + 1]++;
            }
            // Ako nije upisan u parni semestar, uzmimamo još ugovor o učenju i
            // plan studija, pošto je u prenesene predmete i kolizije već upisan
            if ($novaag_aktuelna && mysql_num_rows($q200) == 1) {
                $pola_godine = true;
                // podaci za drugo pola su procjena
                if ($novistudij != $studij) {
                    $q220 = myquery("select godina_vazenja from plan_studija where studij={$novistudij} order by godina_vazenja desc limit 1");
                    $ps = mysql_result($q220, 0, 0);
                }
                // Obavezni predmeti sa sljedećeg semestra
                $novisemestar++;
                $q230 = myquery("select predmet from plan_studija where godina_vazenja={$ps} and studij={$novistudij} and semestar={$novisemestar} and obavezan=1");
                while ($r230 = mysql_fetch_row($q230)) {
                    $predmet = $r230[0];
                    $q240 = myquery("select count(*) from konacna_ocjena where student={$student} and predmet={$predmet} and ocjena>5");
                    if (mysql_result($q240, 0, 0) == 0) {
                        if ($ponovac) {
                            $slusa_ponovac_sigurno[$predmet]++;
                            if ($imena == $predmet) {
                                $q268 = myquery("select prezime, ime, brindexa from osoba where id={$student}");
                                print "- " . mysql_result($q268, 0, 0) . " " . mysql_result($q268, 0, 1) . " (" . mysql_result($q268, 0, 2) . ") - ponovac {$novistudij}<br>";
                            }
                        } else {
                            $slusa_redovno_sigurno[$predmet]++;
                            if ($imena == $predmet) {
                                $q268 = myquery("select prezime, ime, brindexa from osoba where id={$student}");
                                print "- " . mysql_result($q268, 0, 0) . " " . mysql_result($q268, 0, 1) . " (" . mysql_result($q268, 0, 2) . ") {$novistudij}<br>";
                            }
                        }
                    }
                }
                // Ugovor o učenju - studij se mora poklapati sa izabranim
                $q250 = myquery("select id from ugovoroucenju where student={$student} and akademska_godina={$novaag} and studij={$novistudij} and semestar={$novisemestar}");
                if (mysql_num_rows($q250) < 1) {
                    if ($novisemestar == 2) {
                        $novisemestar = 8;
                    }
                    $bezizbornih_redovno_sigurno[$novistudij][$novisemestar - 2]++;
                    if ($nisu_izabrali == "da") {
                        $q251 = myquery("select prezime, ime, brindexa from osoba where id={$student}");
                        $q252 = myquery("select naziv from studij where id={$novistudij}");
                    }
                } else {
                    $uou = mysql_result($q250, 0, 0);
                    $q260 = myquery("select predmet from ugovoroucenju_izborni where ugovoroucenju={$uou}");
                    while ($r260 = mysql_fetch_row($q260)) {
                        $predmet = $r260[0];
                        // Da li je već položio
                        $q265 = myquery("select count(*) from konacna_ocjena where student={$student} and predmet={$predmet} and ocjena>5");
                        if (mysql_result($q265, 0, 0) > 0) {
                            continue;
                        }
                        if ($ponovac) {
                            $slusa_ponovac_sigurno[$r260[0]]++;
                            $slusa_odsjek_ponovac[$r260[0]][$novistudij]++;
                        } else {
                            $slusa_redovno_sigurno[$r260[0]]++;
                            $slusa_odsjek_sigurno[$r260[0]][$novistudij]++;
                        }
                        if ($imena == $predmet) {
                            $q268 = myquery("select prezime, ime, brindexa from osoba where id={$student}");
                            print "- " . mysql_result($q268, 0, 0) . " " . mysql_result($q268, 0, 1) . " (" . mysql_result($q268, 0, 2) . ") ";
                            if ($ponovac) {
                                print "- ponovac";
                            }
                            print "{$studij} <br>";
                        }
                    }
                }
            }
            continue;
            // Sljedeći student
        }
        // 15.10. je krajnji rok za upis na fakultet
        if (date("m") > 10 || date("m") == 10 && date("d") > 15 || date("Y") > substr($novaag_naziv, 0, 4)) {
            continue;
        }
        $fuzzy = true;
        // Izvještaj sadrži nepreciznosti...
        // Student nije upisan u sljedećoj akademskoj godini
        // koristimo Ugovor o učenju i podatke o koliziji da procijenimo njegov status
        global $zamger_predmeti_pao;
        $zamger_predmeti_pao = array();
        $uslov = uslov($student, $ag);
        if ($student == $debug_student) {
            print "predmeti pao ";
            print_r($zamger_predmeti_pao);
            if ($uslov) {
                print " ima uslov<br>";
            } else {
                print " nema uslov<br>";
            }
        }
        // Ima li ugovor o ucenju?
        $izborni_ugovor = array();
        $q20 = myquery("select id, studij, semestar from ugovoroucenju where student={$student} and akademska_godina={$novaag} order by semestar");
        if (mysql_num_rows($q20) < 1) {
            $imaugovor = false;
        } else {
            $imaugovor = true;
        }
        $ugovor_ponovac = false;
        $novistudij = $studij;
        $novisemestar = $semestar + 1;
        $q21 = myquery("select s.institucija, ts.ciklus, ts.trajanje from studij as s, tipstudija as ts where s.id={$studij} and s.tipstudija=ts.id");
        $s_institucija = mysql_result($q21, 0, 0);
        $s_ciklus = mysql_result($q21, 0, 1);
        $s_trajanje = mysql_result($q21, 0, 2);
        if ($imaugovor) {
            $novistudij = mysql_result($q20, 0, 1);
            $novisemestar = mysql_result($q20, 0, 2);
            if ($student == $debug_student) {
                print "ima ugovor {$novistudij} {$novisemestar}<br>";
            }
            // Promjena studija
            if ($novistudij != $studij) {
                // Završio ciklus, upisuje novi studij?
                if ($semestar == $s_trajanje && $novisemestar == 1) {
                    // Uslov je OK!
                    // Za završni semestar zanemarujemo predmet "završni rad"
                    if (!$uslov && count($zamger_predmeti_pao) == 1) {
                        $uslov = true;
                    }
                } else {
                    if ($semestar == $s_trajanje) {
                        // Pretpostavljamo da se prebacuje na raniji semestar drugog studija
                        $ugovor_ponovac = true;
                        // Sljedeći semestar drugog studija
                    } else {
                        if ($novisemestar == $semestar + 1) {
                            // FIXME ponovo provjeriti uslov?
                            $ugovor_ponovac = false;
                            // Raniji semestar drugog studija
                        } else {
                            if ($novisemestar <= $semestar) {
                                $ugovor_ponovac = true;
                            }
                        }
                    }
                }
                // else nešto se čudno dešava
                $q23 = myquery("select godina_vazenja from plan_studija where studij={$novistudij} order by godina_vazenja desc limit 1");
                $ps = mysql_result($q23, 0, 0);
            } else {
                if ($novisemestar <= $semestar) {
                    if ($uslov) {
                        // Student je mislio da će ponavljati
                        $novisemestar = $semestar + 1;
                        $imaugovor = false;
                    } else {
                        // Ponovac
                        $ugovor_ponovac = true;
                    }
                }
            }
        } else {
            // Nema ugovor
            if ($student == $debug_student) {
                print "nema ugovor {$semestar}<br>";
            }
            // Ako je na kraju studija, pretpostavljamo da će upisati novi
            if ($semestar == $s_trajanje) {
                $q22 = myquery("select s.id from studij as s, tipstudija as ts where s.institucija={$s_institucija} and s.tipstudija=ts.id and ts.ciklus=" . ($s_ciklus + 1));
                if (mysql_num_rows($q22) > 0) {
                    $novistudij = mysql_result($q22, 0, 0);
                    $novisemestar = 1;
                    $q23 = myquery("select godina_vazenja from plan_studija where studij={$novistudij} order by godina_vazenja desc limit 1");
                    $ps = mysql_result($q23, 0, 0);
                } else {
                    //nema više studija poslije ovog
                    $novistudij = 0;
                    $novisemestar = 0;
                }
            }
        }
        // Ima li zahtjev za koliziju?
        $kolizija = array();
        $q30 = myquery("select semestar, predmet from kolizija where student={$student} and akademska_godina={$novaag}");
        if (mysql_num_rows($q30) < 1) {
            $imakoliziju = false;
        } else {
            $imakoliziju = true;
        }
        if ($student == $debug_student) {
            print "kolizija " . ($imakoliziju ? 1 : 0) . "<br>";
        }
        // Student koji preko kolizije mijenja studij
        if ($imakoliziju && !$imaugovor) {
            while ($r30 = mysql_fetch_row($q30)) {
                $q31 = myquery("select studij, semestar from plan_studija where predmet={$r30['1']} and obavezan=1 order by godina_vazenja desc limit 1");
                if (mysql_num_rows($q31) > 0) {
                    if ($novistudij != mysql_result($q31, 0, 0)) {
                        $novistudij = mysql_result($q31, 0, 0);
                        $novisemestar = mysql_result($q31, 0, 1);
                        if ($novisemestar % 2 == 0) {
                            $novisemestar--;
                        }
                        if ($student == $debug_student) {
                            print "mijenja smjer preko kolizije {$novistudij} {$novisemestar}<br>";
                        }
                    }
                    break;
                }
            }
            $q30 = myquery("select semestar, predmet from kolizija where student={$student} and akademska_godina={$novaag}");
        }
        // Spisak predmeta sa više godine koje je student položio koliziono
        $polozio_koliziono = array();
        $q35 = myquery("select ko.predmet from konacna_ocjena as ko, student_predmet as sp, ponudakursa as pk where ko.ocjena>5 and ko.student={$student} and ko.predmet=pk.predmet and ko.akademska_godina=pk.akademska_godina and sp.student={$student} and sp.predmet=pk.id and pk.semestar>{$semestar}");
        while ($r35 = mysql_fetch_row($q35)) {
            array_push($polozio_koliziono, $r35[0]);
        }
        if ($student == $debug_student) {
            print "polozio koliziono";
            print_r($polozio_koliziono);
            print "<br>\n";
        }
        // Šta je položio u septembru?
        $pao_septembar = $polozio_septembar = array();
        foreach ($zamger_predmeti_pao as $predmet) {
            $polozio = $pao = false;
            if ($ispit_septembar[$predmet]) {
                foreach ($ispit_septembar[$predmet] as $ispitkomponenta) {
                    list($ispit, $komponenta) = explode("-", $ispitkomponenta);
                    // Da li je student ranije položio ispit?
                    $q60 = myquery("select count(*) from ispit as i, ispitocjene as io, komponenta as k where i.predmet={$predmet} and i.akademska_godina={$ag} and MONTH(i.datum)!=8 and MONTH(i.datum)!=9 and i.komponenta=k.id and io.ispit=i.id and io.student={$student} and io.ocjena>=k.prolaz and k.id={$komponenta}");
                    if (mysql_result($q60, 0, 0) > 0) {
                        continue;
                    }
                    // Jeste
                    // A da li je položio u septembru?
                    $q70 = myquery("select count(*) from ispit as i, ispitocjene as io, komponenta as k where i.id={$ispit} and i.komponenta=k.id and io.ispit=i.id and io.student={$student} and io.ocjena>=k.prolaz");
                    if (mysql_result($q70, 0, 0) > 0) {
                        $polozio = true;
                    } else {
                        $pao = true;
                    }
                }
            }
            // Ako je student ranije položio sve ispite, biće $polozio=$pao=false, znači da mu je ostao još usmeni i ne znamo situaciju
            // Ako je bilo više termina u septembru od kojih je jedan položio a neke nije, biće $polozio=$pao=true, zato prvo gledamo $polozio pa onda $pao
            if ($polozio) {
                array_push($polozio_septembar, $predmet);
            } else {
                if ($pao) {
                    array_push($pao_septembar, $predmet);
                }
            }
        }
        if ($student == $debug_student) {
            print "polozio septembar";
            print_r($polozio_septembar);
            print " pao septembar ";
            print_r($pao_septembar);
            print "<br>";
        }
        // Opšte statistike
        if ($imaugovor) {
            $brugovora++;
        }
        if ($imakoliziju) {
            $brkolizija++;
        }
        if ($imaugovor && $imakoliziju) {
            $broboje++;
        }
        $brstudenata++;
        // SPISAK PO PREDMETIMA
        // Kategorije studenata 1-6
        // 1. Ima uslov
        if ($uslov) {
            if ($student == $debug_student) {
                print "Ima uslov<br>";
            }
            $fali_u_koliziji = 0;
            $q40 = myquery("select predmet from plan_studija where godina_vazenja={$ps} and studij={$novistudij} and (semestar={$novisemestar} or semestar=" . ($novisemestar + 1) . ") and obavezan=1");
            while ($r40 = mysql_fetch_row($q40)) {
                if (!in_array($r40[0], $polozio_koliziono)) {
                    $slusa_redovno_sigurno[$r40[0]]++;
                    $fali_u_koliziji++;
                    $slusa_odsjek_sigurno[$r40[0]][$novistudij]++;
                    //if ($student==$debug_student) { print "ima uslov slusa redovno sigurno $r40[0] po planu studija $ps novistudij $novistudij semestar $novisemestar<br>"; }
                }
            }
            foreach ($zamger_predmeti_pao as $predmet) {
                if (in_array($predmet, $pao_septembar)) {
                    $slusa_prenio_sigurno[$predmet]++;
                } else {
                    if (!in_array($predmet, $polozio_septembar)) {
                        $slusa_prenio_mozda[$predmet]++;
                    }
                }
            }
            // 1A. Ima ugovor o učenju
            if ($imaugovor && !$ugovor_ponovac) {
                $q50 = myquery("select predmet from ugovoroucenju_izborni where ugovoroucenju=" . mysql_result($q20, 0, 0) . " or ugovoroucenju=" . mysql_result($q20, 1, 0));
                while ($r50 = mysql_fetch_row($q50)) {
                    if (!in_array($r50[0], $polozio_koliziono)) {
                        $slusa_redovno_sigurno[$r50[0]]++;
                        $fali_u_koliziji++;
                        $slusa_odsjek_sigurno[$r50[0]][$novistudij]++;
                    }
                }
                // 1B. Nema ugovor o ucenju ili je popunio za ponavljanje
            } else {
                $bezizbornih_redovno_sigurno[$novistudij][$semestar]++;
                // Odredjujemo koliko fali u koliziji
                $q55 = myquery("select count(*) from plan_studija where godina_vazenja={$ps} and studij={$novistudij} and (semestar={$novisemestar} or semestar=" . ($novisemestar + 1) . ") and obavezan=0");
                $fali_u_koliziji += mysql_result($q55, 0, 0);
                if ($nisu_izabrali == "da") {
                    $q251 = myquery("select prezime, ime, brindexa from osoba where id={$student}");
                    $q252 = myquery("select naziv from studij where id={$novistudij}");
                }
            }
            /*		// 1X. Da li ima uslove da koliziono odmah sluša sljedeću godinu?
            		if ($imakoliziju && mysql_result($q30,0,0)>$semestar+2 && $fali_u_koliziji<=3) {
            			while ($r30 = mysql_fetch_row($q30))
            				$slusa_kolizija_sigurno[$r30[1]]++;
            			$br_kolizija_nema_uslov[$novistudij][$semestar+2]++;
            		}*/
            $br_ima_uslov[$novistudij][$semestar]++;
            if (!$imaugovor && $novistudij != 0) {
                $ima_uslov_nema_ugovor[] = $student;
            }
            continue;
        }
        // 2. Ašćare dao uslov u septembru samo ocjene još nisu upisane
        if (count($polozio_septembar) > 0 && count($zamger_predmeti_pao) - count($polozio_septembar) <= 1) {
            if ($student == $debug_student) {
                print "Ašćare ima uslov<br>";
            }
            $fali_u_koliziji = 0;
            $q40 = myquery("select predmet from plan_studija where godina_vazenja={$ps} and studij={$novistudij} and (semestar=" . ($novisemestar + 1) . " or semestar={$novisemestar}) and obavezan=1");
            while ($r40 = mysql_fetch_row($q40)) {
                if (!in_array($r40[0], $polozio_koliziono)) {
                    $slusa_redovno_sigurno[$r40[0]]++;
                    $fali_u_koliziji++;
                    $slusa_odsjek_sigurno[$r40[0]][$novistudij]++;
                }
            }
            foreach ($zamger_predmeti_pao as $predmet) {
                if (in_array($predmet, $pao_septembar)) {
                    $slusa_prenio_sigurno[$predmet]++;
                } else {
                    if (!in_array($predmet, $polozio_septembar)) {
                        $slusa_prenio_mozda[$predmet]++;
                    }
                }
            }
            // 2A. Ima ugovor o učenju
            if ($imaugovor && !$ugovor_ponovac) {
                $q50 = myquery("select predmet from ugovoroucenju_izborni where ugovoroucenju=" . mysql_result($q20, 0, 0) . " or ugovoroucenju=" . mysql_result($q20, 1, 0));
                while ($r50 = mysql_fetch_row($q50)) {
                    if (!in_array($r50[0], $polozio_koliziono)) {
                        $slusa_redovno_sigurno[$r50[0]]++;
                        $fali_u_koliziji++;
                        $slusa_odsjek_sigurno[$r50[0]][$novistudij]++;
                    }
                }
                // 2B. Nema ugovor o ucenju ili je popunio za ponavljanje
            } else {
                $bezizbornih_redovno_sigurno[$studij][$semestar]++;
                // Odredjujemo koliko fali u koliziji
                $q55 = myquery("select count(*) from plan_studija where godina_vazenja={$ps} and studij={$novistudij} and (semestar=" . ($novisemestar + 1) . " or semestar={$novisemestar}) and obavezan=0");
                $fali_u_koliziji += mysql_result($q55, 0, 0);
                if ($nisu_izabrali == "da") {
                    $q251 = myquery("select prezime, ime, brindexa from osoba where id={$student}");
                    $q252 = myquery("select naziv from studij where id={$studij}");
                }
            }
            // 2X. Da li ima uslove da koliziono odmah sluša sljedeću godinu?
            /*		if ($imakoliziju && mysql_result($q30,0,0)>$semestar+2 && $fali_u_koliziji<=3) {
            			while ($r30 = mysql_fetch_row($q30))
            				$slusa_kolizija_sigurno[$r30[1]]++;
            			$br_kolizija_nema_uslov[$novistudij][$semestar+2]++;
            		}*/
            $br_ima_uslov_sept[$novistudij][$semestar]++;
            continue;
        }
        // Šta je student izjavio da će položiti u septembru kako bi stekao pravo na koliziju?
        $kolizioni_septembar = array();
        $ostvario_septembar = true;
        $q80 = myquery("select predmet from septembar where student={$student} and akademska_godina={$ag}");
        while ($r80 = mysql_fetch_row($q80)) {
            if (in_array($r80[0], $pao_septembar)) {
                $ostvario_septembar = false;
            } else {
                if (!in_array($r80[0], $polozio_septembar)) {
                    array_push($kolizioni_septembar, $r80[0]);
                }
            }
        }
        // Ostale kategorije studenata su, prema sadašnjem stanju, ponovci
        foreach ($zamger_predmeti_pao as $predmet) {
            if (in_array($predmet, $pao_septembar)) {
                $slusa_ponovac_sigurno[$predmet]++;
            } else {
                if (!in_array($predmet, $polozio_septembar)) {
                    $slusa_ponovac_mozda[$predmet]++;
                }
            }
        }
        // 3. Ima uslove za koliziju, popunio zahtjev
        if ($student == $debug_student) {
            print "uslov 1 " . (count($zamger_predmeti_pao) - count($polozio_septembar)) . " uslov2 " . ($imakoliziju ? 1 : 0) . " uslov3 " . ($ostvario_septembar ? 1 : 0) . "<br>";
        }
        if (count($zamger_predmeti_pao) - count($polozio_septembar) <= 3 && $imakoliziju && $ostvario_septembar) {
            if ($student == $debug_student) {
                print "Kolizija<br>";
            }
            // Predmeti koje sluša koliziono
            $ovaj_student_kolizija = array();
            while ($r30 = mysql_fetch_row($q30)) {
                $predmet = $r30[1];
                if (!in_array($predmet, $polozio_koliziono)) {
                    // Ako je student ostavio neki predmet za septembar, umjesto njega je izabrao neki drugi na višoj godini, a ne znamo koji - moraće se opredijeliti ako ne položi
                    if (count($kolizioni_septembar) > 0) {
                        $slusa_kolizija_mozda[$predmet]++;
                    } else {
                        $slusa_kolizija_sigurno[$predmet]++;
                    }
                    array_push($ovaj_student_kolizija, $predmet);
                }
            }
            // 3A. Ima šansi da upiše redovno
            if (!$ugovor_ponovac && count($pao_septembar) <= 1) {
                $q40 = myquery("select predmet from plan_studija where godina_vazenja={$ps} and studij={$novistudij} and (semestar=" . ($novisemestar + 1) . " or semestar={$novisemestar}) and obavezan=1");
                while ($r40 = mysql_fetch_row($q40)) {
                    if (!in_array($r40[0], $ovaj_student_kolizija) && !in_array($r40[0], $polozio_koliziono)) {
                        $slusa_redovno_mozda[$r40[0]]++;
                    }
                }
                // 3A1. Ima ugovor o učenju za višu godinu
                if ($imaugovor) {
                    $q50 = myquery("select predmet from ugovoroucenju_izborni where ugovoroucenju=" . mysql_result($q20, 0, 0) . " or ugovoroucenju=" . mysql_result($q20, 1, 0));
                    while ($r50 = mysql_fetch_row($q50)) {
                        if (!in_array($r50[0], $ovaj_student_kolizija) && !in_array($r50[0], $polozio_koliziono)) {
                            $slusa_redovno_mozda[$r50[0]]++;
                        }
                    }
                    // 3A2. Nije popunio ugovor o učenju
                } else {
                    $bezizbornih_redovno_mozda[$novistudij][$semestar]++;
                }
                $br_kolizija_mozda_uslov[$novistudij][$semestar]++;
            } else {
                $br_kolizija_nema_uslov[$novistudij][$semestar]++;
            }
            continue;
        }
        // 4. Nema uslove za koliziju ali smatra da će imati (i ima šansi)
        // Ako nije ostvario septembar, tj. pao je predmet koji je rekao da će položiti, mora ponovo popuniti koliziju
        // Uz svo dužno poštovanje, smatramo da studenti sa više od 5 nepoloženih predmeta nemaju šansi za koliziju
        if ($imakoliziju && $ostvario_septembar && count($zamger_predmeti_pao) - count($polozio_septembar) <= 5 && count($pao_septembar) <= 3) {
            if ($student == $debug_student) {
                print "Možda kolizija<br>";
            }
            // Predmeti koje sluša koliziono
            while ($r30 = mysql_fetch_row($q30)) {
                $predmet = $r30[1];
                if (!in_array($predmet, $polozio_koliziono)) {
                    $slusa_kolizija_mozda[$predmet]++;
                }
            }
            // Smatramo da nije realno da će dati uslov, bez obzira na ugovor
            $br_mozda_kolizija[$novistudij][$semestar]++;
            continue;
        }
        // 5. Nije tražio koliziju, ima šansi za uslov
        if (!$ugovor_ponovac && count($pao_septembar) <= 1 && count($zamger_predmeti_pao) - count($polozio_septembar) <= 3) {
            if ($student == $debug_student) {
                print "Šanse za uslov bez kolizije<br>";
            }
            $q40 = myquery("select predmet from plan_studija where godina_vazenja={$ps} and studij={$novistudij} and (semestar=" . ($novisemestar + 1) . " or semestar={$novisemestar}) and obavezan=1");
            while ($r40 = mysql_fetch_row($q40)) {
                if (!in_array($r40[0], $polozio_koliziono)) {
                    $slusa_redovno_mozda[$r40[0]]++;
                }
            }
            // 5A1. Ima ugovor o učenju za višu godinu
            if ($imaugovor) {
                $q50 = myquery("select predmet from ugovoroucenju_izborni where ugovoroucenju=" . mysql_result($q20, 0, 0) . " or ugovoroucenju=" . mysql_result($q20, 1, 0));
                while ($r50 = mysql_fetch_row($q50)) {
                    if (!in_array($r50[0], $polozio_koliziono)) {
                        $slusa_redovno_mozda[$r50[0]]++;
                    }
                }
                // 5A2. Nije popunio ugovor o učenju
            } else {
                $bezizbornih_redovno_mozda[$novistudij][$semestar]++;
            }
            $br_mozda_uslov[$novistudij][$semestar]++;
            continue;
        }
        if ($student == $debug_student) {
            print "Ponovac<br>";
        }
        // 6. Ostali su pretpostavljamo sigurni ponovci
        $br_ponovac[$studij][$semestar]++;
    }
    // while ($r10...)
    // Kod podizvještaja IMENA ovdje završavamo
    // FIXME dodati i za neparne semestre
    if ($imena > 0) {
        return;
    }
    // Disclaimer
    if ($fuzzy) {
        ?>
	<h2>Procjena broja studenata po predmetu za <?php 
        echo $novaag_naziv;
        ?>
</h2>
	<p><b>Napomena:</b> Procjena broja studenata po predmetu je data na osnovu popunjenih Ugovora o učenju i Zahtjeva za koliziju, pod sljedećim pretpostavkama:
	<ul><li>da se nijedan student neće ispisati sa fakulteta</li>
	<li>da će svi zahtjevi za promjenu odsjeka biti odobreni</li>
	<li>da će student koji u septembru položi pismeni ispit koji ranije nije položio vjerovatno položiti i završni ispit</li></ul></p>
	<?php 
        // Opšte statistike o Ugovoru o učenju koje su interesantne samo za procjenu
        ?>
	<script language="JavaScript">
	function daj(){
		var me = document.getElementById('ima_uslov_nema_ugovor');
		if (me.style.display=="none"){
			me.style.display="inline";
		}
		else {
			me.style.display="none";
		}
	}
	</script>
	<p>U akademskoj <?php 
        echo $ag_naziv;
        ?>
 godini bilo je <?php 
        echo $brstudenata;
        ?>
 studenata.<br>
	Od toga <?php 
        echo $brugovora;
        ?>
 je popunilo ugovor o učenju, a <?php 
        echo $brkolizija;
        ?>
 je popunilo zahtjev za koliziju (<?php 
        echo $broboje;
        ?>
 je popunilo oboje).<br>
	<?php 
        echo count($ima_uslov_nema_ugovor);
        ?>
 studenata ima uslov, a nisu popunili Ugovor o učenju! <img src="images/plus.png" width="13" height="13" id="img-ag-1" onclick="daj()">.</p>
	<div id="ima_uslov_nema_ugovor" style="display:none">
	<?php 
        foreach ($ima_uslov_nema_ugovor as $student) {
            $q99 = myquery("select ime, prezime, brindexa from osoba where id={$student}");
            $r99 = mysql_fetch_row($q99);
            print "{$r99['1']} {$r99['0']} ({$r99['2']})<br>\n";
        }
        ?>
	</div>
	<?php 
    } else {
        if ($pola_godine) {
            ?>
	<h2>Procjena broja studenata po predmetu za <?php 
            echo $novaag_naziv;
            ?>
</h2>
	<p><b>Napomena:</b> Podaci za parni semestar su procijenjeni na osnovu popunjenih Ugovora o učenju pod sljedećim pretpostavkama:
	<ul><li>da se nijedan student neće ispisati nakon završenog neparnog semestra</li>
	<li>da se studenti neće predomisliti za izborne predmete u parnom semestru (na što imaju pravo)</li></ul></p>
	<?php 
        } else {
            ?>
	<h2>Broj studenata po predmetu za <?php 
            echo $novaag_naziv;
            ?>
</h2>
	<?php 
        }
    }
    // --------- ISPIS ----------
    // Po studijima i semestrima
    $q100 = myquery("select ps.predmet, s.id, s.naziv, ps.semestar, ps.obavezan, ts.ciklus, s.institucija from plan_studija as ps, studij as s, tipstudija as ts where ps.studij=s.id and (ps.godina_vazenja=1 or ps.godina_vazenja=4) and s.tipstudija=ts.id order by ts.ciklus, s.naziv, ps.semestar, ps.obavezan DESC");
    // FIXME ukodirani planovi studija
    $oldstudij = $oldsemestar = $oldobavezan = "";
    $predmeti_ispis = array();
    // Ispisujemo podatke "od-do" ili samo jedan broj ako se ne razlikuju
    function od_do($br1, $br2)
    {
        $br1 = intval($br1);
        // ako je blank dobićemo nulu
        $br2 = $br1 + $br2;
        if ($br1 == $br2) {
            return $br1;
        }
        return "{$br1} - {$br2}";
    }
    $qblesavo = myquery("select id, kratkinaziv from studij order by id");
    while ($rblesavo = mysql_fetch_row($qblesavo)) {
        $naziv_studijaa[$rblesavo[0]] = $rblesavo[1];
    }
    while ($r100 = mysql_fetch_row($q100)) {
        $studij = $r100[1];
        $naziv_studija = $r100[2];
        $semestar = $r100[3];
        $obavezan = $r100[4];
        $ciklus = $r100[5];
        $institucija = $r100[6];
        if ($semestar != $oldsemestar || $obavezan == 1) {
            $x = 0;
            foreach ($predmeti_ispis as $predmet => $naziv_predmeta) {
                if ($izborni_print == 1 && $x == 1) {
                    $naziv_predmeta .= " *";
                }
                $x = 1;
                if ($ciklus == 1 && $oldsemestar <= 2) {
                    $slusa_redovno_sigurno[$predmet] = $upisano_na_studij;
                }
                $redovno = od_do($slusa_redovno_sigurno[$predmet], $slusa_redovno_mozda[$predmet]);
                $kolizija = od_do($slusa_kolizija_sigurno[$predmet], $slusa_kolizija_mozda[$predmet]);
                $uk1 = od_do($slusa_redovno_sigurno[$predmet] + $slusa_kolizija_sigurno[$predmet], $slusa_redovno_mozda[$predmet] + $slusa_kolizija_mozda[$predmet]);
                $ponovac = od_do($slusa_ponovac_sigurno[$predmet], $slusa_ponovac_mozda[$predmet]);
                $prenio = od_do($slusa_prenio_sigurno[$predmet], $slusa_prenio_mozda[$predmet]);
                $uk2 = od_do($slusa_redovno_sigurno[$predmet] + $slusa_kolizija_sigurno[$predmet] + $slusa_ponovac_sigurno[$predmet] + $slusa_prenio_sigurno[$predmet], $slusa_redovno_mozda[$predmet] + $slusa_kolizija_mozda[$predmet] + $slusa_ponovac_mozda[$predmet] + $slusa_prenio_mozda[$predmet]);
                $dodaj = $dodajpon = "";
                for ($i = 1; $i < 15; $i++) {
                    if ($i == $studij) {
                        continue;
                    }
                    if ($slusa_odsjek_sigurno[$predmet][$i] > 0 && $slusa_odsjek_sigurno[$predmet][$i] < $slusa_redovno_sigurno[$predmet]) {
                        $dodaj .= " (" . $naziv_studijaa[$i] . " " . $slusa_odsjek_sigurno[$predmet][$i] . ")";
                    }
                    if ($slusa_odsjek_ponovac[$predmet][$i] > 0 && $slusa_odsjek_ponovac[$predmet][$i] < $slusa_ponovac_sigurno[$predmet]) {
                        $dodajpon .= " (" . $naziv_studijaa[$i] . " " . $slusa_odsjek_ponovac[$predmet][$i] . ")";
                    }
                }
                print "<tr><td>{$rbr}</td><td>{$naziv_predmeta}</td><td>{$redovno} {$dodaj}</td><td>{$kolizija}</td><td bgcolor=\"#CCCCCC\">{$uk1}</td><td>{$ponovac} {$dodajpon}</td><td>{$prenio}</td><td bgcolor=\"#CCCCCC\">{$uk2}</td>\n</tr>\n";
                $rbr++;
            }
            $predmeti_ispis = array();
        }
        if ($studij != $oldstudij) {
            if ($oldstudij != "") {
                if ($izborni_print == 1) {
                    $ss = $oldsemestar - 2;
                    $nijeod = od_do($bezizbornih_redovno_sigurno[$studij][$ss], $bezizbornih_redovno_mozda[$studij][$ss]);
                    if ($fuzzy || $pola_godine && $semestar % 2 == 1) {
                        print "<tr><td>&nbsp;</td><td>Nije odabralo izborne predmete</td>\n";
                        print "<td colspan=\"6\" align=\"left\">{$nijeod}</td>\n</tr>\n";
                    }
                }
                print "</table></p>\n\n";
            }
            print "<h2>{$naziv_studija}</h2>\n";
        }
        if ($semestar != $oldsemestar) {
            if ($studij == $oldstudij) {
                if ($izborni_print == 1) {
                    if ($semestar % 2 == 1) {
                        $ss = $semestar - 3;
                    } else {
                        $ss = $semestar - 2;
                    }
                    if ($ss == 0) {
                        $ss = 6;
                    }
                    // FIXME etf specifično
                    $nijeod = od_do($bezizbornih_redovno_sigurno[$studij][$ss], $bezizbornih_redovno_mozda[$studij][$ss]);
                    if ($fuzzy || $pola_godine && $semestar % 2 == 1) {
                        print "<tr><td>&nbsp;</td><td>Nije odabralo izborne predmete</td>\n";
                        print "<td colspan=\"6\" align=\"left\">{$nijeod}</td>\n</tr>\n";
                    }
                }
                print "</table></p>\n\n";
            }
            print "<p><b>{$semestar}. semestar:</b></p>\n";
            // Ispis statistika
            if ($ciklus == 2 && $semestar == 1) {
                $statsem = 6;
                //			$q105 = myquery("select s.id from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.ciklus=1 and s.institucija=$institucija");
                //			$statstudij=mysql_result($q105,0,0);
                $statstudij = $studij;
            } else {
                $statsem = $semestar - 1;
                $statstudij = $studij;
            }
            if ($statsem == 0) {
                // Prvi semestar prvog ciklusa
                // Ako još nije krenula sljedeća godina, ovaj broj će se popunjavati brucošima kako traje upis
                $q107 = myquery("select count(*) from student_studij where studij={$studij} and akademska_godina={$novaag} and semestar=1 and ponovac=0");
                $upisano_na_studij = mysql_result($q107, 0, 0);
                print "<p>Na ovom odsjeku upisano {$upisano_na_studij} redovnih i " . intval($br_ponovac[$studij][2]) . " ponovaca</p>";
                $q107 = myquery("select count(*) from student_studij as ss, studij as s, tipstudija as ts where ss.akademska_godina={$novaag} and ss.semestar=1 and ss.studij=s.id and s.tipstudija=ts.id and ts.ciklus=1 and ss.ponovac=0");
                $upisano_na_studij = mysql_result($q107, 0, 0);
            } else {
                if ($semestar % 2 == 1) {
                    ?>
			<p>Statistike:<br>
			* <?php 
                    if ($fuzzy) {
                        print "Dalo uslov";
                    } else {
                        print "Redovno upisalo";
                    }
                    ?>
: <?php 
                    echo intval($br_ima_uslov[$statstudij][$statsem]);
                    ?>
<br>
			<?php 
                    if ($br_ima_uslov_sept[$statstudij][$statsem] > 0) {
                        ?>
			* Vjerovatno dalo uslov u septembru: <?php 
                        echo intval($br_ima_uslov_sept[$statstudij][$statsem]);
                        ?>
<br>
			<?php 
                    }
                    ?>
			* Kolizija: <?php 
                    echo intval($br_kolizija_mozda_uslov[$statstudij][$statsem] + $br_kolizija_nema_uslov[$statstudij][$statsem]);
                    ?>
 <?php 
                    if ($br_kolizija_mozda_uslov[$statstudij][$statsem] > 0) {
                        ?>
 (od toga <?php 
                        echo intval($br_kolizija_mozda_uslov[$statstudij][$statsem]);
                        ?>
 ima šansi da da uslov)<?php 
                    }
                    ?>
<br><?php 
                    if ($br_mozda_uslov[$statstudij][$statsem] > 0) {
                        ?>
			* Imaju šanse za uslov, a nisu tražili koliziju: <?php 
                        echo intval($br_mozda_uslov[$statstudij][$statsem]);
                        ?>
<br>
			<?php 
                    }
                    if ($br_mozda_kolizija[$statstudij][$statsem] > 0) {
                        ?>
			* Imaju šanse za koliziju: <?php 
                        echo intval($br_mozda_kolizija[$statstudij][$statsem]);
                        ?>
<br>
			<?php 
                    }
                    if ($br_kolizija_mozda_uslov[$studij][$semestar + 1] + $br_mozda_uslov[$studij][$semestar + 1] + $br_mozda_kolizija[$studij][$semestar + 1] > 0) {
                        ?>
			* Sigurnih ponovaca: <?php 
                        echo intval($br_ponovac[$studij][$semestar + 1] + $br_kolizija_nema_uslov[$studij][$semestar + 1]);
                        ?>
<br>
			* Možda ponovaca: <?php 
                        echo intval($br_kolizija_mozda_uslov[$studij][$semestar + 1] + $br_mozda_uslov[$studij][$semestar + 1] + $br_mozda_kolizija[$studij][$semestar + 1]);
                        ?>
<br>
			<?php 
                    } else {
                        ?>
			* Ponovaca: <?php 
                        echo intval($br_ponovac[$studij][$semestar + 1] + $br_kolizija_nema_uslov[$studij][$semestar + 1]);
                        ?>
<br>
			<?php 
                    }
                }
            }
            ?>
		<table border="1" cellspacing="0" cellpadding="2">
		<tr><td>R.br.</td><td>Predmet</td><td>1.<br>Redovno</td><td>2.<br>Kolizija</td><td bgcolor="#CCCCCC">3.<br>(1+2)</td><td>4.<br>Ponovaca</td><td>5.<br>Prenesenih</td><td bgcolor="#CCCCCC">6.<br>UKUPNO (3+4+5)</td></tr>
		<?php 
            $oldstudij = $studij;
            $oldsemestar = $semestar;
            $rbr = 1;
        }
        if ($obavezan == 1) {
            $q110 = myquery("select naziv from predmet where id={$r100['0']}");
            $predmeti_ispis[$r100[0]] = mysql_result($q110, 0, 0);
            $izborni_print = 0;
        } else {
            $q120 = myquery("select p.id, p.naziv from izborni_slot as izs, predmet as p where izs.id={$r100['0']} and izs.predmet=p.id");
            while ($r120 = mysql_fetch_row($q120)) {
                $predmeti_ispis[$r120[0]] = $r120[1];
            }
            $izborni_print = 1;
        }
    }
    // Ispis zadnjih redova...
    $x = 0;
    foreach ($predmeti_ispis as $predmet => $naziv_predmeta) {
        if ($izborni_print == 1 && $x == 1) {
            $naziv_predmeta .= " *";
        }
        $x = 1;
        if ($ciklus == 1 && $oldsemestar <= 2) {
            $slusa_redovno_sigurno[$predmet] = $upisano_na_studij;
        }
        $redovno = od_do($slusa_redovno_sigurno[$predmet], $slusa_redovno_mozda[$predmet]);
        $kolizija = od_do($slusa_kolizija_sigurno[$predmet], $slusa_kolizija_mozda[$predmet]);
        $uk1 = od_do($slusa_redovno_sigurno[$predmet] + $slusa_kolizija_sigurno[$predmet], $slusa_redovno_mozda[$predmet] + $slusa_kolizija_mozda[$predmet]);
        $ponovac = od_do($slusa_ponovac_sigurno[$predmet], $slusa_ponovac_mozda[$predmet]);
        $prenio = od_do($slusa_prenio_sigurno[$predmet], $slusa_prenio_mozda[$predmet]);
        $uk2 = od_do($slusa_redovno_sigurno[$predmet] + $slusa_kolizija_sigurno[$predmet] + $slusa_ponovac_sigurno[$predmet] + $slusa_prenio_sigurno[$predmet], $slusa_redovno_mozda[$predmet] + $slusa_kolizija_mozda[$predmet] + $slusa_ponovac_mozda[$predmet] + $slusa_prenio_mozda[$predmet]);
        print "<tr><td>{$rbr} {$k}</td><td>{$naziv_predmeta}</td><td>{$redovno}</td><td>{$kolizija}</td><td bgcolor=\"#CCCCCC\">{$uk1}</td><td>{$ponovac}</td><td>{$prenio}</td><td bgcolor=\"#CCCCCC\">{$uk2}</td>\n</tr>\n";
        $rbr++;
    }
    $ss = $oldsemestar - 2;
    $nijeod = od_do($bezizbornih_redovno_sigurno[$studij][$ss], $bezizbornih_redovno_mozda[$studij][$ss]);
    if ($fuzzy || $pola_godine && $semestar % 2 == 0) {
        print "<tr><td>&nbsp;</td><td>Nije odabralo izborne predmete</td>\n";
        print "<td colspan=\"6\" align=\"left\">{$nijeod}</td>\n</tr>\n";
    }
    print "</table></p>\n\n";
}
Ejemplo n.º 30
0
function autotest_admin($zadaca, $linkPrefix, $backLink)
{
    if ($_REQUEST['subakcija'] == "promijeni_uslov") {
        $id = intval($_REQUEST['id']);
        $zadatak = intval($_REQUEST['zadatak']);
        $q300 = myquery("SELECT specifikacija FROM autotest_replace WHERE zadaca={$zadaca} AND zadatak={$zadatak} AND tip='funkcija' AND zamijeni='' AND id={$id}");
        if (mysql_num_rows($q300) < 1) {
            niceerror("Nepostojeći uslov");
            zamgerlog("spoofing uslovne funkcije {$id}", 3);
            zamgerlog2("spoofing uslovne funkcije", $id);
            return 0;
        }
        if ($_POST['subakcija'] == "promijeni_uslov" && check_csrf_token()) {
            $specifikacija = my_escape($_REQUEST['specifikacija']);
            $q310 = myquery("UPDATE autotest_replace SET specifikacija='{$specifikacija}' WHERE id={$id}");
            nicemessage("Izmijenjen uslov za autotest");
            zamgerlog("izmijenjen uslov {$id} za autotest (zadaca z{$zadaca})", 2);
            zamgerlog2("izmijenjen uslov za autotest", $id);
            print "<a href=\"{$linkPrefix}\">Nazad</a>\n";
            return 0;
        }
        print genform("POST");
        ?>
		<b>Izmjena prototipa funkcije koja mora postojati u zadatku:</b><br>
		<input type="text" name="specifikacija" size="50" value="<?php 
        echo mysql_result($q300, 0, 0);
        ?>
"><br>
		<input type="submit" value="Izmijeni">
		<input type="button" value="Nazad" onclick="javascript:history.go(-1);">
		</form>
		<?php 
        return 0;
    }
    if ($_REQUEST['subakcija'] == "obrisi_uslov") {
        $id = intval($_REQUEST['id']);
        $zadatak = intval($_REQUEST['zadatak']);
        $q300 = myquery("SELECT specifikacija FROM autotest_replace WHERE zadaca={$zadaca} AND zadatak={$zadatak} AND tip='funkcija' AND zamijeni='' AND id={$id}");
        if (mysql_num_rows($q300) < 1) {
            niceerror("Nepostojeći uslov");
            zamgerlog("spoofing uslovne funkcije {$id}", 3);
            zamgerlog2("spoofing uslovne funkcije", $id);
            return 0;
        }
        if ($_POST['subakcija'] == "obrisi_uslov" && check_csrf_token()) {
            $q320 = myquery("DELETE FROM autotest_replace WHERE id={$id}");
            nicemessage("Obrisan uslov za autotest");
            zamgerlog("obrisan uslov {$id} za autotest (zadaca z{$zadaca})", 2);
            zamgerlog2("obrisan uslov za autotest", $id);
            print "<a href=\"{$linkPrefix}\">Nazad</a>\n";
            return 0;
        }
        print genform("POST");
        ?>
		<b>Da li ste sigurni da želite obrisati obavezni prototip &quot;<?php 
        echo mysql_result($q300, 0, 0);
        ?>
&quot; ?</b><br>
		<input type="submit" value="Da">
		<input type="button" value="Ne" onclick="javascript:history.go(-1);">
		</form>
		<?php 
        return 0;
    }
    if ($_REQUEST['subakcija'] == "dodaj_uslov") {
        $zadatak = intval($_REQUEST['zadatak']);
        if ($_POST['subakcija'] == "dodaj_uslov" && check_csrf_token()) {
            $specifikacija = my_escape($_REQUEST['specifikacija']);
            $q330 = myquery("INSERT INTO autotest_replace SET zadaca={$zadaca}, zadatak={$zadatak}, tip='funkcija', zamijeni='', specifikacija='{$specifikacija}'");
            nicemessage("Dodan uslov za autotest");
            $id = mysql_insert_id();
            zamgerlog("dodan uslov {$id} za autotest (zadaca z{$zadaca})", 2);
            zamgerlog2("dodan uslov za autotest", $id);
            print "<a href=\"{$linkPrefix}\">Nazad</a>\n";
            return 0;
        }
        print genform("POST");
        ?>
		<b>Unesite prototip funkcije koja mora postojati u zadatku:</b><br>
		<input type="text" name="specifikacija" size="50" value=""><br>
		<input type="submit" value="Dodaj">
		<input type="button" value="Nazad" onclick="javascript:history.go(-1);">
		</form>
		<?php 
        return 0;
    }
    if ($_REQUEST['subakcija'] == "promijeni_at") {
        $id = intval($_REQUEST['id']);
        $zadatak = intval($_REQUEST['zadatak']);
        $q340 = myquery("SELECT kod, rezultat, alt_rezultat, fuzzy, global_scope, stdin, partial_match, aktivan, sakriven FROM autotest WHERE zadaca={$zadaca} AND zadatak={$zadatak} AND id={$id}");
        if (mysql_num_rows($q340) < 1) {
            niceerror("Nepostojeći autotest");
            zamgerlog("spoofing autotesta {$id}", 3);
            zamgerlog2("spoofing autotesta", $id);
            return 0;
        }
        if ($_POST['subakcija'] == "promijeni_at" && check_csrf_token()) {
            // Ne možemo koristiti my_escape jer htmlspecialchars zezne znakove < > (između ostalog)
            $kod = mysql_real_escape_string($_REQUEST['kod']);
            $rezultat = mysql_real_escape_string($_REQUEST['rezultat']);
            $alt_rezultat = mysql_real_escape_string($_REQUEST['alt_rezultat']);
            $fuzzy = intval($_REQUEST['fuzzy']);
            $global_scope = mysql_real_escape_string($_REQUEST['global_scope']);
            $stdin = mysql_real_escape_string($_REQUEST['stdin']);
            $stdin = str_replace("\\n", "\n", $stdin);
            $partial_match = intval($_REQUEST['partial_match']);
            $aktivan = intval($_REQUEST['aktivan']);
            $sakriven = intval($_REQUEST['sakriven']);
            if ($sakriven == 0) {
                $sakriven = 1;
            } else {
                $sakriven = 0;
            }
            $q350 = myquery("UPDATE autotest SET kod='{$kod}', rezultat='{$rezultat}', alt_rezultat='{$alt_rezultat}', fuzzy={$fuzzy}, global_scope='{$global_scope}', stdin='{$stdin}', partial_match='{$partial_match}', aktivan={$aktivan}, sakriven={$sakriven} WHERE id={$id}");
            nicemessage("Izmijenjen autotest");
            zamgerlog("izmijenjen autotest {$id} (zadaca z{$zadaca})", 2);
            zamgerlog2("izmijenjen autotest", $id);
            print "<a href=\"{$linkPrefix}\">Nazad</a>\n";
            return 0;
        }
        print genform("POST");
        // Pošto nije pozvan htmlspecialchars prilikom ubacivanja u bazu, moramo ga pozvati sada (prilikom prikaza)
        $stdin = htmlspecialchars(mysql_result($q340, 0, 5));
        $stdin = str_replace("\n", "\\n", $stdin);
        ?>
		<b>Izmjena autotesta:</b><br><br>
		Kod testa:<br><textarea name="kod" rows="10" cols="50"><?php 
        echo htmlspecialchars(mysql_result($q340, 0, 0));
        ?>
</textarea><br>
		Standardni ulaz: <input type="text" name="stdin" size="50" value="<?php 
        echo $stdin;
        ?>
"><br><br>
		(Koristite \n da označite ENTER tipku)<br><br>
		Rezultat: <input type="text" name="rezultat" size="50" value="<?php 
        echo htmlspecialchars(mysql_result($q340, 0, 1));
        ?>
"><br><br>
		Alt. rezultat: <input type="text" name="alt_rezultat" size="50" value="<?php 
        echo htmlspecialchars(mysql_result($q340, 0, 2));
        ?>
"><br>
		(Ostaviti prazno ako ne želite da ponudite dvije varijante rezultata)<br><br>
		Fuzzy matching rezultata: <input type="checkbox" name="fuzzy" value="1" <?php 
        if (mysql_result($q340, 0, 3) == 1) {
            print "CHECKED";
        }
        ?>
><br><br>
		Traženje podstringa u rezultatu: <input type="checkbox" name="partial_match" value="1" <?php 
        if (mysql_result($q340, 0, 6) == 1) {
            print "CHECKED";
        }
        ?>
><br><br>
		Kod koji treba ubaciti u globalni opseg:<br><textarea name="global_scope" rows="10" cols="50"><?php 
        echo htmlspecialchars(mysql_result($q340, 0, 4));
        ?>
</textarea><br>
		Aktivan: <input type="checkbox" name="aktivan" value="1" <?php 
        if (mysql_result($q340, 0, 7) == 1) {
            print "CHECKED";
        }
        ?>
><br><br>
		Javni test (vidljiv studentima): <input type="checkbox" name="sakriven" value="1" <?php 
        if (mysql_result($q340, 0, 8) == 0) {
            print "CHECKED";
        }
        ?>
><br><br>
		<input type="submit" value="Izmijeni">
		<input type="button" value="Nazad" onclick="javascript:history.go(-1);">
		</form>
		<?php 
        return 0;
    }
    if ($_REQUEST['subakcija'] == "obrisi_at") {
        $id = intval($_REQUEST['id']);
        $zadatak = intval($_REQUEST['zadatak']);
        $q340 = myquery("SELECT kod FROM autotest WHERE zadaca={$zadaca} AND zadatak={$zadatak} AND id={$id}");
        if (mysql_num_rows($q340) < 1) {
            niceerror("Nepostojeći autotest");
            zamgerlog("spoofing autotesta {$id}", 3);
            zamgerlog2("spoofing autotesta", $id);
            return 0;
        }
        if ($_POST['subakcija'] == "obrisi_at" && check_csrf_token()) {
            $q345 = myquery("DELETE FROM autotest_rezultat WHERE autotest={$id}");
            $q350 = myquery("DELETE FROM autotest WHERE id={$id}");
            nicemessage("Obrisan autotest");
            zamgerlog("obrisan autotest {$id} (zadaca z{$zadaca})", 2);
            zamgerlog2("obrisan autotest", $id);
            print "<a href=\"{$linkPrefix}\">Nazad</a>\n";
            return 0;
        }
        print genform("POST");
        ?>
		<b>Brisanje autotesta:</b><br><br>
		Da li ste sigurni da želite obrisati autotest sa sljedećim kodom:<br>
		<textarea name="kod" rows="10" cols="50"><?php 
        echo mysql_result($q340, 0, 0);
        ?>
</textarea><br>
		<input type="submit" value="Da">
		<input type="button" value="Ne" onclick="javascript:history.go(-1);">
		</form>
		<?php 
        return 0;
    }
    if ($_REQUEST['subakcija'] == "dodaj_at") {
        $zadatak = intval($_REQUEST['zadatak']);
        if ($_POST['subakcija'] == "dodaj_at" && check_csrf_token()) {
            // Ne možemo koristiti my_escape jer htmlspecialchars zezne znakove < > (između ostalog)
            $kod = mysql_real_escape_string($_REQUEST['kod']);
            $rezultat = mysql_real_escape_string($_REQUEST['rezultat']);
            $alt_rezultat = mysql_real_escape_string($_REQUEST['alt_rezultat']);
            $fuzzy = intval($_REQUEST['fuzzy']);
            $global_scope = mysql_real_escape_string($_REQUEST['global_scope']);
            $stdin = mysql_real_escape_string($_REQUEST['stdin']);
            $stdin = str_replace("\\n", "\n", $stdin);
            $partial_match = intval($_REQUEST['partial_match']);
            $aktivan = intval($_REQUEST['aktivan']);
            $sakriven = intval($_REQUEST['sakriven']);
            if ($sakriven == 0) {
                $sakriven = 1;
            } else {
                $sakriven = 0;
            }
            $q350 = myquery("INSERT INTO autotest SET zadaca={$zadaca}, zadatak={$zadatak}, kod='{$kod}', rezultat='{$rezultat}', alt_rezultat='{$alt_rezultat}', fuzzy={$fuzzy}, global_scope='{$global_scope}', stdin='{$stdin}', partial_match='{$partial_match}', aktivan={$aktivan}, sakriven={$sakriven}");
            nicemessage("Dodan novi autotest");
            $id = mysql_insert_id();
            zamgerlog("dodan novi autotest {$id} (zadaca z{$zadaca})", 2);
            zamgerlog2("dodan novi autotest", $id);
            print "<a href=\"{$linkPrefix}\">Nazad</a>\n";
            return 0;
        }
        print genform("POST");
        ?>
		<b>Novi autotest:</b><br><br>
		Kod testa:<br><textarea name="kod" rows="10" cols="50"></textarea><br>
		Standardni ulaz: <input type="text" name="stdin" size="50" value=""><br><br>
		(Koristite \n da označite ENTER tipku)<br><br>
		Rezultat: <input type="text" name="rezultat" size="50" value=""><br><br>
		Alt. rezultat: <input type="text" name="alt_rezultat" size="50" value=""><br>
		(Ostaviti prazno ako ne želite da ponudite dvije varijante rezultata)<br><br>
		Fuzzy matching rezultata: <input type="checkbox" name="fuzzy" value="1"><br><br>
		Traženje podstringa u rezultatu: <input type="checkbox" name="partial_match" value="1"><br><br>
		Kod koji treba ubaciti u globalni opseg:<br><textarea name="global_scope" rows="10" cols="50"></textarea><br>
		Aktivan: <input type="checkbox" name="aktivan" value="1" CHECKED><br><br>
		Javni test (vidljiv studentima): <input type="checkbox" name="sakriven" value="1" CHECKED><br><br>
		<input type="submit" value="Dodaj">
		<input type="button" value="Nazad" onclick="javascript:history.go(-1);">
		</form>
		<?php 
        return 0;
    }
    if ($_POST['subakcija'] == "kopiraj_at" && check_csrf_token()) {
        $stara_zadaca = intval($_REQUEST['stara_zadaca']);
        $q190 = myquery("SELECT zadatak, kod, rezultat, alt_rezultat, fuzzy, global_scope, pozicija_globala, stdin, partial_match FROM autotest WHERE zadaca={$stara_zadaca}");
        while ($r190 = mysql_fetch_row($q190)) {
            $q195 = myquery("INSERT INTO autotest SET zadaca={$zadaca}, zadatak={$r190['0']}, kod='" . mysql_real_escape_string($r190[1]) . "', rezultat='" . mysql_real_escape_string($r190[2]) . "', alt_rezultat='" . mysql_real_escape_string($r190[3]) . "', fuzzy={$r190['4']}, global_scope='" . mysql_real_escape_string($r190[5]) . "', pozicija_globala='{$r190['6']}', stdin='" . mysql_real_escape_string($r190[7]) . "', partial_match={$r190['8']}");
        }
        nicemessage("Iskopirani testovi sa stare zadaće.");
        zamgerlog("iskopirani autotestovi sa zadace z{$stara_zadaca} na zadacu z{$zadaca})", 2);
        zamgerlog2("iskopirani autotestovi", $stara_zadaca, $zadaca);
    }
    $q200 = myquery("SELECT naziv, zadataka, predmet, akademska_godina FROM zadaca WHERE id={$zadaca}");
    if (mysql_num_rows($q200) < 1) {
        niceerror("Nepoznata zadaća.");
        return;
    }
    $naziv_zadace = mysql_result($q200, 0, 0);
    $broj_zadataka = mysql_result($q200, 0, 1);
    $predmet = mysql_result($q200, 0, 2);
    $ag = mysql_result($q200, 0, 3);
    ?>
	<h2>Autotestovi, <?php 
    echo $naziv_zadace;
    ?>
</h2>
	<p><?php 
    echo $backLink;
    ?>
</p>
	<?php 
    $q205 = myquery("SELECT distinct z.id, z.naziv, ag.naziv FROM zadaca as z, autotest as a, akademska_godina as ag WHERE z.predmet={$predmet} AND z.akademska_godina<{$ag} AND z.akademska_godina=ag.id AND a.zadaca=z.id ORDER BY ag.id desc, z.id");
    if (mysql_num_rows($q205) > 0) {
        ?>
		<h3>Kopiraj testove sa ranijih godina</h3>
		<?php 
        echo genform("POST");
        ?>
		<input type="hidden" name="subakcija" value="kopiraj_at">
		<select name="stara_zadaca">
		<?php 
    }
    $found = 0;
    while ($r205 = mysql_fetch_row($q205)) {
        print "<option value=\"{$r205['0']}\"";
        if ($r205[1] == $naziv_zadace && $found == 0) {
            $found = 1;
            print " CHECKED";
        }
        print ">{$r205['1']} ({$r205['2']})</option>\n";
    }
    if (mysql_num_rows($q205) > 0) {
        print "</select> <input type=\"submit\" value=\" Kreni \"></form>\n";
    }
    for ($zadatak = 1; $zadatak <= $broj_zadataka; $zadatak++) {
        print "<h3>Zadatak {$zadatak}</h3>\n";
        print "<p>Prototipovi funkcija koje moraju postojati u zadatku:\n";
        $q210 = myquery("SELECT id,specifikacija FROM autotest_replace WHERE zadaca={$zadaca} AND zadatak={$zadatak} AND tip='funkcija' AND zamijeni=''");
        while ($r210 = mysql_fetch_row($q210)) {
            print "<br>\n* {$r210['1']} (<a href=\"{$linkPrefix}&subakcija=promijeni_uslov&id={$r210['0']}&zadatak={$zadatak}\">promijeni</a>) (<a href=\"{$linkPrefix}&subakcija=obrisi_uslov&id={$r210['0']}&zadatak={$zadatak}\">obriši</a>)";
        }
        if (mysql_num_rows($q210) < 1) {
            print "<br>\n* nema";
        }
        print "</p>\n<p><a href=\"{$linkPrefix}&subakcija=dodaj_uslov&id={$r210['0']}&zadatak={$zadatak}\">Dodaj zahtijevanu funkciju</a></p>\n";
        ?>
<p><b>Autotestovi:</b></p>
		<table border="1" cellspacing="0" cellpadding="5">
		<tr bgcolor="#CCCCCC"><td>R.br.</td><td>Kod</td><td>Ulaz</td><td>Rezultat</td><td>Alternativni rezultat</td><td>Fuzzy matching?</td><td>Naredbe u globalnom opsegu</td><td>Akcije</td></tr>
		<?php 
        $q220 = myquery("SELECT id, kod, rezultat, alt_rezultat, fuzzy, global_scope, stdin, partial_match FROM autotest WHERE zadaca={$zadaca} AND zadatak={$zadatak}");
        if (mysql_num_rows($q220) < 1) {
            ?>
			<tr><td colspan="8">nije definisan nijedan autotest</td></tr>
			<?php 
        }
        $rbr = 1;
        while ($r220 = mysql_fetch_row($q220)) {
            $kod = htmlentities($r220[1]);
            $altrez = $r220[3];
            if ($altrez == "") {
                $altrez = "&nbsp;";
            }
            $global_kod = htmlentities($r220[5]);
            if ($r220[4] == 0) {
                $fuzzy = "NE";
            } else {
                $fuzzy = "L" . $r220[4];
            }
            if ($r220[7] == 1) {
                if ($fuzzy == "NE") {
                    $fuzzy = "substr";
                } else {
                    $fuzzy .= " substr";
                }
            }
            $stdin = htmlentities($r220[6]);
            ?>
			<tr>
				<td><?php 
            echo $rbr++;
            ?>
</td>
				<td><pre><?php 
            echo $kod;
            ?>
</pre></td>
				<td><pre><?php 
            echo $stdin;
            ?>
</pre></td>
				<td><?php 
            echo $r220[2];
            ?>
</td>
				<td><?php 
            echo $altrez;
            ?>
</td>
				<td><?php 
            echo $fuzzy;
            ?>
</td>
				<td><pre><?php 
            echo $global_kod;
            ?>
</pre></td>
				<td>(<a href="<?php 
            echo $linkPrefix;
            ?>
&subakcija=promijeni_at&id=<?php 
            echo $r220[0];
            ?>
&zadatak=<?php 
            echo $zadatak;
            ?>
">promijeni</a>) (<a href="<?php 
            echo $linkPrefix;
            ?>
&subakcija=obrisi_at&id=<?php 
            echo $r220[0];
            ?>
&zadatak=<?php 
            echo $zadatak;
            ?>
">obriši</a>)</td>
			</tr>
			<?php 
        }
        print "</table>\n";
        print "</p>\n<p><a href=\"{$linkPrefix}&subakcija=dodaj_at&id={$r210['0']}&zadatak={$zadatak}\">Dodaj autotest</a></p>\n";
    }
}