示例#1
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 
}
示例#2
0
function admin_studij()
{
    ?>
<h2>Parametri studija</h2>

<p><a href="?sta=admin/studij&akcija=ag">Akademska godina</a> * <a href="?sta=admin/studij&akcija=inst">Institucija</a> * <a href="?sta=admin/studij&akcija=kanton">Kanton</a> * <a href="?sta=admin/studij&akcija=komponenta">Komponenta ocjene</a> * <a href="?sta=admin/studij&akcija=studij">Studij</a> * <a href="?sta=admin/studij&akcija=tippr">Tipovi predmeta</a></p>

<?php 
    if ($_REQUEST['akcija'] == "ag") {
        print db_grid("akademska_godina");
        print "<br /><hr><br />Dodaj:<br />" . db_form("akademska_godina");
    }
    if ($_REQUEST['akcija'] == "inst") {
        print db_grid("institucija");
        print "<br /><hr><br />Dodaj:<br />" . db_form("institucija");
    }
    if ($_REQUEST['akcija'] == "kanton") {
        print db_grid("kanton");
        print "<br /><hr><br />Dodaj:<br />" . db_form("kanton");
    }
    if ($_REQUEST['akcija'] == "komponenta") {
        print db_grid("komponenta");
        print "<br /><hr><br />Dodaj:<br />" . db_form("komponenta");
    }
    if ($_REQUEST['akcija'] == "studij") {
        print db_grid("studij");
        print "<br /><hr><br />Dodaj:<br />" . db_form("studij");
    }
    if ($_REQUEST['akcija'] == "tippr") {
        //print db_grid("tippredmeta");
        // Ovo trebamo manuelno dok se u libvedran ne doda podrška za many-to-many
        // relacije
        // FIXME!! Ne radi!!
        ?>
	<table border="0"><tr bgcolor="#bbbbbb">
		<td>Naziv</td><td>Komponente</td><td>&nbsp;</td>
	</tr>
	<?php 
        $q10 = myquery("select id,naziv from tippredmeta order by id");
        $bgcolor = "";
        while ($r10 = mysql_fetch_row($q10)) {
            ?>
		<tr <?php 
            echo $bgcolor;
            ?>
><input type="hidden" name="id" value="<?php 
            echo $r10[0];
            ?>
">
			<td><input type="text" name="naziv" value="<?php 
            echo $r10[1];
            ?>
"></td>
			<td><?php 
            if ($bgcolor == "") {
                $bgcolor = "bgcolor=\"#efefef\"";
            } else {
                $bgcolor = "";
            }
            $q20 = myquery("select k.id, k.naziv from komponenta as k, tippredmeta_komponenta as tpk where k.id=tpk.komponenta and tpk.tippredmeta={$r10['0']}");
            while ($r20 = mysql_fetch_row($q20)) {
                print $r20[1] . " (<a href=\"\">izbaci</a>)<br />";
            }
            ?>
(<a href="">dodaj</a>)</td>
			<td><input type="submit" name="izmijeni" value=" Izmijeni ">&nbsp;
			<input type="submit" name="obrisi" value=" Obriši "></td>
		</tr>
		<?php 
        }
        print "</table>\n";
        print "<br /><hr><br />Dodaj:<br />" . db_form("tippredmeta");
    }
}
示例#3
0
function nastavnik_kvizovi()
{
    global $userid, $user_siteadmin;
    global $_lv_;
    // Parametri
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // Naziv predmeta
    $q5 = myquery("select naziv from predmet where id={$predmet}");
    if (mysql_num_rows($q5) < 1) {
        biguglyerror("Nepoznat predmet");
        zamgerlog("ilegalan predmet {$predmet}", 3);
        //nivo 3: greska
        zamgerlog2("nepoznat predmet", $predmet);
        return;
    }
    $predmet_naziv = mysql_result($q5, 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;
    ?>
 - Kvizovi</h3></p>

<p>Napomena: Ovaj modul je još uvijek u fazi razvoja i nije dovoljno testiran. Ne preporučujemo njegovo korištenje.</p>

<?php 
    // Akcija - editovanje pitanja
    if ($_REQUEST['akcija'] == "pitanja") {
        $kviz = intval($_REQUEST['kviz']);
        $q200 = myquery("select naziv, predmet, akademska_godina from kviz where id={$kviz}");
        if (mysql_num_rows($q200) < 1) {
            niceerror("Nepostojeći kviz {$kviz}");
            zamgerlog("editovanje pitanja: nepostojeci kviz {$kviz}", 3);
            zamgerlog2("nepostojeci kviz (editovanje pitanja)", $kviz);
            return;
        }
        if (mysql_result($q200, 0, 1) != $predmet || mysql_result($q200, 0, 2) != $ag) {
            niceerror("Kviz nije sa ovog predmeta");
            zamgerlog("editovanje pitanja: kviz {$kviz} nije sa predmeta pp{$predmet} ag{$ag}", 3);
            zamgerlog2("id kviza i predmeta se ne poklapaju (editovanje pitanja)", $predmet, $ag, $kviz);
            return;
        }
        $naziv_kviza = mysql_result($q200, 0, 0);
        // Subakcije
        if ($_REQUEST['subakcija'] == "potvrda_novo" && check_csrf_token()) {
            $tekst = my_escape($_REQUEST['tekst']);
            $bodova = floatval(str_replace(',', '.', $_REQUEST['bodova']));
            if ($_REQUEST['vidljivo']) {
                $vidljivo = 1;
            } else {
                $vidljivo = 0;
            }
            $tip = my_escape($_REQUEST['tip']);
            $q300 = myquery("insert into kviz_pitanje set kviz={$kviz}, tip='{$tip}', tekst='{$tekst}', bodova={$bodova}, vidljivo={$vidljivo}");
            $pitanje = mysql_insert_id();
            // Ako je korisnik unosio odgovore prije kreiranja pitanja, njihov id pitanja je 0
            $q315 = myquery("update kviz_odgovor set kviz_pitanje={$pitanje} where kviz_pitanje=0");
            nicemessage("Pitanje uspješno dodano");
            zamgerlog2("dodano pitanje na kviz", $pitanje);
            ?>
		<script language="JavaScript">
		location.href='?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja&subakcija=izmijeni&pitanje=<?php 
            echo $pitanje;
            ?>
';
		</script>
		<?php 
            return;
        }
        if ($_REQUEST['subakcija'] == "potvrda_izmjene" && check_csrf_token()) {
            $pitanje = intval($_REQUEST['pitanje']);
            $tekst = my_escape($_REQUEST['tekst']);
            $bodova = floatval(str_replace(',', '.', $_REQUEST['bodova']));
            if ($_REQUEST['vidljivo']) {
                $vidljivo = 1;
            } else {
                $vidljivo = 0;
            }
            $tip = my_escape($_REQUEST['tip']);
            $q320 = myquery("select kviz from kviz_pitanje where id={$pitanje}");
            if (mysql_num_rows($q320) == 0) {
                niceerror("Pitanje je obrisano!");
                zamgerlog("potvrda editovanja pitanja: pitanje {$pitanje} ne postoji", 3);
                zamgerlog2("pitanje na kvizu ne postoji (potvrda editovanja)", $pitanje);
                return;
            }
            if (mysql_result($q320, 0, 0) != $kviz) {
                niceerror("Pitanje nije sa ovog kviza");
                zamgerlog("potvrda editovanja pitanja: pitanje {$pitanje} nije sa kviza {$kviz} (pp{$predmet} ag{$ag})", 3);
                zamgerlog2("id pitanja i kviza se ne poklapaju (potvrda editovanja)", $pitanje, $kviz);
                return;
            }
            $q330 = myquery("update kviz_pitanje set tekst='{$tekst}', tip='{$tip}', bodova={$bodova}, vidljivo={$vidljivo} where id={$pitanje}");
            nicemessage("Pitanje uspješno izmijenjeno");
            zamgerlog2("izmijenjeno pitanje na kvizu", $pitanje);
            ?>
		<script language="JavaScript">
		location.href='?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja&subakcija=izmijeni&pitanje=<?php 
            echo $pitanje;
            ?>
';
		</script>
		<?php 
            return;
        }
        if ($_REQUEST['subakcija'] == "obrisi") {
            // brisanje pitanja - ovdje ce nam trebati potvrda!
            $pitanje = intval($_REQUEST['pitanje']);
            $q320 = myquery("select kviz from kviz_pitanje where id={$pitanje}");
            if (mysql_num_rows($q320) == 0) {
                niceerror("Pitanje je već obrisano!");
                zamgerlog("potvrda brisanja pitanja: pitanje {$pitanje} ne postoji", 3);
                zamgerlog2("pitanje ne postoji (potvrda brisanja)", $pitanje);
                return;
            }
            if (mysql_result($q320, 0, 0) != $kviz) {
                niceerror("Pitanje nije sa ovog kviza");
                zamgerlog("potvrda brisanja pitanja: pitanje {$pitanje} nije sa kviza {$kviz} (pp{$predmet} ag{$ag})", 3);
                zamgerlog2("id pitanja i kviza se ne poklapaju (potvrda brisanja)", $pitanje, $kviz);
                return;
            }
            $q335 = myquery("delete from kviz_odgovor where kviz_pitanje={$pitanje}");
            $q336 = myquery("delete from kviz_pitanje where id={$pitanje}");
            nicemessage("Pitanje uspješno obrisano");
            zamgerlog2("obrisano pitanje sa kviza", $kviz, $pitanje);
            ?>
		<script language="JavaScript">
		location.href='?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja';
		</script>
		<?php 
            return;
        }
        if ($_REQUEST['subakcija'] == "dodaj_odgovor" && check_csrf_token()) {
            $pitanje = intval($_REQUEST['pitanje']);
            $tekst = my_escape($_REQUEST['tekst']);
            if ($_REQUEST['tacan']) {
                $tacan = 1;
            } else {
                $tacan = 0;
            }
            if ($pitanje > 0) {
                $q320 = myquery("select kviz from kviz_pitanje where id={$pitanje}");
                if (mysql_num_rows($q320) == 0 || mysql_result($q320, 0, 0) != $kviz) {
                    niceerror("Pitanje nije sa ovog kviza");
                    zamgerlog("dodavanje odgovora: pitanje {$pitanje} nije sa kviza {$kviz} (pp{$predmet} ag{$ag})", 3);
                    zamgerlog2("id pitanja i kviza se ne poklapaju (dodavanje odgovora)", $pitanje, $kviz);
                    return;
                }
            }
            $q340 = myquery("insert into kviz_odgovor set kviz_pitanje={$pitanje}, tekst='{$tekst}', tacan={$tacan}");
            nicemessage("Odgovor uspješno dodan");
            zamgerlog2("dodan odgovor na pitanje", mysql_insert_id());
            if ($pitanje > 0) {
                ?>
			<script language="JavaScript">
			location.href='?sta=nastavnik/kvizovi&predmet=<?php 
                echo $predmet;
                ?>
&ag=<?php 
                echo $ag;
                ?>
&kviz=<?php 
                echo $kviz;
                ?>
&akcija=pitanja&subakcija=izmijeni&pitanje=<?php 
                echo $pitanje;
                ?>
';
			</script>
			<?php 
            } else {
                ?>
			<script language="JavaScript">
			location.href='?sta=nastavnik/kvizovi&predmet=<?php 
                echo $predmet;
                ?>
&ag=<?php 
                echo $ag;
                ?>
&kviz=<?php 
                echo $kviz;
                ?>
&akcija=pitanja';
			</script>
			<?php 
            }
            return;
        }
        if ($_REQUEST['subakcija'] == "obrisi_odgovor") {
            // && check_csrf_token()) {
            $odgovor = intval($_REQUEST['odgovor']);
            $q350 = myquery("select kp.kviz, kp.id from kviz_pitanje as kp, kviz_odgovor as ko where ko.id={$odgovor} and ko.kviz_pitanje=kp.id");
            if (mysql_num_rows($q350) == 0) {
                // Moguće da je odgovor dat prije pitanja
                $q355 = myquery("select kviz_pitanje from kviz_odgovor where id={$odgovor}");
                if (mysql_num_rows($q355) == 0) {
                    niceerror("Odgovor je već obrisan!");
                    zamgerlog("brisanje odgovora: odgovor {$odgovor} ne postoji", 3);
                    zamgerlog2("odgovor ne postoji (brisanje odgovora)", $odgovor);
                    return;
                }
            } else {
                if (mysql_result($q350, 0, 0) != $kviz) {
                    niceerror("Odgovor ne postoji ili pitanje nije sa ovog kviza");
                    zamgerlog("brisanje odgovora: odgovor {$odgovor} nije sa kviza {$kviz} (pp{$predmet} ag{$ag})", 3);
                    zamgerlog2("id odgovora i kviza se ne poklapaju (brisanje odgovora)", $odgovor, $kviz);
                    return;
                }
            }
            $q360 = myquery("delete from kviz_odgovor where id={$odgovor}");
            nicemessage("Odgovor uspješno obrisan");
            $dodaj = "";
            if (mysql_num_rows($q350) != 0) {
                $dodaj = "&subakcija=izmijeni&pitanje=" . mysql_result($q350, 0, 1);
            }
            zamgerlog2("obrisan odgovor sa kviza", $odgovor, $kviz);
            ?>
		<script language="JavaScript">
		location.href='?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja<?php 
            echo $dodaj;
            ?>
';
		</script>
		<?php 
            return;
        }
        if ($_REQUEST['subakcija'] == "toggle_tacnost") {
            // && check_csrf_token()) {
            $odgovor = intval($_REQUEST['odgovor']);
            $q370 = myquery("select kp.kviz, kp.id, ko.tacan from kviz_pitanje as kp, kviz_odgovor as ko where ko.id={$odgovor} and ko.kviz_pitanje=kp.id");
            if (mysql_num_rows($q370) == 0 || mysql_result($q370, 0, 0) != $kviz) {
                niceerror("Odgovor ne postoji ili pitanje nije sa ovog kviza");
                zamgerlog("toggle tacnost: odgovor {$odgovor} nije sa kviza {$kviz} (pp{$predmet} ag{$ag})", 3);
                zamgerlog2("id odgovora i kviza se ne poklapaju (toggle tacnosti)", $odgovor, $kviz);
                return;
            }
            if (mysql_result($q370, 0, 2) == 1) {
                $tacan = 0;
            } else {
                $tacan = 1;
            }
            $q380 = myquery("update kviz_odgovor set tacan={$tacan} where id={$odgovor}");
            nicemessage("Odgovor proglašen za (ne)tačan");
            zamgerlog2("odgovor proglasen za (ne)tacan", $odgovor, $tacan);
            ?>
		<script language="JavaScript">
		location.href='?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja&subakcija=izmijeni&pitanje=<?php 
            echo mysql_result($q370, 0, 1);
            ?>
';
		</script>
		<?php 
            return;
        }
        if ($_REQUEST['subakcija'] == "kopiraj_pitanja" && check_csrf_token()) {
            $drugi_kviz = intval($_REQUEST['_lv_column_kviz']);
            $q740 = myquery("SELECT naziv FROM kviz WHERE id={$drugi_kviz}");
            // Dozvoljavamo kopiranje sa kviza sa drugog predmeta!?
            if (mysql_num_rows($q740) == 0) {
                niceerror("Nepoznat kviz");
                zamgerlog2("nepoznat ID kviza", $drugi_kviz);
                return;
            }
            $q700 = myquery("SELECT id, tip, tekst, bodova, vidljivo FROM kviz_pitanje WHERE kviz={$drugi_kviz}");
            while ($r700 = mysql_fetch_row($q700)) {
                $staro_pitanje = $r700[0];
                $tekst = mysql_real_escape_string($r700[2]);
                $q710 = myquery("INSERT INTO kviz_pitanje SET kviz={$kviz}, tip='{$r700['1']}', tekst='{$tekst}', bodova={$r700['3']}, vidljivo={$r700['4']}");
                $novo_pitanje = mysql_insert_id();
                // Kreiranje odgovora na pitanje
                $q720 = myquery("SELECT tekst, tacan, vidljiv FROM kviz_odgovor WHERE kviz_pitanje={$staro_pitanje}");
                while ($r720 = mysql_fetch_row($q720)) {
                    $tekst = mysql_real_escape_string($r720[0]);
                    $q730 = myquery("INSERT INTO kviz_odgovor SET kviz_pitanje={$novo_pitanje}, tekst='{$tekst}', tacan={$r720['1']}, vidljiv={$r720['2']}");
                }
            }
            nicemessage("Prekopirana pitanja sa kviza");
            zamgerlog2("prekopirana pitanja sa kviza", $kviz, $drugi_kviz);
            ?>
		<script language="JavaScript">
		location.href='?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja';
		</script>
		<?php 
            return;
        }
        ?>
	<h3>Izmjena pitanja za kviz "<?php 
        echo $naziv_kviza;
        ?>
"</h3>
	<a href="?sta=nastavnik/kvizovi&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
&_lv_nav_id=<?php 
        echo $kviz;
        ?>
">Nazad na podešavanje parametara kviza</a><br><br>
	<table border="0" cellspacing="1" cellpadding="2">
	<tr bgcolor="#999999">
		<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">R.br.</font></td>
		<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Tekst pitanja</font></td>
		<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Odgovori</font></td>
		<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Bodova</font></td>
		<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Vidljivo?</font></td>
		<td>&nbsp;</td>
	</tr>
	<?php 
        $rbr = 0;
        $q210 = myquery("select id, tip, tekst, bodova, vidljivo from kviz_pitanje where kviz={$kviz}");
        while ($r210 = mysql_fetch_row($q210)) {
            // Pribavljamo odgovore
            $odgovori = "";
            $q220 = myquery("select tekst, tacan from kviz_odgovor where kviz_pitanje={$r210['0']} order by tacan desc");
            if (mysql_num_rows($q220) < 1) {
                $odgovori = "<font color=\"red\">Nema ponuđenih odgovora</font>";
            }
            $broj_tacnih = 0;
            while ($r220 = mysql_fetch_row($q220)) {
                $odgovori .= "'{$r220['0']}'";
                if ($r220[1] == 1) {
                    $odgovori .= " (*)";
                    $broj_tacnih++;
                }
                $odgovori .= ", ";
            }
            if (mysql_num_rows($q220) > 0 && $broj_tacnih == 0) {
                $odgovori = "<font color=\"red\">Nije ponuđen tačan odgovor</font><br>\n" . $odgovori;
            } else {
                if (mysql_num_rows($q220) > 0 && $r210[1] == 'mcma' && $broj_tacnih == 1) {
                    $odgovori = "<font color=\"red\">Ponuđen je samo jedan tačan odgovor</font><br>\n" . $odgovori;
                }
            }
            $vidljivo = "NE";
            if ($r210[4] == 1) {
                $vidljivo = "DA";
            }
            $rbr++;
            ?>
		<tr>
			<td><?php 
            echo $rbr;
            ?>
</td>
			<td><?php 
            echo $r210[2];
            ?>
</td>
			<td><?php 
            echo $odgovori;
            ?>
</td>
			<td><?php 
            echo $r210[3];
            ?>
</td>
			<td><?php 
            echo $vidljivo;
            ?>
</td>
			<td><a href="?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja&subakcija=obrisi&pitanje=<?php 
            echo $r210[0];
            ?>
">Obriši</a> *
			<a href="?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja&subakcija=izmijeni&pitanje=<?php 
            echo $r210[0];
            ?>
">Izmijeni</a></td>
		</tr>
		<?php 
        }
        print "</table>\n<br><br>\n";
        if (mysql_num_rows($q210) == 0) {
            print genform("POST");
            ?>
		<input type="hidden" name="subakcija" value="kopiraj_pitanja">
		<p>Kopiraj pitanja sa kviza:<?php 
            $_lv_["where:predmet"] = $predmet;
            $_lv_["where:akademska_godina"] = $ag;
            print db_dropdown("kviz");
            ?>
		<input type="submit" value=" Kreni ">
		</p></form><?php 
        }
        if ($_REQUEST['subakcija'] == "izmijeni") {
            ?>
		<a href="?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja">Dodaj novo pitanje</a><br><br>
		
		<a name="izmjena"></a>
		<b>Izmjena pitanja</b><br>
		<?php 
            $pitanje = intval($_REQUEST['pitanje']);
            $q230 = myquery("select kviz, tip, tekst, bodova, vidljivo from kviz_pitanje where id={$pitanje}");
            if (mysql_num_rows($q230) < 1) {
                niceerror("Nepostojeće pitanje {$pitanje}");
                zamgerlog("editovanje pitanja: nepostojece pitanje {$pitanje}", 3);
                zamgerlog2("nepostojece pitanje (editovanje pitanja)", $pitanje);
                return;
            }
            if (mysql_result($q230, 0, 0) != $kviz) {
                niceerror("Pitanje nije sa ovog kviza");
                zamgerlog("editovanje pitanja: pitanje {$pitanje} nije sa kviza {$kviz} (pp{$predmet} ag{$ag})", 3);
                zamgerlog2("id pitanja i kviza se ne poklapaju (editovanje pitanja)", $pitanje, $kviz);
                return;
            }
            $tip = mysql_result($q230, 0, 1);
            $tekst = mysql_result($q230, 0, 2);
            $bodova = mysql_result($q230, 0, 3);
            if (mysql_result($q230, 0, 4) == 1) {
                $vidljivo = "CHECKED";
            } else {
                $vidljivo = "";
            }
            $subakcija = "potvrda_izmjene";
        } else {
            print "<b>Dodajte novo pitanje</b><br>\n";
            $tekst = $vidljiv = "";
            $bodova = $pitanje = 0;
            $tip = "mcsa";
            $subakcija = "potvrda_novo";
        }
        unset($_REQUEST['subakcija']);
        unset($_GET['subakcija']);
        ?>
	<?php 
        echo genform("POST");
        ?>
	<input type="hidden" name="subakcija" value="<?php 
        echo $subakcija;
        ?>
">
	<input type="hidden" name="pitanje" value="<?php 
        echo $pitanje;
        ?>
">
	<table border="0">
		<tr><td>Tekst pitanja:</td><td><input type="text" size="50" name="tekst" value="<?php 
        echo $tekst;
        ?>
"></td></tr>
		<tr><td>Bodova:</td><td><input type="text" size="5" name="bodova" value="<?php 
        echo $bodova;
        ?>
"></td></tr>
		<tr><td>Tip pitanja:</td><td>
			<select name="tip">
				<option value="mcsa" <?php 
        if ($tip == "mcsa") {
            print "SELECTED";
        }
        ?>
>MCSA</option>
				<option value="mcma" <?php 
        if ($tip == "mcma") {
            print "SELECTED";
        }
        ?>
>MCMA</option>
				<option value="tekstualno" <?php 
        if ($tip == "tekstualno") {
            print "SELECTED";
        }
        ?>
>Tekstualno</option>
			</select>
			<a href="#" onclick="javascript:window.open('legenda-pitanja.html','blah6','width=320,height=300');">Legenda tipova pitanja</a>
		</td></tr>
		<tr><td align="right"><input type="checkbox" name="vidljivo" value="1" <?php 
        echo $vidljivo;
        ?>
></td><td>Pitanje vidljivo</td></tr>
	</table>
	<br>Ponuđeni odgovori:<br>
	<ul>
	<?php 
        $q240 = myquery("select id, tekst, tacan, vidljiv from kviz_odgovor where kviz_pitanje={$pitanje}");
        if (mysql_num_rows($q240) == 0) {
            print "<li>Do sada nije unesen nijedan odgovor</li>\n";
        }
        while ($r240 = mysql_fetch_row($q240)) {
            print "<li>";
            if ($r240[3] == 0) {
                print "<font color=\"#AAAAAA\">";
            }
            print $r240[1];
            if ($r240[2] == 1) {
                print " (TAČAN)";
                $toggle_link = "Proglasi za netačan";
            } else {
                $toggle_link = "Proglasi za tačan";
            }
            if ($r240[3] == 0) {
                print "</font> - nevidljiv";
            }
            ?>
 - <a href="?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja&subakcija=obrisi_odgovor&odgovor=<?php 
            echo $r240[0];
            ?>
">Obriši</a>
		- <a href="?sta=nastavnik/kvizovi&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
&kviz=<?php 
            echo $kviz;
            ?>
&akcija=pitanja&subakcija=toggle_tacnost&odgovor=<?php 
            echo $r240[0];
            ?>
"><?php 
            echo $toggle_link;
            ?>
</a></li>
		<?php 
        }
        ?>
	</ul>
	<input type="submit" value="Promjena pitanja"><br>
	</form>
	<br>
	Dodajte odgovor na ovo pitanje:<br>
	<?php 
        echo genform("POST");
        ?>
	<input type="hidden" name="subakcija" value="dodaj_odgovor">
	<input type="hidden" name="pitanje" value="<?php 
        echo $pitanje;
        ?>
">
	Tekst odgovora: <input type="text" name="tekst" size="50"><br>
	<input type="checkbox" name="tacan" value="1"> Tačan<br>
	<input type="submit" value="Dodaj"><br>
	</form>
	<?php 
        return;
    }
    // Akcija - statistički pregled rezultata kviza
    if ($_REQUEST['akcija'] == "rezultati") {
        $kviz = intval($_REQUEST['kviz']);
        $q600 = myquery("select naziv, predmet, akademska_godina, broj_pitanja, prolaz_bodova from kviz where id={$kviz}");
        if (mysql_num_rows($q600) < 1) {
            niceerror("Nepostojeći kviz {$kviz}");
            zamgerlog("editovanje pitanja: nepostojeci kviz {$kviz}", 3);
            zamgerlog2("nepostojeci kviz (editovanje pitanja)", $kviz);
            return;
        }
        if (mysql_result($q600, 0, 1) != $predmet || mysql_result($q600, 0, 2) != $ag) {
            niceerror("Kviz nije sa ovog predmeta");
            zamgerlog("editovanje pitanja: kviz {$kviz} nije sa predmeta pp{$predmet} ag{$ag}", 3);
            zamgerlog2("id kviza i predmeta se ne poklapaju (editovanje pitanja)", $predmet, $ag, $kviz);
            return;
        }
        $naziv_kviza = mysql_result($q600, 0, 0);
        $max_bodova = mysql_result($q600, 0, 3);
        $prolaz_bodova = mysql_result($q600, 0, 4);
        $broj_bodova = array();
        $ukupno = $max_broj = $ukupno_prolaz = 0;
        for ($i = 0; $i <= $max_bodova; $i++) {
            $q620 = myquery("SELECT COUNT(*) FROM kviz_student WHERE kviz={$kviz} AND dovrsen=1 AND bodova>={$i} AND bodova<" . ($i + 1));
            $broj_bodova[$i] = mysql_result($q620, 0, 0);
            $ukupno += $broj_bodova[$i];
            if ($broj_bodova[$i] > $max_broj) {
                $max_broj = $broj_bodova[$i];
            }
            if ($i >= $prolaz_bodova) {
                $ukupno_prolaz += $broj_bodova[$i];
            }
        }
        $q630 = myquery("SELECT COUNT(*) FROM kviz_student WHERE kviz={$kviz} AND dovrsen=0");
        $nedovrsenih = mysql_result($q630, 0, 0);
        ?>
	<p>Popunilo kviz: <b><?php 
        echo $ukupno;
        ?>
</b> studenata<br />
	Nisu dovršili popunjavanje kviza: <b><?php 
        echo $nedovrsenih;
        ?>
</b> studenata<br />
	Ostvarilo prolazne bodove: <b><?php 
        echo $ukupno_prolaz;
        ?>
</b> studenata (<?php 
        echo procenat($ukupno_prolaz, $ukupno);
        ?>
)</p>
	
	<h3><?php 
        echo $naziv_kviza;
        ?>
</h3>
	<h4>Distribucija bodova</h4>
	<div id="grafik">
		<div style="width:300px;height:200px;margin:5px;">
			<?php 
        foreach ($broj_bodova as $bod => $broj) {
            if ($broj == 0) {
                $broj_pixela_print = 170;
            } else {
                $broj_pixela = $broj / $max_broj * 200;
                $broj_pixela_print = intval(200 - $broj_pixela);
            }
            if ($bod < $prolaz_bodova) {
                $boja = "red";
            } else {
                $boja = "green";
            }
            ?>
				<div style="width:45px; height:200px; background:<?php 
            echo $boja;
            ?>
;margin-left:5px;float:left;">
					<div style="width:45px;height:<?php 
            echo $broj_pixela_print;
            ?>
px;background:white;">&nbsp;</div>
					<span style="color:white;font-size: 25px; text-align: center; ">&nbsp;<?php 
            echo $bod;
            ?>
</span>
				</div>	
				<?php 
        }
        ?>
		</div>
		<div style="width:300px;height:50px;margin:5px;">
			<?php 
        foreach ($broj_bodova as $bod => $broj) {
            ?>
				<div style="width:45px; margin-left:5px; text-align: center; float:left; ">
					<?php 
            echo $broj;
            ?>
 (<?php 
            echo procenat($broj, $ukupno);
            ?>
)
				</div>
				<?php 
        }
        ?>
		</div>
	</div>
	<?php 
        // Statistika pitanja
        ?>
	<h3>Statistika pitanja</h3>
	<table border="1" style="border-collapse:collapse">
	<tr><th>Pitanje</th><th>Uk. odgovora</th><th>Tačnih</th></tr>
	<?php 
        $q640 = myquery("SELECT id, tekst, ukupno, tacnih FROM kviz_pitanje WHERE kviz={$kviz} ORDER BY tacnih/ukupno");
        while ($r640 = mysql_fetch_row($q640)) {
            $id_pitanja = $r640[0];
            $pitanje = $r640[1];
            if (strlen($pitanje) > 60) {
                $skr_pitanje = mb_substr($pitanje, 0, 50) . "...";
            } else {
                $skr_pitanje = $pitanje;
            }
            $odgovora = $r640[2];
            $tacnih = $r640[3];
            ?>
		<tr>
			<td title="<?php 
            echo $pitanje;
            ?>
">
			<a href="?sta=nastavnik/kvizovi&amp;predmet=<?php 
            echo $predmet;
            ?>
&amp;ag=<?php 
            echo $ag;
            ?>
&amp;kviz=<?php 
            echo $kviz;
            ?>
&amp;akcija=pitanja&amp;subakcija=izmijeni&amp;pitanje=<?php 
            echo $id_pitanja;
            ?>
#izmjena"><?php 
            echo $skr_pitanje;
            ?>
</a></td>
			<td><?php 
            echo $odgovora;
            ?>
</td>
			<td><?php 
            echo $tacnih;
            ?>
 (<?php 
            echo procenat($tacnih, $odgovora);
            ?>
)</td>
		</tr>
		<?php 
        }
        ?>
	</table>
	<?php 
        return;
    }
    // Kopiranje kvizova sa prošlogodišnjeg predmeta
    if ($_REQUEST['akcija'] === "prosla_godina" && strlen($_POST['nazad']) < 1) {
        $old_ag = $ag - 1;
        // Ovo je po definiciji prošla godina
        $greska = false;
        $q499 = myquery("SELECT naziv FROM akademska_godina WHERE id={$old_ag}");
        if (mysql_num_rows($q499) == 0) {
            niceerror("Nije pronađena prošla akademska godina.");
            zamgerlog("nije pronadjena akademska godina {$old_ag}");
            zamgerlog2("nije pronadjena akademska godina", $old_ag);
            $greska = true;
        }
        if (!$greska) {
            $q500 = myquery("SELECT naziv FROM kviz WHERE predmet={$predmet} AND akademska_godina={$old_ag}");
            if (mysql_num_rows($q500) == 0) {
                niceerror("Prošle godine nije bio definisan nijedan kviz");
                zamgerlog("prosle godine nije bio definisan nijedan kviz {$predmet} {$old_ag}");
                zamgerlog2("prosle godine nije bio definisan nijedan kviz", $predmet, $old_ag);
                $greska = true;
            }
        }
        if (!$greska && $_REQUEST['potvrda'] === "potvrdjeno" && check_csrf_token()) {
            $q510 = myquery("SELECT id, naziv, vrijeme_pocetak, vrijeme_kraj, ip_adrese, prolaz_bodova, broj_pitanja, trajanje_kviza, aktivan FROM kviz WHERE predmet={$predmet} AND akademska_godina={$old_ag}");
            while ($r510 = mysql_fetch_row($q510)) {
                // Kreiranje novog kviza
                $stari_kviz = $r510[0];
                print "<p>Kopiram kviz {$r510['1']}...</p>";
                $naziv = mysql_real_escape_string($r510[1]);
                $q520 = myquery("INSERT INTO kviz SET naziv='{$naziv}', predmet={$predmet}, akademska_godina={$ag}, vrijeme_pocetak='{$r510['2']}', vrijeme_kraj='{$r510['3']}', ip_adrese='{$r510['4']}', prolaz_bodova={$r510['5']}, broj_pitanja={$r510['6']}, trajanje_kviza={$r510['7']}, aktivan={$r510['8']}");
                $novi_kviz = mysql_insert_id();
                // Kreiranje pitanja
                $q530 = myquery("SELECT id, tip, tekst, bodova, vidljivo FROM kviz_pitanje WHERE kviz={$stari_kviz}");
                while ($r530 = mysql_fetch_row($q530)) {
                    $staro_pitanje = $r530[0];
                    $tekst = mysql_real_escape_string($r530[2]);
                    $q540 = myquery("INSERT INTO kviz_pitanje SET kviz={$novi_kviz}, tip='{$r530['1']}', tekst='{$tekst}', bodova={$r530['3']}, vidljivo={$r530['4']}");
                    $novo_pitanje = mysql_insert_id();
                    // Kreiranje odgovora na pitanje
                    $q550 = myquery("SELECT tekst, tacan, vidljiv FROM kviz_odgovor WHERE kviz_pitanje={$staro_pitanje}");
                    while ($r550 = mysql_fetch_row($q550)) {
                        $tekst = mysql_real_escape_string($r550[0]);
                        $q560 = myquery("INSERT INTO kviz_odgovor SET kviz_pitanje={$novo_pitanje}, tekst='{$tekst}', tacan={$r550['1']}, vidljiv={$r550['2']}");
                    }
                }
            }
            nicemessage("Kopiranje završeno!");
            print "<a href=\"?sta=nastavnik/kvizovi&predmet={$predmet}&ag={$ag}\">Povratak na stranicu kvizova</a>\n";
            return;
        } else {
            if (!$greska) {
                nicemessage("Kopiram sljedeće kvizove iz akademske " . mysql_result($q499, 0, 0) . ". godine.");
                print "\n<ul>\n";
                while ($r500 = mysql_fetch_row($q500)) {
                    print "<li>{$r500['0']}</li>\n";
                }
                print "</ul>\n";
                print genform("POST");
                ?>
		<input type="hidden" name="potvrda" value="potvrdjeno">
		<p>Da li ste sigurni?</p>
		<p><input type="submit" name="nazad" value=" Nazad "> <input type="submit" value=" Potvrda"></p>
		</form>
		<?php 
            }
        }
        return;
    }
    // Korektno brisanje kviza
    if ($_REQUEST['_lv_action_delete']) {
        $kviz = intval($_REQUEST['_lv_column_id']);
        $q200 = myquery("select naziv, predmet, akademska_godina from kviz where id={$kviz}");
        if (mysql_num_rows($q200) < 1) {
            niceerror("Nepostojeći kviz {$kviz}");
            zamgerlog("brisanje kviza: nepostojeci kviz {$kviz}", 3);
            zamgerlog2("nepostojeci kviz (brisanje kviza)", $kviz);
            return;
        }
        if (mysql_result($q200, 0, 1) != $predmet || mysql_result($q200, 0, 2) != $ag) {
            niceerror("Kviz nije sa ovog predmeta");
            zamgerlog("brisanje kviza: kviz {$kviz} nije sa predmeta pp{$predmet} ag{$ag}", 3);
            zamgerlog2("id kviza i predmeta se ne poklapaju (brisanje kviza)", $predmet, $ag, $kviz);
            return;
        }
        $q400 = myquery("select id from kviz_pitanje where kviz={$kviz}");
        // Brisemo odgovore
        while ($r400 = mysql_fetch_row($q400)) {
            $q410 = myquery("delete from kviz_odgovor where kviz_pitanje={$r400['0']}");
        }
        $q420 = myquery("delete from kviz_pitanje where kviz={$kviz}");
        $q430 = myquery("delete from kviz_student where kviz={$kviz}");
        // db_form() će pobrisati stavku iz tabele kviz
        zamgerlog2("obrisan kviz", $predmet, $ag, $kviz);
    }
    // Provjeravamo da li je raspon dobro unesen
    if (($_REQUEST['_lv_action'] == "edit" || $_REQUEST['_lv_action'] == "add") && !$_REQUEST['_lv_action_delete']) {
        $ip_adresa_losa = false;
        if ($_REQUEST['_lv_action'] == "edit") {
            $id_kviza = intval($_REQUEST['_lv_column_id']);
            // Dodajemo logging
            zamgerlog("izmijenjen kviz {$id_kviza} (pp{$predmet})", 2);
            zamgerlog2("izmijenjen kviz", $id_kviza);
        } else {
            $labgrupa = intval($_REQUEST['_lv_column_labgrupa']);
            $naziv = my_escape($_REQUEST['_lv_column_naziv']);
            $pb = floatval($_REQUEST['_lv_column_prolaz_bodova']);
            $q100 = myquery("select id from kviz where predmet={$predmet} and akademska_godina={$ag} and naziv='{$naziv}' and labgrupa={$labgrupa} and prolaz_bodova={$pb}");
            $id_kviza = mysql_result($q100, 0, 0);
            zamgerlog("dodan novi kviz {$id_kviza} (pp{$predmet})", 2);
            zamgerlog2("dodan kviz", $id_kviza);
        }
        $ip_adrese = $_REQUEST['_lv_column_ip_adrese'];
        foreach (explode(",", $ip_adrese) as $blok) {
            if (strstr($blok, "/")) {
                // blok adresa u CIDR formatu
                list($baza, $maska) = explode("/", $blok);
                if ($baza != long2ip(ip2long($baza))) {
                    $ip_adresa_losa = true;
                    break;
                }
                if ($maska != intval($maska)) {
                    $ip_adresa_losa = true;
                    break;
                }
                if ($maska < 1 || $maska > 32) {
                    $ip_adresa_losa = true;
                    break;
                }
            } else {
                if (strstr($blok, "-")) {
                    // raspon adresa sa crticom
                    list($pocetak, $kraj) = explode("-", $blok);
                    if ($pocetak != long2ip(ip2long($pocetak))) {
                        $ip_adresa_losa = true;
                        break;
                    }
                    if ($kraj != long2ip(ip2long($kraj))) {
                        $ip_adresa_losa = true;
                        break;
                    }
                } else {
                    // pojedinačna adresa
                    if ($blok != long2ip(ip2long($blok))) {
                        $ip_adresa_losa = true;
                        break;
                    }
                }
            }
        }
        // Vraćamo se na editovanje lošeg kviza
        if ($ip_adresa_losa) {
            $_REQUEST['_lv_nav_id'] = $id_kviza;
            $_GET['_lv_nav_id'] = $id_kviza;
            $_POST['_lv_nav_id'] = $id_kviza;
            niceerror("Neispravan format IP adrese");
            ?>
		<p>Raspon IP adresa treba biti u jednom od formata:<br>
		- CIDR format (npr. 123.45.67.89/24)<br>
		- raspon početak-kraj sa crticom (npr. 123.45.67.89-123.45.67.98)<br>
		- pojedinačna adresa<br>
		Takođe možete navesti više raspona ili pojedinačnih adresa razdvojenih zarezom.</p>
		<?php 
        }
    }
    // Spisak postojećih kvizova
    $_lv_["where:predmet"] = $predmet;
    $_lv_["where:akademska_godina"] = $ag;
    $_lv_["new_link"] = "Unos novog kviza";
    print "Odaberite neki od postojećih kvizova koji želite administrirati:<br/>\n";
    print db_list("kviz");
    $q1000 = myquery("SELECT COUNT(*) FROM kviz WHERE predmet={$predmet} AND akademska_godina={$ag}");
    if (mysql_result($q1000, 0, 0) == 0) {
        print "<p><a href=\"?sta=nastavnik/kvizovi&predmet={$predmet}&ag={$ag}&akcija=prosla_godina\">Prekopiraj kvizove sa prošle akademske godine</a></p>\n";
    }
    print "<hr>\n";
    $kviz = intval($_REQUEST['_lv_nav_id']);
    if ($kviz > 0) {
        ?>
	<h3>Izmjena kviza</h3>
	<ul>
		<li><a href="?sta=nastavnik/kvizovi&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
&kviz=<?php 
        echo $kviz;
        ?>
&akcija=pitanja">Izmijenite pitanja na kvizu</a></li>
		<li><a href="?sta=nastavnik/kvizovi&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
&kviz=<?php 
        echo $kviz;
        ?>
&akcija=rezultati">Rezultati kviza (do sada poslani odgovori)</a></li>
	</ul>
	<?php 
    } else {
        ?>
	<h3>Kreiranje novog kviza</h3>
	<p>Unesite podatke o novom kvizu koji želite kreirati:</p><br>
	<?php 
    }
    $_lv_["label:vrijeme_pocetak"] = "Početak";
    $_lv_["label:vrijeme_kraj"] = "Kraj";
    $_lv_["label:labgrupa"] = "Samo za studente iz grupe";
    $_lv_["label:ip_adrese"] = "Ograniči na IP adrese";
    $_lv_["label:prolaz_bodova"] = "Minimum bodova za prolaz";
    $_lv_["label:trajanje_kviza"] = "Trajanje kviza (u sekundama)";
    $_lv_["hidden:predmet"] = 1;
    $_lv_["hidden:akademska_godina"] = 1;
    print db_form("kviz", "kvizform");
    // Markiramo loše polje
    if ($ip_adresa_losa) {
        ?>
	<script>
	var element = document.getElementsByName('_lv_column_ip_adrese');
	element[0].style.backgroundColor = "#FF9999";
	element[0].focus();
	element[0].select();
	</script>
	<?php 
    }
}