Esempio n. 1
0
function common_savjet_dana()
{
    global $userid;
    global $user_student, $user_nastavnik, $user_studentska, $user_siteadmin;
    if ($_REQUEST['akcija'] == "ne_prikazuj" && $_REQUEST['ne_prikazuj'] && check_csrf_token()) {
        ?>
	<h2>Da li ste znali...</h2>
	<p>Prozor "Da li ste znali..." više neće biti prikazivan.</p>
	<p>Ako ga kasnije budete željeli reaktivirati, možete to učiniti kroz vaš Profil.</p>
	<?php 
        $q20 = myquery("delete from preference where korisnik={$userid} and preferenca='savjet_dana'");
        $q30 = myquery("insert into preference set korisnik={$userid}, preferenca='savjet_dana', vrijednost=0");
        zamgerlog("iskljucio savjet dana", 2);
        zamgerlog2("iskljucio savjet dana");
        return;
    }
    if ($user_nastavnik) {
        $upit .= "vrsta_korisnika='nastavnik' or ";
    }
    if ($user_student) {
        $upit .= "vrsta_korisnika='student' or ";
    }
    if ($user_siteadmin) {
        $upit .= "vrsta_korisnika='siteadmin' or ";
    }
    if ($user_studentska) {
        $upit .= "vrsta_korisnika='studentska' or ";
    }
    $q10 = myquery("select tekst from savjet_dana where {$upit} 0 order by rand() limit 1");
    // 0 zbog zadnjeg or
    ?>
<h2>Da li ste znali...</h2>

<img src="images/savjet_dana.gif" align="left" width="92" height="150" style="margin: 0px 20px">

<?php 
    echo mysql_result($q10, 0, 0);
    ?>

<hr>

<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="akcija" value="ne_prikazuj">
<input type="checkbox" name="ne_prikazuj">
Ne prikazuj više savjet dana 
<input type="submit" value="Potvrda" class="default"> <input type="button" onclick="window.close()" value="Zatvori" class="default">
<input type="button" onclick="window.location.reload(true)" value="Novi savjet" class="default">
</form>
<?php 
}
Esempio n. 2
0
function nastavnik_prijava_ispita()
{
    require "lib/manip.php";
    global $userid, $user_siteadmin;
    //parametri
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    $ispit = intval($_REQUEST['ispit']);
    $termin = intval($_REQUEST['termin']);
    // Funkcija dodaje nulu na početak stringa
    function nuliraj($v)
    {
        if ($v < 10) {
            $v = '0' . $v;
        }
        return $v;
    }
    // Da li korisnik ima pravo uci 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/prijava_ispita privilegije (predmet pp{$predmet}, ag{$ag})", 3);
            zamgerlog2("nije nastavnik na predmetu", $predmet, $ag);
            biguglyerror("Nemate pravo pristupa ovoj opciji");
            return;
        }
    }
    // Provjera ispita
    $q20 = myquery("(select UNIX_TIMESTAMP(i.datum), k.id, k.gui_naziv from ispit as i, komponenta as k where i.id={$ispit} and i.predmet={$predmet} and i.akademska_godina={$ag} and i.komponenta=k.id) union (select UNIX_TIMESTAMP(i.datum), d.id, d.naziv from ispit as i, dogadjaj as d where i.id={$ispit} and i.predmet={$predmet} and i.akademska_godina={$ag} and i.komponenta=d.id);");
    if (mysql_num_rows($q20) < 1) {
        niceerror("Nepostojeći ispit");
        zamgerlog("nepostojeci ispit {$ispit} ili nije sa predmeta (pp{$predmet}, ag{$ag})", 3);
        return;
    }
    // Podaci za ispis
    $finidatum = date("d. m. Y", mysql_result($q20, 0, 0));
    $tipispita = mysql_result($q20, 0, 2);
    $q30 = myquery("select naziv from predmet where id={$predmet}");
    $predmet_naziv = mysql_result($q30, 0, 0);
    ?>

<br/>
<h3><?php 
    echo $predmet_naziv;
    ?>
 - Termini ispita</h3>

<h4><?php 
    echo $tipispita;
    ?>
, <?php 
    echo $finidatum;
    ?>
</h4>
<a href="?sta=izvjestaj/termini_ispita&ispit=<?php 
    echo $ispit;
    ?>
">Izvještaj</a> 

<?php 
    // Informativna poruka
    if (!$_REQUEST['akcija']) {
        ?>
	<p>Definisanjem jednog ili više termina ispita omogućujete studentima da se prijavljuju za ispit kroz Zamger koristeći modul "Prijava ispita".<br />
	Korištenje ove mogućnosti nije obavezno - ukoliko samo želite unijeti rezultate, nemojte kreirati termine.</p>
	
	<p><a href="?sta=nastavnik/ispiti&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
"><<< Nazad</a></p>
	
	<?php 
    }
    $dan = 0;
    // Ovo će biti promijenjeno u slučaju izmjene
    // Provjera da li ispitni termin pripada ispitu
    if ($termin) {
        $q40 = myquery("SELECT count(*) FROM ispit_termin as it, ispit as i WHERE it.id={$termin} AND it.ispit=i.id AND i.id={$ispit} ");
        if (mysql_result($q40, 0, 0) < 1) {
            zamgerlog("termin ne pripada ispitu", 3);
            zamgerlog2("id termina i ispita se ne poklapaju", $termin, $ispit);
            biguglyerror("Ispitni termin ne pripada datom ispitu");
            return;
        }
    }
    // AKCIJE
    // Akcija koja briše ispitni termin
    if ($_REQUEST['akcija'] == "obrisi") {
        $q70 = myquery("select count(*) from student_ispit_termin where ispit_termin={$termin}");
        $broj_studenata = mysql_result($q70, 0, 0);
        $q80 = myquery("select UNIX_TIMESTAMP(datumvrijeme) from ispit_termin where id={$termin}");
        $datumvrijeme = date("d. m. Y. h:i:s", mysql_result($q80, 0, 0));
        ?>
	<h4>Brisanje ispitnog termina <?php 
        echo $datumvrijeme;
        ?>
</h4>
	<p>Za ovaj termin se do sada prijavilo <b><?php 
        echo $broj_studenata;
        ?>
</b> studenata.<br />
	Da li ste sigurni da ga želite obrisati?</p>

	<?php 
        echo genform("POST");
        ?>
	<input type="hidden" name="akcija" value="obrisi_potvrda">
	<input type="submit" value=" Briši ">
	<input type="submit" name="povratak" value=" Nazad ">
	</form>
	<?php 
        return;
    }
    // Potvrda brisanja
    if ($_REQUEST["akcija"] == "obrisi_potvrda" && $_REQUEST['povratak'] != " Nazad " && check_csrf_token()) {
        $q90 = myquery("DELETE FROM student_ispit_termin WHERE ispit_termin={$termin}");
        $q95 = myquery("DELETE FROM ispit_termin WHERE id={$termin}");
        zamgerlog("izbrisan ispitni termin {$termin} (pp{$predmet}, ag{$ag})", 2);
        zamgerlog2("izbrisan ispitni termin", $termin, $predmet, $ag);
        nicemessage("Termin uspješno obrisan ");
    }
    // Tabela studenata koji su se prijavili za ovaj ispitni termin
    if ($_REQUEST["akcija"] == "studenti") {
        if ($_REQUEST['subakcija'] == "dodaj_studenta" && check_csrf_token()) {
            $student = intval($_REQUEST['student']);
            $q215 = myquery("select count(*) from student_ispit_termin where student={$student} and ispit_termin={$termin}");
            if (mysql_result($q215, 0, 0) > 0) {
                nicemessage("Student je već prijavljen na ovaj termin!");
            } else {
                $q220 = myquery("insert into student_ispit_termin set student={$student}, ispit_termin={$termin}");
            }
        }
        if ($_REQUEST['subakcija'] == "izbaci_studenta" && check_csrf_token()) {
            $student = intval($_REQUEST['student']);
            $q225 = myquery("delete from student_ispit_termin where student={$student} and ispit_termin={$termin}");
        }
        $q200 = myquery("select UNIX_TIMESTAMP(datumvrijeme) from ispit_termin where id={$termin}");
        $datumvrijeme = date("d. m. Y. H:i:s", mysql_result($q200, 0, 0));
        $q200 = myquery("SELECT o.ime, o.prezime, o.brindexa, o.id FROM osoba as o, student_ispit_termin as si WHERE o.id=si.student AND si.ispit_termin={$termin} order by o.prezime, o.ime");
        ?>
	<p><b>Tabela prijavljenih za: <?php 
        echo $datumvrijeme;
        ?>
</b></p>

	<table border="0" cellspacing="1" cellpadding="2">
	<thead>
	<tr bgcolor="#999999">
		<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;font-weight:bold;color:white;">R.br.</font></td>
		<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;font-weight:bold;color:white;">Prezime i ime</font></td>
		<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;font-weight:bold;color:white;">Broj indexa</font></td>
		<td>&nbsp;</td>
	</tr>
	</thead>
	<tbody>
	<?php 
        $brojac = 1;
        while ($r200 = mysql_fetch_row($q200)) {
            ?>
		<tr>
			<td><?php 
            echo $brojac;
            ?>
</td>
			<td><?php 
            echo $r200[1];
            ?>
 <?php 
            echo $r200[0];
            ?>
</td>
			<td><?php 
            echo $r200[2];
            ?>
</td>
			<td><?php 
            echo genform("POST");
            ?>
				<input type="hidden" name="akcija" value="studenti">
				<input type="hidden" name="subakcija" value="izbaci_studenta">
				<input type="hidden" name="student" value="<?php 
            echo $r200[3];
            ?>
">
				<input type="submit" value="Izbaci" class="default">
				</form>
			</td>
		</tr>
		<?php 
            $brojac++;
        }
        ?>
	</table>
	<?php 
        if ($brojac == 1) {
            print '<br>Do sada se niko nije prijavio za ovaj termin.';
        }
        ?>
	<?php 
        // Dodavanje studenta na termin
        print genform("POST");
        ?>
	<br>
	<input type="hidden" name="subakcija" value="dodaj_studenta">
	Dodajte studenta na termin:<br>
	<select name="student">
	<?php 
        $q210 = myquery("select o.id, o.prezime, o.ime from osoba as o, student_predmet as sp, ponudakursa as pk where sp.student=o.id and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag} order by o.prezime, o.ime");
        while ($r210 = mysql_fetch_row($q210)) {
            print "<option value=\"{$r210['0']}\">{$r210['1']} {$r210['2']}</option>\n";
        }
        ?>
	</select> <input type="submit" value=" Dodaj ">
	</form>
	<br><hr/><br>
	<?php 
        // Omogućićemo izmjenu ovog termina
        $_REQUEST['akcija'] = "izmijeni";
    }
    // U ovoj akciji se samo iz baze podataka uzimaju vrijednosti, konkretna promjena se vrsi u akciji "izmijeni_potvrda"
    if ($_REQUEST["akcija"] == "izmijeni") {
        if (!$termin) {
            niceerror("Nije izabran termin.");
            return 0;
        }
        $q100 = myquery("SELECT UNIX_TIMESTAMP(datumvrijeme), UNIX_TIMESTAMP(deadline) , maxstudenata FROM ispit_termin WHERE id={$termin}");
        $t1 = mysql_result($q100, 0, 0);
        $dan = date('d', $t1);
        $mjesec = date('m', $t1);
        $godina = date('Y', $t1);
        $sat = date('H', $t1);
        $minuta = date('i', $t1);
        $sekunda = date('s', $t1);
        $t2 = mysql_result($q100, 0, 1);
        $dan1 = date('d', $t2);
        $mjesec1 = date('m', $t2);
        $godina1 = date('Y', $t2);
        $sat1 = date('H', $t2);
        $minuta1 = date('i', $t2);
        $sekunda1 = date('s', $t2);
        $limit = mysql_result($q100, 0, 2);
    }
    // Potvrda izmjene postojeceg ispitnog termina
    if ($_POST['akcija'] == 'izmijeni_potvrda' && check_csrf_token()) {
        $limit = intval($_POST['limit']);
        $dan = intval($_POST['day']);
        $mjesec = intval($_POST['month']);
        $godina = intval($_POST['year']);
        $sat = intval($_POST['sat']);
        $minuta = intval($_POST['minuta']);
        $sekunda = intval($_POST['sekunda']);
        $dan1 = intval($_POST['1day']);
        $mjesec1 = intval($_POST['1month']);
        $godina1 = intval($_POST['1year']);
        $sat1 = intval($_POST['sat1']);
        $minuta1 = intval($_POST['minuta1']);
        $sekunda1 = intval($_POST['sekunda1']);
        $t1 = mktime($sat, $minuta, $sekunda, $mjesec, $dan, $godina);
        $t2 = mktime($sat1, $minuta1, $sekunda1, $mjesec1, $dan1, $godina1);
        //Provjera ispravnosti
        if (!checkdate($mjesec, $dan, $godina)) {
            niceerror("Odabrani datum je nemoguć");
        } else {
            if ($sat < 0 || $sat > 24 || $minuta < 0 || $minuta > 60 || $sekunda < 0 || $sekunda > 60) {
                niceerror("Odabrano vrijeme je nemoguće");
            } else {
                if (!checkdate($mjesec1, $dan1, $godina1)) {
                    niceerror("Odabrani datum za rok prijave je nemoguć");
                } else {
                    if ($sat1 < 0 || $sat1 > 24 || $minuta1 < 0 || $minuta1 > 60 || $sekunda1 < 0 || $sekunda1 > 60) {
                        niceerror("Odabrano vrijeme za rok prijave je nemoguće");
                    } else {
                        if ($limit <= 0) {
                            niceerror("Maksimalni broj studenata na ispitu mora biti veći od nule");
                        } else {
                            if ($t1 < $t2) {
                                niceerror("Krajnji rok za prijavu ispita mora raniji od tačnog vremena održavanja ispita");
                            } else {
                                nicemessage("Uspješno izmijenjen termin.");
                                $q110 = myquery("UPDATE ispit_termin SET datumvrijeme=FROM_UNIXTIME('{$t1}') , maxstudenata={$limit} , deadline=FROM_UNIXTIME('{$t2}'), ispit={$ispit} WHERE id={$termin}");
                                zamgerlog("izmijenjen ispitni termin", 2);
                                zamgerlog2("izmijenjen ispitni termin", $termin);
                            }
                        }
                    }
                }
            }
        }
        // Radi ljepšeg ispisa, dodajemo nule
        $dan = nuliraj($dan);
        $mjesec = nuliraj($mjesec);
        $sat = nuliraj($sat);
        $minuta = nuliraj($minuta);
        $sekunda = nuliraj($sekunda);
        $dan1 = nuliraj($dan1);
        $mjesec1 = nuliraj($mjesec1);
        $sat1 = nuliraj($sat1);
        $minuta1 = nuliraj($minuta1);
        $sekunda1 = nuliraj($sekunda1);
    }
    // Dodavanje novog ispitnog termina
    if ($_POST['akcija'] == 'dodaj_potvrda' && check_csrf_token()) {
        $limit = intval($_POST['limit']);
        $dan = intval($_POST['day']);
        $mjesec = intval($_POST['month']);
        $godina = intval($_POST['year']);
        $sat = intval($_POST['sat']);
        $minuta = intval($_POST['minuta']);
        $sekunda = intval($_POST['sekunda']);
        $dan1 = intval($_POST['1day']);
        $mjesec1 = intval($_POST['1month']);
        $godina1 = intval($_POST['1year']);
        $sat1 = intval($_POST['sat1']);
        $minuta1 = intval($_POST['minuta1']);
        $sekunda1 = intval($_POST['sekunda1']);
        $t1 = mktime($sat, $minuta, $sekunda, $mjesec, $dan, $godina);
        $t2 = mktime($sat1, $minuta1, $sekunda1, $mjesec1, $dan1, $godina1);
        //Provjera ispravnosti
        if (!checkdate($mjesec, $dan, $godina)) {
            niceerror("Odabrani datum je nemoguć");
        } else {
            if ($sat < 0 || $sat > 24 || $minuta < 0 || $minuta > 60 || $sekunda < 0 || $sekunda > 60) {
                niceerror("Odabrano vrijeme je nemoguće");
            } else {
                if (!checkdate($mjesec1, $dan1, $godina1)) {
                    niceerror("Odabrani datum za rok prijave je nemoguć");
                } else {
                    if ($sat1 < 0 || $sat1 > 24 || $minuta1 < 0 || $minuta1 > 60 || $sekunda1 < 0 || $sekunda1 > 60) {
                        niceerror("Odabrano vrijeme za rok prijave je nemoguće");
                    } else {
                        if ($limit <= 0) {
                            niceerror("Maksimalni broj studenata na ispitu mora biti veći od nule");
                        } else {
                            if ($t1 < $t2) {
                                niceerror("Krajnji rok za prijavu ispita mora raniji od tačnog vremena održavanja ispita");
                            } else {
                                nicemessage("Uspješno kreiran novi termin.");
                                $q = myquery("INSERT INTO ispit_termin SET datumvrijeme=FROM_UNIXTIME('{$t1}'), maxstudenata={$limit} , ispit={$ispit} , deadline=FROM_UNIXTIME('{$t2}')");
                                zamgerlog2("kreiran novi ispitni termin", mysql_insert_id(), $predmet, $ag);
                                zamgerlog("kreiran novi ispitni termin pp{$predmet}, ag{$ag}", 2);
                            }
                        }
                    }
                }
            }
        }
        // Radi ljepšeg ispisa, dodajemo nule
        $dan = nuliraj($dan);
        $mjesec = nuliraj($mjesec);
        $sat = nuliraj($sat);
        $minuta = nuliraj($minuta);
        $sekunda = nuliraj($sekunda);
        $dan1 = nuliraj($dan1);
        $mjesec1 = nuliraj($mjesec1);
        $sat1 = nuliraj($sat1);
        $minuta1 = nuliraj($minuta1);
        $sekunda1 = nuliraj($sekunda1);
    }
    // GLAVNI EKRAN
    // Tabela objavljenih termina za predmet
    $q10 = myquery("SELECT id, UNIX_TIMESTAMP(datumvrijeme), UNIX_TIMESTAMP(deadline), maxstudenata FROM ispit_termin WHERE ispit={$ispit} order by datumvrijeme");
    ?>
<b>Objavljeni termini:</b>
<br><br>
<table border="0" cellspacing="1" cellpadding="2">
<thead>
<tr bgcolor="#999999">
	<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;font-weight:bold;color:white;">R.br.</font></td>
	<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;font-weight:bold;color:white;">Vrijeme termina</font></td>
	<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;font-weight:bold;color:white;">Rok za prijavu</font></td>
	<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;font-weight:bold;color:white;">Prijavljeno</font></td>
	<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;font-weight:bold;color:white;">Max.</font></td>
	<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;font-weight:bold;color:white;">Opcije</font></td>
</tr>
</thead>
<tbody>

<?php 
    $brojac = 1;
    $uk_prijavljeno = 0;
    while ($r10 = mysql_fetch_row($q10)) {
        $id_termina = $r10[0];
        $vrijeme_termina = date("d.m.Y. H:i", date($r10[1]));
        $rok_prijave = date("d.m.Y. H:i", date($r10[2]));
        $max_studenata = $r10[3];
        $q20 = myquery("select count(*) from student_ispit_termin where ispit_termin={$id_termina}");
        $prijavljeno = mysql_result($q20, 0, 0);
        $uk_prijavljeno += $prijavljeno;
        ?>
	<tr>
		<td><?php 
        echo $brojac;
        ?>
</td>
		<td align="center"><?php 
        echo $vrijeme_termina;
        ?>
</td>
		<td align="center"><font color="#FF0000"><?php 
        echo $rok_prijave;
        ?>
</font></td>
		<td align="center"><?php 
        echo $prijavljeno;
        ?>
</td>
		<td align="center"><?php 
        echo $max_studenata;
        ?>
</td>
		<td align="center">
			<a href="?sta=nastavnik/prijava_ispita&akcija=izmijeni&termin=<?php 
        echo $id_termina;
        ?>
&ispit=<?php 
        echo $ispit;
        ?>
&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
">Izmijeni</a>&nbsp;&nbsp;
			<a href="?sta=nastavnik/prijava_ispita&akcija=obrisi&termin=<?php 
        echo $id_termina;
        ?>
&ispit=<?php 
        echo $ispit;
        ?>
&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
">Obriši</a>&nbsp;&nbsp;
			<a href="?sta=nastavnik/prijava_ispita&akcija=studenti&termin=<?php 
        echo $id_termina;
        ?>
&ispit=<?php 
        echo $ispit;
        ?>
&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
">Studenti</a>&nbsp;&nbsp;
			<a href="?sta=izvjestaj/termini_ispita&termin=<?php 
        echo $id_termina;
        ?>
">Izvještaj</a>
		</td>
	</tr>
	<?php 
        $brojac++;
    }
    ?>
	<tr>
		<td colspan="3" align="right">UKUPNO: &nbsp;</td>
		<td align="center"><?php 
    echo $uk_prijavljeno;
    ?>
</td>
		<td colspan="2">&nbsp;</td>
	</tr>
</tbody></table>
<?php 
    if ($brojac == 1) {
        ?>
<br>Nije registrovan nijedan termin za ovaj ispit<br><br><?php 
    }
    ?>
<br><hr />
<?php 
    // Forma za unos novog ispitnog termina ili editovanje postojećeg
    if ($dan == 0) {
        $dan = $dan1 = date('d');
        $mjesec = $mjesec1 = date('m');
        $godina = $godina1 = date('Y');
        $sat = $sat1 = date('H');
        $minuta = $minuta1 = date('i');
        $sekunda = $sekunda1 = date('s');
        $limit = 0;
        // Ako akcija nije izmjena, brišemo vrijednost varijable termin
        $termin = 0;
    }
    ?>
	<?php 
    echo genform("POST");
    ?>
	<input type="hidden" name="termin" value="<?php 
    echo $termin;
    ?>
">
	<input type="hidden" name="akcija" value="<?php 
    if ($termin <= 0) {
        print 'dodaj_potvrda';
    } else {
        print 'izmijeni_potvrda';
    }
    ?>
">

	<p><b><?php 
    if ($_REQUEST["akcija"] == "izmijeni" || $_REQUEST["akcija"] == "studenti") {
        print 'Izmjena termina';
    } else {
        print 'Registrovanje novog termina';
    }
    ?>
</b>

	<br/><br/>
	Datum i vrijeme ispita:<br/>
	<?php 
    echo datectrl($dan, $mjesec, $godina);
    ?>

	&nbsp;&nbsp; <input type="text" name="sat" size="2" value="<?php 
    echo $sat;
    ?>
"> <b>:</b> <input type="text" name="minuta" size="2" value="<?php 
    echo $minuta;
    ?>
"> <b>:</b> <input type="text" name="sekunda" size="2" value="<?php 
    echo $sekunda;
    ?>
">
	<br/><br/>

	Krajnji rok za prijavu ispita:
	<br/>
	<?php 
    echo datectrl($dan1, $mjesec1, $godina1, "1");
    ?>

	&nbsp;&nbsp; <input type="text" name="sat1" size="2" value="<?php 
    echo $sat1;
    ?>
"> <b>:</b> <input type="text" name="minuta1" size="2" value="<?php 
    echo $minuta1;
    ?>
"> <b>:</b> <input type="text" name="sekunda1" size="2" value="<?php 
    echo $sekunda1;
    ?>
">
	<br/><br/>
	Maksimalan broj studenata: <input type="text" size="2" name="limit" value="<?php 
    echo $limit;
    ?>
"  class="default">
	<br/><br/>

	<input type="submit" value="<?php 
    if ($_REQUEST["akcija"] == "izmijeni" || $_REQUEST["akcija"] == "studenti") {
        print 'Izmijeni';
    } else {
        print 'Dodaj';
    }
    ?>
"  class="default"><br/><br/>
	<a href="?sta=nastavnik/ispiti&predmet=<?php 
    echo $predmet;
    ?>
&ag=<?php 
    echo $ag;
    ?>
">&lt;&lt;&lt; Nazad</a><br/>
</form>

<?php 
}
Esempio n. 3
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 
}
Esempio n. 4
0
                update_user_password($selected_id, $_POST['user_id'], md5($_POST['password']));
            }
            display_notification_centered(_("The selected user has been updated."));
        } else {
            add_user($_POST['user_id'], $_POST['real_name'], md5($_POST['password']), $_POST['phone'], $_POST['email'], $_POST['role_id'], $_POST['language'], $_POST['print_profile'], check_value('rep_popup'), $_POST['pos']);
            $id = db_insert_id();
            // use current user display preferences as start point for new user
            $prefs = $_SESSION['wa_current_user']->prefs->get_all();
            update_user_prefs($id, array_merge($prefs, get_post(array('print_profile', 'rep_popup' => 0, 'language'))));
            display_notification_centered(_("A new user has been added."));
        }
        $Mode = 'RESET';
    }
}
//-------------------------------------------------------------------------------------------------
if ($Mode == 'Delete' && check_csrf_token()) {
    $cancel_delete = 0;
    if (key_in_foreign_table($selected_id, 'audit_trail', 'user')) {
        $cancel_delete = 1;
        display_error(_("Cannot delete this user because entries are associated with this user."));
    }
    if ($cancel_delete == 0) {
        delete_user($selected_id);
        display_notification_centered(_("User has been deleted."));
    }
    //end if Delete group
    $Mode = 'RESET';
}
//-------------------------------------------------------------------------------------------------
if ($Mode == 'RESET') {
    $selected_id = -1;
        set_focus('password');
        return false;
    }
    if (strstr($_POST['password'], $_SESSION["wa_current_user"]->username) != false) {
        display_error(_("The password cannot contain the user login."));
        set_focus('password');
        return false;
    }
    if ($_POST['password'] != $_POST['passwordConfirm']) {
        display_error(_("The passwords entered are not the same."));
        set_focus('password');
        return false;
    }
    return true;
}
if (isset($_POST['UPDATE_ITEM']) && check_csrf_token()) {
    if (can_process()) {
        if ($allow_demo_mode) {
            display_warning(_("Password cannot be changed in demo mode."));
        } else {
            update_user_password($_SESSION["wa_current_user"]->user, $_SESSION["wa_current_user"]->username, md5($_POST['password']));
            display_notification(_("Your password has been updated."));
        }
        $Ajax->activate('_page_body');
    }
}
start_form();
start_table(TABLESTYLE);
$myrow = get_user($_SESSION["wa_current_user"]->user);
label_row(_("User login:"******"";
Esempio n. 6
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 
}
Esempio n. 7
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 
}
Esempio n. 8
0
function saradnik_izmjena_studenta()
{
    print "Ne radi";
    return;
    global $userid, $user_siteadmin, $user_studentska;
    require "lib/manip.php";
    // radi ispisa studenta sa predmeta
    ?>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" bgcolor="#FFFFFF">
<?php 
    $student = intval($_REQUEST['student']);
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // Necemo provjeravati prava pristupa jer je osnovna provjera vec napravljena kroz registry, a prikaz readonly podataka nastavniku koji nije angazovan na predmetu je IMHO ok
    // Podaci o studentu...
    $q140 = myquery("select ime,prezime,brindexa from osoba where id={$student}");
    if (mysql_num_rows($q140) < 1) {
        zamgerlog("nepostojeci student (student {$student})", 3);
        biguglyerror("Nepoznat student");
        return;
    }
    // Podaci o predmetu
    $q160 = myquery("select naziv from predmet where id={$predmet}");
    if (mysql_num_rows($q160) < 1) {
        zamgerlog("nepostojeci predmet (predmet {$predmet})", 3);
        biguglyerror("Nepoznat predmet");
        return;
    }
    $naziv_predmeta = mysql_result($q160, 0, 0);
    // Aktuelna akademska godina
    $q170 = myquery("select naziv from akademska_godina where id={$ag}");
    if (mysql_num_rows($q170) < 1) {
        zamgerlog("nepostojeca ag {$ag}", 3);
        biguglyerror("Nepoznat predmet");
        return;
    }
    $agnaziv = mysql_result($q170, 0, 0);
    // Studij koji student trenutno sluša
    $q180 = myquery("select s.naziv from student_studij as ss, studij as s where s.id=ss.studij and ss.akademska_godina={$ag} and ss.student={$student}");
    if (mysql_num_rows($q180) < 1) {
        $studij = "Nije upisan niti na jedan studij! ({$agnaziv})";
    } else {
        $studij = mysql_result($q180, 0, 0) . " ({$agnaziv})";
    }
    // Provjera ogranicenja
    /*$q10 = myquery("select sl.labgrupa from student_labgrupa as sl,labgrupa where sl.student=$student and sl.labgrupa=labgrupa.id and labgrupa.predmet=$predmet");
    if (mysql_num_rows($q10)>0) {
    	$labgrupa = mysql_result($q10,0,0);
    } else {
    	$labgrupa=0;
    }
    
    
    // Limit...
    $q20 = myquery("select ogranicenje.labgrupa from ogranicenje, labgrupa where ogranicenje.nastavnik=$userid and ogranicenje.labgrupa=labgrupa.id and labgrupa.predmet=$predmet_id");
    if (mysql_num_rows($q20)>0) {
    	$nasao=0;
    	while ($r20 = mysql_fetch_row($q20)) {
    		if ($r20[0] == $labgrupa) { $nasao=1; break; }
    	}
    	if ($nasao == 0) {
    		zamgerlog("ogranicenje (student u$stud_id predmet pp$predmet_id)",3);
    		niceerror("Nemate pravo pristupa labgrupi u kojoj se nalazi ovaj student");
    		return;
    	}
    }*/
    // Onemogući izmjenu ako prijavljeni korisnik nije nastavnik na predmetu ili siteadmin
    $izmjena_moguca = 0;
    if ($user_siteadmin || $user_studentska) {
        $izmjena_moguca = 1;
    } else {
        $q30 = myquery("select count(*) from nastavnik_predmet where nastavnik={$userid} and predmet={$predmet} and akademska_godina={$ag}");
        if (mysql_result($q30, 0, 0) > 0) {
            $izmjena_moguca = 1;
        }
    }
    // TODO: prikaži read-only podatke o studentu
    if ($izmjena_moguca == 0) {
        zamgerlog("saradnik/izmjena_studenta: nije moguca izmjena (student u{$student} predmet pp{$predmet})", 3);
        niceerror("Nemate pravo pristupa ovom studentu!");
        return;
    }
    // Poziv funkcije za izmjenu
    if ($_POST['akcija'] == "izmjena" && $izmjena_moguca == 1 && check_csrf_token()) {
        $labgrupa = _izmijeni_profil($student, $predmet);
    }
    // Ispis studenta sa predmeta
    if ($_GET['akcija'] == "ispis" && $user_siteadmin) {
        ispis_studenta_sa_predmeta($student, $predmet, $ag);
        zamgerlog("student ispisan sa predmeta (student u{$student} predmet pp{$predmet})", 4);
        // nivo 4: audit
        nicemessage("Studen ispisan sa predmeta.");
        return;
    }
    ?>
<center><h2>Izmjena ličnih podataka</h2></center>

<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="akcija" value="izmjena">
<table border="0" width="100%">
	<tr>
		<td>DB ID:</td>
		<td><b><?php 
    echo $student;
    ?>
</b></td>
	</tr>
	<tr>
		<td>Ime:</td>
		<td><input type="text" name="ime" size="20" value="<?php 
    echo mysql_result($q140, 0, 0);
    ?>
"></td>
	</tr>
	<tr>
		<td>Prezime:</td>
		<td><input type="text" name="prezime" size="20" value="<?php 
    echo mysql_result($q140, 0, 1);
    ?>
"></td>
	</tr>
	<tr>
		<td>Broj indexa:</td>
		<td><input type="text" name="brind" size="10" value="<?php 
    echo mysql_result($q140, 0, 2);
    ?>
"></td>
	</tr>
	<tr>
		<td>Upisan na:</td>
		<td><b><?php 
    echo $studij;
    ?>
</b></td>
	</tr>
<?php 
    // Labgrupe
    $q150 = myquery("select id,naziv from labgrupa where predmet={$predmet} and akademska_godina={$ag} and virtualna=0 order by naziv");
    if (mysql_num_rows($q150) > 0) {
        $q155 = myquery("select l.id, l.naziv from labgrupa as l, student_labgrupa as sl where l.predmet={$predmet} and l.akademska_godina={$ag} and sl.labgrupa=l.id and sl.student={$student} and l.virtualna=0");
        if (mysql_num_rows($q155) <= 1) {
            if (mysql_num_rows($q155) == 0) {
                $nijedna = " SELECTED";
            } else {
                $nijedna = "";
            }
            ?>
	<tr>
		<td>Upiši u grupu:</td>
		<td><select name="grupa"><option value="0"<?php 
            echo $nijedna;
            ?>
>-- Nije ni u jednoj grupi --</option>
			<?php 
            while ($r150 = mysql_fetch_row($q150)) {
                if ($r150[0] == mysql_result($q155, 0, 0)) {
                    $value = "SELECTED";
                } else {
                    $value = "";
                }
                ?>
<option value="<?php 
                echo $r150[0];
                ?>
" <?php 
                echo $value;
                ?>
><?php 
                echo $r150[1];
                ?>
</option><?php 
            }
            ?>
</select></td>
	</tr>
<?php 
            //	} else if (mysql_num_rows($q155)==1) {
            /*?>
            	<tr>
            		<td>Prebaci u grupu:</td>
            		<td><select name="grupa"><option value="0">-- Nije ni u jednoj grupi --</option>
            			<?
            			while ($r150 = mysql_fetch_row($q150)) {
            				if ($r150[0]==mysql_result($q155,0,0)) 
            					$value="SELECTED"; else $value="";
            				?><option value="<?=$r150[0]?>" <?=$value?>><?=$r150[1]?></option><?
            			}
            		?></select></td>
            	</tr>
            <?*/
        } else {
            ?>
	<tr>
		<td>Grupe:</td>
		<td><?php 
            while ($r155 = mysql_fetch_row($q155)) {
                print $r155[1];
                // Ovo ispod nije implementirano!?!
                print " <a href=\"?sta=saradnik/izmjena_studenta&akcija=ispis_iz_grupe&grupa={$r155['0']}&student={$student}&predmet={$predmet}\">(ispiši)</a><br/>\n";
            }
            ?>
</td>
	</tr>
<?php 
        }
    }
    if ($user_siteadmin) {
        ?>
	<tr><td colspan="2"><a href="index.php?sta=saradnik/izmjena_studenta&student=<?php 
        echo $student;
        ?>
&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
&akcija=ispis">Ispiši studenta sa predmeta:<br/><b><?php 
        echo $naziv_predmeta;
        ?>
</b></a></td></tr>
	<?php 
    }
    if ($user_siteadmin) {
        // Linkovi za site admina
        ?>
	<tr><td colspan="2"><a href="index.php?c=B&sta=studentska/osobe&akcija=edit&osoba=<?php 
        echo $student;
        ?>
" target="openerwindow" onClick="if (document.images) opener.name='openerwindow'">Detaljnije o studentu</a></td></tr>
	<tr><td colspan="2"><a href="index.php?c=S&su=<?php 
        echo $student;
        ?>
" target="openerwindow" onClick="if (document.images) opener.name='openerwindow'">Prijavi se kao student</a></td></tr>
	<?php 
    }
    ?>
	<tr><td colspan="2">&nbsp;</td></tr>
	<tr><td>&nbsp;</td><td>
		<input type="submit" value=" Pošalji " <?php 
    if ($izmjena_moguca != 1) {
        print "disabled";
    }
    ?>
> &nbsp;&nbsp;&nbsp;&nbsp;
		<input type="reset" value=" Poništi ">
	</td></tr>
</table>


<?php 
}
Esempio n. 9
0
function common_inbox()
{
    global $userid, $user_student, $user_nastavnik;
    // 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 - svi studenti na labgrupi (primalac - id labgrupe)
    //    7 - korisnik (primalac - user id)
    //    8 - svi studenti na godini studija (primalac - idstudija*10+godina_studija)
    // Podaci potrebni kasnije
    // Zadnja akademska godina
    $q20 = myquery("select id,naziv from akademska_godina where aktuelna=1");
    $ag = mysql_result($q20, 0, 0);
    // Studij koji student trenutno sluša
    $studij = 0;
    if ($user_student) {
        $q30 = myquery("select ss.studij,ss.semestar,ts.ciklus from student_studij as ss, studij as s, tipstudija as ts where ss.student={$userid} and ss.akademska_godina={$ag} and ss.studij=s.id and s.tipstudija=ts.id order by ss.semestar desc limit 1");
        if (mysql_num_rows($q30) > 0) {
            $studij = mysql_result($q30, 0, 0);
            $semestar = mysql_result($q30, 0, 1);
            $ciklus = mysql_result($q30, 0, 2);
            $godina_studija = ($semestar + 1) / 2;
        }
    }
    // Pravimo neki okvir za sajt
    ?>
<center>
<table width="80%" border="0"><tr><td>

<h1>Lične poruke</h1>

<?php 
    //////////////////////
    // Slanje poruke
    //////////////////////
    if ($_POST['akcija'] == 'send' && check_csrf_token()) {
        // Ko je primalac
        $primalac = my_escape($_REQUEST['primalac']);
        $primalac = preg_replace("/\\(.*?\\)/", "", $primalac);
        $q300 = myquery("select id from auth where login='******'");
        if (mysql_num_rows($q300) < 1) {
            niceerror("Nepoznat primalac");
            return;
            // FIXME
        }
        $prim_id = mysql_result($q300, 0, 0);
        // Samo slanje licnih poruka je dozvoljeno...
        $q310 = myquery("insert into poruka set tip=2, opseg=7, primalac={$prim_id}, posiljalac={$userid}, vrijeme=NOW(), ref=" . intval($_REQUEST['ref']) . ", naslov='" . my_escape($_REQUEST['naslov']) . "', tekst='" . my_escape($_REQUEST['tekst']) . "'");
        nicemessage("Poruka uspješno poslana");
        zamgerlog("poslana poruka za u{$prim_id}", 2);
        zamgerlog2("poslana poruka", intval($prim_id));
    }
    if ($_REQUEST['akcija'] == 'compose' || $_REQUEST['akcija'] == 'odgovor') {
        if ($_REQUEST['akcija'] == 'odgovor') {
            $poruka = intval($_REQUEST['poruka']);
            $q200 = myquery("select posiljalac, naslov, tekst, primalac from poruka where id={$poruka}");
            if (mysql_num_rows($q200) < 1) {
                niceerror("Poruka ne postoji");
                zamgerlog("pokusaj odgovora na nepostojecu poruku {$poruka}", 3);
                zamgerlog2("pokusaj odgovora na nepostojecu poruku", $poruka);
                return;
            }
            // Ko je poslao originalnu poruku (tj. kome odgovaramo)
            $prim_id = mysql_result($q200, 0, 0);
            if ($prim_id == $userid) {
                // U slučaju odgovora na poslanu poruku, ponovo šaljemo poruku istoj osobi
                $prim_id = mysql_result($q200, 0, 3);
            }
            $q210 = myquery("select a.login,o.ime,o.prezime from auth as a, osoba as o where a.id=o.id and o.id={$prim_id}");
            if (mysql_num_rows($q210) < 1) {
                niceerror("Nepoznat pošiljalac");
                zamgerlog("poruka {$poruka} ima nepoznatog posiljaoca {$prim_id} (prilikom odgovora na poruku)", 3);
                zamgerlog2("poruka ima nepoznatog posiljaoca (prilikom odgovora na poruku)", $poruka, $prim_id);
                return;
            } else {
                $primalac = mysql_result($q210, 0, 0) . " (" . mysql_result($q210, 0, 1) . " " . mysql_result($q210, 0, 2) . ")";
            }
            // Prepravka naslova i teksta
            $naslov = mysql_result($q200, 0, 1);
            if (substr($naslov, 0, 3) != "Re:") {
                $naslov = "Re: " . $naslov;
            }
            $tekst = mysql_result($q200, 0, 2);
            for ($i = 80; $i < strlen($tekst); $i += 81) {
                $k = $i - 80;
                while ($k < $i && $k !== false) {
                    $oldk = $k;
                    $k = strpos($tekst, " ", $k + 1);
                }
                if ($oldk == $i - 80) {
                    $tekst = substr($tekst, 0, $i) . "\n" . substr($tekst, $i);
                } else {
                    $tekst = substr($tekst, 0, $oldk) . "\n" . substr($tekst, $oldk + 1);
                }
            }
            $tekst = "> " . str_replace("\n", "\n> ", $tekst);
            $tekst .= "\n\n";
        } else {
            // Omogucujemo da se naslov, tekst i primalac zadaju preko URLa
            if ($_REQUEST['naslov']) {
                $naslov = my_escape($_REQUEST['naslov']);
            } else {
                $naslov = "";
            }
            if ($_REQUEST['tekst']) {
                $tekst = my_escape($_REQUEST['tekst']);
            } else {
                $tekst = "";
            }
            if ($_REQUEST['primalac']) {
                $primalac = my_escape($_REQUEST['primalac']);
            } else {
                $primalac = "";
            }
        }
        ?>
	<a href="?sta=common/inbox">Nazad na inbox</a><br/>
	<h3>Slanje poruke</h3>
	<?php 
        echo genform("POST");
        ?>
	<?php 
        if ($_REQUEST['akcija'] == 'odgovor') {
            ?>
		<input type="hidden" name="ref" value="<?php 
            echo $poruka;
            ?>
"><?php 
        }
        ?>
	<input type="hidden" name="akcija" value="send">
	<script language="javascript">
	var tm=0;
	function startaj_timer(e) {
		sakrij_pretragu();
		if(e.keyCode!=13 && e.keyCode!=9) tm = setTimeout('pretraga_primalaca()',1000);
	}
	function pretraga_primalaca() {
		var ib=document.getElementById('primalac');
		var pg=document.getElementById('pretgraga');
		if (ib.value.length<3) return;
		//alert("Trazim: "+ib.value);

		// Nadji poziciju objekta
		var curleft = curtop = 0;
		var obj=ib;
		if (obj.offsetParent) {
			do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		}

		pg.style.visibility = 'visible';
		pg.style.left=curleft;
		pg.style.top=curtop+ib.offsetHeight;

		ajah_start("index.php?c=N&sta=common/ajah&akcija=pretraga&ime="+ib.value, "", "napuni_rezultate()");
	}
	function napuni_rezultate() {
		var rp=document.getElementById('rezultati_pretrage');
		var tekst = frames['zamger_ajah'].document.body.innerHTML;
		var oldpozicija=0;
		rp.innerHTML = "";
		do {
			var pozicija = tekst.indexOf('\n',oldpozicija);
			var tmptekst = tekst.substr(oldpozicija,pozicija-oldpozicija);
			if (tmptekst.length<2) { oldpozicija=pozicija+1; continue; }
			if (tmptekst == "OK") break;
			if (tmptekst == "Nema rezultata") {
				rp.innerHTML = rp.innerHTML + "<font color=\"#AAAAAA\">(Nema rezultata)</font><br/>";
			} else {
				rp.innerHTML = rp.innerHTML+"<a href=\"javascript:postavi('"+tmptekst+"')\">"+tmptekst+"</a><br/>";
			}
			oldpozicija=pozicija+1;
		} while (pozicija>=0);
	}
	function sakrij_pretragu() {
		var pg=document.getElementById('pretgraga');
		pg.style.visibility = 'hidden';
		if (tm!=0)
			clearTimeout(tm);
	}
	function postavi(prim) {
		var ib=document.getElementById('primalac');
		ib.value=prim;
		sakrij_pretragu();
	}
	function blur_dogadjaj(e) {
		setTimeout('sakrij_pretragu()',1000);
	}
	</script>
	<table border="0">
		<tr><td><b>Primalac:</b></td><td><input type="text" name="primalac" id="primalac" size="40" value="<?php 
        echo $primalac;
        ?>
" autocomplete="off" onkeypress="startaj_timer(event);" onblur="blur_dogadjaj(event);"></td></tr>
		<tr><td colspan="2"><input type="radio" name="metoda" value="1" DISABLED> Pošalji e-mail    <input type="radio" name="metoda" value="2" CHECKED> Pošalji Zamger poruku<br/>&nbsp;<br/></td></tr>
		<tr><td><b>Naslov:</b></td><td><input type="text" name="naslov" size="40" value="<?php 
        echo $naslov;
        ?>
"></td></tr>
	</table>

	<!-- Rezultati pretrage primaoca -->
	<div id="pretgraga" style="position:absolute;visibility:hidden">
		<table border="0" bgcolor="#FFFFEE"  style="border:1px;border-color:silver;border-style:solid;">
			<tr><td>
				<div id="rezultati_pretrage"></div>
			</td></tr>
		</table>
	</div>

	<br/>
	Tekst poruke:<br/>
	<textarea name="tekst" rows="10" cols="81"><?php 
        echo $tekst;
        ?>
</textarea>
	<br/>&nbsp;<br/>
	<input type="submit" value=" Pošalji "> <input type="reset" value=" Poništi ">
	</form>
	<?php 
        print ajah_box();
        return;
    }
    ?>
<p><a href="?sta=common/inbox&akcija=compose">Pošalji novu poruku</a> * <?php 
    if ($_REQUEST['mode'] == "outbox") {
        ?>
<a href="?sta=common/inbox">Vaše sanduče</a><?php 
    } else {
        ?>
<a href="?sta=common/inbox&mode=outbox">Vaše poslane poruke</a><?php 
    }
    ?>
</p>
<?php 
    //////////////////////
    // Čitanje poruke
    //////////////////////
    $mjeseci = array("", "januar", "februar", "mart", "april", "maj", "juni", "juli", "avgust", "septembar", "oktobar", "novembar", "decembar");
    $dani = array("Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota");
    $poruka = intval($_REQUEST['poruka']);
    if ($poruka > 0) {
        // Dobavljamo podatke o poruci
        $q10 = myquery("select opseg, primalac, posiljalac, UNIX_TIMESTAMP(vrijeme), naslov, tekst, tip from poruka where id={$poruka}");
        if (mysql_num_rows($q10) < 1) {
            niceerror("Poruka ne postoji");
            zamgerlog("pristup nepostojecoj poruci {$poruka}", 3);
            zamgerlog2("pristup nepostojecoj poruci", $poruka);
            return;
        }
        // Posiljalac
        $opseg = mysql_result($q10, 0, 0);
        $prim_id = mysql_result($q10, 0, 1);
        $pos_id = mysql_result($q10, 0, 2);
        if ($opseg == 1 && !$user_student || $opseg == 2 && !$user_nastavnik || $opseg == 3 && $prim_id != $studij && $prim_id != -$ciklus || $opseg == 4 && $prim_id != $ag || $opseg == 7 && $prim_id != $userid && $_REQUEST['mode'] !== "outbox" || $opseg == 7 && $_REQUEST['mode'] === "outbox" && $pos_id != $userid || $opseg == 8 && $prim_id != $studij * 10 + $godina_studija && $prim_id != -$ciklus * 10 - $godina_studija) {
            niceerror("Nemate pravo pristupa ovoj poruci!");
            zamgerlog("pokusao pristupiti poruci {$poruka}", 3);
            zamgerlog2("nema pravo pristupa poruci", $poruka);
            return;
        }
        if ($opseg == 5) {
            // da li student ikada slusao predmet? ako jeste moze citati poruke za taj predmet... (FIXME?)
            $q110 = myquery("select count(*) from student_predmet as sp, ponudakursa as pk where sp.student={$userid} and sp.predmet=pk.id and pk.predmet={$prim_id}");
            if (mysql_result($q110, 0, 0) < 1) {
                niceerror("Nemate pravo pristupa ovoj poruci!");
                zamgerlog("pokusao pristupiti poruci {$poruka}", 3);
                zamgerlog2("nema pravo pristupa poruci", $poruka);
                return;
            }
        }
        if ($opseg == 6) {
            // da li je student u labgrupi?
            $q115 = myquery("select count(*) from student_labgrupa where student={$userid} and labgrupa={$prim_id}");
            if (mysql_result($q115, 0, 0) < 1) {
                niceerror("Nemate pravo pristupa ovoj poruci!");
                zamgerlog("pokusao pristupiti poruci {$poruka}", 3);
                zamgerlog2("nema pravo pristupa poruci", $poruka);
                return;
            }
        }
        $q20 = myquery("select ime,prezime from osoba where id={$pos_id}");
        if (mysql_num_rows($q20) < 1) {
            $posiljalac = "Nepoznato!?";
            zamgerlog("poruka {$poruka} ima nepoznatog posiljaoca {$pos_id}", 3);
            zamgerlog2("poruka ima nepoznatog posiljaoca", $poruka, $pos_id);
        } else {
            $posiljalac = mysql_result($q20, 0, 0) . " " . mysql_result($q20, 0, 1);
        }
        // Primalac
        if ($opseg == 0) {
            $primalac = "Svi korisnici Zamgera";
        } else {
            if ($opseg == 1) {
                $primalac = "Svi studenti";
            } else {
                if ($opseg == 2) {
                    $primalac = "Svi nastavnici i saradnici";
                } else {
                    if ($opseg == 3) {
                        $q30 = myquery("select naziv from studij where id={$prim_id}");
                        if (mysql_num_rows($q30) < 1) {
                            $primalac = "Nepoznato!?";
                            zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: studij)", 3);
                            zamgerlog2("poruka ima nepoznatog primaoca (opseg: studij)", $poruka, $prim_id);
                        } else {
                            $primalac = "Svi studenti na: " . mysql_result($q30, 0, 0);
                        }
                    } else {
                        if ($opseg == 4) {
                            $q40 = myquery("select naziv from akademska_godina where id={$prim_id}");
                            if (mysql_num_rows($q40) < 1) {
                                $primalac = "Nepoznato!?";
                                zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: akademska godina)", 3);
                                zamgerlog2("poruka ima nepoznatog primaoca (opseg: akademska godina)", $poruka, $prim_id);
                            } else {
                                $primalac = "Svi studenti na akademskoj godini: " . mysql_result($q40, 0, 0);
                            }
                        } else {
                            if ($opseg == 5) {
                                $q50 = myquery("select naziv from predmet where id={$prim_id}");
                                if (mysql_num_rows($q50) < 1) {
                                    $primalac = "Nepoznato!?";
                                    zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: predmet)", 3);
                                    zamgerlog2("poruka ima nepoznatog primaoca (opseg: predmet)", $poruka, $prim_id);
                                } else {
                                    $primalac = "Svi studenti na predmetu: " . mysql_result($q50, 0, 0);
                                }
                            } else {
                                if ($opseg == 6) {
                                    $q55 = myquery("select p.naziv,l.naziv from predmet as p, labgrupa as l where l.id={$prim_id} and l.predmet=p.id");
                                    if (mysql_num_rows($q55) < 1) {
                                        $primalac = "Nepoznato!?";
                                        zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: labgrupa)", 3);
                                        zamgerlog2("poruka ima nepoznatog primaoca (opseg: labgrupa)", $poruka, $prim_id);
                                    } else {
                                        $primalac = "Svi studenti u grupi " . mysql_result($q55, 0, 1) . " (" . mysql_result($q55, 0, 0) . ")";
                                    }
                                } else {
                                    if ($opseg == 7) {
                                        $q60 = myquery("select ime,prezime from osoba where id={$prim_id}");
                                        if (mysql_num_rows($q60) < 1) {
                                            $primalac = "Nepoznato!?";
                                            zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: korisnik)", 3);
                                            zamgerlog2("poruka ima nepoznatog primaoca (opseg: korisnik)", $poruka, $prim_id);
                                        } else {
                                            $primalac = mysql_result($q60, 0, 0) . " " . mysql_result($q60, 0, 1);
                                        }
                                    } else {
                                        if ($opseg == 8) {
                                            $studij = intval($prim_id / 10);
                                            if ($studij == -1) {
                                                $godina = -($prim_id + 10);
                                                $primalac = "Svi studenti na: Prvom ciklusu studija, {$godina}. godina";
                                            } else {
                                                if ($studij == -2) {
                                                    $godina = -($prim_id + 20);
                                                    $primalac = "Svi studenti na: Drugom ciklusu studija, {$godina}. godina";
                                                } else {
                                                    $godina = $prim_id % 10;
                                                    $q30 = myquery("select naziv from studij where id={$studij}");
                                                    if (mysql_num_rows($q30) < 1) {
                                                        $primalac = "Nepoznato!?";
                                                        zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: godina studija)", 3);
                                                        zamgerlog2("poruka ima nepoznatog primaoca (opseg: godina studija)", $poruka, $prim_id);
                                                    } else {
                                                        $primalac = "Svi studenti na: " . mysql_result($q30, 0, 0) . ", {$godina}. godina";
                                                    }
                                                }
                                            }
                                        } else {
                                            $primalac = "Nepoznato!?";
                                            zamgerlog("poruka {$poruka} ima nepoznat opseg {$opseg}", 3);
                                            zamgerlog2("poruka ima nepoznat opseg", $poruka, $opseg);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        // Fini datum
        $vr = mysql_result($q10, 0, 3);
        if (date("d.m.Y", $vr) == date("d.m.Y")) {
            $vrijeme = "<i>danas</i> - ";
        } else {
            if (date("d.m.Y", $vr + 3600 * 24) == date("d.m.Y")) {
                $vrijeme = "<i>juče</i> - ";
            }
        }
        $vrijeme .= $dani[date("w", $vr)] . date(", j. ", $vr) . $mjeseci[date("n", $vr)] . date(" Y. H:i", $vr);
        // Naslov
        $tip = mysql_result($q10, 0, 6);
        if ($tip == 1) {
            $naslov = "O B A V J E Š T E N J E";
            $tekst = mysql_result($q10, 0, 4) . "\n\n";
        } else {
            $naslov = mysql_result($q10, 0, 4);
            if (!preg_match("/\\S/", $naslov)) {
                $naslov = "[Bez naslova]";
            }
            $tekst = "";
        }
        ?>
<h3>Prikaz poruke</h3>
	<table cellspacing="0" cellpadding="0" border="0"  style="border:1px;border-color:silver;border-style:solid;"><tr><td bgcolor="#f2f2f2">
		<table border="0">
			<tr><td><b>Vrijeme slanja:</b></td><td><?php 
        echo $vrijeme;
        ?>
</td></tr>
			<tr><td><b>Pošiljalac:</b></td><td><?php 
        echo $posiljalac;
        ?>
</td></tr>
			<tr><td><b>Primalac:</b></td><td><?php 
        echo $primalac;
        ?>
</td></tr>
			<tr><td><b>Naslov:</b></td><td><?php 
        echo $naslov;
        ?>
 (<a href="?sta=common/inbox&akcija=odgovor&poruka=<?php 
        echo $poruka;
        ?>
">odgovori</a>)</td></tr>
		</table>
	</td></tr><tr><td>
		<br/>
		<table border="0" cellpadding="5"><tr><td>
		<?php 
        $tekst .= mysql_result($q10, 0, 5);
        // Dodajemo na eventualni naslov obavještenja
        $i = 0;
        while (strpos($tekst, "http://", $i) !== false || strpos($tekst, "https://", $i) !== false) {
            $j = strpos($tekst, "http://", $i);
            if ($j == false) {
                $j = strpos($tekst, "https://", $i);
            }
            $k = strpos($tekst, " ", $j);
            $k2 = strpos($tekst, "\n", $j);
            if ($k2 < $k && $k2 != 0) {
                $k = $k2;
            }
            if ($k == 0) {
                $k = $k2;
            }
            if ($k == 0) {
                $k = strlen($tekst);
            }
            do {
                $k--;
                $a = substr($tekst, $k, 1);
            } while ($a == "." || $a == "," || $a == ")" || $a == "!" || $a == "?");
            $k++;
            if ($k - $j < 9) {
                $i = $j + 1;
                continue;
            }
            $url = substr($tekst, $j, $k - $j);
            $tekst = substr($tekst, 0, $j) . "<a href=\"{$url}\" target=\"_blank\">{$url}</a>" . substr($tekst, $k);
            $i = $j + strlen($url) + 28;
        }
        $tekst = str_replace("\n", "<br/>\n", $tekst);
        print $tekst;
        ?>
		</td><tr></table>
	</td></tr></table>
	<br/><br/>
	<a href="?sta=common/inbox&akcija=odgovor&poruka=<?php 
        echo $poruka;
        ?>
">Odgovorite na poruku</a>
	<br/><hr><br/><?php 
    }
    //////////////////////
    // OUTBOX
    //////////////////////
    if ($_REQUEST['mode'] == "outbox") {
        print "<h3>Poslane poruke:</h3>\n";
        ?>
	<table border="0" width="100%" style="border:1px;border-color:silver;border-style:solid;">
		<thead>
		<tr bgcolor="#cccccc"><td width="15%"><b>Datum</b></td><td width="15%"><b>Primalac</b></td><td width="70%"><b>Naslov</b></td></tr>
		</thead>
		<tbody>
	<?php 
        $vrijeme_poruke = array();
        $q100 = myquery("select id, UNIX_TIMESTAMP(vrijeme), opseg, primalac, naslov, posiljalac from poruka where tip=2 and posiljalac={$userid} order by vrijeme desc");
        while ($r100 = mysql_fetch_row($q100)) {
            $id = $r100[0];
            $opseg = $r100[2];
            $primalac = $r100[3];
            $vrijeme_poruke[$id] = $r100[1];
            $naslov = $r100[4];
            if (strlen($naslov) > 60) {
                $naslov = substr($naslov, 0, 55) . "...";
            }
            if (!preg_match("/\\S/", $naslov)) {
                $naslov = "[Bez naslova]";
            }
            // Primalac
            $q120 = myquery("select ime,prezime from osoba where id={$primalac}");
            if (mysql_num_rows($q120) < 1) {
                $primalac = "Nepoznato! Prijavite grešku";
            } else {
                $primalac = mysql_result($q120, 0, 0) . " " . mysql_result($q120, 0, 1);
            }
            // Fino vrijeme
            $vr = $vrijeme_poruke[$id];
            $vrijeme = "";
            if (date("d.m.Y", $vr) == date("d.m.Y")) {
                $vrijeme = "<i>danas</i>, ";
            } else {
                if (date("d.m.Y", $vr + 3600 * 24) == date("d.m.Y")) {
                    $vrijeme = "<i>juče</i>, ";
                } else {
                    $vrijeme .= date("j. ", $vr) . $mjeseci[date("n", $vr)] . ", ";
                }
            }
            $vrijeme .= date("H:i", $vr);
            if ($_REQUEST['poruka'] == $id) {
                $bgcolor = "#EEEECC";
            } else {
                $bgcolor = "#FFFFFF";
            }
            $code_poruke[$id] = "<tr bgcolor=\"{$bgcolor}\" onmouseover=\"this.bgColor='#EEEEEE'\" onmouseout=\"this.bgColor='{$bgcolor}'\"><td>{$vrijeme}</td><td>{$primalac}</td><td><a href=\"?sta=common/inbox&poruka={$id}&mode=outbox\">{$naslov}</a></td></tr>\n";
        }
        // Sortiramo po vremenu
        arsort($vrijeme_poruke);
        $count = 0;
        foreach ($vrijeme_poruke as $id => $vrijeme) {
            print $code_poruke[$id];
            $count++;
            // if ($count==20) break; // prikazujemo 20 poruka  -- TODO: stranice
        }
        if ($count == 0) {
            print "<li>Nemate nijednu poruku.</li>\n";
        }
        print "</tbody></table>";
        ?>
	</td></tr></table></center>
	<?php 
        //////////////////////
        // INBOX
        //////////////////////
    } else {
        $velstranice = 20;
        // Broj poruka po stranici
        $count = 0;
        $ispis = "";
        $stranica = intval($_REQUEST['stranica']);
        if ($stranica == 0) {
            $stranica = 1;
        }
        print "<h3>Poruke u vašem sandučetu:</h3>\n";
        ?>
	<table border="0" width="100%" style="border:1px;border-color:silver;border-style:solid;">
		<thead>
		<tr bgcolor="#cccccc"><td width="15%"><b>Datum</b></td><td width="15%"><b>Autor</b></td><td width="70%"><b>Naslov</b></td></tr>
		</thead>
		<tbody>
	<?php 
        $vrijeme_poruke = array();
        $q100 = myquery("select id, UNIX_TIMESTAMP(vrijeme), opseg, primalac, naslov, posiljalac from poruka where tip=2 order by vrijeme desc");
        while ($r100 = mysql_fetch_row($q100)) {
            $id = $r100[0];
            $opseg = $r100[2];
            $primalac = $r100[3];
            if ($opseg == 2 || $opseg == 3 && $primalac != $studij || $opseg == 4 && $primalac != $ag || $opseg == 7 && $primalac != $userid) {
                continue;
            }
            if ($opseg == 5) {
                // da li je student ikada slusao predmet? (FIXME?)
                $q110 = myquery("select count(*) from student_predmet as sp, ponudakursa as pk where sp.student={$userid} and sp.predmet=pk.id and pk.predmet={$primalac}");
                if (mysql_result($q110, 0, 0) < 1) {
                    continue;
                }
            }
            if ($opseg == 6) {
                // da li je student u labgrupi?
                $q115 = myquery("select count(*) from student_labgrupa where student={$userid} and labgrupa={$primalac}");
                if (mysql_result($q115, 0, 0) < 1) {
                    continue;
                }
            }
            $vrijeme_poruke[$id] = $r100[1];
            $naslov = $r100[4];
            if (strlen($naslov) > 60) {
                $naslov = substr($naslov, 0, 55) . "...";
            }
            if (!preg_match("/\\S/", $naslov)) {
                $naslov = "[Bez naslova]";
            }
            // Posiljalac
            $q120 = myquery("select ime,prezime from osoba where id={$r100['5']}");
            if (mysql_num_rows($q120) < 1) {
                $posiljalac = "Nepoznato! Prijavite grešku";
            } else {
                $posiljalac = mysql_result($q120, 0, 0) . " " . mysql_result($q120, 0, 1);
            }
            // Fino vrijeme
            $vr = $vrijeme_poruke[$id];
            $vrijeme = "";
            if (date("d.m.Y", $vr) == date("d.m.Y")) {
                $vrijeme = "<i>danas</i>, ";
            } else {
                if (date("d.m.Y", $vr + 3600 * 24) == date("d.m.Y")) {
                    $vrijeme = "<i>juče</i>, ";
                } else {
                    $vrijeme .= date("j. ", $vr) . $mjeseci[date("n", $vr)] . ", ";
                }
            }
            $vrijeme .= date("H:i", $vr);
            if ($_REQUEST['poruka'] == $id) {
                $bgcolor = "#EEEECC";
            } else {
                $bgcolor = "#FFFFFF";
            }
            //$count++;
            $count++;
            if ($count > ($stranica - 1) * $velstranice && $count <= $stranica * $velstranice) {
                $ispis .= "<tr bgcolor=\"{$bgcolor}\" onmouseover=\"this.bgColor='#EEEEEE'\" onmouseout=\"this.bgColor='{$bgcolor}'\"><td>{$vrijeme}</td><td>{$posiljalac}</td><td><a href=\"?sta=common/inbox&poruka={$id}&stranica={$stranica}\">{$naslov}</a></td></tr>\n";
            }
        }
        if ($count == 0) {
            print "<li>Nemate nijednu poruku.</li>\n";
        }
        if ($count > $velstranice) {
            $broj_stranica = ($count - 1) / $velstranice + 1;
            print "<p>Stranica: ";
            for ($i = 1; $i <= $broj_stranica; $i++) {
                if ($stranica == $i) {
                    print "{$i} ";
                } else {
                    print "<a href=\"?sta=common/inbox&stranica={$i}\">{$i}</a> ";
                }
            }
            print "</p>\n";
        }
        print $ispis;
        print "</tbody></table>";
        ?>
	</td></tr></table></center>
	<?php 
    }
}
Esempio n. 10
0
function saradnik_zadaca()
{
    global $conf_files_path, $userid, $user_siteadmin;
    require "lib/autotest.php";
    require "lib/manip.php";
    // radi update_komponente
    // --------------------
    // Standardni ulazni podaci i potrebne varijable
    $stud_id = intval($_REQUEST['student']);
    $zadaca = intval($_REQUEST['zadaca']);
    $zadatak = intval($_REQUEST['zadatak']);
    // Prava pristupa
    if (!$user_siteadmin) {
        // Da li je nastavnik na predmetu?
        $q10 = myquery("select count(*) from nastavnik_predmet as np, zadaca as z where z.id={$zadaca} and z.predmet=np.predmet and z.akademska_godina=np.akademska_godina and np.nastavnik={$userid}");
        if (mysql_result($q10, 0, 0) < 1) {
            zamgerlog("privilegije (student u{$stud_id} zadaca z{$zadaca})", 3);
            // nivo 3: greska
            niceerror("Nemate pravo izmjene ove zadaće");
            return;
        }
        // Ogranicenja (tabela: ogranicenje) ne provjeravamo jer bi to bilo prekomplikovano,
        // a pitanje je da li ima smisla
    }
    // Podaci o zadaci
    $q20 = myquery("select p.geshi, p.ekstenzija, z.attachment, z.naziv, z.zadataka, z.komponenta, z.predmet, z.akademska_godina, z.programskijezik from zadaca as z, programskijezik as p where z.id={$zadaca} and z.programskijezik=p.id");
    if (mysql_num_rows($q20) < 1) {
        zamgerlog("nepostojeca zadaca {$zadaca}", 3);
        niceerror("Neispravna zadaća.");
        exit;
    }
    $jezik = mysql_result($q20, 0, 0);
    $ekst = mysql_result($q20, 0, 1);
    $attach = mysql_result($q20, 0, 2);
    $naziv_zadace = mysql_result($q20, 0, 3);
    $komponenta = mysql_result($q20, 0, 5);
    $predmet = mysql_result($q20, 0, 6);
    $ag = mysql_result($q20, 0, 7);
    $id_jezika = mysql_result($q20, 0, 8);
    if (mysql_result($q20, 0, 4) < $zadatak || $zadatak < 1) {
        zamgerlog("pokusao pristupiti nepostojecem zadatku {$zadatak} u zadaci z{$zadaca}", 3);
        niceerror("Neispravan broj zadatka.");
        exit;
    }
    // Podaci o studentu
    $q50 = myquery("select ime, prezime from osoba where id={$stud_id}");
    if (mysql_num_rows($q50) < 1) {
        zamgerlog("nepostojeci student {$stud_id}", 3);
        niceerror("Neispravan student.");
        exit;
    }
    $ime_studenta = mysql_result($q50, 0, 0);
    $prezime_studenta = mysql_result($q50, 0, 1);
    $lokacijazadaca = "{$conf_files_path}/zadace/{$predmet}-{$ag}/{$stud_id}/";
    // --------------------
    // AKCIJE
    // Akcija: Ispis diffa
    if ($_GET['akcija'] == "diff") {
        $diff_id = intval($_GET['diff_id']);
        $q60 = myquery("select diff from zadatakdiff where zadatak={$diff_id}");
        $diff = mysql_result($q60, 0, 0);
        // Ovo ispod nema potrebe jer je diff već escapovan prilikom
        // inserta u bazu (stud_zadaca.php)
        // $diff = str_replace("\n\n","\n",$diff);
        // $diff = htmlspecialchars($diff);
        print "<pre>{$diff}</pre>\n\n";
        return;
    }
    // Akcija: Izvršenje programa
    if ($_POST['akcija'] == "izvrsi" && check_csrf_token()) {
        // čuvamo poslane podatke u bazi (ako ih nema)
        function izvrsi($stdin, $jezik, $lokacijazadaca, $zadaca, $zadatak, $ekst)
        {
            global $conf_files_path;
            // priprema fajlova
            $tstdin = str_replace('\\n', "\n", $stdin);
            // više nije dvostruki escape
            $tstdin = str_replace('\\N', "\n", $tstdin);
            $tstdin .= "\n";
            $result = file_put_contents("{$conf_files_path}/tmp/zamger-gdb.txt", "run\nbt\n");
            if ($result) {
                $result = file_put_contents("{$conf_files_path}/tmp/zamger-input.txt", $tstdin);
            }
            if (!$result) {
                zamgerlog("nije uspjelo kreiranje datoteka", 3);
                niceerror("Ne mogu kreirati potrebne datoteke u direktoriju /tmp");
                return;
            }
            // kompajliranje - FIXME: nema podrške za jezike?
            if ($jezik == "C++") {
                $kompajler = "g++";
            } else {
                $kompajler = "gcc";
            }
            $the_file = "{$lokacijazadaca}{$zadaca}/{$zadatak}{$ekst}";
            $stdout = array();
            exec("{$kompajler} -lm  -ggdb {$the_file} -o {$conf_files_path}/tmp/zamger.out 2>&1", $stdout, $retvar);
            if ($retvar != 0) {
                niceerror("Kompajliranje nije uspjelo! Slijedi ispis");
                print "<pre>" . join("\n", $stdout) . "</pre>\n\n";
                // čišćenje
                unlink("{$conf_files_path}/tmp/zamger-gdb.txt");
                unlink("{$conf_files_path}/tmp/zamger-input.txt");
                unlink("{$conf_files_path}/tmp/zamger.out");
                return;
            }
            // izvršenje
            unset($stdout);
            chmod("{$conf_files_path}/tmp/zamger.out", 0755);
            exec("gdb --batch --command={$conf_files_path}/tmp/zamger-gdb.txt {$conf_files_path}/tmp/zamger.out <{$conf_files_path}/tmp/zamger-input.txt 2>&1", $stdout, $retvar);
            // Čistimo viškove iz stdout-a
            $ispis = join("\n", $stdout);
            $ispis = preg_replace("/^Using .*? library .*?\n/", "", $ispis);
            $ok = strpos($ispis, "\nProgram exited normally.\n");
            if ($ok) {
                $ispis = substr($ispis, 0, $ok);
            } else {
                $greska = strpos($ispis, "\nProgram received signal SIGABRT, Aborted.\n");
                $backtrace = substr($ispis, $greska + 42);
                $ispis = substr($ispis, 0, $greska);
            }
            ?>
		<center><table width="95%" style="border:1px solid silver;" bgcolor="#FFF3F3"><tr><td>
		<pre><?php 
            echo $ispis;
            ?>
</pre>
		</td></tr></table></center><br/><?php 
            if ($ok) {
                ?>
<p><img src="images/16x16/zad_ok.png" width="16" height="16"> 
			Program se izvršio bez problema.</p><?php 
            } else {
                ?>
<p><img src="images/16x16/zad_bug.png" width="16" height="16">
			Program se krahirao. Backtrace (obratiti pažnju na zadnje linije):</p>
			<pre><?php 
                echo $backtrace;
                ?>
</pre>
			<?php 
            }
            // čišćenje
            unlink("{$conf_files_path}/tmp/zamger-gdb.txt");
            unlink("{$conf_files_path}/tmp/zamger-input.txt");
            unlink("{$conf_files_path}/tmp/zamger.out");
        }
        ?>
	<h1>Rezultat izvršenja:</h1>
	<?php 
        if ($_POST['sve']) {
            $q70 = myquery("select ulaz from stdin where zadaca={$zadaca} and redni_broj={$zadatak}");
            while ($r70 = mysql_fetch_row($q70)) {
                print "<h2>Ulaz: '{$r70['0']}'</h2>";
                izvrsi($r70[0], $jezik, $lokacijazadaca, $zadaca, $zadatak, $ekst);
            }
        } else {
            $stdin = $_POST['stdin'];
            $mstdin = my_escape($stdin);
            $q70 = myquery("select count(*) from stdin where ulaz='{$mstdin}' and zadaca={$zadaca} and redni_broj={$zadatak}");
            if (mysql_result($q70, 0, 0) == 0) {
                $q80 = myquery("insert into stdin set ulaz='{$mstdin}', zadaca={$zadaca}, redni_broj={$zadatak}");
            }
            izvrsi($stdin, $jezik, $lokacijazadaca, $zadaca, $zadatak, $ekst);
        }
        ?>
	<p><a href="javascript:history.go(-1)">Nazad</a></p>
	<?php 
        return;
    }
    // Akcija: Izmjena statusa
    if ($_POST['akcija'] == "slanje" && check_csrf_token()) {
        $komentar = my_escape($_POST['komentar']);
        $status = intval($_POST['status']);
        $bodova = floatval(str_replace(",", ".", $_POST['bodova']));
        // Osiguravamo da se filename prenese u svaku sljedeću instancu zadatka
        $filename = $izvjestaj_skripte = '';
        $q90 = myquery("select filename, izvjestaj_skripte from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$stud_id}  order by id desc limit 1");
        if (mysql_num_rows($q90) > 0) {
            $filename = mysql_real_escape_string(mysql_result($q90, 0, 0));
            $izvjestaj_skripte = mysql_real_escape_string(mysql_result($q90, 0, 1));
            // Već je sanitiziran HTML
        }
        $q100 = myquery("insert into zadatak set zadaca={$zadaca}, redni_broj={$zadatak}, student={$stud_id}, status={$status}, bodova={$bodova}, vrijeme=now(), komentar='{$komentar}', filename='{$filename}', izvjestaj_skripte='{$izvjestaj_skripte}', userid={$userid}");
        // Odredjujemo ponudu kursa (za update komponente)
        $q110 = myquery("select pk.id from student_predmet as sp, ponudakursa as pk where sp.student={$stud_id} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag}");
        update_komponente($stud_id, mysql_result($q110, 0, 0), $komponenta);
        zamgerlog("izmjena zadace (student u{$stud_id} zadaca z{$zadaca} zadatak {$zadatak})", 2);
        // Nakon izmjene statusa, nastavljamo normalno sa prikazom zadatka
    }
    if ($_REQUEST["akcija"] == "test_detalji") {
        $test = intval($_REQUEST['test']);
        // Provjera spoofinga testa
        $q10 = myquery("SELECT COUNT(*) FROM autotest WHERE id={$test} AND zadaca={$zadaca} AND zadatak={$zadatak}");
        if (mysql_result($q10, 0, 0) == 0) {
            niceerror("Odabrani test nije sa odabrane zadaće.");
            return;
        }
        autotest_detalji($test, $stud_id, true);
        return;
    }
    if ($_REQUEST["akcija"] == "brisi_testove" && check_csrf_token()) {
        autotest_brisi_rezultate($stud_id, $zadaca, $zadatak);
        nicemessage("Rezultati testova obrisani.");
        ?>
	<p><a href="?sta=saradnik/zadaca&amp;student=<?php 
        echo $stud_id;
        ?>
&amp;zadaca=<?php 
        echo $zadaca;
        ?>
&amp;zadatak=<?php 
        echo $zadatak;
        ?>
">Nazad</a></p>
	<?php 
        return;
    }
    // --------------------
    // PRIKAZ ZADATKA
    // Header
    ?>
<h1><a href="?sta=saradnik/student&amp;student=<?php 
    echo $stud_id;
    ?>
&amp;predmet=<?php 
    echo $predmet;
    ?>
&amp;ag=<?php 
    echo $ag;
    ?>
" onclick="window.opener.open(this.href); return false;"><?php 
    echo $ime_studenta . " " . $prezime_studenta;
    ?>
</a>, <?php 
    echo $naziv_zadace . ", Zadatak " . $zadatak . ".";
    ?>
</h1>
<?php 
    // Da li ispisati zadatak ili dugme za download attachmenta?
    if ($attach == 0) {
        // Nije attachment
        $src = "";
        $the_file = "{$lokacijazadaca}{$zadaca}/{$zadatak}{$ekst}";
        $no_lines = 0;
        if (file_exists($the_file)) {
            if ($_REQUEST["akcija"] == "test_sa_kodom") {
                $test = intval($_REQUEST['test']);
                // Provjera spoofinga testa
                $q10 = myquery("SELECT COUNT(*) FROM autotest WHERE id={$test} AND zadaca={$zadaca} AND zadatak={$zadatak}");
                if (mysql_result($q10, 0, 0) == 0) {
                    niceerror("Odabrani test nije sa odabrane zadaće.");
                    return;
                }
                $src = autotest_sa_kodom($test, $stud_id, true);
            } else {
                $src = file_get_contents($the_file);
            }
            $no_lines = count(explode("\n", $src));
            // geshi - biblioteka za syntax highlighting
            include_once 'lib/geshi/geshi.php';
            $geshi = new GeSHi($src, $jezik);
            ?>
		<center><table width="95%" style="border:1px solid silver;"><tr>
		<!-- Brojevi linija -->
		<td bgcolor="#CCCCCC" align="left"><pre><?php 
            for ($i = 1; $i <= $no_lines; $i++) {
                print "{$i}\n";
            }
            ?>
</pre></td>
		<td  bgcolor="#F3F3F3" align="left">
		<?php 
            print $geshi->parse_code();
            ?>
</td></tr></table></center><br/><?php 
            if ($_REQUEST["akcija"] == "test_sa_kodom") {
                return;
            }
            // Formular za izvršavanje programa
            if ($id_jezika > 0) {
                ?>
			<script type="text/javascript" src="js/combo-box.js"></script>
			<center><table style="border:1px solid silver;" cellspacing="0" cellpadding="6"><tr><td>
			Izvrši program sa sljedećim parametrima (kucajte \n za tipku enter):<br/>
			<?php 
                echo genform("POST");
                ?>
			<input type="hidden" name="akcija" value="izvrsi">
			<select name="stdin" onKeyPress="edit(event)" onBlur="this.editing = false;">
			<?php 
                // Zadnje korišteni stdin se čuva u bazi
                $q120 = myquery("select ulaz from stdin where zadaca={$zadaca} and redni_broj={$zadatak} order by id desc");
                if (mysql_num_rows($q120) < 1) {
                    print "<option></option>";
                }
                // bez ovoga nije moguće upisati novi tekst
                while ($r120 = mysql_fetch_row($q120)) {
                    print "<option value=\"{$r120['0']}\">{$r120['0']}</option>\n";
                }
                ?>
			</select><br/>
		
			<b>Pažnja!</b> Prije pokretanja provjerite da li program sadrži opasne naredbe.<br/>
			<input type="submit" value=" Izvrši program "> <input type="submit" name="sve" value=" Izvrši sve primjere odjednom ">
			</form></table></center><br/>&nbsp;<br/>
			<?php 
            }
        }
    } else {
        // Attachment
        $q130 = myquery("select filename,UNIX_TIMESTAMP(vrijeme) from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$stud_id} order by id desc limit 1");
        if (mysql_num_rows($q130) > 0) {
            $filename = mysql_result($q130, 0, 0);
            $the_file = "{$lokacijazadaca}{$zadaca}/{$filename}";
            if ($filename && file_exists($the_file)) {
                $vrijeme = date("d. m. Y. h:i:s", mysql_result($q130, 0, 1));
                $velicina = nicesize(filesize($the_file));
                $icon = "images/mimetypes/" . getmimeicon($the_file);
                $dllink = "index.php?sta=common/attachment&student={$stud_id}&zadaca={$zadaca}&zadatak={$zadatak}";
                ?>
			<center><table width="75%" border="1" cellpadding="6" cellspacing="0" bgcolor="#CCCCCC"><tr><td>
			<a href="<?php 
                echo $dllink;
                ?>
"><img src="<?php 
                echo $icon;
                ?>
" border="0"></a>
			</td><td>
			<p>Poslani fajl: <b><a href="<?php 
                echo $dllink;
                ?>
"><?php 
                echo $filename;
                ?>
</a></b><br/>
			Veličina: <b><?php 
                echo $velicina;
                ?>
</b></p>
			</td></tr></table></center><br/>
			<?php 
            } else {
                ?>
			<center><table width="75%" border="1" cellpadding="6" cellspacing="0" bgcolor="#CCCCCC"><tr><td>
			<b><font color="red">Student je zaboravio priložiti datoteku.</font></b>
			</td></tr></table></center><br/>
			<?php 
            }
        }
    }
    // Prikaz statusa sa log-om i izmjena
    $q140 = myquery("select status,bodova,izvjestaj_skripte,komentar from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$stud_id} order by id desc limit 1");
    if (mysql_num_rows($q140) > 0) {
        $status = mysql_result($q140, 0, 0);
        $bodova = mysql_result($q140, 0, 1);
        $izvjestaj_skripte = str_replace("\n", "<br/>", mysql_result($q140, 0, 2));
        $komentar = mysql_result($q140, 0, 3);
        $komentar = str_replace("\"", "&quot;", $komentar);
        // Koristimo poseban upit da bismo odredili vrijeme slanja prve verzije
        $q150 = myquery("select UNIX_TIMESTAMP(vrijeme) from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$stud_id} order by id limit 1");
        $vrijeme_slanja = date("d. m. Y. H:i:s", mysql_result($q150, 0, 0));
        ?>
	
	<table border="0">
	<tr>
		<td>Vrijeme slanja:</td>
		<td><b><?php 
        echo $vrijeme_slanja;
        ?>
</b></td>
	</tr>
	<?php 
        // Autotest nalaz
        $nalaz_autotesta = autotest_tabela($stud_id, $zadaca, $zadatak, true);
        if ($nalaz_autotesta != "") {
            ?>
	<tr>
		<td>Rezultati testiranja:</td>
		<td>
		<p><?php 
            echo genform("POST");
            ?>
		<input type="hidden" name="akcija" value="brisi_testove">
		<input type="submit" value=" Obriši sve rezultate testiranja ">
		</form></p>
		<?php 
            print $nalaz_autotesta;
        }
        if ($id_jezika > 0) {
            ?>
	<tr>
		<td>Izvještaj skripte:</td>
		<td><i><?php 
            echo $izvjestaj_skripte;
            ?>
</i></td>
	</tr>
		<?php 
        }
        if ($status == 1 && !$user_siteadmin) {
            // nema mijenjanja ako je status 1 = ceka se automatska provjera
            print "Izmjena zadaće nije moguća jer se čeka automatsko testiranje";
        } else {
            print genform("POST");
        }
        ?>
	<input type="hidden" name="akcija" value="slanje">
	<?php 
    } else {
        print genform("POST");
        ?>
	<input type="hidden" name="akcija" value="slanje">

	<table border="0">
	<tr>
		<td>&nbsp;</td>
		<td><b>Unos bodova za zadaću koja nije poslana:</b></td>
	</tr>
	<?php 
    }
    // Dio forme koji se prikazuje bez obzira da li je u pitanju kreiranje nove zadaće ili promjena postojeće
    ?>
<tr>
	<td>Status</td>
	<td><select id="status" name="status"><?php 
    function myoption($nr, $tx, $sel)
    {
        print "{$sel}";
        print "<option value={$nr}";
        if ($nr == $sel) {
            print " selected";
        }
        print ">{$tx}</option>";
    }
    // tabela status kodova
    $statusi_array = array("nepoznat status", "sačekati automatsko testiranje!", "prepisana", "ne može se kompajlirati", "nova zadaća, potrebno pregledati", "pregledana");
    $brstatusa = 6;
    for ($i = 0; $i < $brstatusa; $i++) {
        myoption($i, $statusi_array[$i], $status);
    }
    ?>
</select></td>
</tr>
<tr>
	<td>Bodova:</td>
	<td><input type="text" size="20" name="bodova" value="<?php 
    echo $bodova;
    ?>
" onchange="javascript:document.getElementById('status').value=5;"></td>
</tr>
<tr>
	<td valign="top">Komentar:</td>
	<td><textarea cols="50" rows="5" name="komentar"><?php 
    echo $komentar;
    ?>
</textarea></td>
</tr>
<tr>
	<td colspan="2" align="center"><?php 
    if ($status != 1 || $user_siteadmin) {
        ?>
<input type="submit" value="Izmijeni vrijednosti"><?php 
    }
    ?>
</td>
</tr>
</table>
</form>



<?php 
    ##### HISTORIJA IZMJENA ######
    $q160 = myquery("select id,UNIX_TIMESTAMP(vrijeme),status,bodova,komentar,userid from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$stud_id} order by vrijeme");
    if (mysql_num_rows($q160) > 1) {
        ?>

<p>Historija izmjena:</p>
<ul><?php 
        while ($r160 = mysql_fetch_row($q160)) {
            $imeprezime = "";
            if ($r160[5] > 0) {
                $q165 = myquery("select ime, prezime from osoba where id={$r160['5']}");
                if (mysql_num_rows($q165) > 0) {
                    $imeprezime = mysql_result($q165, 0, 0) . " " . mysql_result($q165, 0, 1);
                }
            }
            $vrijeme_slanja = date("d. m. Y. H:i:s", $r160[1]);
            print "<li><b>{$vrijeme_slanja}";
            if ($imeprezime != "") {
                print " ({$imeprezime})";
            }
            print ":</b> " . $statusi_array[$r160[2]];
            if ($r160[3] > 0) {
                print " (" . $r160[3] . " bodova)";
            }
            if (strlen($r160[4]) > 0) {
                print " - &quot;" . $r160[4] . "&quot;";
            }
            $q170 = myquery("select count(zadatak) from zadatakdiff where zadatak={$r160['0']}");
            if (mysql_result($q170, 0, 0) > 0) {
                print " (<a href=\"index.php?sta=saradnik/zadaca&akcija=diff&zadaca={$zadaca}&zadatak={$zadatak}&student={$stud_id}&diff_id={$r160['0']}\">diff</a>)";
            }
            print "</li>";
        }
        ?>
</ul><?php 
    }
    // Kraj historije izmjena
}
Esempio n. 11
0
function formProcess_bb($option, $thread, $threadID)
{
    $errorText = '';
    if (!check_csrf_token()) {
        zamgerlog("csrf token nije dobar", 3);
        zamgerlog2("csrf token nije dobar");
        return "Poslani podaci nisu ispravni. Vratite se nazad, ponovo popunite formu i kliknite na dugme Pošalji";
    }
    if (!in_array($option, array('add', 'edit'))) {
        $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
        return $errorText;
    }
    $id = intval($_REQUEST['id']);
    if ($option == 'edit' && $id <= 0) {
        $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
        zamgerlog("pokusao urediti nepostojeci post {$id}, projekat {$projekat} (pp{$predmet})", 3);
        zamgerlog2("pokusao urediti nepostojeci post", $id, $projekat);
        return $errorText;
    }
    if ($thread == true && $threadID <= 0) {
        $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
        zamgerlog("pokusao urediti nepostojeci post {$id}, projekat {$projekat} (pp{$predmet})", 3);
        zamgerlog2("pokusao urediti nepostojeci post", $id, $projekat);
        return $errorText;
    }
    //get variables
    $naslov = $_REQUEST['naslov'];
    $tekst = $_REQUEST['tekst'];
    $projekat = intval($_REQUEST['projekat']);
    $predmet = intval($_REQUEST['predmet']);
    global $userid;
    if (empty($naslov) || empty($tekst)) {
        $errorText = 'Unesite sva obavezna polja.';
        return $errorText;
    }
    $naslov = trim($naslov);
    $tekst = trim($tekst);
    if ($option == 'edit') {
        $entry = getPost($id);
    }
    $data = array('naslov' => $naslov, 'tekst' => $tekst, 'osoba' => $userid, 'projekat' => $projekat, 'threadID' => $threadID);
    if ($option == 'add') {
        if ($thread == false) {
            //new thread inserting
            if (!insertThread($data)) {
                $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
                return $errorText;
            }
        } else {
            //inserting post in thread
            if (!insertReplyForThread($threadID, $data)) {
                $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
                return $errorText;
            }
        }
    } else {
        if (!updatePost($data, $id)) {
            $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
            return $errorText;
        }
    }
    //option == edit
    return $errorText;
}
Esempio n. 12
0
function saradnik_student()
{
    global $userid, $user_siteadmin, $conf_ldap_domain;
    require "lib/manip.php";
    // radi ispisa studenta sa predmeta
    print '<p><a href="index.php?sta=saradnik/intro">Spisak predmeta i grupa</a></p>' . "\n";
    // Ulazni parametri
    $student = intval($_REQUEST['student']);
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // Provjera ulaznih podataka i podaci za naslov
    // Student
    $q40 = myquery("select ime, prezime, brindexa, slika from osoba where id={$student}");
    if (mysql_num_rows($q40) < 1) {
        biguglyerror("Nepoznat student");
        zamgerlog("nepoznat student {$student}", 3);
        zamgerlog2("nepoznat student", $student);
        return;
    }
    $ime = mysql_result($q40, 0, 0);
    $prezime = mysql_result($q40, 0, 1);
    $brindexa = mysql_result($q40, 0, 2);
    $slika = mysql_result($q40, 0, 3);
    $mailprint = "";
    $q45 = myquery("SELECT adresa FROM email WHERE osoba={$student} ORDER BY sistemska DESC, id");
    while ($r45 = mysql_fetch_row($q45)) {
        if ($mailprint) {
            $mailprint .= ", ";
        }
        $mailprint .= "<a href=\"mailto:{$r45['0']}\">{$r45['0']}</a>";
    }
    // Predmet
    $q5 = myquery("select naziv from predmet where id={$predmet}");
    if (mysql_num_rows($q5) < 1) {
        biguglyerror("Nepoznat predmet");
        zamgerlog("nepoznat predmet {$predmet}", 3);
        return;
    }
    $nazivpredmeta = mysql_result($q5, 0, 0);
    $q15 = myquery("SELECT tippredmeta FROM akademska_godina_predmet WHERE akademska_godina={$ag} AND predmet={$predmet}");
    $tippredmeta = mysql_result($q15, 0, 0);
    if ($tippredmeta == 1000) {
        $q4 = myquery("SELECT id FROM zavrsni WHERE student={$student} AND predmet={$predmet} AND akademska_godina={$ag}");
        if (mysql_num_rows($q4) > 0) {
            $zavrsni = mysql_result($q4, 0, 0);
            ?>
		<script language="JavaScript">
		location.href='?sta=nastavnik/zavrsni&akcija=zavrsni_stranica&zavrsni=<?php 
            echo $zavrsni;
            ?>
&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
';
		</script>
		<?php 
            return;
        }
    }
    // Akademska godina
    $q6 = myquery("select naziv from akademska_godina where id={$ag}");
    if (mysql_num_rows($q6) < 1) {
        biguglyerror("Nepoznata akademska godina");
        zamgerlog("nepoznata ag {$ag}", 3);
        zamgerlog2("nepoznata ag", $ag);
        return;
    }
    $nazivag = mysql_result($q6, 0, 0);
    // Da li student sluša predmet
    $q7 = myquery("select pk.id, pk.semestar from student_predmet as sp, ponudakursa as pk, studij as s where sp.student={$student} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag} and pk.studij=s.id");
    if (mysql_num_rows($q7) < 1) {
        biguglyerror("Student nije upisan na ovaj predmet");
        zamgerlog("student u{$student} ne slusa predmet pp{$predmet} ag{$ag}", 3);
        zamgerlog2("id studenta i predmeta ne odgovaraju", $student, $predmet, $ag);
        return;
    }
    $ponudakursa = mysql_result($q7, 0, 0);
    $semestar = mysql_result($q7, 0, 1);
    // Koji studij student sluša, koji put
    $q8 = myquery("select s.naziv, ss.semestar, ns.naziv, ss.ponovac from student_studij as ss, studij as s, nacin_studiranja as ns where ss.student={$student} and ss.akademska_godina={$ag} and ss.semestar mod 2 = " . $semestar % 2 . " and ss.studij=s.id and ss.nacin_studiranja=ns.id");
    if (mysql_num_rows($q8) < 1) {
        $q8 = myquery("select s.naziv, ss.semestar, ns.naziv, ss.ponovac from student_studij as ss, studij as s, nacin_studiranja as ns where ss.student={$student} and ss.akademska_godina={$ag} and ss.semestar mod 2 = 1 and ss.studij=s.id and ss.nacin_studiranja=ns.id");
    }
    if (mysql_num_rows($q8) < 1) {
        $nazivstudija = "Nije upisan na studij!";
        $kolpren = $ponovac = $nacin_studiranja = "";
    } else {
        $nazivstudija = mysql_result($q8, 0, 0);
        if (mysql_result($q8, 0, 1) < $semestar) {
            $kolpren = ", kolizija";
        } else {
            if (mysql_result($q8, 0, 1) > $semestar) {
                $kolpren = ", prenio predmet";
            } else {
                $kolpren = "";
            }
        }
        $semestar = mysql_result($q8, 0, 1);
        $nacin_studiranja = mysql_result($q8, 0, 2);
        if (mysql_result($q8, 0, 3) == 1) {
            $ponovac = ", ponovac";
        } else {
            $ponovac = "";
        }
    }
    $q9 = myquery("select ag.id, ag.naziv from student_predmet as sp, ponudakursa as pk, akademska_godina as ag where sp.student={$student} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina<{$ag} and pk.akademska_godina=ag.id order by ag.id");
    if (mysql_num_rows($q9) > 0) {
        $kojiput = "(" . (mysql_num_rows($q9) + 1) . ". put sluša predmet)";
        $dosjei = "&nbsp;&nbsp;&nbsp;&nbsp;Pogledajte dosje za: ";
        $zarez = 0;
        while ($r9 = mysql_fetch_row($q9)) {
            if ($zarez == 0) {
                $zarez = 1;
            } else {
                $dosjei .= ", ";
            }
            $dosjei .= "<a href=\"?sta=saradnik/student&student={$student}&predmet={$predmet}&ag={$r9['0']}\">{$r9['1']}</a>";
        }
        $dosjei .= "<br />\n";
    } else {
        $kojiput = "";
        $dosjei = "";
    }
    // U kojoj je grupi student
    $q20 = myquery("select l.id, l.naziv from student_labgrupa as sl, labgrupa as l where sl.student={$student} and sl.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag} order by l.virtualna");
    if (mysql_num_rows($q20) > 0) {
        $labgrupa = mysql_result($q20, 0, 0);
        $lgnaziv = mysql_result($q20, 0, 1);
    } else {
        $labgrupa = 0;
        // Nema labgrupa ili nije ni u jednoj
    }
    // Provjera prava pristupa
    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) {
            biguglyerror("Nemate pravo pristupa ovom studentu");
            zamgerlog("nastavnik nije na predmetu (pp{$predmet} ag{$ag})", 3);
            zamgerlog2("nije saradnik na predmetu", $predmet, $ag);
            return;
        }
        $privilegija = mysql_result($q10, 0, 0);
        // Provjera ogranicenja
        $q30 = myquery("select o.labgrupa from ogranicenje as o, labgrupa as l, student_labgrupa as sl where o.nastavnik={$userid} and o.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag}");
        if (mysql_num_rows($q30) > 0) {
            $nasao = 0;
            while ($r30 = mysql_fetch_row($q30)) {
                if ($r30[0] == $labgrupa) {
                    $nasao = 1;
                    break;
                }
            }
            if ($nasao == 0) {
                biguglyerror("Student je u grupi za koju vam je ograničen pristup");
                zamgerlog("ogranicenje na labgrupu g{$labgrupa}", 3);
                zamgerlog2("ima ogranicenje na labgrupu", intval($labgrupa));
                return;
            }
        }
    }
    // ----  AKCIJE
    // Akcija: ispis studenta sa predmeta
    if ($_GET['akcija'] == "ispis" && $user_siteadmin) {
        ispis_studenta_sa_predmeta($student, $predmet, $ag);
        zamgerlog("student ispisan sa predmeta (student u{$student} predmet pp{$predmet})", 4);
        // nivo 4: audit
        zamgerlog2("student ispisan sa predmeta", $student, $predmet, $ag);
        nicemessage("Student ispisan sa predmeta.");
        return;
    }
    if ($_POST['akcija'] == "promjena_grupe" && check_csrf_token()) {
        $novagrupa = intval($_POST['grupa']);
        $staragrupa = 0;
        // Da li je student u nekoj grupi i u kojoj?
        //   (Ne smijemo se osloniti na vrijednost varijable $labgrupa jer
        //   to može biti virtualna grupa iz koje ga ne smijemo ispisati)
        $q53 = myquery("select l.id, l.naziv from student_labgrupa as sl, labgrupa as l where sl.student={$student} and sl.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag} and l.virtualna=0");
        if (mysql_num_rows($q53) > 0) {
            $staragrupa = mysql_result($q53, 0, 0);
            $naziv_stare_grupe = mysql_result($q53, 0, 1);
            if ($novagrupa == $staragrupa) {
                nicemessage("Student se već nalazi u grupi {$naziv_stare_grupe}!");
                print '<a href="?sta=saradnik/student&student=' . $student . '&predmet=' . $predmet . '&ag=' . $ag . '">Nazad</a>' . "\n";
                return;
            }
            ispis_studenta_sa_labgrupe($student, $staragrupa);
            nicemessage("Student ispisan iz grupe {$naziv_stare_grupe}. Podaci o prisustvu su izgubljeni.");
        }
        if ($novagrupa > 0) {
            $q55 = myquery("insert into student_labgrupa set student={$student}, labgrupa={$novagrupa}");
            $q57 = myquery("select naziv from labgrupa where id={$novagrupa}");
            nicemessage("Student upisan u grupu " . mysql_result($q57, 0, 0) . ". Kreirani su default podaci o prisustvu.");
        }
        // Potrebno je updatovati komponentu za prisustvo jer su podaci sada promijenjeni
        $q4 = myquery("select k.id from tippredmeta_komponenta as tpk,komponenta as k, akademska_godina_predmet as agp where agp.predmet={$predmet} and agp.tippredmeta=tpk.tippredmeta and agp.akademska_godina={$ag} and tpk.komponenta=k.id and k.tipkomponente=3");
        while ($r4 = mysql_fetch_row($q4)) {
            update_komponente($student, $ponudakursa, $r4[0]);
        }
        // Pametni logging
        if ($staragrupa > 0 && $novagrupa > 0) {
            zamgerlog("student u{$student} prebacen iz grupe g{$staragrupa} u g{$novagrupa}", 2);
            // 2 = edit
            zamgerlog2("promijenjena grupa studenta", $student, $novagrupa, 0, $staragrupa);
        } else {
            if ($staragrupa > 0) {
                zamgerlog("student u{$student} ispisan iz grupe g{$staragrupa}", 2);
                zamgerlog2("student ispisan sa grupe", $student, intval($staragrupa));
            } else {
                zamgerlog("student u{$student} upisan u grupu g{$novagrupa}", 2);
                zamgerlog2("student upisan u grupu", $student, $novagrupa);
            }
        }
        // Linkovi za dalje
        print "<p>Gdje želite sada ići?:<br />\n";
        if ($staragrupa > 0) {
            print '- <a href="?sta=saradnik/grupa&id=' . $staragrupa . '">Spisak studenata u grupi ' . mysql_result($q53, 0, 1) . '</a><br />' . "\n";
        } else {
            print '- <a href="?sta=saradnik/grupa&predmet=' . $predmet . '&ag=' . $ag . '">Spisak svih studenata na predmetu</a><br />' . "\n";
        }
        // Ovo je jedini slučaj kad $staragrupa može biti nula
        if ($novagrupa > 0) {
            print '- <a href="?sta=saradnik/grupa&id=' . $novagrupa . '">Spisak studenata u grupi ' . mysql_result($q57, 0, 0) . '</a><br />' . "\n";
        }
        print '- <a href="?sta=saradnik/student&student=' . $student . '&predmet=' . $predmet . '&ag=' . $ag . '">Nazad na detalje studenta ' . $ime . ' ' . $prezime . '</a>' . "\n";
        return;
    }
    if ($_GET['akcija'] == "ponisti_kviz") {
        $kviz = intval($_REQUEST['kviz']);
        $q2000 = myquery("DELETE FROM kviz_student WHERE student={$student} AND kviz={$kviz}");
    }
    // --- ISPIS
    if ($slika != "") {
        print "<img src=\"?sta=common/slika&osoba={$student}\" align=\"left\" style=\"margin: 10px\">\n";
    }
    // Određujemo username radi slanja poruke
    $poruka_link = "";
    $q59 = myquery("select login from auth where id={$student}");
    if (mysql_num_rows($q59) > 0) {
        $poruka_link = "<br><a href=\"?sta=common/inbox&akcija=compose&primalac=" . mysql_result($q59, 0, 0) . "\">Pošaljite Zamger poruku</a>";
    }
    // Naslov
    ?>
<h1><?php 
    echo $ime;
    ?>
 <?php 
    echo $prezime;
    ?>
 (<?php 
    echo $brindexa;
    ?>
)</h1>
<p>Upisan na (<?php 
    echo $nazivag;
    ?>
): <b><?php 
    echo $nazivstudija;
    ?>
, <?php 
    echo $semestar;
    ?>
. semestar <?php 
    echo $ponovac;
    ?>
 <?php 
    echo $kolpren;
    ?>
 <?php 
    echo $kojiput;
    ?>
</b>
<br />
<?php 
    echo $dosjei;
    ?>
<b>Email: <?php 
    echo $mailprint;
    echo $poruka_link;
    ?>
</b></p>
<h3>Predmet: <?php 
    echo $nazivpredmeta;
    ?>
 <br />
<?php 
    if ($labgrupa > 0) {
        print "Grupa: <a href=\"?sta=saradnik/grupa&id={$labgrupa}\">{$lgnaziv}</a>";
    } else {
        print "(nije ni u jednoj grupi)";
    }
    ?>
</h3>
<?php 
    // Promjena grupe
    $q60 = myquery("select id,naziv from labgrupa where predmet={$predmet} and akademska_godina={$ag} and virtualna=0 order by naziv");
    if (mysql_num_rows($q60) > 0) {
        ?>
	<?php 
        echo genform("POST");
        ?>
	<input type="hidden" name="akcija" value="promjena_grupe">
	<p>Promijenite grupu: 
	<select name="grupa" class="default"><option value="0"<?php 
        echo $nijedna;
        ?>
>-- Nije ni u jednoj grupi --</option>
	<?php 
        while ($r60 = mysql_fetch_row($q60)) {
            if ($r60[0] == $labgrupa) {
                $value = "SELECTED";
            } else {
                $value = "";
            }
            ?>
		<option value="<?php 
            echo $r60[0];
            ?>
" <?php 
            echo $value;
            ?>
><?php 
            echo $r60[1];
            ?>
</option>
		<?php 
        }
        ?>
	</select>
	<input type="submit" value=" Promijeni grupu " class="default">
	</form>
	<?php 
    }
    // PROGRESS BAR
    // Kod kopiran iz student/predmet - trebalo bi izdvojiti u lib
    $q30 = myquery("select kb.bodovi, k.maxbodova, k.tipkomponente, k.id from komponentebodovi as kb, komponenta as k where kb.student={$student} and kb.predmet={$ponudakursa} and kb.komponenta=k.id");
    $bodova = $mogucih = 0;
    while ($r30 = mysql_fetch_row($q30)) {
        $bodova += $r30[0];
        if ($r30[2] == 4) {
            // Tip komponente: zadaće
            $q35 = myquery("select sum(bodova) from zadaca where predmet={$predmet} and akademska_godina={$ag} and komponenta={$r30['3']}");
            $do_sada_zadace = round(mysql_result($q35, 0, 0), 2);
            // Zbir bodova za zadaće ne može preći ono koliko nosi komponenta
            if ($do_sada_zadace > $r30[1]) {
                $mogucih += $r30[1];
            } else {
                $mogucih += $do_sada_zadace;
            }
        } else {
            $mogucih += $r30[1];
        }
    }
    if ($bodova > $mogucih) {
        $bodova = $mogucih;
    }
    //ne bi se trebalo desiti
    // boja označava napredak studenta
    if ($mogucih == 0) {
        $procent = 0;
    } else {
        $procent = intval($bodova / $mogucih * 100);
    }
    if ($procent >= 75) {
        $color = "#00FF00";
    } else {
        if ($procent >= 50) {
            $color = "#FFFF00";
        } else {
            $color = "#FF0000";
        }
    }
    $tabela1 = $procent * 2;
    $tabela2 = 200 - $tabela1;
    $ispis1 = "<img src=\"images/fnord.gif\" width=\"{$tabela1}\" height=\"10\">";
    $ispis2 = "<img src=\"images/fnord.gif\" width=\"{$tabela2}\" height=\"1\"><br/> {$bodova} bodova";
    if ($tabela1 > $tabela2) {
        $ispis1 = "<img src=\"images/fnord.gif\" width=\"{$tabela1}\" height=\"1\"><br/> {$bodova} bodova";
        $ispis2 = "<img src=\"images/fnord.gif\" width=\"{$tabela2}\" height=\"10\">";
    }
    ?>


<!-- progress bar -->

<table border="0"><tr><td align="left">
<p>
<table style="border:1px;border-style:solid" width="206" cellpadding="0" cellspacing="2"><tr>
<td width="<?php 
    echo $tabela1;
    ?>
" bgcolor="<?php 
    echo $color;
    ?>
"><?php 
    echo $ispis1;
    ?>
</td>
<td width="<?php 
    echo $tabela2;
    ?>
" bgcolor="#FFFFFF"><?php 
    echo $ispis2;
    ?>
</td></tr></table>

<table width="208" border="0" cellspacing="0" cellpadding="0"><tr>
<td width="68">0</td>
<td align="center" width="68">50</td>
<td align="right" width="69">100</td></tr></table>
što je <?php 
    echo $procent;
    ?>
% od trenutno mogućih <?php 
    echo round($mogucih, 2);
    ?>
 bodova.</p>
</td></tr></table>


<!-- end progress bar -->
<?php 
    // Nekoliko korisnih operacija za site admina
    if ($user_siteadmin) {
        ?>
	<p><a href="index.php?sta=saradnik/student&student=<?php 
        echo $student;
        ?>
&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
&akcija=ispis">Ispiši studenta sa predmeta</a> * <a href="index.php?sta=studentska/osobe&akcija=edit&osoba=<?php 
        echo $student;
        ?>
">Detaljnije o studentu</a> * <a href="index.php?su=<?php 
        echo $student;
        ?>
">Prijavi se kao student</a></p>
	<?php 
    }
    // PRISUSTVO:
    print ajah_box();
    ?>
<script language="JavaScript">
// Funkcija koja se poziva klikom na polje u tabeli
function prisustvo(student,cas) {
	if (zamger_ajah_sending) {
		alert("Slanje u toku. Sačekajte malo.");
		return false;
	}
	var prisutan = invert(student,cas);
	ajah_start("index.php?c=N&sta=common/ajah&akcija=prisustvo&student="+student+"&cas="+cas+"&prisutan="+prisutan, "invert("+student+","+cas+")");
	// U slucaju da ajah ne uspije, ponovo se poziva funkcija invert
}
// Switchuje DA i NE
function invert(student,cas) {
	var val = document.getElementById("danetekst-"+student+"-"+cas).innerHTML;
	if (val == "DA") {
		document.getElementById("dane-"+student+"-"+cas).style.background = "#FFCCCC";
		document.getElementById("danetekst-"+student+"-"+cas).innerHTML = "NE";
		return 1;
	} else {
		document.getElementById("dane-"+student+"-"+cas).style.background="#CCFFCC";
		document.getElementById("danetekst-"+student+"-"+cas).innerHTML = "DA";
		return 2;
	}
}
function openzadaca(student,zadaca,zadatak) {
	var url='index.php?sta=saradnik/zadaca&student='+student+'&zadaca='+zadaca+'&zadatak='+zadatak;
	window.open(url,'blah','width=600,height=600,scrollbars=yes');
}
function toggleVisibilityObj(ime){
	var me = document.getElementById(ime);
	if (me.style.display=="none"){
		me.style.display="inline";
	}
	else {
		me.style.display="none";
	}
	return false; // da ne bi radio link
}
</script>
	<?php 
    // Ispis tablice prisustva za jednu od grupa u kojima je student
    function prisustvo_ispis($idgrupe, $imegrupe, $komponenta, $student)
    {
        if (!preg_match("/\\w/", $imegrupe)) {
            $imegrupe = "[Bez naziva]";
        }
        $odsustva = 0;
        $q70 = myquery("select id,UNIX_TIMESTAMP(datum), vrijeme from cas where labgrupa={$idgrupe} and komponenta={$komponenta}");
        if (mysql_num_rows($q70) < 1) {
            return;
        }
        // Ne ispisuj grupe u kojima nema registrovanih časova
        $datumi = $vremena = $statusi = "";
        while ($r70 = mysql_fetch_row($q70)) {
            $datumi .= "<td>" . date("d.m", $r70[1]) . "</td>\n";
            list($sati, $minute, $sekunde) = explode(":", $r70[2]);
            $vremena .= "<td>{$sati}<sup>{$minute}</sup></td>\n";
            $q80 = myquery("select prisutan from prisustvo where student={$student} and cas={$r70['0']}");
            if (mysql_num_rows($q80) < 1) {
                $statusi .= "<td bgcolor=\"#FFFFCC\" align=\"center\" id=\"dane-" . $student . "-" . $r70[0] . "\" onclick=\"javascript:prisustvo(" . $student . "," . $r70[0] . ")\"><div id=\"danetekst-" . $student . "-" . $r70[0] . "\"> / </div></td>\n";
            } else {
                if (mysql_result($q80, 0, 0) == 1) {
                    $statusi .= "<td bgcolor=\"#CCFFCC\" align=\"center\" id=\"dane-" . $student . "-" . $r70[0] . "\" onclick=\"javascript:prisustvo(" . $student . "," . $r70[0] . ")\"><div id=\"danetekst-" . $student . "-" . $r70[0] . "\">DA</div></td>\n";
                } else {
                    $statusi .= "<td bgcolor=\"#FFCCCC\" align=\"center\" id=\"dane-" . $student . "-" . $r70[0] . "\" onclick=\"javascript:prisustvo(" . $student . "," . $r70[0] . ")\"><div id=\"danetekst-" . $student . "-" . $r70[0] . "\">NE</div></td>\n";
                    $odsustva++;
                }
            }
        }
        ?>

	<b>Prisustvo (<?php 
        echo $imegrupe;
        ?>
):</b><br/>
	<table cellspacing="0" cellpadding="2" border="0" id="prisustvo">
	<tr>
		<th>Datum</th>
	<?php 
        echo $datumi;
        ?>
	</tr>
	<tr>
		<th>Vrijeme</th>
	<?php 
        echo $vremena;
        ?>
	</tr>
	<tr>
		<th>Prisutan</th>
	<?php 
        echo $statusi;
        ?>
	</tr>
	</table>
	</p>
	
	<?php 
        return $odsustva;
    }
    $q40 = myquery("select k.id,k.maxbodova,k.prolaz,k.opcija from komponenta as k, tippredmeta_komponenta as tpk, akademska_godina_predmet as agp\nwhere agp.predmet={$predmet} and agp.tippredmeta=tpk.tippredmeta and agp.akademska_godina={$ag} and tpk.komponenta=k.id and k.tipkomponente=3");
    // 3 = prisustvo
    while ($r40 = mysql_fetch_row($q40)) {
        $id_komponente = $r40[0];
        $max_bodova = $r40[1];
        $min_bodova = $r40[2];
        $max_izostanaka = $r40[3];
        $odsustva = $casova = 0;
        $q60 = myquery("select l.id,l.naziv from labgrupa as l, student_labgrupa as sl where l.predmet={$predmet} and l.akademska_godina={$ag} and l.id=sl.labgrupa and sl.student={$student}");
        while ($r60 = mysql_fetch_row($q60)) {
            $odsustva += prisustvo_ispis($r60[0], $r60[1], $id_komponente, $student);
            $q71 = myquery("select count(*) from cas where labgrupa={$r60['0']} and komponenta={$id_komponente}");
            $casova += mysql_result($q71, 0, 0);
        }
        if ($max_izostanaka == -1) {
            if ($casova == 0) {
                $bodovi = 10;
            } else {
                $bodovi = $min_bodova + round(($max_bodova - $min_bodova) * (($casova - $odsustva) / $casova), 2);
            }
        } else {
            if ($max_izostanaka == -2) {
                // Paraproporcionalni sistem TP
                if ($odsustva <= 2) {
                    $bodovi = $max_bodova;
                } else {
                    if ($odsustva <= 2 + ($max_bodova - $min_bodova) / 2) {
                        $bodovi = $max_bodova - ($odsustva - 2) * 2;
                    } else {
                        $bodovi = $min_bodova;
                    }
                }
            } else {
                if ($odsustva <= $max_izostanaka) {
                    $bodovi = $max_bodova;
                } else {
                    $bodovi = $min_bodova;
                }
            }
        }
        ?>
<p>Ukupno na prisustvo: <b><?php 
        echo $bodovi;
        ?>
</b> bodova.</p>
	<?php 
    }
    // KVIZOVI
    $q200 = myquery("SELECT id, naziv, prolaz_bodova FROM kviz WHERE predmet={$predmet} AND akademska_godina={$ag}");
    if (mysql_num_rows($q200) > 0) {
        ?>

	<b>Kvizovi:</b><br/>
	<table cellspacing="0" cellpadding="2" border="0" id="kvizovi">
	<thead>
	<tr>
		<th>Naziv kviza</th>
		<th>Rezultat</th>
		<th>Akcije</th>
	</tr>
	</thead>
	<?php 
        while ($r200 = mysql_fetch_row($q200)) {
            $q210 = myquery("SELECT dovrsen, bodova FROM kviz_student WHERE student={$student} AND kviz={$r200['0']}");
            $tekst = "";
            if (mysql_num_rows($q210) > 0) {
                $bodova = mysql_result($q210, 0, 1);
                if (mysql_result($q210, 0, 0) == 0) {
                    $tekst = "<img src=\"images/16x16/zad_cekaj.png\" width=\"8\" height=\"8\"> Nije završio/la";
                } else {
                    if ($bodova < $r200[2]) {
                        $tekst = "<img src=\"images/16x16/brisanje.png\" width=\"8\" height=\"8\"> {$bodova} bodova";
                    } else {
                        $tekst = "<img src=\"images/16x16/zad_ok.png\" width=\"8\" height=\"8\"> {$bodova} bodova";
                    }
                }
            }
            ?>
		<tr>
			<td><?php 
            echo $r200[1];
            ?>
</td>
			<td><?php 
            echo $tekst;
            ?>
</td>
			<td><?php 
            if ($tekst !== "") {
                ?>
<a href="?sta=saradnik/student&student=<?php 
                echo $student;
                ?>
&predmet=<?php 
                echo $predmet;
                ?>
&ag=<?php 
                echo $ag;
                ?>
&akcija=ponisti_kviz&kviz=<?php 
                echo $r200[0];
                ?>
">Poništi kviz</a><?php 
            }
            ?>
</td>
		</tr>
		<?php 
        }
        ?>
	</table>
	</p>
	<?php 
    }
    //  ZADAĆE
    // Statusne ikone:
    $stat_icon = array("zad_bug", "zad_preg", "zad_copy", "zad_bug", "zad_preg", "zad_ok");
    $stat_tekst = array("Bug u programu", "Pregled u toku", "Zadaća prepisana", "Bug u programu", "Pregled u toku", "Zadaća OK");
    ?>


<!-- zadace -->

<b>Zadaće:</b><br/>
<table cellspacing="0" cellpadding="2" border="0" id="zadace">
	<thead>
		<tr>
	<td>&nbsp;</td>
<?php 
    // Zaglavlje tabele - potreban nam je max. broj zadataka u zadaci
    $q20 = myquery("select zadataka from zadaca where predmet={$predmet} and akademska_godina={$ag} order by zadataka desc limit 1");
    if (mysql_num_rows($q20) > 0) {
        $broj_zadataka = mysql_result($q20, 0, 0);
        for ($i = 1; $i <= $broj_zadataka; $i++) {
            ?>
<td>Zadatak <?php 
            echo $i;
            ?>
.</td><?php 
        }
    }
    ?>
		<td><b>Ukupno bodova</b></td>
		</tr>
	</thead>
<tbody>
<?php 
    // Tijelo tabele
    // LEGENDA STATUS POLJA:
    // 0 - nepoznat status
    // 1 - nova zadaća
    // 2 - prepisana
    // 3 - ne može se kompajlirati
    // 4 - prošla test, predstoji kontrola
    // 5 - pregledana
    /* Ovo se sve moglo kroz SQL rijesiti, ali necu iz razloga:
    1. PHP je citljiviji
    2. MySQL <4.1 ne podrzava subqueries */
    $bodova_sve_zadace = 0;
    $q21 = myquery("select id,naziv,bodova,zadataka from zadaca where predmet={$predmet} and akademska_godina={$ag} order by komponenta,id");
    while ($r21 = mysql_fetch_row($q21)) {
        $zadaca = $r21[0];
        $mogucih += $r21[2];
        $zzadataka = $r21[3];
        ?>
<tr>
	<th><?php 
        echo $r21[1];
        ?>
</th>
	<?php 
        $bodova_zadaca = 0;
        for ($zadatak = 1; $zadatak <= $broj_zadataka; $zadatak++) {
            // Ako tekuća zadaća nema toliko zadataka, ispisujemo blank polje
            if ($zadatak > $zzadataka) {
                ?>
<td>&nbsp;</td><?php 
                continue;
            }
            // Uzmi samo rjesenje sa zadnjim IDom
            $q22 = myquery("select status,bodova,komentar from zadatak where student={$student} and zadaca={$zadaca} and redni_broj={$zadatak} order by id desc limit 1");
            if (mysql_num_rows($q22) < 1) {
                ?>
<td>&nbsp;</td><?php 
            } else {
                $status = mysql_result($q22, 0, 0);
                $bodova_zadatak = mysql_result($q22, 0, 1);
                $bodova_zadaca += $bodova_zadatak;
                if (strlen(mysql_result($q22, 0, 2)) > 2) {
                    $imakomentar = "<img src=\"images/16x16/komentar.png\"  width=\"15\" height=\"14\" border=\"0\" title=\"Ima komentar\" alt=\"Ima komentar\" align=\"center\">";
                } else {
                    $imakomentar = "";
                }
                ?>
<td><a href="javascript:openzadaca('<?php 
                echo $student;
                ?>
', '<?php 
                echo $zadaca;
                ?>
', '<?php 
                echo $zadatak;
                ?>
')"><img src="images/16x16/<?php 
                echo $stat_icon[$status];
                ?>
.png" width="16" height="16" border="0" align="center" title="<?php 
                echo $stat_tekst[$status];
                ?>
" alt="<?php 
                echo $stat_tekst[$status];
                ?>
"> <?php 
                echo $bodova_zadatak;
                ?>
 <?php 
                echo $imakomentar;
                ?>
</a></td>
	<?php 
            }
        }
        ?>
	<td><?php 
        echo $bodova_zadaca;
        ?>
</td>
	</tr>
	<?php 
        $bodova_sve_zadace += $bodova_zadaca;
    }
    // Ukupno bodova za studenta
    $bodova += $bodova_sve_zadace;
    ?>
	<tr><td colspan="<?php 
    echo $broj_zadataka + 1;
    ?>
" align="right">UKUPNO: </td>
	<td><?php 
    echo $bodova_sve_zadace;
    ?>
</td></tr>
</tbody>
</table>

<p>Za historiju izmjena kliknite na željeni zadatak. <a href="#" onclick="javascript:window.open('legenda-zadace.html','blah6','width=320,height=130'); return false;">Legenda simbola</a></p>
<br/>

<!-- end zadace -->

<?php 
    // Importujemo kod za coolbox
    cool_box('ajah_start("index.php?c=N&sta=common/ajah&akcija=izmjena_ispita&idpolja="+zamger_coolbox_origcaller.id+"&vrijednost="+coolboxedit.value, "undo_coolbox()", "zamger_coolbox_origcaller=false");');
    ?>
<script language="JavaScript">
function undo_coolbox() {
	var greska = document.getElementById("zamger_ajah-info").innerText || document.getElementById("zamger_ajah-info").textContent;
	if (!greska.match(/\S/)) greska = "Došlo je do greške. Molimo kontaktirajte administratora.";
	alert(greska);
	zamger_coolbox_origcaller.innerHTML = zamger_coolbox_origvalue;
	zamger_coolbox_origcaller=false;
}
</script>
<?php 
    // FIKSNE KOMPONENTE
    $q25 = myquery("select k.id, k.gui_naziv from komponenta as k, tippredmeta_komponenta as tpk, akademska_godina_predmet as agp where agp.predmet={$predmet} and agp.tippredmeta=tpk.tippredmeta and agp.akademska_godina={$ag} and tpk.komponenta=k.id and k.tipkomponente=5");
    // 5 = fiksna komponenta
    if (mysql_num_rows($q25) > 0) {
        ?>

<!-- fiksne komponente -->

<table cellspacing="0" cellpadding="2" border="0" id="zadace">
	<thead>
	<tr>
		<td><b>Komponenta ocjene</b></td>
		<td><b>Bodovi</b></td>
		<td><b>Dnevnik izmjena</b></td>
	</tr>
	</thead>
	<tbody>
<?php 
    }
    while ($r25 = mysql_fetch_row($q25)) {
        $komponenta = $r25[0];
        $q27 = myquery("select bodovi from komponentebodovi where student={$student} and predmet={$ponudakursa} and komponenta={$komponenta}");
        if (mysql_num_rows($q27) < 1) {
            $ocjenaedit = "/";
        } else {
            $ocjenaedit = mysql_result($q27, 0, 0);
        }
        ?>
	<tr>
		<td><?php 
        echo $r25[1];
        ?>
</td>
		<td id="fiksna-<?php 
        echo $student;
        ?>
-<?php 
        echo $predmet;
        ?>
-<?php 
        echo $komponenta;
        ?>
-<?php 
        echo $ag;
        ?>
" ondblclick="coolboxopen(this)"><?php 
        echo $ocjenaedit;
        ?>
</td>
		<td><?php 
        if ($privilegija == "nastavnik" || $privilegija == "super_asistent" || $user_siteadmin) {
            ?>
<div id="fiksnalog<?php 
            echo $komponenta;
            ?>
"></div><?php 
        } else {
            print "/";
        }
        ?>
</td>
	</tr>
	<?php 
    }
    if (mysql_num_rows($q25) > 0) {
        ?>
	</tbody>
</table>
<p>&nbsp;</p>
<?php 
    }
    //  ISPITI
    ?>

<!-- ispiti -->

<b>Ispiti:</b><br/>

<?php 
    $q30 = myquery("select i.id, UNIX_TIMESTAMP(i.datum), k.gui_naziv, k.id, k.prolaz 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($q30) == 0) {
        print "<p>Nije bilo parcijalnih ispita.</p>";
    } else {
        ?>
<table cellspacing="0" cellpadding="2" border="0" id="zadace">
	<thead>
	<tr>
		<td><b>Tip ispita</b></td>
		<td><b>Datum ispita</b></td>
		<td><b>Položio/la?</b></td>
		<td><b>Bodovi</b></td>
		<td><b>Dnevnik izmjena</b></td>
	</tr>
	</thead>
	<tbody>
<?php 
    }
    while ($r30 = mysql_fetch_row($q30)) {
        $ispit = $r30[0];
        $q40 = myquery("select ocjena from ispitocjene where ispit={$ispit} and student={$student}");
        if (mysql_num_rows($q40) < 1) {
            $ocjenaedit = "/";
            $ispitocjena = "Nije izašao/la";
        } else {
            $ocjenaedit = mysql_result($q40, 0, 0);
            $ispitocjena = "<b>" . mysql_result($q40, 0, 0) . " bodova</b>";
        }
        /*	?>
        	<p><?=$r30[2]?> (<?=date("d. m. Y",$r30[1])?>): <?=$ispitocjena?>
        	<?*/
        ?>
	<tr>
		<td><?php 
        echo $r30[2];
        ?>
</td>
		<td><?php 
        echo date("d. m. Y", $r30[1]);
        ?>
</td>
		<td><?php 
        if ($ocjenaedit == "/") {
            print "&nbsp;";
        } else {
            if ($ocjenaedit >= $r30[4]) {
                print "<img src=\"images/16x16/zad_ok.png\" width=\"16\" height=\"16\">";
            } else {
                print "<img src=\"images/16x16/brisanje.png\" width=\"16\" height=\"16\">";
            }
        }
        // najljepše slike
        ?>
</td>
		<td id="ispit-<?php 
        echo $student;
        ?>
-<?php 
        echo $ispit;
        ?>
" ondblclick="coolboxopen(this)"><?php 
        echo $ocjenaedit;
        ?>
</td>
		<td><?php 
        if ($privilegija == "nastavnik" || $privilegija == "super_asistent" || $user_siteadmin) {
            ?>
<div id="ispitlog<?php 
            echo $ispit;
            ?>
"></div><?php 
        } else {
            print "/";
        }
        ?>
</td>
	</tr>
	<?php 
        /*	if ($predmet_admin || $user_siteadmin) {
        		?> <span id="ispitlink<?=$ispit?>">(<a href="#" onclick="return toggleVisibilityObj('ispitlog<?=$ispit?>');">dnevnik izmjena</a>)</span> (<a href="#" onclick="return toggleVisibilityObj('ispitunos<?=$ispit?>');">upišite rezultat</a>)</p>
        		<p><div id="ispitlog<?=$ispit?>" style="display:none"></div></p>
        		<p><div id="ispitunos<?=$ispit?>" style="display:none">
        		<table border="0" cellspacing="0" cellpadding="2" height="16"><tr height="16">
        			<td width="37">&nbsp;</td>
        			<td align="left">Unesite bodove ili znak "kosa crta" (/):</td>
        			<td width="5">&nbsp;<br/>&nbsp;</td>
        			<td id="ispit-<?=$student?>-<?=$ispit?>" ondblclick="coolboxopen(this)" width="32" height="32" style="font-size:11px; border:1px solid black"><?=$ocjenaedit?></td>
        		</tr></table>
        		</div></p>
        		<?
        	} else {
        		print "</p>\n";
        	}*/
    }
    if (mysql_num_rows($q30) > 0) {
        ?>
</tbody></table>
<p>Dvokliknite na bodove da promijenite podatak ili upišete novi. Za brisanje rezultata, pobrišite postojeći podatak i pritisnite Enter.</p>
<?php 
    }
    // KONAČNA OCJENA
    $vrijeme_konacne_ocjene = 0;
    $q50 = myquery("select ocjena, UNIX_TIMESTAMP(datum), UNIX_TIMESTAMP(datum_u_indeksu) from konacna_ocjena where student={$student} and predmet={$predmet} and akademska_godina={$ag}");
    if (mysql_num_rows($q50) > 0) {
        $konacnaocjena = mysql_result($q50, 0, 0);
        $vrijeme_konacne_ocjene = mysql_result($q50, 0, 1);
        $datum_u_indeksu = mysql_result($q50, 0, 2);
    } else {
        $konacnaocjena = "/";
    }
    ?>
<p>&nbsp;</p>
<table cellspacing="0" cellpadding="2" border="0" id="zadace">
<tr>
	<td>&nbsp;</td>
	<td>Ocjena:</td>
	<td>Datum u indeksu:</td>
	<td>Dnevnik izmjena:</td>
</tr>
<tr>
	<td><b>Konačna ocjena:</b></td>
<?php 
    if ($privilegija == "nastavnik" || $user_siteadmin) {
        ?>
	<td id="ko-<?php 
        echo $student;
        ?>
-<?php 
        echo $predmet;
        ?>
-<?php 
        echo $ag;
        ?>
" ondblclick="coolboxopen(this)"><?php 
        echo $konacnaocjena;
        ?>
</td>
	<td id="kodatum-<?php 
        echo $student;
        ?>
-<?php 
        echo $predmet;
        ?>
-<?php 
        echo $ag;
        ?>
" ondblclick="coolboxopen(this)"><?php 
        echo date("d. m. Y", $datum_u_indeksu);
        ?>
</td>
	<td><div id="kolog"></div></td>
	<?php 
    } else {
        ?>
	<td><?php 
        echo $konacnaocjena;
        ?>
</td>
	<?php 
    }
    print "</tr></table>\n";
    // **************************************
    // POPUNA LOGOVA
    // **************************************
    // Ne radimo ništa ako korisnik nema privilegije
    if ($privilegija != "nastavnik" && $privilegija != "super_asistent" && !$user_siteadmin) {
        return;
    }
    ?>


<SCRIPT language="JavaScript">
<?php 
    // Spisak ponuda kursa, za slucaj da nema rezultata
    $q90 = myquery("select id from ponudakursa where predmet={$predmet} and akademska_godina={$ag}");
    $pkovi = array();
    while ($r90 = mysql_fetch_row($q90)) {
        array_push($pkovi, $r90[0]);
    }
    // Log za ispite
    $q100 = myquery("select i.id, UNIX_TIMESTAMP(i.vrijemeobjave) 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");
    while ($r100 = mysql_fetch_row($q100)) {
        $vrijeme_ispita = $r100[1];
        // Utvrdjujemo ocjenu da bismo lakse mogli rekonstruisati izmjene kroz log
        $q105 = myquery("select ocjena from ispitocjene where ispit={$r100['0']} and student={$student}");
        if (mysql_num_rows($q105) < 1) {
            $ispitocjena = "/";
        } else {
            $ispitocjena = mysql_result($q105, 0, 0);
        }
        // Spisak izmjena ocjene
        $q110 = myquery("select dogadjaj, UNIX_TIMESTAMP(vrijeme), userid from log where \n\tdogadjaj like 'AJAH ispit - upisan novi rezultat % (ispit i{$r100['0']}, student u{$student})' or \n\tdogadjaj like 'AJAH ispit - izbrisan rezultat % (ispit i{$r100['0']}, student u{$student})' or \n\tdogadjaj like 'AJAH ispit - izmjena rezultata % (ispit i{$r100['0']}, student u{$student})' order by id desc");
        while ($r110 = mysql_fetch_row($q110)) {
            $datum = date("d.m.Y. H:i:s", $r110[1]);
            $q120 = myquery("select ime,prezime from osoba where id=" . $r110[2]);
            if (mysql_num_rows($q120) > 0) {
                $korisnik = mysql_result($q120, 0, 0) . " " . mysql_result($q120, 0, 1);
            } else {
                $korisnik = "/nepoznat korisnik {$r110['2']}/";
            }
            if (strstr($r110[0], "upisan novi rezultat")) {
                $rezultat = floatval(substr($r110[0], 34));
                if ($rezultat != $ispitocjena) {
                    $rezultat .= " ?";
                }
                $ispitocjena = "/";
                ?>
			document.getElementById('ispitlog<?php 
                echo $r100[0];
                ?>
').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> upisan rezultat <b><?php 
                echo $rezultat;
                ?>
</b> (<?php 
                echo $korisnik;
                ?>
, <?php 
                echo $datum;
                ?>
)<br />' + document.getElementById('ispitlog<?php 
                echo $r100[0];
                ?>
').innerHTML;
			<?php 
            } else {
                if (strstr($r110[0], "izbrisan rezultat")) {
                    $rezultat = floatval(substr($r110[0], 31));
                    if ($ispitocjena != "/") {
                        $rezultat .= " ?";
                    } else {
                        $ispitocjena = $rezultat;
                    }
                    ?>
			document.getElementById('ispitlog<?php 
                    echo $r100[0];
                    ?>
').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> izbrisan rezultat (<?php 
                    echo $korisnik;
                    ?>
, <?php 
                    echo $datum;
                    ?>
)<br />' + document.getElementById('ispitlog<?php 
                    echo $r100[0];
                    ?>
').innerHTML;
			<?php 
                } else {
                    if (preg_match("/izmjena rezultata ([\\d\\.]+) u ([\\d\\.]+)/", $r110[0], $matches)) {
                        $starirezultat = floatval($matches[1]);
                        $rezultat = floatval($matches[2]);
                        if ($ispitocjena != $rezultat) {
                            $rezultat .= " ?";
                        }
                        $ispitocjena = $starirezultat;
                        ?>
			document.getElementById('ispitlog<?php 
                        echo $r100[0];
                        ?>
').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> promijenjen rezultat u <b><?php 
                        echo $rezultat;
                        ?>
</b> (<?php 
                        echo $korisnik;
                        ?>
, <?php 
                        echo $datum;
                        ?>
)<br />' + document.getElementById('ispitlog<?php 
                        echo $r100[0];
                        ?>
').innerHTML;
			<?php 
                    }
                }
            }
        }
        // Necemo traziti masovne unose ako student nije ni izlazio na ispit
        if ($ispitocjena == "/") {
            continue;
        }
        // Masovni unosi
        $q110 = myquery("select UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj='masovni rezultati ispita za predmet pp{$predmet}' AND UNIX_TIMESTAMP(vrijeme)>{$r100['1']}-10 ORDER BY vrijeme");
        // uzimamo razliku 10 sekundi, jer moze doci do malog kasnjenja prilikom unosa u log
        if (mysql_num_rows($q110) > 0) {
            $datum = date("d.m.Y. H:i:s", mysql_result($q110, 0, 0));
            $q120 = myquery("select ime,prezime from osoba where id=" . mysql_result($q110, 0, 1));
            if (mysql_num_rows($q120) > 0) {
                $korisnik = mysql_result($q120, 0, 0) . " " . mysql_result($q120, 0, 1);
            } else {
                $korisnik = "/nepoznat korisnik " . mysql_result($q110, 0, 1) . "/";
            }
            ?>
		document.getElementById('ispitlog<?php 
            echo $r100[0];
            ?>
').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> masovni rezultati ispita - <b><?php 
            echo $ispitocjena;
            ?>
</b> (<?php 
            echo $korisnik;
            ?>
, <?php 
            echo $datum;
            ?>
)<br />' + document.getElementById('ispitlog<?php 
            echo $r100[0];
            ?>
').innerHTML;
		<?php 
            // Nema pod oznakom predmeta, pokusacemo ponudu kursa
        } else {
            foreach ($pkovi as $ponudakursa) {
                $q110 = myquery("select UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj='masovni rezultati ispita za predmet p{$ponudakursa}' AND UNIX_TIMESTAMP(vrijeme)>{$r100['1']}-10");
                if (mysql_num_rows($q110) > 0) {
                    $datum = date("d.m.Y. H:i:s", mysql_result($q110, 0, 0));
                    $q120 = myquery("select ime,prezime from osoba where id=" . mysql_result($q110, 0, 1));
                    if (mysql_num_rows($q120) > 0) {
                        $korisnik = mysql_result($q120, 0, 0) . " " . mysql_result($q120, 0, 1);
                    } else {
                        $korisnik = "/nepoznat korisnik " . mysql_result($q110, 0, 1) . "/";
                    }
                    ?>
			document.getElementById('ispitlog<?php 
                    echo $r100[0];
                    ?>
').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> masovni rezultati ispita - <b><?php 
                    echo $ispitocjena;
                    ?>
</b> (<?php 
                    echo $korisnik;
                    ?>
, <?php 
                    echo $datum;
                    ?>
)<br />' + document.getElementById('ispitlog<?php 
                    echo $r100[0];
                    ?>
').innerHTML;
			<?php 
                    break;
                }
            }
        }
    }
    // Log za konacnu ocjenu
    $bilo = 0;
    $upit = "\ndogadjaj like 'AJAH ko - dodana ocjena % (predmet pp{$predmet}, student u{$student})' or \ndogadjaj like 'AJAH ko - obrisana ocjena % (predmet pp{$predmet}, student u{$student})' or \ndogadjaj like 'AJAH ko - izmjena ocjene % (predmet pp{$predmet}, student u{$student})' or \ndogadjaj like 'dopisana ocjena % prilikom upisa na studij (predmet pp{$predmet}, student u{$student})' or \ndogadjaj like 'masovno dodana ocjena % (predmet pp{$predmet}, student u{$student})'";
    $q150 = myquery("select dogadjaj, UNIX_TIMESTAMP(vrijeme), userid from log where {$upit} order by id desc");
    while ($r150 = mysql_fetch_row($q150)) {
        $bilo = 1;
        $datum = date("d.m.Y. H:i:s", $r150[1]);
        $q160 = myquery("select ime,prezime from osoba where id={$r150['2']}");
        if (mysql_num_rows($q160) > 0) {
            $korisnik = mysql_result($q160, 0, 0) . " " . mysql_result($q160, 0, 1);
        } else {
            $korisnik = "/nepoznat korisnik {$r150['2']}/";
        }
        if (strstr($r150[0], " - dodana ocjena")) {
            $rezultat = intval(substr($r150[0], 24));
            if ($rezultat != $konacnaocjena) {
                $rezultat .= " ?";
            }
            $konacnaocjena = "/";
            ?>
		document.getElementById('kolog').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> dodana ocjena <b><?php 
            echo $rezultat;
            ?>
</b> (<?php 
            echo $korisnik;
            ?>
, <?php 
            echo $datum;
            ?>
)<br />' + document.getElementById('kolog').innerHTML;
		<?php 
        } else {
            if (strstr($r150[0], "obrisana ocjena")) {
                $rezultat = intval(substr($r150[0], 26));
                if ($konacnaocjena != "/") {
                    $rezultat .= " ?";
                } else {
                    $konacnaocjena = $rezultat;
                }
                ?>
		document.getElementById('kolog').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> obrisana ocjena (<?php 
                echo $korisnik;
                ?>
, <?php 
                echo $datum;
                ?>
)<br />' + document.getElementById('kolog').innerHTML;
		<?php 
            } else {
                if (preg_match("/izmjena ocjene (\\d+) u (\\d+)/", $r150[0], $matches)) {
                    $starirezultat = intval($matches[1]);
                    $rezultat = intval($matches[2]);
                    if ($konacnaocjena != $rezultat) {
                        $rezultat .= " ?";
                    }
                    $konacnaocjena = $starirezultat;
                    ?>
		document.getElementById('kolog').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> promijenjena ocjena u <b><?php 
                    echo $rezultat;
                    ?>
</b> (<?php 
                    echo $korisnik;
                    ?>
, <?php 
                    echo $datum;
                    ?>
)<br />' + document.getElementById('kolog').innerHTML;
		<?php 
                } else {
                    if (strstr($r150[0], "dopisana ocjena")) {
                        $rezultat = intval(substr($r150[0], 16));
                        if ($konacnaocjena != $rezultat) {
                            $rezultat .= " ?";
                        }
                        $konacnaocjena = "/";
                        ?>
		document.getElementById('kolog').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> studentska služba dopisala ocjenu <b><?php 
                        echo $rezultat;
                        ?>
</b> prilikom upisa u sljedeći semestar (<?php 
                        echo $korisnik;
                        ?>
, <?php 
                        echo $datum;
                        ?>
)<br />' + document.getElementById('kolog').innerHTML;
		<?php 
                    } else {
                        if (strstr($r150[0], "masovno dodana ocjena")) {
                            $rezultat = intval(substr($r150[0], 22));
                            if ($konacnaocjena != $rezultat) {
                                $rezultat .= " ?";
                            }
                            $konacnaocjena = "/";
                            ?>
		document.getElementById('kolog').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> masovno upisana ocjena <b><?php 
                            echo $rezultat;
                            ?>
</b> (<?php 
                            echo $korisnik;
                            ?>
, <?php 
                            echo $datum;
                            ?>
)<br />' + document.getElementById('kolog').innerHTML;
		<?php 
                        }
                    }
                }
            }
        }
    }
    /*if (mysql_num_rows($q150)<1) foreach ($pkovi as $ponudakursa) {
    	$q150 = myquery("select dogadjaj, UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj like 'AJAH ko - dodana ocjena % (predmet p$ponudakursa, student u$student)' or dogadjaj like 'AJAH ko - obrisana ocjena % (predmet p$ponudakursa, student u$student)' or dogadjaj like 'AJAH ko - izmjena ocjene % (predmet p$ponudakursa, student u$student)' order by id desc");
    
    	while ($r150 = mysql_fetch_row($q150)) {
    		$bilo=1;
    		$datum = date("d.m.Y. H:i:s", $r150[1]);
    		$q160 = myquery("select ime,prezime from osoba where id=$r150[2]");
    		if (mysql_num_rows($q160)>0) {
    			$korisnik = mysql_result($q160,0,0)." ".mysql_result($q160,0,1);
    		} else {
    			$korisnik = "/nepoznat korisnik $r150[2]/";
    		}
    	
    		if (strstr($r150[0], "dodana ocjena")) {
    			$rezultat = intval(substr($r150[0], 24));
    			if ($rezultat != $konacnaocjena) $rezultat .= " ?";
    			$konacnaocjena = "/";
    			$vrijeme_konacne_ocjene=$r150[1];
    			?>
    			document.getElementById('kolog').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> dodana ocjena <b><?=$rezultat?></b> (<?=$korisnik?>, <?=$datum?>)<br />' + document.getElementById('kolog').innerHTML;
    			<?
    		} else if (strstr($r150[0], "obrisana ocjena")) {
    			$rezultat = intval(substr($r150[0], 26));
    			if ($konacnaocjena != "/") $rezultat .= " ?"; else $konacnaocjena=$rezultat;
    			$vrijeme_konacne_ocjene=0;
    			?>
    			document.getElementById('kolog').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> obrisana ocjena (<?=$korisnik?>, <?=$datum?>)<br />' + document.getElementById('kolog').innerHTML;
    			<?
    		} else if (preg_match("/izmjena ocjene (\d+) u (\d+)/", $r150[0], $matches)) {
    			$starirezultat = intval($matches[1]);
    			$rezultat = intval($matches[2]);
    			if ($konacnaocjena != $rezultat) $rezultat .= " ?";
    			$konacnaocjena = $starirezultat;
    			$vrijeme_konacne_ocjene=$r150[1];
    			?>
    			document.getElementById('kolog').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> promijenjena ocjena u <b><?=$rezultat?></b> (<?=$korisnik?>, <?=$datum?>)<br />' + document.getElementById('kolog').innerHTML;
    			<?
    		}
    //print "$r150[0] $r150[1] $r150[2]\n";
    	}
    }*/
    if (mysql_num_rows($q150) == 0 && $vrijeme_konacne_ocjene > 0) {
        $bilo = 1;
        $q170 = myquery("select UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj='masovno upisane ocjene na predmet pp{$predmet}' AND ABS(UNIX_TIMESTAMP(vrijeme)-{$vrijeme_konacne_ocjene})<10");
        // uzimamo apsolutnu razliku 10 sekundi, jer moze doci do malog kasnjenja prilikom unosa u log
        if (mysql_num_rows($q170) > 0) {
            $datum = date("d.m.Y. H:i:s", mysql_result($q170, 0, 0));
            $q180 = myquery("select ime,prezime from osoba where id=" . mysql_result($q170, 0, 1));
            if (mysql_num_rows($q180) > 0) {
                $korisnik = mysql_result($q180, 0, 0) . " " . mysql_result($q180, 0, 1);
            } else {
                $korisnik = "/nepoznat korisnik " . mysql_result($q170, 0, 1) . "/";
            }
            ?>
		document.getElementById('kolog').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> masovno unesene ocjene - <b><?php 
            echo $konacnaocjena;
            ?>
</b> (<?php 
            echo $korisnik;
            ?>
, <?php 
            echo $datum;
            ?>
)<br />' + document.getElementById('kolog').innerHTML;
		<?php 
            // Nema pod oznakom predmeta, pokusacemo ponudu kursa
        } else {
            foreach ($pkovi as $ponudakursa) {
                $q170 = myquery("select UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj='masovno upisane ocjene na predmet p{$ponudakursa}' AND ABS(UNIX_TIMESTAMP(vrijeme)-" . mysql_result($q50, 0, 1) . ")<10");
                // uzimamo apsolutnu razliku 10 sekundi, jer moze doci do malog kasnjenja prilikom unosa u log
                if (mysql_num_rows($q170) > 0) {
                    $datum = date("d.m.Y. H:i:s", mysql_result($q170, 0, 0));
                    $q180 = myquery("select ime,prezime from osoba where id=" . mysql_result($q170, 0, 1));
                    if (mysql_num_rows($q180) > 0) {
                        $korisnik = mysql_result($q180, 0, 0) . " " . mysql_result($q180, 0, 1);
                    } else {
                        $korisnik = "/nepoznat korisnik " . mysql_result($q170, 0, 1) . "/";
                    }
                    ?>
			document.getElementById('kolog').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> masovno unesene ocjene - <b><?php 
                    echo $konacnaocjena;
                    ?>
</b> (<?php 
                    echo $korisnik;
                    ?>
, <?php 
                    echo $datum;
                    ?>
)<br />' + document.getElementById('kolog').innerHTML;
			<?php 
                }
            }
        }
    }
    // Ako nema nista u logu, sakrivamo ga
    if ($bilo == 0) {
        ?>
	toggleVisibilityObj('kolink');
	<?php 
    }
    // Log za fiksne komponente
    // Radimo samo ako ima fiksnih komponenti
    $q200 = myquery("select k.id from komponenta as k, tippredmeta_komponenta as tpk, akademska_godina_predmet as agp where agp.predmet={$predmet} and agp.tippredmeta=tpk.tippredmeta and agp.akademska_godina={$ag} and tpk.komponenta=k.id and k.tipkomponente=5");
    // 5 = fiksna komponenta
    while ($r200 = mysql_fetch_row($q200)) {
        $komponenta = $r200[0];
        // Utvrdjujemo ocjenu da bismo lakse mogli rekonstruisati izmjene kroz log
        $q205 = myquery("select bodovi from komponentebodovi where student={$student} and predmet={$ponudakursa} and komponenta={$komponenta}");
        if (mysql_num_rows($q205) < 1) {
            $ispitocjena = "/";
        } else {
            $ispitocjena = mysql_result($q205, 0, 0);
        }
        // Izmjene fiksne komponente putem AJAHa
        $q210 = myquery("select dogadjaj, UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj like 'AJAH fiksna - upisani bodovi % za fiksnu komponentu {$komponenta} (predmet pp{$predmet}, student u{$student})' order by id desc");
        while ($r210 = mysql_fetch_row($q210)) {
            $datum = date("d.m.Y. H:i:s", $r210[1]);
            $q220 = myquery("select ime,prezime from osoba where id=" . $r210[2]);
            if (mysql_num_rows($q220) > 0) {
                $korisnik = mysql_result($q220, 0, 0) . " " . mysql_result($q220, 0, 1);
            } else {
                $korisnik = "/nepoznat korisnik {$r210['2']}/";
            }
            $rezultat = floatval(substr($r210[0], 29));
            ?>
		document.getElementById('fiksnalog<?php 
            echo $komponenta;
            ?>
').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> upisan rezultat <b><?php 
            echo $rezultat;
            ?>
</b> (<?php 
            echo $korisnik;
            ?>
, <?php 
            echo $datum;
            ?>
)<br />' + document.getElementById('fiksnalog<?php 
            echo $komponenta;
            ?>
').innerHTML;
		<?php 
        }
        // Masovni unosi - jednog dana kad bude
        /*	$q110 = myquery("select UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj='masovni rezultati ispita za predmet pp$predmet' AND ABS(UNIX_TIMESTAMP(vrijeme)-$r100[1])<10"); // uzimamo apsolutnu razliku 10 sekundi, jer moze doci do malog kasnjenja prilikom unosa u log
        	if (mysql_num_rows($q110)>0) {
        		$datum = date("d.m.Y. H:i:s", mysql_result($q110,0,0));
        		$q120 = myquery("select ime,prezime from osoba where id=".mysql_result($q110,0,1));
        		if (mysql_num_rows($q120)>0) {
        			$korisnik = mysql_result($q120,0,0)." ".mysql_result($q120,0,1);
        		} else {
        			$korisnik = "/nepoznat korisnik/";
        		}
        		?>
        		document.getElementById('ispitlog<?=$r100[0]?>').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> masovni rezultati ispita - <b><?=$ispitocjena?></b> (<?=$korisnik?>, <?=$datum?>)<br />' + document.getElementById('ispitlog<?=$r100[0]?>').innerHTML;
        		<?
        
        	// Nema pod oznakom predmeta, pokusacemo ponudu kursa
        	} else foreach ($pkovi as $ponudakursa) {
        		$q110 = myquery("select UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj='masovni rezultati ispita za predmet p$ponudakursa' AND ABS(UNIX_TIMESTAMP(vrijeme)-$r100[1])<10");
        		if (mysql_num_rows($q110)>0) {
        			$datum = date("d.m.Y. H:i:s", mysql_result($q110,0,0));
        			$q120 = myquery("select ime,prezime from osoba where id=".mysql_result($q110,0,1));
        			if (mysql_num_rows($q120)>0) {
        				$korisnik = mysql_result($q120,0,0)." ".mysql_result($q120,0,1);
        			} else {
        				$korisnik = "/nepoznat korisnik/";
        			}
        			?>
        			document.getElementById('ispitlog<?=$r100[0]?>').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> masovni rezultati ispita - <b><?=$ispitocjena?></b> (<?=$korisnik?>, <?=$datum?>)<br />' + document.getElementById('ispitlog<?=$r100[0]?>').innerHTML;
        			<?
        		}
        	}*/
    }
    /*$q100 = myquery("select i.id, UNIX_TIMESTAMP(i.vrijemeobjave) 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");
    
    while ($r100 = mysql_fetch_row($q100)) {
    	// Utvrdjujemo ocjenu da bismo lakse mogli rekonstruisati izmjene kroz log
    	$q105 = myquery("select ocjena from ispitocjene where ispit=$r100[0] and student=$student");
    	if (mysql_num_rows($q105)<1)
    		$ispitocjena="/";
    	else
    		$ispitocjena=mysql_result($q105,0,0);
    
    	// Spisak izmjena ocjene
    	$q110 = myquery("select dogadjaj, UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj like 'AJAH ispit - upisan novi rezultat % (ispit i$r100[0], student u$student)' or dogadjaj like 'AJAH ispit - izbrisan rezultat % (ispit i$r100[0], student u$student)' or dogadjaj like 'AJAH ispit - izmjena rezultata % (ispit i$r100[0], student u$student)' order by id desc");
    	while ($r110 = mysql_fetch_row($q110)) {
    		$datum = date("d.m.Y. H:i:s", $r110[1]);
    		$q120 = myquery("select ime,prezime from osoba where id=".$r110[2]);
    		if (mysql_num_rows($q120)>0) {
    			$korisnik = mysql_result($q120,0,0)." ".mysql_result($q120,0,1);
    		} else {
    			$korisnik = "/nepoznat korisnik $r110[2]/";
    		}
    
    		if (strstr($r110[0], "upisan novi rezultat")) {
    			$rezultat = floatval(substr($r110[0], 34));
    			if ($rezultat != $ispitocjena) $rezultat .= " ?";
    			$ispitocjena = "/";
    			?>
    			document.getElementById('ispitlog<?=$r100[0]?>').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> upisan rezultat <b><?=$rezultat?></b> (<?=$korisnik?>, <?=$datum?>)<br />' + document.getElementById('ispitlog<?=$r100[0]?>').innerHTML;
    			<?
    		} else if (strstr($r110[0], "izbrisan rezultat")) {
    			$rezultat = floatval(substr($r110[0], 31));
    			if ($ispitocjena != "/") $rezultat .= " ?"; else $ispitocjena=$rezultat;
    			?>
    			document.getElementById('ispitlog<?=$r100[0]?>').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> izbrisan rezultat (<?=$korisnik?>, <?=$datum?>)<br />' + document.getElementById('ispitlog<?=$r100[0]?>').innerHTML;
    			<?
    		} else if (preg_match("/izmjena rezultata ([\d\.]+) u ([\d\.]+)/", $r110[0], $matches)) {
    			$starirezultat = floatval($matches[1]);
    			$rezultat = floatval($matches[2]);
    			if ($ispitocjena != $rezultat) $rezultat .= " ?";
    			$ispitocjena = $starirezultat;
    			?>
    			document.getElementById('ispitlog<?=$r100[0]?>').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> promijenjen rezultat u <b><?=$rezultat?></b> (<?=$korisnik?>, <?=$datum?>)<br />' + document.getElementById('ispitlog<?=$r100[0]?>').innerHTML;
    			<?
    		}
    	}
    
    	// Sakrivamo link na log ako nema ništa u njemu
    	if ($ispitocjena == "/" && mysql_num_rows($q110)<1) {
    /*		?>
    		toggleVisibilityObj('ispitlink<?=$r100[0]?>');
    		<?*/
    /*	}
    
    	// Necemo traziti masovne unose ako student nije ni izlazio na ispit
    	if ($ispitocjena == "/") continue; 
    
    
    	// Masovni unosi
    
    	$q110 = myquery("select UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj='masovni rezultati ispita za predmet pp$predmet' AND ABS(UNIX_TIMESTAMP(vrijeme)-$r100[1])<10"); // uzimamo apsolutnu razliku 10 sekundi, jer moze doci do malog kasnjenja prilikom unosa u log
    	if (mysql_num_rows($q110)>0) {
    		$datum = date("d.m.Y. H:i:s", mysql_result($q110,0,0));
    		$q120 = myquery("select ime,prezime from osoba where id=".mysql_result($q110,0,1));
    		if (mysql_num_rows($q120)>0) {
    			$korisnik = mysql_result($q120,0,0)." ".mysql_result($q120,0,1);
    		} else {
    			$korisnik = "/nepoznat korisnik ".mysql_result($q110,0,1)."/";
    		}
    		?>
    		document.getElementById('ispitlog<?=$r100[0]?>').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> masovni rezultati ispita - <b><?=$ispitocjena?></b> (<?=$korisnik?>, <?=$datum?>)<br />' + document.getElementById('ispitlog<?=$r100[0]?>').innerHTML;
    		<?
    
    	// Nema pod oznakom predmeta, pokusacemo ponudu kursa
    	} else foreach ($pkovi as $ponudakursa) {
    		$q110 = myquery("select UNIX_TIMESTAMP(vrijeme), userid from log where dogadjaj='masovni rezultati ispita za predmet p$ponudakursa' AND ABS(UNIX_TIMESTAMP(vrijeme)-$r100[1])<10");
    		if (mysql_num_rows($q110)>0) {
    			$datum = date("d.m.Y. H:i:s", mysql_result($q110,0,0));
    			$q120 = myquery("select ime,prezime from osoba where id=".mysql_result($q110,0,1));
    			if (mysql_num_rows($q120)>0) {
    				$korisnik = mysql_result($q120,0,0)." ".mysql_result($q120,0,1);
    			} else {
    				$korisnik = "/nepoznat korisnik ".mysql_result($q110,0,1)."/";
    			}
    			?>
    			document.getElementById('ispitlog<?=$r100[0]?>').innerHTML = '<img src="images/16x16/log_edit.png" width="16" height="16" align="center"> masovni rezultati ispita - <b><?=$ispitocjena?></b> (<?=$korisnik?>, <?=$datum?>)<br />' + document.getElementById('ispitlog<?=$r100[0]?>').innerHTML;
    			<?
    		}
    	}
    	
    }*/
    ?>
</SCRIPT>
<?php 
}
Esempio n. 13
0
function common_zavrsniStrane()
{
    //debug mod aktivan
    global $userid, $user_nastavnik, $user_student, $conf_files_path, $user_siteadmin;
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    $zavrsni = intval($_REQUEST['zavrsni']);
    $subakcija = $_REQUEST['subakcija'];
    $id = intval($_REQUEST['id']);
    $sta = $_REQUEST['sta'];
    $linkPrefix = "?sta={$sta}&akcija=zavrsni_stranica&zavrsni={$zavrsni}&predmet={$predmet}&ag={$ag}";
    $lokacijafajlova = "{$conf_files_path}/zavrsni/fajlovi/{$zavrsni}/";
    // Osnovne informacije o radu
    $q10 = myquery("SELECT z.naslov, o.ime, o.prezime, o.naucni_stepen, z.student, z.sazetak, z.summary FROM zavrsni AS z, osoba AS o WHERE z.id={$zavrsni} AND z.mentor=o.id");
    if (mysql_num_rows($q10) < 1) {
        niceerror("Nepostojeći rad");
        zamgerlog("zavrsniStrane: nepostojeci rad {$zavrsni}", 3);
        zamgerlog2("nepostojeci rad", $zavrsni);
        return;
    }
    // Cache naučnog stepena
    $q20 = myquery("select id, titula from naucni_stepen");
    while ($r20 = mysql_fetch_row($q20)) {
        $naucni_stepen[$r20[0]] = $r20[1];
    }
    $naslov_rada = mysql_result($q10, 0, 0);
    $mentor = mysql_result($q10, 0, 2) . " " . $naucni_stepen[mysql_result($q10, 0, 3)] . " " . mysql_result($q10, 0, 1);
    $id_studenta = mysql_result($q10, 0, 4);
    if (substr($sta, 0, 7) != "student" || substr($sta, 0, 10) == "studentska") {
        $q30 = myquery("select ime,prezime,brindexa from osoba where id={$id_studenta}");
        $student = "Student: " . mysql_result($q30, 0, 1) . " " . mysql_result($q30, 0, 0) . " (" . mysql_result($q30, 0, 2) . ")";
    }
    // Naslov stranice
    ?>
	<h2><?php 
    echo $naslov_rada;
    ?>
</h2>
	<p>Mentor: <?php 
    echo $mentor;
    ?>
<br>
	<?php 
    echo $student;
    ?>
</p>
	<?php 
    // Prikaz ako nije odabrana subakcija
    if (!isset($subakcija)) {
        // Da li je definisan sazetak?
        $sazetak = mysql_result($q10, 0, 5);
        $summary = mysql_result($q10, 0, 6);
        if ($userid == $id_studenta) {
            if (!preg_match("/\\w/", $sazetak) || !preg_match("/\\w/", $summary)) {
                ?>
			<p><b><font color="red">Nije definisan sažetak teme</font></b></p>
			<p>Molimo vas da prije slanja finalne verzije rada definišete sažetak.</p>
			<?php 
            }
            ?>
		<p><a href="<?php 
            echo $linkPrefix;
            ?>
&subakcija=sazetak">Kliknite ovdje da definišete sažetak</a></p>
		<?php 
        }
        // Spisak fajlova
        ?>
	<center><table border="0"><tr><td>
	<p><b>Poslani fajlovi</b></p>
	<table border="1" cellspacing="0" cellpadding="4">
		<tr bgcolor="#CCCCCC">
			<td><b>Naziv</b></th>
			<td><b>Datum kreiranja</b></th>
			<td><b>Revizija</b></th>
			<td><b>Veličina</b></th>
			<td><b>Opcije</b></th>
		</tr>
	<?php 
        $q100 = myquery("SELECT id, osoba, filename, UNIX_TIMESTAMP(vrijeme), revizija FROM zavrsni_file WHERE zavrsni={$zavrsni} ORDER BY vrijeme");
        if (mysql_num_rows($q100) < 1) {
            ?>
		<tr><td colspan="5">Nije poslan niti jedan fajl</td></tr>
		<?php 
        }
        while ($r100 = mysql_fetch_row($q100)) {
            $id_fajla = $r100[0];
            $id_osobe = $r100[1];
            $filename = $r100[2];
            $datum = date("d. m. Y.", $r100[3]);
            $revizija = $r100[4];
            $filepath = $lokacijafajlova . $filename . "/v" . $revizija . "/" . $filename;
            $filesize = nicesize(filesize($filepath));
            ?>
		<tr>
			<td><a href="?sta=common/attachment&tip=zavrsni&zavrsni=<?php 
            echo $zavrsni;
            ?>
&id=<?php 
            echo $id_fajla;
            ?>
"><?php 
            echo $filename;
            ?>
</a></td>
			<td><?php 
            echo $datum;
            ?>
</td>
			<td><?php 
            echo $revizija;
            ?>
</td>
			<td><?php 
            echo $filesize;
            ?>
</td>
			<td>
				<a href="?sta=common/attachment&tip=zavrsni&zavrsni=<?php 
            echo $zavrsni;
            ?>
&id=<?php 
            echo $id_fajla;
            ?>
">Preuzmi</a>        
				<a href="<?php 
            echo $linkPrefix;
            ?>
&subakcija=izmijeni_fajl&id=<?php 
            echo $id_fajla;
            ?>
">Izmijeni</a>
				<a href="<?php 
            echo $linkPrefix;
            ?>
&subakcija=obrisi_fajl&id=<?php 
            echo $id_fajla;
            ?>
">Obriši</a>
			</td>
		</tr>
		<?php 
        }
        ?>
	</table>
	
	<p><a href="<?php 
        echo $linkPrefix;
        ?>
&subakcija=dodaj_fajl">Novi fajl</a></p>
	<?php 
        // Forum
        ?>
	<hr>
	
	<p><b>Komentari i diskusija</b></p>

	<p><a href="<?php 
        echo $linkPrefix;
        ?>
&subakcija=nova_tema">Dodajte novu temu za diskusiju</a></p>
	<?php 
        // Stylesheet za forum se nažalost nalazi u projekti.css - izbaciti...
        ?>
	<LINK href="css/projekti.css" rel="stylesheet" type="text/css">
	<?php 
        $tema_po_stranici = 20;
        $stranica = 1;
        if (isset($_REQUEST['stranica'])) {
            $stranica = $_REQUEST['stranica'];
        }
        // izračun offseta
        $offset = ($stranica - 1) * $tema_po_stranici;
        $q200 = myquery("SELECT t.id, t.pregleda, UNIX_TIMESTAMP(p.vrijeme), o.ime, o.prezime FROM zavrsni_bb_tema AS t, zavrsni_bb_post AS p, osoba AS o WHERE t.zavrsni={$zavrsni} AND t.zadnji_post=p.id AND p.osoba=o.id ORDER BY p.vrijeme DESC LIMIT {$offset}, {$tema_po_stranici}");
        $broj_tema = mysql_num_rows($q200);
        ?>
	<div id="threadList">
		<div class="threadRow caption clearfix">
			<div class="threadInfo">
				<div class="views">Pregleda</div><!--views-->
				<div class="lastReply">Zadnji odgovor</div><!--lastReply-->
				<div class="replies">Odgovora</div><!--replies-->
			</div><!--threadInfo-->
		<div class="title">Teme (<?php 
        echo $broj_tema;
        ?>
)</div><!--title-->		
		</div><!--threadRow caption-->
	<?php 
        $parni = true;
        while ($r200 = mysql_fetch_row($q200)) {
            $parni = !$parni;
            $id_teme = $r200[0];
            $broj_pregleda = $r200[1];
            $zadnji_odgovor = date('d.m.Y H:i:s', $r200[2]) . "<br />" . $r200[4] . ' ' . $r200[3];
            $q210 = myquery("SELECT COUNT(*) FROM zavrsni_bb_post WHERE tema = {$id_teme}");
            $broj_odgovora = mysql_result($q210, 0, 0);
            $q220 = myquery("SELECT p.naslov, o.ime, o.prezime FROM zavrsni_bb_post AS p, osoba AS o WHERE p.tema={$id_teme} AND p.osoba=o.id ORDER BY p.id LIMIT 1");
            $naslov = mysql_result($q220, 0, 0);
            $autor = mysql_result($q220, 0, 2) . " " . mysql_result($q220, 0, 1);
            ?>
		<div class="threadRow clearfix<?php 
            if ($parni) {
                echo ' pattern';
            }
            ?>
">
		<div class="threadInfo">
			<div class="views"><?php 
            echo $broj_pregleda;
            ?>
</div><!--views-->
			<div class="lastReply"><?php 
            echo $zadnji_odgovor;
            ?>
</div><!--lastReply-->
		<div class="replies"><?php 
            echo $broj_odgovora;
            ?>
</div><!--replies-->
		</div><!--threadInfo-->
		<div class="title"><a href="<?php 
            echo $linkPrefix . "&subakcija=vidi_temu&tema={$id_teme}";
            ?>
" title="<?php 
            echo $naslov;
            ?>
"><?php 
            echo $naslov;
            ?>
</a></div><!--title-->
		<div class="author"><?php 
            echo $autor;
            ?>
</div><!--author-->		
		</div><!--threadRow caption-->
		<?php 
        }
        //foreach thread
        ?>
	</div><!--threadList-->
	<?php 
        $brstranica = ceil($broj_tema / $tema_po_stranici);
        if ($brstranica > 0) {
            echo "<span class=\"newsPages\">";
            if ($stranica > 1) {
                $str = $stranica - 1;
                $prev = " <a href=\"{$linkPrefix}&stranica={$str}\">[Prethodna]</a> ";
                $prva = " <a href=\"{$linkPrefix}&stranica=1\">[Prva]</a> ";
            }
            if ($stranica < $brstranica) {
                $str = $stranica + 1;
                $next = " <a href=\"{$linkPrefix}&stranica={$str}\">[Sljedeća]</a> ";
                $zadnja = " <a href=\"{$linkPrefix}&stranica={$str}\">[Zadnja]</a> ";
            }
            echo $prva . $prev . " Strana <strong>{$stranica}</strong> od ukupno <strong>{$brstranica}</strong> " . $next . $zadnja;
            echo "</span>";
            //newsPages span
        }
        // Kraj foruma
        ?>
	</td></tr></table></center>
	<?php 
    }
    // if (!isset($subakcija))
    // SUBAKCIJE
    // Akcija dodavanje fajla
    if ($subakcija == 'dodaj_fajl') {
        if (isset($_REQUEST['submit'])) {
            if (!check_csrf_token()) {
                zamgerlog("csrf token nije dobar", 3);
                zamgerlog2("csrf token nije dobar");
                niceerror("Poslani podaci nisu ispravni. Vratite se nazad, ponovo popunite formu i kliknite na dugme Pošalji");
                return;
            }
            // ulazni parametri
            $filename = $_FILES['filename'];
            $revizija = 1;
            $file = '';
            $errorText = "";
            $zavrsni = intval($_REQUEST['zavrsni']);
            $predmet = intval($_REQUEST['predmet']);
            if ($filename['error'] == 4) {
                $errorText = 'Unesite sva obavezna polja.';
            } else {
                if ($filename['error'] == 1 || $filename['error'] == 2) {
                    $errorText .= 'Pokušavate poslati fajl koji je veci od dozvoljene velicine. Probajte sa manjim fajlom.<br />';
                } else {
                    if ($filename['error'] > 0) {
                        $errorText .= 'Vaš fajl nije poslan korektno. Molimo pokušajte ponovo.<br />';
                    } else {
                        $uploadFile = trim($filename['name']);
                        $uploadDir = $lokacijafajlova . $uploadFile . "/v{$revizija}/";
                        if (!file_exists($uploadDir)) {
                            mkdir($uploadDir, 0777, true);
                        }
                        if (move_uploaded_file($filename['tmp_name'], $uploadDir . $uploadFile)) {
                            chmod($uploadDir . $uploadFile, 0777);
                        } else {
                            $errorText .= 'Desila se greška prilikom uploada fajla. Molimo kontaktirajte administratora.<br />AA';
                        }
                    }
                }
            }
            if ($errorText != "") {
                niceerror($errorText);
                zamgerlog("greska prilikom slanja fajla na zavrsni {$zavrsni}", 3);
                zamgerlog2("greska prilikom slanja fajla na zavrsni", $zavrsni);
            } else {
                $q500 = myquery("SELECT id FROM zavrsni_file ORDER BY id DESC LIMIT 1");
                if (mysql_num_rows($q500) > 0) {
                    $id = mysql_result($q500, 0, 0) + 1;
                } else {
                    $id = 1;
                }
                $filename = my_escape($uploadFile);
                $q510 = myquery("INSERT INTO zavrsni_file SET id={$id}, filename='{$uploadFile}', revizija={$revizija}, osoba={$userid}, zavrsni={$zavrsni}, file=0");
                nicemessage("Fajl uspješno poslan");
                zamgerlog("dodao novi fajl na temu zavrsnog rada {$zavrsni} (pp{$predmet})", 2);
                zamgerlog2("dodao fajl na zavrsni", $zavrsni);
            }
            nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
        } else {
            ?>
			<h3>Novi fajl</h3>
			<?php 
            echo genform("POST", "addForm\" enctype=\"multipart/form-data\" ");
            ?>

			<div id="formDiv">
				Polja sa * su obavezna. <br />
				<b>Limit za upload je 20MB.</b> <br />
				<div class="row">
					<span class="label">Fajl *</span>
					<span class="formw">
						<input name="filename" type="file" id="filename" size="60" />
						<input type="hidden" name="MAX_FILE_SIZE" value="20971520">
					</span>
				</div> 

				<div class="row">	
					<span class="formw" style="margin-left:150px;"><input name="submit" type="submit" id="submit" value="Potvrdi"/></span>
				</div>

			</div><!--formDiv-->
			</form>

			<?php 
        }
        // prikaz forme za slanje
    }
    // subakcija "add"
    // Akcija izmjena fajla
    if ($subakcija == 'izmijeni_fajl') {
        niceerror("Trenutno nije implementirano.");
        return;
    }
    // Subakcija brisanje fajla
    if ($subakcija == 'obrisi_fajl') {
        // Pošto nismo implementirali podršku za editovanje (revizije) brišemo samo jednu reviziju
        $q600 = myquery("SELECT zavrsni, filename, revizija FROM zavrsni_file WHERE id={$id}");
        if (mysql_num_rows($q600) < 1 || $zavrsni != mysql_result($q600, 0, 0)) {
            niceerror("Ilegalan završni rad");
            zamgerlog("spoofing fajla {$id} za zavrsni rad {$zavrsni}", 3);
            zamgerlog2("id fajla nepostojeci ili ne odgovara zavrsnom", $id, $zavrsni);
            return;
        }
        $filename = mysql_result($q600, 0, 1);
        $revizija = mysql_result($q600, 0, 2);
        $lokacijarevizije = $lokacijafajlova . $filename . "/v{$revizija}";
        $lokacijafajla = $lokacijarevizije . "/" . $filename;
        if (!unlink($lokacijafajla) || !rmdir($lokacijarevizije)) {
            niceerror("Brisanje datoteke sa datotečnog sistema nije uspjelo.");
            print "Kontaktirajte administratora da vam obriše ovu datoteku.";
            zamgerlog("nije uspjelo brisanje fajla {$id} za zavrsni rad {$zavrsni}", 3);
            zamgerlog2("nije uspjelo brisanje fajla za zavrsni", $id);
            return;
        }
        $q610 = myquery("DELETE FROM zavrsni_file WHERE id={$id}");
        nicemessage("Brisanje fajla uspjelo");
        zamgerlog("obrisan fajl {$id} za zavrsni rad {$zavrsni}", 2);
        zamgerlog2("obrisan fajl za zavrsni rad", $id, $zavrsni);
        nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
        return;
    }
    // Subakcija čitanje teme na forumu
    if ($subakcija == 'vidi_temu') {
        $id_teme = intval($_REQUEST['tema']);
        $q700 = myquery("SELECT zavrsni FROM zavrsni_bb_tema WHERE id={$id_teme}");
        if (mysql_num_rows($q700) < 1 || $zavrsni != mysql_result($q700, 0, 0)) {
            niceerror("Nepostojeća tema.");
            zamgerlog("spoofing forum teme {$id_teme} za zavrsni rad {$zavrsni}", 3);
            zamgerlog2("nepostojeca forum tema ili ne odgovara zavrsnom", $id_teme, $zavrsni);
            return;
        }
        // Stylesheet za forum se nažalost nalazi u projekti.css - izbaciti...
        ?>
		<LINK href="css/projekti.css" rel="stylesheet" type="text/css">
		<?php 
        $q710 = myquery("SELECT p.id, p.naslov, UNIX_TIMESTAMP(p.vrijeme), o.id, o.prezime, o.ime, pt.tekst FROM zavrsni_bb_post AS p, osoba AS o, zavrsni_bb_post_text AS pt WHERE p.tema={$id_teme} AND p.osoba=o.id AND p.id=pt.post");
        ?>
		<h3>Prikaz teme</h3>
		<p><a href="<?php 
        echo $linkPrefix;
        ?>
">Nazad na početnu stranicu</a></p>
		<div id="fullThread">
		<?php 
        while ($r710 = mysql_fetch_row($q710)) {
            $id_posta = $r710[0];
            $naslov = $r710[1];
            $vrijeme = date("d.m.Y. H:i:s", $r710[2]);
            $editabilno = $userid == $r710[3];
            $autor = $r710[4] . " " . $r710[5];
            $tekst = $r710[6];
            ?>
			<div class="post"><a name="p<?php 
            echo $id_posta;
            ?>
">
			<div id="post_<?php 
            echo $post[id];
            ?>
_header" class="header clearfix" onClick="toggleShowPost('post_<?php 
            echo $id_posta;
            ?>
')">
			<div class="buttons">
				<a href="<?php 
            echo $linkPrefix . "&subakcija=nova_poruka&tema={$id_teme}&post={$id_posta}";
            ?>
" title="Odgovori na ovaj post">Odgovori</a>
				<?php 
            if ($editabilno) {
                ?>
					| <a href="<?php 
                echo $linkPrefix . "&subakcija=izmijeni_poruku&tema={$id_teme}&post={$id_posta}";
                ?>
" title="Izmijeni vlastiti post">Izmijeni</a>
					| <a href="<?php 
                echo $linkPrefix . "&subakcija=obrisi_poruku&tema={$id_teme}&post={$id_posta}";
                ?>
" title="Obriši vlastiti post">Obriši</a>		
					<?php 
            }
            ?>
			</div>
			<div class="maininfo">
				<div class="date"><?php 
            echo $vrijeme;
            ?>
</div>
				<div class="author"><?php 
            echo $autor;
            ?>
</div> - 
				<div class="title"><?php 
            echo $naslov;
            ?>
</div>
			</div>
			</div><!--header-->
			<div class="text" id="post_<?php 
            echo $id_posta;
            ?>
_text"><?php 
            echo $tekst;
            ?>
</div><!--text-->
		
			</div><!--post-->
			<?php 
        }
        //foreach post
        // Povecavamo view counter
        $q720 = myquery("UPDATE zavrsni_bb_tema SET pregleda=pregleda+1 WHERE id={$id_teme}");
        ?>
		</div> <!-- fullthread -->
		<?php 
    }
    // Subakcija nova tema na forumu
    if ($subakcija == 'nova_tema') {
        if (isset($_REQUEST['submit'])) {
            if (!check_csrf_token()) {
                zamgerlog("csrf token nije dobar", 3);
                zamgerlog2("csrf token nije dobar");
                niceerror("Poslani podaci nisu ispravni. Vratite se nazad, ponovo popunite formu i kliknite na dugme Pošalji");
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            //get variables
            $naslov = my_escape(trim($_REQUEST['naslov']));
            $tekst = my_escape(trim($_REQUEST['tekst']));
            if (empty($naslov) || empty($tekst)) {
                niceerror('Unesite sva obavezna polja.');
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            $q800 = myquery("SELECT id FROM zavrsni_bb_tema ORDER BY id DESC LIMIT 1");
            if (mysql_num_rows($q800) > 0) {
                $id_teme = mysql_result($q800, 0, 0) + 1;
            } else {
                $id_teme = 1;
            }
            $q810 = myquery("INSERT INTO zavrsni_bb_tema SET id={$id_teme}, osoba={$userid}, zavrsni={$zavrsni}");
            $q820 = myquery("SELECT id FROM zavrsni_bb_post ORDER BY id DESC LIMIT 1");
            if (mysql_num_rows($q820) > 0) {
                $id_posta = mysql_result($q820, 0, 0) + 1;
            } else {
                $id_posta = 1;
            }
            $q830 = myquery("INSERT INTO zavrsni_bb_post SET id={$id_posta}, naslov='{$naslov}', osoba={$userid}, tema={$id_teme}");
            $q840 = myquery("INSERT INTO zavrsni_bb_post_text SET post={$id_posta}, tekst='{$tekst}'");
            $q850 = myquery("UPDATE zavrsni_bb_tema SET prvi_post={$id_posta}, zadnji_post={$id_posta} WHERE id={$id_teme}");
            nicemessage('Nova tema uspješno dodana.');
            zamgerlog("dodao novu temu na zavrsni rad {$zavrsni} (pp{$predmet})", 2);
            zamgerlog2("dodao novu temu na zavrsni rad", $zavrsni);
            nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
            return;
        }
        ?>
	
		<h3>Nova tema</h3>
		<?php 
        echo genform("POST", "addForm");
        ?>
		<div id="formDiv">
			Polja sa * su obavezna. <br />
		
			<div class="row">
				<span class="label">Naslov *</span>
				<span class="formw"><input name="naslov" type="text" id="naslov" size="70" /></span> 
			</div>
			<div class="row">
				<span class="label">Tekst *</span>
				<span class="formw"><textarea name="tekst" cols="60" rows="15" wrap="physical" id="tekst"></textarea></span>
			</div> 
					
			<div class="row">	
				<span class="formw" style="margin-left:150px;"><input name="submit" type="submit" id="submit" value="Potvrdi"/></span>
			</div>
		
		</div><!--formDiv-->
		
		</form>
		<?php 
    }
    // Subakcija odogovor na temu na forumu
    if ($subakcija == 'nova_poruka') {
        $id_teme = intval($_REQUEST['tema']);
        $id_posta = intval($_REQUEST['post']);
        $q900 = myquery("SELECT t.zavrsni, p.naslov FROM zavrsni_bb_post AS p, zavrsni_bb_tema AS t WHERE p.tema={$id_teme} AND t.id={$id_teme} ORDER BY p.id LIMIT 1");
        if (mysql_num_rows($q900) == 0 || $zavrsni != mysql_result($q900, 0, 0)) {
            niceerror("Nepostojeća tema.");
            zamgerlog("spoofing forum teme {$id_teme} za zavrsni rad {$zavrsni}", 3);
            zamgerlog2("nepostojeca forum tema ili ne odgovara zavrsnom (odgovor)", $id_teme, $zavrsni);
            return;
        }
        // Submit akcija
        if (isset($_REQUEST['submit'])) {
            if (!check_csrf_token()) {
                zamgerlog("csrf token nije dobar", 3);
                zamgerlog2("csrf token nije dobar");
                niceerror("Poslani podaci nisu ispravni. Vratite se nazad, ponovo popunite formu i kliknite na dugme Pošalji");
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            //get variables
            $naslov = my_escape(trim($_REQUEST['naslov']));
            $tekst = my_escape(trim($_REQUEST['tekst']));
            if (empty($naslov) || empty($tekst)) {
                niceerror('Unesite sva obavezna polja.');
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            $q820 = myquery("SELECT id FROM zavrsni_bb_post ORDER BY id DESC LIMIT 1");
            if (mysql_num_rows($q820) > 0) {
                $id_posta = mysql_result($q820, 0, 0) + 1;
            } else {
                $id_posta = 1;
            }
            $q830 = myquery("INSERT INTO zavrsni_bb_post SET id={$id_posta}, naslov='{$naslov}', osoba={$userid}, tema={$id_teme}");
            $q840 = myquery("INSERT INTO zavrsni_bb_post_text SET post={$id_posta}, tekst='{$tekst}'");
            $q850 = myquery("UPDATE zavrsni_bb_tema SET zadnji_post={$id_posta} WHERE id={$id_teme}");
            nicemessage('Novi odgovor uspješno dodan.');
            zamgerlog("dodao novi odgovor na diskusiju ID {$id_teme}, tema zavrsnog rada {$zavrsni} (pp{$predmet})", 2);
            zamgerlog2("dodao novi odgovor na diskusiju za zavrsni rad", $id_teme, $zavrsni);
            nicemessage('<a href="' . $linkPrefix . "&subakcija=vidi_temu&tema={$id_teme}" . '">Povratak.</a>');
            return;
        }
        // Naslov poruke je "Re: $naslov"
        $novi_naslov = "Re: " . mysql_result($q900, 0, 1);
        ?>
	
		<h3>Novi odgovor</h3>
		<?php 
        echo genform("POST", "addForm");
        ?>
		<div id="formDiv">
			Polja sa * su obavezna. <br />
		
			<div class="row">
				<span class="label">Naslov *</span>
				<span class="formw"><input name="naslov" type="text" id="naslov" size="70" value="<?php 
        echo $novi_naslov;
        ?>
" /></span> 
			</div>
			<div class="row">
				<span class="label">Tekst *</span>
				<span class="formw"><textarea name="tekst" cols="60" rows="15" wrap="physical" id="tekst"></textarea></span>
			</div> 
					
			<div class="row">	
				<span class="formw" style="margin-left:150px;"><input name="submit" type="submit" id="submit" value="Potvrdi"/></span>
			</div>
		
		</div><!--formDiv-->
		
		</form>
		<?php 
    }
    // Subakcija izmjena poruke na forumu
    if ($subakcija == 'izmijeni_poruku') {
        $id_teme = intval($_REQUEST['tema']);
        // Samo se koristi za backlink
        $id_posta = intval($_REQUEST['post']);
        $q400 = myquery("SELECT p.osoba, p.naslov, pt.tekst FROM zavrsni_bb_post AS p, zavrsni_bb_post_text AS pt WHERE p.id={$id_posta} AND pt.post={$id_posta} AND p.tema={$id_teme}");
        // ujedno provjeravamo i temu
        if (mysql_num_rows($q400) < 1 || $userid != mysql_result($q400, 0, 0)) {
            niceerror("Niste autor ove poruke.");
            zamgerlog("spoofing forum poruke {$id_posta},{$id_teme} prilikom editovanja za zavrsni rad {$zavrsni}", 3);
            zamgerlog2("nepostojeca forum poruka ili ne odgovara temi ili zavrsnom", $id_posta, $id_teme, $zavrsni);
            return;
        }
        // Submit akcija
        if (isset($_REQUEST['submit'])) {
            if (!check_csrf_token()) {
                zamgerlog("csrf token nije dobar", 3);
                zamgerlog2("csrf token nije dobar");
                niceerror("Poslani podaci nisu ispravni. Vratite se nazad, ponovo popunite formu i kliknite na dugme Pošalji");
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            //get variables
            $naslov = my_escape(trim($_REQUEST['naslov']));
            $tekst = my_escape(trim($_REQUEST['tekst']));
            if (empty($naslov) || empty($tekst)) {
                niceerror('Unesite sva obavezna polja.');
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            $q410 = myquery("UPDATE zavrsni_bb_post SET naslov='{$naslov}' WHERE id={$id_posta}");
            $q420 = myquery("UPDATE zavrsni_bb_post_text SET tekst='{$tekst}' WHERE post={$id_posta}");
            nicemessage('Uspješno ste izmijenili poruku.');
            zamgerlog("izmijenio vlastiti post {$id_posta}, tema zavrsnog rada {$zavrsni} (pp{$predmet})", 2);
            zamgerlog2("izmijenio vlastiti post za zavrsni rad", $id_posta, $zavrsni);
            nicemessage('<a href="' . $linkPrefix . "&subakcija=vidi_temu&tema={$id_teme}" . '">Povratak.</a>');
            return;
        }
        $naslov = mysql_result($q400, 0, 1);
        $tekst = mysql_result($q400, 0, 2);
        ?>
	
		<h3>Izmijeni poruku </h3>
		<?php 
        echo genform("POST", "addForm");
        ?>
		<div id="formDiv">
			Polja sa * su obavezna. <br />
		
			<div class="row">
				<span class="label">Naslov *</span>
				<span class="formw"><input name="naslov" type="text" id="naslov" size="70" value="<?php 
        echo $naslov;
        ?>
" /></span> 
			</div>
			<div class="row">
				<span class="label">Tekst *</span>
				<span class="formw"><textarea name="tekst" cols="60" rows="15" wrap="physical" id="tekst"><?php 
        echo $tekst;
        ?>
</textarea></span>
			</div> 
					
			<div class="row">	
				<span class="formw" style="margin-left:150px;"><input name="submit" type="submit" id="submit" value="Potvrdi"/></span>
			</div>
		
		</div><!--formDiv-->
		
		</form>
		<?php 
    }
    // Subakcija brisanje poruke na forumu
    if ($subakcija == 'obrisi_poruku') {
        $id_teme = intval($_REQUEST['tema']);
        // Samo se koristi za backlink
        $id_posta = intval($_REQUEST['post']);
        $q300 = myquery("SELECT osoba FROM zavrsni_bb_post WHERE id={$id_posta} AND tema={$id_teme}");
        // ujedno provjeravamo i temu
        if (mysql_num_rows($q300) < 1 || $userid != mysql_result($q300, 0, 0)) {
            niceerror("Niste autor ove poruke.");
            zamgerlog("spoofing forum poruke {$id_posta},{$id_teme} prilikom brisanja za zavrsni rad {$zavrsni}", 3);
            zamgerlog2("nepostojeca forum poruka ili ne odgovara temi ili zavrsnom (brisanje)", $id_posta, $id_teme, $zavrsni);
            return;
        }
        // Da li je ovo početna tema threada?
        $q310 = myquery("SELECT COUNT(*) FROM zavrsni_bb_post WHERE tema={$id_teme} AND id<{$id_posta}");
        if (mysql_result($q310, 0, 0) < 1) {
            $pocetna = true;
        } else {
            $pocetna = false;
        }
        // Submit akcija
        if (isset($_REQUEST['potvrda'])) {
            $q320 = myquery("DELETE FROM zavrsni_bb_post WHERE id={$id_posta}");
            $q330 = myquery("DELETE FROM zavrsni_bb_post_text WHERE post={$id_posta}");
            // Ako je početna poruka, brišemo kompletnu temu
            if ($pocetna) {
                $q340 = myquery("SELECT id FROM zavrsni_bb_post WHERE tema={$id_teme}");
                while ($r340 = mysql_fetch_row($q340)) {
                    $drugi_id = $r340[0];
                    $q350 = myquery("DELETE FROM zavrsni_bb_post WHERE id={$drugi_id}");
                    $q360 = myquery("DELETE FROM zavrsni_bb_post_text WHERE post={$drugi_id}");
                }
                $q370 = myquery("DELETE FROM zavrsni_bb_tema WHERE id={$id_teme}");
                nicemessage('Uspješno ste obrisali kompletnu temu.');
                zamgerlog("obrisao temu na forumu zavrsnog rada {$zavrsni} (pp{$predmet})", 2);
                zamgerlog2("obrisao temu na forumu zavrsnog rada", $id_teme, $zavrsni);
                nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
            } else {
                nicemessage('Uspješno ste obrisali poruku.');
                zamgerlog("obrisao poruku na forumu zavrsnog rada {$zavrsni} (pp{$predmet})", 2);
                zamgerlog2("obrisao poruku na forumu zavrsnog rada", $id_posta, $zavrsni);
                nicemessage('<a href="' . $linkPrefix . "&subakcija=vidi_temu&tema={$id_teme}" . '">Povratak.</a>');
            }
            return;
        }
        // Ekran za potvrdu
        if ($pocetna) {
            ?>
			<p><b>Da li ste sigurni da želite kompletnu temu i sve poruke na njoj?</b> <br />
			<?php 
        } else {
            ?>
			<p><b>Da li ste sigurni da želite obrisati ovu poruku?</b> <br />
			<?php 
        }
        ?>
		Napominjemo da ne postoji opcija za povratak obrisanog (undelete)!<br />
		<a href="<?php 
        echo $linkPrefix . "&subakcija=obrisi_poruku&tema={$id_teme}&post={$id_posta}";
        ?>
 &potvrda=1">Da</a> | <a href="<?php 
        echo $linkPrefix . "&subakcija=vidi_temu&tema={$id_teme}";
        ?>
">Odustani</a></p>
		<?php 
    }
    // Subakcija za sažetak / summary
    if ($subakcija == 'sazetak') {
        if ($_REQUEST['potvrda'] && check_csrf_token()) {
            $sazetak = my_escape($_REQUEST['sazetak']);
            $summary = my_escape($_REQUEST['summary']);
            $q1000 = myquery("UPDATE zavrsni SET sazetak='{$sazetak}', summary='{$summary}' WHERE id={$zavrsni}");
            nicemessage("Sažetak ažuriran");
            zamgerlog("azuriran sazetak zavrsnog rada {$zavrsni}", 2);
            zamgerlog2("azuriran sazetak zavrsnog rada", $zavrsni);
            ?>
<a href="<?php 
            echo $linkPrefix;
            ?>
">Nazad</a><?php 
            return;
        }
        $sazetak = mysql_result($q10, 0, 5);
        $summary = mysql_result($q10, 0, 6);
        ?>
		<?php 
        echo genform("POST");
        ?>
		<input type="hidden" name="potvrda" value="da">
		<p>Sažetak (lokalni jezik):<br>
		<textarea rows="15" cols="60" name="sazetak"><?php 
        echo $sazetak;
        ?>
</textarea><br>
		&nbsp;<br>
		Sažetak (engleski jezik) - Summary:<br>
		<textarea rows="15" cols="60" name="summary"><?php 
        echo $summary;
        ?>
</textarea><br>
		&nbsp;<br>
		<input type="submit" value=" Pošalji izmjene ">
		<input type="button" value=" Nazad " onclick="javascript:history.go(-1);">
		</form>
		<?php 
    }
}
Esempio n. 14
0
function nastavnik_zadace()
{
    global $userid, $user_siteadmin, $conf_files_path;
    require "lib/manip.php";
    require "lib/autotest.php";
    global $mass_rezultat;
    // za masovni unos studenata u grupe
    global $_lv_;
    // radi autogenerisanih formi
    // Parametri potrebni za Moodle integraciju
    global $conf_moodle, $conf_moodle_url, $conf_moodle_db, $conf_moodle_prefix, $conf_moodle_reuse_connection, $conf_moodle_dbhost, $conf_moodle_dbuser, $conf_moodle_dbpass;
    global $__lv_connection, $conf_use_mysql_utf8;
    // 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;
        }
    }
    // Dozvoljene ekstenzije
    $q13 = myquery("select naziv from ekstenzije");
    $dozvoljene_ekstenzije = array();
    while ($r13 = mysql_fetch_row($q13)) {
        array_push($dozvoljene_ekstenzije, $r13[0]);
    }
    // Da li predmet posjeduje komponente za zadaće?
    $q15 = myquery("select k.id, k.naziv from komponenta as k, tippredmeta_komponenta as tpk, akademska_godina_predmet as agp where agp.akademska_godina={$ag} and agp.predmet={$predmet} and agp.tippredmeta=tpk.tippredmeta and tpk.komponenta=k.id and k.tipkomponente=4");
    if (mysql_num_rows($q15) < 1) {
        zamgerlog("ne postoji komponenta za zadace na predmetu pp{$predmet} ag{$ag}", 3);
        zamgerlog2("ne postoji komponenta za zadace", $predmet, $ag);
        niceerror("U sistemu bodovanja za ovaj predmet nije definisana nijedna komponenta zadaće.");
        print "<p>Da biste nastavili, promijenite <a href=\"?sta=nastavnik/tip?predmet={$predmet}&ag={$ag}\">sistem bodovanja</a> za ovaj predmet.</p>\n";
        return;
    }
    if (mysql_num_rows($q15) > 1) {
        niceerror("U sistemu bodovanja za ovaj predmet je definisano više od jedne komponente za zadaće.");
        print "<p>Ovaj modul trenutno podržava samo jednu komponentu zadaća. Ako imate potrebu za rad sa više od jedne komponente zadaća istovremeno, kontaktirajte administratora Zamgera. U suprotnom, provjerite <a href=\"?sta=nastavnik/tip?predmet={$predmet}&ag={$ag}\">sistem bodovanja</a> za ovaj predmet za slučaj da je ova situacija posljedica greške.</p>\n";
        print "<p>Koristićemo komponentu označenu nazivom: <b>" . mysql_result($q15, 0, 1) . "</b></p>";
    }
    $komponenta_za_zadace = mysql_result($q15, 0, 0);
    ?>

<p>&nbsp;</p>

<p><h3><?php 
    echo $predmet_naziv;
    ?>
 - Zadaće</h3></p>

<?php 
    # Masovni unos zadaća
    if ($_POST['akcija'] == "massinput" && strlen($_POST['nazad']) < 1 && check_csrf_token()) {
        if ($_POST['fakatradi'] != 1) {
            $ispis = 1;
        } else {
            $ispis = 0;
        }
        // Provjera ostalih parametara
        $zadaca = intval($_REQUEST['_lv_column_zadaca']);
        $zadatak = intval($_REQUEST['zadatak']);
        $q20 = myquery("select naziv,zadataka,bodova,komponenta,predmet,akademska_godina from zadaca where id={$zadaca}");
        if (mysql_num_rows($q20) < 1) {
            zamgerlog("nepostojeca zadaca {$zadaca}", 3);
            // 3 = greška
            zamgerlog2("nepostojeca zadaca", $zadaca);
            niceerror("Morate najprije kreirati zadaću");
            print "\n<p>Koristite formular &quot;Kreiranje zadaće&quot; koji se nalazi na prethodnoj stranici. Ukoliko ne vidite nijednu zadaću na spisku &quot;Postojeće zadaće&quot;, koristite dugme Refresh vašeg web preglednika.</p>\n";
            return;
        }
        if (mysql_result($q20, 0, 1) < $zadatak) {
            zamgerlog("zadaca {$zadaca} nema {$zadatak} zadataka", 3);
            zamgerlog2("zadaca nema toliko zadataka", $zadaca, $zadatak);
            niceerror("Zadaća \"" . mysql_result($q20, 0, 0) . "\" nema {$zadatak} zadataka.");
            return;
        }
        $maxbodova = mysql_result($q20, 0, 2);
        $komponenta = mysql_result($q20, 0, 3);
        // Provjera spoofanja zadaće
        if ($predmet != mysql_result($q20, 0, 4) || $ag != mysql_result($q20, 0, 5)) {
            zamgerlog("zadaca z{$zadaca} nije u predmetu pp{$predmet}", 3);
            zamgerlog2("id zadace i predmeta se ne poklapaju", $zadaca, $predmet, $ag);
            niceerror("Pogresan ID zadace!");
            return;
        }
        if ($ispis) {
            ?>
Akcije koje će biti urađene:<br/><br/>
		<?php 
            echo genform("POST");
            ?>
		<input type="hidden" name="fakatradi" value="1">
		<input type="hidden" name="_lv_column_zadaca" value="<?php 
            echo $zadaca;
            ?>
">
		<table border="0" cellspacing="1" cellpadding="2">
		<!-- FIXME: prebaciti stilove u CSS? -->
		<thead>
		<tr bgcolor="#999999">
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Prezime</font></td>
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Ime</font></td>
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Bodovi / Komentar</font></td>
		</tr>
		</thead>
		<tbody>
		<?php 
        }
        $greska = mass_input($ispis);
        // Funkcija koja parsira podatke
        if (count($mass_rezultat) == 0) {
            niceerror("Niste unijeli ništa.");
            return;
        }
        foreach ($mass_rezultat['ime'] as $student => $ime) {
            $prezime = $mass_rezultat['prezime'][$student];
            $bodova = $mass_rezultat['podatak1'][$student];
            $bodova = str_replace(",", ".", $bodova);
            // Student neocijenjen (prazno mjesto za ocjenu)
            if (floatval($bodova) == 0 && strpos($bodova, "0") === FALSE) {
                if ($ispis) {
                    print "Student '{$prezime} {$ime}' - nema zadaću (nije unesen broj bodova {$bodova})<br/>";
                }
                continue;
            }
            // Bodovi moraju biti manji od maximalnih borova
            $bodova = floatval($bodova);
            if ($bodova > $maxbodova) {
                if ($ispis) {
                    print "-- Studenta '{$prezime} {$ime}' ima {$bodova} bodova što je više od maksimalnih {$maxbodova}<br/>";
                    //$greska=1;
                    continue;
                }
            }
            // Zaključak
            if ($ispis) {
                print "Student '{$prezime} {$ime}' - zadaća {$zadaca}, bodova {$bodova}<br/>";
            } else {
                // Odredjujemo zadnji filename
                $q25 = 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($q25) > 0) {
                    $filename = mysql_result($q25, 0, 0);
                } else {
                    $filename = '';
                }
                $status_pregledana = 5;
                // status 5: pregledana
                $q30 = myquery("insert into zadatak set zadaca={$zadaca}, redni_broj={$zadatak}, student={$student}, status={$status_pregledana}, bodova={$bodova}, vrijeme=NOW(), filename='{$filename}', userid={$userid}");
                zamgerlog2("bodovanje zadace", $student, $zadaca, $zadatak, $bodova);
                // Treba nam ponudakursa za update komponente
                $q35 = myquery("select sp.predmet 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}");
                $ponudakursa = mysql_result($q35, 0, 0);
                update_komponente($student, $ponudakursa, $komponenta);
                // update statistike
            }
        }
        if ($ispis) {
            if ($greska == 0) {
                ?>
			</tbody></table>
			<p>Potvrdite upis ispita i bodova ili se vratite na prethodni ekran.</p>
			<p><input type="submit" name="nazad" value=" Nazad "> <input type="submit" value=" Potvrda"></p>
			</form>
			<?php 
            } else {
                ?>
			</tbody></table>
			<p>U unesenim podacima ima grešaka. Da li ste izabrali ispravan format ("Prezime[TAB]Ime" vs. "Prezime Ime")? Vratite se nazad kako biste ovo popravili.</p>
			<p><input type="submit" name="nazad" value=" Nazad "></p>
			</form>
			<?php 
            }
            return;
        } else {
            zamgerlog("masovno upisane zadaće na predmet pp{$predmet}, zadaća z{$zadaca}, zadatak {$zadatak}", 2);
            // 2 = edit
            ?>
		Bodovi iz zadaća su upisani.
		<script language="JavaScript">
		location.href='?sta=nastavnik/zadace&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
';
		</script>
		<?php 
        }
    }
    // Akcija za kreiranje nove, promjenu postojeće ili brisanje zadaće
    if ($_POST['akcija'] == "edit" && $_POST['potvrdabrisanja'] != " Nazad " && check_csrf_token()) {
        $edit_zadaca = intval($_POST['zadaca']);
        // Prava pristupa
        if ($edit_zadaca > 0) {
            $q86 = myquery("select predmet, akademska_godina from zadaca where id={$edit_zadaca}");
            if (mysql_num_rows($q86) < 1) {
                niceerror("Nepostojeća zadaća sa IDom {$edit_zadaca}");
                zamgerlog("promjena nepostojece zadace {$edit_zadaca}", 3);
                zamgerlog2("nepostojeca zadaca", $edit_zadaca);
                return 0;
            }
            if (mysql_result($q86, 0, 0) != $predmet || mysql_result($q86, 0, 1) != $ag) {
                niceerror("Zadaća nije sa izabranog predmeta");
                zamgerlog("promjena zadace: zadaca {$edit_zadaca} nije sa predmeta pp{$predmet}", 3);
                zamgerlog2("id zadace i predmeta se ne poklapaju", $edit_zadaca, $predmet, $ag);
                return 0;
            }
        }
        // Brisanje postavke zadaće (a ne čitave zadaće!)
        if ($_POST['dugmeobrisi'] == "Obriši") {
            $q100 = myquery("select postavka_zadace from zadaca where id={$edit_zadaca}");
            $filepath = "{$conf_files_path}/zadace/{$predmet}-{$ag}/postavke/" . mysql_result($q100, 0, 0);
            unlink($filepath);
            $q110 = myquery("update zadaca set postavka_zadace='' where id={$edit_zadaca}");
            nicemessage("Postavka zadaće obrisana");
            print "<a href=\"?sta=nastavnik/zadace&predmet={$predmet}&ag={$ag}&_lv_nav_id={$edit_zadaca}\">Nazad</a>\n";
            zamgerlog("obrisana postavka zadace z{$edit_zadaca}", 2);
            zamgerlog2("obrisana postavka zadace", $edit_zadaca);
            return;
        }
        // Brisanje zadaće
        if ($_POST['brisanje'] == " Obriši ") {
            if ($edit_zadaca <= 0) {
                return;
            }
            // Ne bi se smjelo desiti
            $q86 = myquery("select predmet, akademska_godina from zadaca where id={$edit_zadaca}");
            if (mysql_num_rows($q86) < 1) {
                niceerror("Nepostojeća zadaća sa IDom {$edit_zadaca}");
                zamgerlog("brisanje nepostojece zadace {$edit_zadaca}", 3);
                zamgerlog2("nepostojeca zadaca", $edit_zadaca);
                return 0;
            }
            if (mysql_result($q86, 0, 0) != $predmet || mysql_result($q86, 0, 1) != $ag) {
                niceerror("Zadaća nije sa izabranog predmeta");
                zamgerlog("brisanje zadace: zadaca {$edit_zadaca} nije sa predmeta pp{$predmet}", 3);
                zamgerlog2("id zadace i predmeta se ne poklapaju", $edit_zadaca, $predmet, $ag);
                return 0;
            }
            if ($_POST['potvrdabrisanja'] == " Briši ") {
                // Brišemo srodne testove
                $q84 = myquery("delete from autotest_replace where zadaca={$edit_zadaca}");
                $q85 = myquery("delete from autotest_rezultat where autotest in (select id from autotest where zadaca={$edit_zadaca})");
                $q86 = myquery("delete from autotest where zadaca={$edit_zadaca}");
                // Brišemo zadaću
                $q87 = myquery("delete from zadatak where zadaca={$edit_zadaca}");
                $q88 = myquery("delete from zadaca where id={$edit_zadaca}");
                zamgerlog("obrisana zadaca {$edit_zadaca} sa predmeta pp{$predmet}", 4);
                zamgerlog2("obrisana zadaca", $edit_zadaca);
                nicemessage("Zadaća uspješno obrisana");
                ?>
			<script language="JavaScript">
			location.href='?sta=nastavnik/zadace&predmet=<?php 
                echo $predmet;
                ?>
&ag=<?php 
                echo $ag;
                ?>
';
			</script>
			<?php 
                return;
            } else {
                $q96 = myquery("select count(*) from zadatak where zadaca={$edit_zadaca}");
                $broj_zadataka = mysql_result($q96, 0, 0);
                $q97 = myquery("select count(*) from autotest where zadaca={$edit_zadaca}");
                $broj_testova = mysql_result($q97, 0, 0);
                print genform("POST");
                ?>
			Brisanjem zadaće obrisaćete i sve do sada unesene ocjene i poslane zadatke! Da li ste sigurni da to želite?<br>
			U pitanju je <b><?php 
                echo $broj_zadataka;
                ?>
</b> jedinstvenih slogova u bazi!<br><br>
			<?php 
                if ($broj_testova > 0) {
                    ?>
				Također ćete obrisati i <b><?php 
                    echo $broj_testova;
                    ?>
</b> testova.<br><br>
				<?php 
                }
                ?>
			<input type="submit" name="potvrdabrisanja" value=" Briši ">
			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" name="potvrdabrisanja" value=" Nazad ">
			<?php 
                return;
            }
        }
        // Kreiranje ili izmjena zadaće
        $naziv = trim(my_escape($_POST['naziv']));
        $zadataka = intval($_POST['zadataka']);
        $bodova = floatval(str_replace(",", ".", $_POST['bodova']));
        $dan = intval($_POST['day']);
        $mjesec = intval($_POST['month']);
        $godina = intval($_POST['year']);
        $sat = intval($_POST['sat']);
        $minuta = intval($_POST['minuta']);
        $sekunda = intval($_POST['sekunda']);
        if ($_POST['aktivna']) {
            $aktivna = 1;
        } else {
            $aktivna = 0;
        }
        if ($_POST['attachment']) {
            $attachment = 1;
        } else {
            $attachment = 0;
        }
        $programskijezik = intval($_POST['_lv_column_programskijezik']);
        if ($_POST['automatsko_testiranje']) {
            $automatsko_testiranje = 1;
        } else {
            $automatsko_testiranje = 0;
        }
        $postavka_file = $_FILES['postavka_zadace_file']['name'];
        if ($postavka_file != "") {
            if (!file_exists("{$conf_files_path}/zadace/{$predmet}-{$ag}/postavke")) {
                mkdir("{$conf_files_path}/zadace/{$predmet}-{$ag}/postavke", 0755, true);
            }
            copy($_FILES['postavka_zadace_file']['tmp_name'], "{$conf_files_path}/zadace/{$predmet}-{$ag}/postavke/{$postavka_file}");
            $sql_add_postavka_file = ", postavka_zadace = '{$postavka_file}'";
        } else {
            $sql_add_postavka_file = "";
        }
        if (intval($_POST['attachment']) == 1 && isset($_POST['dozvoljene_eks'])) {
            $ekstenzije = array_unique($_POST['dozvoljene_eks']);
            $dozvoljene_ekstenzije_selected = implode(',', $ekstenzije);
        } else {
            $dozvoljene_ekstenzije_selected = null;
        }
        // Provjera ispravnosti
        if (!preg_match("/\\w/", $naziv)) {
            niceerror("Naziv zadaće nije dobar.");
            return 0;
        }
        if ($zadataka <= 0 || $bodova < 0 || $zadataka > 100 || $bodova > 100) {
            niceerror("Broj zadataka ili broj bodova nije dobar");
            return 0;
        }
        if (!checkdate($mjesec, $dan, $godina)) {
            niceerror("Odabrani datum je nemoguć");
            return 0;
        }
        if ($sat < 0 || $sat > 24 || $minuta < 0 || $minuta > 60 || $sekunda < 0 || $sekunda > 60) {
            niceerror("Vrijeme nije dobro");
            return 0;
        }
        $mysqlvrijeme = time2mysql(mktime($sat, $minuta, $sekunda, $mjesec, $dan, $godina));
        // Provjera duplog imena zadace
        $q90 = myquery("select count(*) from zadaca where naziv like '{$naziv}' and predmet={$predmet} and akademska_godina={$ag} and id!={$edit_zadaca}");
        if (mysql_result($q90, 0, 0) > 0) {
            niceerror("Zadaća pod imenom '{$naziv}' već postoji! Izaberite neko drugo ime.");
            zamgerlog("zadaca sa nazivom '{$naziv}' vec postoji", 3);
            return 0;
        }
        // Kreiranje nove
        if ($edit_zadaca == 0) {
            // $komponenta_za_zadace određena na početku fajla
            $q92 = myquery("insert into zadaca set predmet={$predmet}, akademska_godina={$ag}, naziv='{$naziv}', zadataka={$zadataka}, bodova={$bodova}, rok='{$mysqlvrijeme}', aktivna={$aktivna}, attachment={$attachment}, programskijezik={$programskijezik}, automatsko_testiranje={$automatsko_testiranje}, dozvoljene_ekstenzije = '{$dozvoljene_ekstenzije_selected}', komponenta={$komponenta_za_zadace} {$sql_add_postavka_file}");
            $edit_zadaca = mysql_insert_id();
            if ($edit_zadaca == 0) {
                niceerror("Dodavanje zadaće nije uspjelo");
                zamgerlog("dodavanje zadace nije uspjelo pp{$predmet}, naziv '{$naziv}'", 3);
                zamgerlog2("dodavanje zadace nije uspjelo", $predmet, $zadataka, $bodova, $naziv);
            } else {
                nicemessage("Kreirana nova zadaća '{$naziv}'");
                zamgerlog("kreirana nova zadaca z{$edit_zadaca}", 2);
                zamgerlog2("kreirana nova zadaca", $edit_zadaca);
            }
            // Izmjena postojece zadace
        } else {
            // Ako se smanjuje broj zadataka, moraju se obrisati bodovi
            $q94 = myquery("select zadataka, komponenta from zadaca where id={$edit_zadaca}");
            $oldzadataka = mysql_result($q94, 0, 0);
            if ($zadataka < $oldzadataka) {
                // Prilikom brisanja svakog zadatka updatujemo komponentu studenta
                $komponenta = mysql_result($q94, 0, 1);
                $q96 = myquery("select id,student from zadatak where zadaca={$edit_zadaca} and redni_broj>{$zadataka} and redni_broj<={$oldzadataka} order by student");
                $oldstudent = 0;
                while ($r96 = mysql_fetch_row($q96)) {
                    $q97 = myquery("delete from zadatak where id={$r96['0']}");
                    if ($oldstudent != 0 && $oldstudent != $r96[1]) {
                        update_komponente($oldstudent, $predmet, $komponenta);
                    }
                    $oldstudent = $r96[1];
                }
                if ($oldstudent != 0) {
                    // log samo ako je bilo nesto
                    zamgerlog("Smanjen broj zadataka u zadaci z{$edit_zadaca}", 4);
                    zamgerlog2("smanjen broj zadataka u zadaci", $edit_zadaca);
                }
                // Brišemo i relevantne testove
                $q84 = myquery("delete from autotest_replace where zadaca={$edit_zadaca} and zadatak>{$zadataka}");
                $q85 = myquery("delete from autotest_rezultat where autotest in (select id from autotest where zadaca={$edit_zadaca} and zadatak>{$zadataka})");
                $q86 = myquery("delete from autotest where zadaca={$edit_zadaca} and zadatak>{$zadataka}");
            }
            $q94 = myquery("update zadaca set naziv='{$naziv}', zadataka={$zadataka}, bodova={$bodova}, rok='{$mysqlvrijeme}', aktivna={$aktivna}, attachment={$attachment}, programskijezik={$programskijezik}, automatsko_testiranje={$automatsko_testiranje}, dozvoljene_ekstenzije='{$dozvoljene_ekstenzije_selected}' {$sql_add_postavka_file} where id={$edit_zadaca}");
            nicemessage("Ažurirana zadaća '{$naziv}'");
            zamgerlog("azurirana zadaca z{$edit_zadaca}", 2);
            zamgerlog2("azurirana zadaca", $edit_zadaca);
        }
    }
    // Akcija: AUTOTESTOVI
    if ($_REQUEST['akcija'] == "autotestovi") {
        $zadaca = intval($_REQUEST['zadaca']);
        $backLink = "?sta=nastavnik/zadace&amp;predmet={$predmet}&amp;ag={$ag}";
        $linkPrefix = "{$backLink}&amp;zadaca={$zadaca}&amp;akcija=autotestovi";
        $backLink = "<a href=\"?{$backLink}&amp;_lv_nav_id={$zadaca}\">Nazad na popis zadaća</a>";
        // Provjera spoofinga zadaće
        $q10 = myquery("SELECT COUNT(*) FROM zadaca WHERE id={$zadaca} AND predmet={$predmet} AND akademska_godina={$ag}");
        if (mysql_result($q10, 0, 0) == 0) {
            nicemessage("Nepoznat ID zadaće {$zadaca}.");
            return;
        }
        autotest_admin($zadaca, $linkPrefix, $backLink);
        return;
    }
    // Spisak postojećih zadaća
    $_lv_["where:predmet"] = $predmet;
    $_lv_["where:akademska_godina"] = $ag;
    $_lv_["where:komponenta"] = $komponenta_za_zadace;
    // određena na početku fajla
    print "Postojeće zadaće:<br/>\n";
    print db_list("zadaca");
    // Kreiranje nove zadace ili izmjena postojeće
    $izabrana = intval($_REQUEST['_lv_nav_id']);
    if ($izabrana == 0) {
        $izabrana = intval($edit_zadaca);
    }
    if ($izabrana == 0) {
        ?>
<p><hr/></p>
	<p><b>Kreiranje zadaće</b><br/>
	<?php 
        $znaziv = $zaktivna = $zattachment = $zjezik = "";
        $zzadataka = 0;
        $zbodova = 0;
        $tmpvrijeme = time();
    } else {
        ?>
<p><hr/></p>
	<p><b>Izmjena zadaće</b></p>
	<?php 
        $q100 = myquery("select predmet, akademska_godina, naziv, zadataka, bodova, rok, aktivna, programskijezik, attachment, dozvoljene_ekstenzije, postavka_zadace, automatsko_testiranje from zadaca where id={$izabrana}");
        if ($predmet != mysql_result($q100, 0, 0) || $ag != mysql_result($q100, 0, 1)) {
            niceerror("Zadaća ne pripada vašem predmetu");
            zamgerlog("zadaca {$izabrana} ne pripada predmetu pp{$predmet}", 3);
            zamgerlog2("id zadace i predmeta se ne poklapaju", $izabrana, $predmet, $ag);
            return;
        }
        $znaziv = mysql_result($q100, 0, 2);
        $zzadataka = intval(mysql_result($q100, 0, 3));
        $zbodova = floatval(mysql_result($q100, 0, 4));
        $tmpvrijeme = mysql2time(mysql_result($q100, 0, 5));
        if (mysql_result($q100, 0, 6) == 1) {
            $zaktivna = "CHECKED";
        } else {
            $zaktivna = "";
        }
        $zjezik = mysql_result($q100, 0, 7);
        if (mysql_result($q100, 0, 8) == 1) {
            $zattachment = "CHECKED";
        } else {
            $zattachment = "";
        }
        $dozvoljene_ekstenzije_selected = mysql_result($q100, 0, 9);
        $postavka_zadace = mysql_result($q100, 0, 10);
        $automatsko_testiranje = mysql_result($q100, 0, 11);
    }
    $zdan = date('d', $tmpvrijeme);
    $zmjesec = date('m', $tmpvrijeme);
    $zgodina = date('Y', $tmpvrijeme);
    $zsat = date('H', $tmpvrijeme);
    $zminuta = date('i', $tmpvrijeme);
    $zsekunda = date('s', $tmpvrijeme);
    // JavaScript za provjeru validnosti forme
    ?>
<script language="JavaScript">
function IsNumeric(sText) {
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;0
   
}

function provjera() {
//	var forma=document.getElementById("kreiranje_zadace");
	var naziv=document.getElementById("naziv");
	if (parseInt(naziv.value.length)<1) {
		alert("Niste unijeli naziv");
		naziv.style.border=1;
		naziv.style.backgroundColor="#FF9999";
		naziv.focus();
		return false;
	}
	var zadataka=document.getElementById("zadataka");
	if (!IsNumeric(zadataka.value)) {
		alert("Neispravan broj zadataka!");
		zadataka.style.border=1;
		zadataka.style.backgroundColor="#FF9999";
		zadataka.focus();
		return false;
	}
	if (parseInt(zadataka.value)<=0) {
		alert("Broj zadataka u zadaći mora biti veći od nule, npr. 1");
		zadataka.style.border=1;
		zadataka.style.backgroundColor="#FF9999";
		zadataka.focus();
		return false;
	}
	var bodova=document.getElementById("bodova");
	if (!IsNumeric(bodova.value)) {
		alert("Neispravan broj bodova!");
		bodova.style.border=1;
		bodova.style.backgroundColor="#FF9999";
		bodova.focus();
		return false;
	}
	if (parseFloat(bodova.value)<0) {
		alert("Broj bodova koje nosi zadaća mora biti veći ili jednak nuli, npr. 2 boda");
		bodova.style.border=1;
		bodova.style.backgroundColor="#FF9999";
		bodova.focus();
		return false;
	}
	
	return true;
}

function onemoguci_ekstenzije(chk) {
	var attachment = document.getElementById("attachment");
	var dozvoljene_ekstenzije = document.getElementById("dozvoljene_ekstenzije");
	var jezik = document.getElementById("_lv_column_programskijezik");

	if (attachment.checked) {
		dozvoljene_ekstenzije.style.display = '';
	} else {
		dozvoljene_ekstenzije.style.display = 'none';
		for (i = 0; i < chk.length; i++) chk[i].checked = false;
	}
}
</script>
<?php 
    // Forma za kreiranje zadaće
    unset($_REQUEST['aktivna']);
    unset($_REQUEST['attachment']);
    unset($_REQUEST['automatsko_testiranje']);
    print genform("POST", "kreiranje_zadace\" enctype=\"multipart/form-data\" onsubmit=\"return provjera();");
    ?>
<input type="hidden" name="akcija" value="edit">
<input type="hidden" name="zadaca" value="<?php 
    echo $izabrana;
    ?>
">
Naziv: <input type="text" name="naziv" id="naziv" size="30" value="<?php 
    echo $znaziv;
    ?>
"><br><br>

Broj zadataka: <input type="text" name="zadataka" id="zadataka" size="4" value="<?php 
    echo $zzadataka;
    ?>
">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max. broj bodova: <input type="text" name="bodova" id="bodova" size="3" value="<?php 
    echo $zbodova;
    ?>
"><br><br>

Rok za slanje: <?php 
    echo datectrl($zdan, $zmjesec, $zgodina);
    ?>
&nbsp;&nbsp; <input type="text" name="sat" size="1" value="<?php 
    echo $zsat;
    ?>
"> <b>:</b> <input type="text" name="minuta" size="1" value="<?php 
    echo $zminuta;
    ?>
"> <b>:</b> <input type="text" name="sekunda" size="1" value="<?php 
    echo $zsekunda;
    ?>
"> <br><br>

<input type="checkbox" name="aktivna" <?php 
    echo $zaktivna;
    ?>
> Aktivna
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="checkbox" value="1" id="attachment" onclick="onemoguci_ekstenzije(this.form.dozvoljene_eks)" name="attachment" <?php 
    echo $zattachment;
    ?>
> Slanje zadatka u formi attachmenta<br><br>

<span id="dozvoljene_ekstenzije" style="display:none" title="Oznacite željene ekstenzije">
Dozvoljene ekstenzije (Napomena: Ukoliko ne odaberete nijednu ekstenziju sve ekstenzije postaju dozvoljene): 
<?php 
    $dozvoljene_ekstenzije_selected = explode(',', $dozvoljene_ekstenzije_selected);
    foreach ($dozvoljene_ekstenzije as $doz_ext) {
        ?>
<input type="checkbox" name="dozvoljene_eks[]" <?php 
        if (in_array($doz_ext, $dozvoljene_ekstenzije_selected)) {
            echo 'checked="checked"';
        }
        ?>
 value="<?php 
        echo $doz_ext;
        ?>
" /> <?php 
        echo $doz_ext;
    }
    ?>
<br><br>
</span>

Programski jezik: <?php 
    echo db_dropdown("programskijezik", $zjezik);
    ?>
<br><br>

<?php 
    if ($zjezik != 0) {
        // Ako nije definisan programski jezik, nećemo ni nuditi automatsko testiranje... ?
        if ($automatsko_testiranje == 1) {
            $add_testiranje = "CHECKED";
        } else {
            $add_testiranje = "";
        }
        ?>
	<input type="checkbox" name="automatsko_testiranje" <?php 
        echo $add_testiranje;
        ?>
> Automatsko testiranje<br>
	<a href="?sta=nastavnik/zadace&predmet=<?php 
        echo $predmet;
        ?>
&ag=<?php 
        echo $ag;
        ?>
&zadaca=<?php 
        echo $izabrana;
        ?>
&akcija=autotestovi">Kliknite ovdje da definišete testove</a><br><br>
	<?php 
    }
    ?>

Postavka zadaće: 
<?php 
    if ($postavka_zadace == "") {
        ?>
<input type="file" name="postavka_zadace_file" size="45"><?php 
    } else {
        ?>
<a href="?sta=common/attachment&zadaca=<?php 
        echo $izabrana;
        ?>
&tip=postavka"><img src="images/16x16/preuzmi.png" width="16" height="16" border="0"> <?php 
        echo $postavka_zadace;
        ?>
</a>
	<input type="submit" name="dugmeobrisi" value="Obriši">
	<?php 
    }
    ?>
<br><br>

<input type="submit" value=" Pošalji "> <input type="reset" value=" Poništi ">
<?php 
    if ($izabrana > 0) {
        ?>
<input type="submit" name="brisanje" value=" Obriši "><?php 
    }
    echo "<script> onemoguci_ekstenzije('');</script>";
    ?>
</form>
<?php 
    /*
    $_lv_["label:programskijezik"] = "Programski jezik";
    $_lv_["label:zadataka"] = "Broj zadataka";
    $_lv_["label:bodova"] = "Max. broj bodova";
    $_lv_["label:attachment"] = "Slanje zadatka u formi attachmenta";
    $_lv_["label:rok"] = "Rok za slanje";
    $_lv_["hidden:vrijemeobjave"] = 1;
    print db_form("zadaca");*/
    // Formular za masovni unos zadaća
    $format = intval($_POST['format']);
    if (!$_POST['format']) {
        $q110 = myquery("select vrijednost from preference where korisnik={$userid} and preferenca='mass-input-format'");
        if (mysql_num_rows($q110) > 0) {
            $format = mysql_result($q110, 0, 0);
        } else {
            //default vrijednost
            $format = 0;
        }
    }
    $separator = intval($_POST['separator']);
    if (!$_POST['separator']) {
        $q120 = myquery("select vrijednost from preference where korisnik={$userid} and preferenca='mass-input-separator'");
        if (mysql_num_rows($q120) > 0) {
            $separator = mysql_result($q120, 0, 0);
        } else {
            //default vrijednost
            $separator = 0;
        }
    }
    $q130 = myquery("select count(*) from zadaca where predmet={$predmet} and akademska_godina={$ag}");
    if (mysql_result($q130, 0, 0) > 0) {
        ?>
<p><hr/></p>
<p><b>Masovni unos zadaća</b><br/>
<?php 
        print genform("POST");
        if (strlen($_POST['nazad']) > 1) {
            $izabrana = $_POST['_lv_column_zadaca'];
        } else {
            $izabrana = -1;
        }
        ?>
<input type="hidden" name="fakatradi" value="0">
<input type="hidden" name="akcija" value="massinput">
<input type="hidden" name="nazad" value="">
<input type="hidden" name="brpodataka" value="1">
<input type="hidden" name="duplikati" value="0">

Izaberite zadaću: <?php 
        echo db_dropdown("zadaca", $izabrana);
        ?>
Izaberite zadatak: <select name="zadatak"><?php 
        $q112 = myquery("select zadataka from zadaca where predmet={$predmet} and akademska_godina={$ag} order by zadataka desc limit 1");
        for ($i = 1; $i <= mysql_result($q112, 0, 0); $i++) {
            print "<option value=\"{$i}\">{$i}</option>\n";
        }
        ?>
</select><br/><br/>

<textarea name="massinput" cols="50" rows="10"><?php 
        if (strlen($_POST['nazad']) > 1) {
            print $_POST['massinput'];
        }
        ?>
</textarea><br/>
<br/>Format imena i prezimena: <select name="format" class="default">
<option value="0" <?php 
        if ($format == 0) {
            print "SELECTED";
        }
        ?>
>Prezime[TAB]Ime</option>
<option value="1" <?php 
        if ($format == 1) {
            print "SELECTED";
        }
        ?>
>Ime[TAB]Prezime</option>
<option value="2" <?php 
        if ($format == 2) {
            print "SELECTED";
        }
        ?>
>Prezime Ime</option>
<option value="3" <?php 
        if ($format == 3) {
            print "SELECTED";
        }
        ?>
>Ime Prezime</option></select>&nbsp;
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/>
<input type="submit" value="  Dodaj  ">
</form></p>
<?php 
    } else {
        ?>
<p><hr/></p>
	<p><b>Masovni unos zadaća NIJE MOGUĆ</b><br/>
	Najprije kreirajte zadaću koristeći formular iznad</p>
	<?php 
    }
    /*
    // IMPORT ZADAĆA IZ MOODLA
    
    //Prikupljanje id-a moodle predmeta iz zamger baze radi poredjenja
    $q200 = myquery("SELECT moodle_id FROM moodle_predmet_id WHERE predmet='$predmet'");
    
    if ($conf_moodle && mysql_num_rows($q200)>0) {
    
    $id_predmeta_value = mysql_result($q200,0,0);
    
    
    // Ima li zadaća u Moodlu?
    
    $moodle_con = $__lv_connection;
    if (!$conf_moodle_reuse_connection) {
    	// Pravimo novu konekciju za moodle, kod iz dbconnect2() u libvedran
    	if (!($moodle_con = mysql_connect($conf_moodle_dbhost, $conf_moodle_dbuser, $conf_moodle_dbpass))) {
    		biguglyerror(mysql_error());
    		exit;
    	}
    	if (!mysql_select_db($conf_moodle_db, $moodle_con)) {
    		biguglyerror(mysql_error());
    		exit;
    	}
    	if ($conf_use_mysql_utf8) {
    		mysql_set_charset("utf8",$moodle_con);
    	}
    }
    $q300 = mysql_query("SELECT itemname
    	FROM $conf_moodle_db.$conf_moodle_prefix"."grade_items
    	WHERE itemmodule='assignment' AND itemtype='mod'", $moodle_con) or die ("Greska u upitu 300: " .mysql_error());
    
    
    // Ako nema, ne ispisujemo ništa
    if (mysql_num_rows($q300)<1) 
    	return;
    
    $za_value = mysql_fetch_array($q300);
    
    
    
    print genform("POST");
    ?>
    <p><hr/></p>
    <h4>Import svih zadaća iz Moodle-a</h4>
    <p>Klikom na import importuju se sve zadaće za sve studente</p>
    <p><br/><b>Napomena:</b> Sve zadaće moraju imati ista imena kao u Moodle-u!</p>
    <input type="hidden" name="akcija" value="import_svih">
    
    <?
    
    //Import svih zadaca
    if ($_POST['akcija'] == "import_svih" && check_csrf_token()) {
    	//Prikupljanje imena zadaca iz Zamger baze
    	$q210 = myquery("SELECT naziv
    		FROM zadaca
    		WHERE predmet='$predmet' AND akademska_godina='$ag'");
    	if (mysql_num_rows($q210)<1) {
    		niceerror("Nema zadaća u zamgeru");
    		zamgerlog("predmet pp$predmet ne sadrzi niti jednu zadacu u zamgeru",3);
    		return;
    	}
    
    	while ($r210 = mysql_fetch_array($q210)) {
    		//Prikupljanje podataka iz Moodle tabele
    		//Prikupljaju se id predmeta, ime zadace i JMBG svih studenata
    		//Posto se pri prikupljanju zadace porede po imenu trebaju imati isti naziv u Moodle-u kao i u Zamgeru
    		$q220 = mysql_query("SELECT c.id, gi.itemname, u.firstname, u.lastname
    			FROM $conf_moodle_db.$conf_moodle_prefix"."grade_grades gg, $conf_moodle_db.$conf_moodle_prefix"."user u, $conf_moodle_db.$conf_moodle_prefix"."grade_items gi, $conf_moodle_db.$conf_moodle_prefix"."course c
    			WHERE gi.itemname = '$r210[0]' AND c.id = '$id_predmeta_value' AND
    			gg.userid=u.id AND gg.itemid=gi.id AND gi.courseid=c.id", $moodle_con) or die ("Greska u upitu 220: " .mysql_error());
    		if (mysql_num_rows($q220)<1) {
    			niceerror("Nema podataka u Moodle-u");
    			zamgerlog("Nema podataka u Moodle-u za zadacu $r210[0]",3);
    			return;
    		}
    		//Ubacivanje podataka u zamger tabelu
    		while ($r220 = mysql_fetch_array($q220)) {
    			//$bodovi sadrzi vrijednost zadace iz $row1 za date vrijednosti (trenutni student, trenutna zadaca i trenutni predmet)
    			$q230 = mysql_query("SELECT gg.finalgrade
    				FROM $conf_moodle_db.$conf_moodle_prefix"."grade_grades gg, $conf_moodle_db.$conf_moodle_prefix"."user u, $conf_moodle_db.$conf_moodle_prefix"."grade_items gi, $conf_moodle_db.$conf_moodle_prefix"."course c
    				WHERE gi.itemname='$r220[1]' AND c.id='$r220[0]' AND u.firstname='$r220[2]' AND u.lastname='$r220[3]' AND
    				gg.userid=u.id AND gg.itemid=gi.id AND gi.courseid=c.id", $moodle_con) or die ("Greska u upitu 230: " .mysql_error());
    			if (mysql_num_rows($q230)<1) {
    				niceerror("Zadaća nema bodova u Moodle-u");
    				zamgerlog("Zadaca: $r210[0] nema bodova",3);
    				return;
    			}
    			$bodovi_value = mysql_fetch_array($q230);
    		
    			//zadaca_id sadrzi id zadace trenutne vrijednosti u $row1
    			$q240 = myquery("SELECT z.id
    				FROM zadaca z, moodle_predmet_id p
    				WHERE z.naziv='$r220[1]' AND p.moodle_id='$r220[0]' AND p.predmet=z.predmet");
    			if (mysql_num_rows($q240)<1) {
    				niceerror("Nema zadaća u zamgeru");
    				zamgerlog("Predmet $predmet ne sadrzi niti jednu zadacu u zamgeru",3);
    				return;
    			}
    			$zadaca_id_value = mysql_fetch_array($q240);
    		
    			//$student_id vraca id studenta koji se trenutno cita iz $row1
    			$q250 = myquery("SELECT id
    				FROM osoba
    				WHERE ime='$r220[2]' AND prezime='$r220[3]'");
    			if (mysql_num_rows($q250)<1) {
    				niceerror("Student ne postoji zamgeru");
    				zamgerlog("Student $r220[2] $r220[3] ne postoji u zamgeru",3);
    				return;
    			}
    			$student_id_value = mysql_fetch_array($q250);
    		
    			$q260 = "INSERT INTO zadatak (zadaca, redni_broj, student, status, bodova, vrijeme, userid)
    				VALUES ('$zadaca_id_value[0]', '1', '$student_id_value[0]', '5', '$bodovi_value[0]', 'SYSDATE()', '$userid')";
    		
    			myquery($q260);
    			//upit za dobijanje komponente za zadace
    			$q270 = myquery ("SELECT komponenta FROM zadaca WHERE id=$zadaca_id_value[0]");
    			if (mysql_num_rows($q270)<1) {
    				niceerror("Nema komponente");
    				zamgerlog("Nema komponenti u zamgeru",3);
    				return;
    			}
    			$komponenta_value = mysql_fetch_array($q270);
    			// Treba nam ponudakursa za update komponente
    			$q280 = myquery("SELECT sp.predmet
    				FROM student_predmet as sp, ponudakursa as pk
    				WHERE sp.student='$student_id_value[0]' and sp.predmet=pk.id and pk.predmet=$predmet and pk.akademska_godina='$ag'");
    			$pk_value = mysql_result($q280,0,0);
    			update_komponente($student_id_value[0],$pk_value,$komponenta_value[0]);
    		}
    	}
    
    	nicemessage("Import uspješan");
    	zamgerlog("zadace su importovane iz Moodle-a", 2);
    }
    ?>
    <table>
    <tr>
    	<td><input type="submit" name="sve_zadace" value="Import"><br/></td>
    </tr>
    </table>
    </form>
    
    <?
    
    
    // Import pojedinačnih zadaća iz Moodla
    
    print genform("POST");
    ?>
    <h4></br>Import zadaća iz Moodle-a sa advanced upload-a</h4>
    <input type="hidden" name="akcija" value="import_selected">
    <input type="hidden" name="moodle_zadace" value="<?=$za_value?>">
    
    <?
    if ($_POST['akcija'] == "import_selected" && check_csrf_token()) {
    	$q310 = mysql_query("SELECT u.firstname, u.lastname, gi.itemname, gi.grademax
    		FROM $conf_moodle_db.$conf_moodle_prefix"."grade_grades gg, $conf_moodle_db.$conf_moodle_prefix"."user u, $conf_moodle_db.$conf_moodle_prefix"."grade_items gi, $conf_moodle_db.$conf_moodle_prefix"."course c
    		WHERE gi.itemmodule='assignment' AND gi.itemtype='mod' AND c.id = '$id_predmeta_value' AND
    		gg.userid=u.id AND gg.itemid=gi.id AND gi.courseid=c.id", $moodle_con) or die ("Greska u upitu 310: " .mysql_error());
    	while ($r310 = mysql_fetch_array($q310)) {
    		
    		$q320 = mysql_query("SELECT gg.finalgrade
    			FROM $conf_moodle_db.$conf_moodle_prefix"."grade_grades gg, $conf_moodle_db.$conf_moodle_prefix"."user u, $conf_moodle_db.$conf_moodle_prefix"."grade_items gi, $conf_moodle_db.$conf_moodle_prefix"."course c
    			WHERE gi.itemmodule='assignment' AND c.id='$id_predmeta_value' AND u.firstname='$r310[0]' AND u.lastname='$r310[1]' AND
    			gg.userid=u.id AND gg.itemid=gi.id AND gi.courseid=c.id", $moodle_con) or die ("Greska u upitu 320: " .mysql_error());
    		if (mysql_num_rows($q320)<1) {
    			niceerror("Zadaća nema bodova u Moodle-u");
    			zamgerlog("Zadaca: $r310[2] nema bodova",3);
    			return;
    		}
    		$bodovi_value = mysql_fetch_array($q320);
    		
    		$q330 = myquery ("SELECT id FROM komponenta WHERE naziv='Zadace (ETF BSc)'");
    		if (mysql_num_rows($q330)<1) {
    			niceerror("Nema komponente");
    			zamgerlog("Nema komponenti u zamgeru",3);
    			return;
    		}
    		$komponenta_value = mysql_fetch_array($q330);
    		
    		$q340 = myquery("SELECT z.id
    			FROM zadaca z, moodle_predmet_id p
    			WHERE z.naziv='$za_value' AND p.moodle_id='$id_predmeta_value' AND p.predmet=z.predmet");
    		if (mysql_num_rows($q340)<1) {
    			$q350 = myquery ("INSERT INTO zadaca (naziv, predmet, akademska_godina, zadataka, bodova, rok, aktivna, programskijezik, attachment, komponenta, vrijemeobjave)
    				VALUES ('$row1[2]', '$predmet', '$ag', 1, '$r310[3]', 'SYSDATE()', 1, 0, 0, '$komponenta_value[0]', 'SYSDATE()')");
    			nicemessage("Kreirana nova zadaća '$naziv'");
    			zamgerlog("kreirana nova zadaca z$edit_zadaca prilikom importa iz Moodla", 2);
    
    			$q340 = myquery("SELECT z.id
    				FROM zadaca z, moodle_predmet_id p
    				WHERE z.naziv='$za_value' AND p.moodle_id='$id_predmeta_value' AND p.predmet=z.predmet");
    		}
    		$zadaca_id_value = mysql_fetch_array($q340);
    	
    		$q360 = myquery("SELECT id
    			FROM osoba
    			WHERE ime='$row1[0]' AND prezime='$row1[1]'");
    		if (mysql_num_rows($q360)<1) {
    			niceerror("Student ne postoji zamgeru");
    			zamgerlog("Student $row1[2] $row1[3] ne postoji u zamgeru",3);
    			return;
    		}
    		$student_id_value = mysql_fetch_array($q360);
    		
    		$q370 = "INSERT INTO zadatak (zadaca, redni_broj, student, status, bodova, vrijeme, userid)
    			VALUES ('$zadaca_id_value[0]', '1', '$student_id_value[0]', '5', '$bodovi_value[0]', 'SYSDATE()', '$userid')";
    	
    		myquery($q370);
    			
    			
    		$q380 = myquery("SELECT sp.predmet
    			FROM student_predmet as sp, ponudakursa as pk
    			WHERE sp.student='$student_id_value[0]' and sp.predmet=pk.id and pk.predmet=$predmet and pk.akademska_godina='$ag'");
    		$pk_value = mysql_result($q380,0,0);
    		update_komponente($student_id_value[0],$pk_value,$komponenta_value[0]);
    	}
    	nicemessage("Import uspješan");
    	zamgerlog("Zadace su importovane iz Moodle-a", 2);
    }
    ?>
    <table>
    <tr>
    	<td>Izaberite zadaću: <select name="moodle_zadaca"><?
    foreach ($za_value as $zaneki) {
    	print "<option value=\"$zaneki\">$zaneki</option>\n";
    }
    ?>
    </select></td></tr>
    <tr>
    	<td><input type="submit" name="advanced_zadace" value="Import"><br/></td>
    </tr>
    </table>
    </form>
    
    <?
    
    
    // Diskonektujemo moodle
    if (!$conf_moodle_reuse_connection) {
    	mysql_close($moodle_con);
    }
    
    
    }*/
}
Esempio n. 15
0
function saradnik_komentar()
{
    global $userid, $user_siteadmin;
    ?>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" bgcolor="#FFFFFF">
<?php 
    $stud_id = intval($_REQUEST['student']);
    $labgrupa = intval($_REQUEST['labgrupa']);
    // Da li neko spoofa predmet/studenta?
    $q10 = myquery("select sl.labgrupa from student_labgrupa as sl where sl.student={$stud_id} and sl.labgrupa={$labgrupa}");
    if (mysql_num_rows($q10) < 1) {
        zamgerlog("student u{$stud_id} nije u labgrupi g{$labgrupa}", 3);
        zamgerlog2("id studenta i labgrupe ne odgovaraju", $stud_id, $labgrupa);
        niceerror("Nemate pravo pristupa ovom studentu!");
        return;
    }
    // Prava pristupa i odredjivanje predmeta
    if ($user_siteadmin) {
        $q20 = myquery("select predmet, akademska_godina from labgrupa where id={$labgrupa}");
        if (mysql_num_rows($q20) < 1) {
            zamgerlog("nepoznata labgrupa (labgrupa {$labgrupa} predmet pp{$predmet})", 3);
            zamgerlog2("nepoznata labgrupa", $labgrupa);
            niceerror("Nepoznata grupa {$labgrupa}");
            return;
        }
    } else {
        $q20 = myquery("select np.predmet, np.akademska_godina from labgrupa as l, nastavnik_predmet as np where l.id={$labgrupa} and l.predmet=np.predmet and l.akademska_godina=np.akademska_godina and np.nastavnik={$userid}");
        if (mysql_num_rows($q20) < 1) {
            zamgerlog("nastavnik nije na predmetu (labgrupa g{$labgrupa})", 3);
            zamgerlog2("nije saradnik na predmetu", $predmet, $ag);
            niceerror("Nemate pravo pristupa ovom studentu!");
            return;
        }
    }
    $predmet = mysql_result($q20, 0, 0);
    $ag = mysql_result($q20, 0, 1);
    // Limit...
    $q30 = 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($q30) > 0) {
        $nasao = 0;
        while ($r30 = mysql_fetch_row($q30)) {
            if ($r30[0] == $labgrupa) {
                $nasao = 1;
                break;
            }
        }
        if ($nasao == 0) {
            zamgerlog("ogranicenje (labgrupa g{$labgrupa} predmet pp{$predmet})", 3);
            zamgerlog2("ima ogranicenje na labgrupu", $labgrupa);
            niceerror("Nemate pravo pristupa ovom studentu!");
            return;
        }
    }
    $q40 = myquery("select ime, prezime, brindexa from osoba where id={$stud_id}");
    if ($r40 = mysql_fetch_row($q40)) {
        print "<h3>{$r40['0']} {$r40['1']} ({$r40['2']})</h3>\n";
    } else {
        zamgerlog("nepostojeci student {$stud_id}", 3);
        zamgerlog2("nepostojeci student", $stud_id);
        niceerror("Nemate pravo pristupa ovom studentu!");
        return;
    }
    // Odredjujem ponudukursa koju tabela komentar za sada jos uvijek koristi
    $q45 = myquery("select pk.id from ponudakursa as pk, student_predmet as sp where sp.student={$stud_id} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag}");
    $ponudakursa = mysql_result($q45, 0, 0);
    // ------------------------
    //  Akcije
    // ------------------------
    if ($_POST['akcija'] == "dodaj" && check_csrf_token()) {
        list($h, $m, $s) = explode(":", $_POST['vrijeme']);
        $datum = date("Y-m-d H:i:s", mktime($h, $m, $s, $_POST['month'], $_POST['day'], $_POST['year']));
        $komentar = my_escape($_POST['komentar']);
        $q50 = myquery("insert into komentar set student={$stud_id}, nastavnik={$userid}, labgrupa={$labgrupa}, predmet={$ponudakursa}, datum='{$datum}', komentar='{$komentar}'");
        zamgerlog("dodan komentar na studenta u{$stud_id} labgrupa g{$labgrupa}", 2);
        zamgerlog2("dodan komentar na studenta", $stud_id, $labgrupa);
    }
    if ($_GET['akcija'] == "obrisi") {
        $id = intval($_GET['id']);
        $q60 = myquery("delete from komentar where id={$id}");
        zamgerlog("obrisan komentar {$id}", 2);
        zamgerlog2("obrisan komentar", $id);
    }
    // Spisak komentara
    $q70 = myquery("select k.id, a.ime, a.prezime, UNIX_TIMESTAMP(k.datum), k.komentar from komentar as k, osoba as a where k.student={$stud_id} and k.labgrupa={$labgrupa} and k.nastavnik=a.id");
    if (mysql_num_rows($q70) < 1) {
        print "<ul><li>Nijedan komentar nije unesen.</li></ul>\n";
    }
    while ($r70 = mysql_fetch_row($q70)) {
        $datum = date("d. m. Y. H:i:s", $r70[3]);
        print "<p><b>{$datum} ({$r70['1']} {$r70['2']}):</b> (<a href=\"" . genuri() . "&akcija=obrisi&id={$r70['0']}\">Obriši</a>)<br/>{$r70['4']}<br/></p>\n";
    }
    // Dodaj komentar
    ?>
<p><hr></p>
<p><b>Dodajte komentar:</b><br/>
<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="akcija" value="dodaj">
Trenutni datum i vrijeme:<br/>
<?php 
    echo datectrl(date("d"), date("m"), date("Y"));
    ?>
&nbsp;
<input type="text" size="10" name="vrijeme" value="<?php 
    echo date("H:i:s");
    ?>
" class="default"><br/><br/>
<textarea cols="35" rows="5" name="komentar"></textarea><br/>
<input type="submit" value=" Pošalji " class="default"></form>
</p>
<?php 
}
Esempio n. 16
0
function studentska_raspored1()
{
    ?>
<link href="css/raspored1.css" rel="stylesheet" type="text/css">
<?php 
    global $userid, $user_siteadmin, $user_studentska;
    // Provjera privilegija
    if (!$user_studentska && !$user_siteadmin) {
        zamgerlog("nije studentska", 3);
        // 3: error
        zamgerlog2("nije studentska");
        biguglyerror("Pristup nije dozvoljen.");
        return;
    }
    ?>

<script language="JavaScript" type="text/javascript">
	function daj_uputstvo(){
		var x=document.getElementById('uputstvo_za_mas_unos_sala');
		var slika=document.getElementById('slika_za_mas_unos_sala');
		if(x.style.display=="none"){
			 x.style.display="inline";
			 slika.src="images/minus.png";
		}
		else {
			x.style.display="none";
			slika.src="images/plus.png";
		}
	}

	function prikaziGrupe() {
		document.getElementById('akcija_novi_cas').value="unos_novog_casa_predfaza";
		document.forma_za_unos_casa.submit();
	}
	
	function dodajCasSaKonfliktima() {
		document.getElementById('cas_sa_konfliktima').value="1";
		document.forma_za_unos_casa.submit();
	}
					
	function brisanje_casa(id_casa) {
		var a = confirm("Obrisati čas! Da li ste sigurni?");
		if (a) {
			document.getElementById('id_casa_za_brisanje').value=id_casa;
			document.brisanjecasa.submit();
		}
	}

	function prikazKonflikata(){
		var x=document.getElementById('prikaz_konflikata');
		var slika=document.getElementById('slika_konflikti');
		if(x.style.display=="none"){
			 x.style.display="inline";
			 slika.src="images/minus.png";
		}
		else {
			x.style.display="none";
			slika.src="images/plus.png";
		}
	}

	function brisanje_rasporeda(id_rasporeda) {
		var a = confirm("Obrisati raspored i kompletan sadržaj! Da li ste sigurni?");
		if (a) {
			document.getElementById('id_rasporeda_za_brisanje').value=id_rasporeda;
			document.brisanjerasporeda.submit();
		}
	}

	function kopiranjeSvihRasporeda() {
		var a = confirm("Ovom akcijom brišete eventualno postojeći sadržaj destinacijskog rasporeda!!");
		if (a) {
			document.kopiranjerasporeda.submit();
		}
	}
	
</script>

<?php 
    function prikaziKonflikte($id_stavke_rasporeda, $ispis = 0)
    {
        $q0 = myquery("select r.akademska_godina,r.semestar from raspored r, raspored_stavka rs where r.id=rs.raspored and rs.id={$id_stavke_rasporeda}");
        $akademska_godina = mysql_result($q0, 0, 0);
        $semestar = mysql_result($q0, 0, 1);
        $semestar_je_neparan = $semestar % 2;
        $q1 = myquery("select predmet,vrijeme_pocetak,vrijeme_kraj,tip,labgrupa,dan_u_sedmici,dupla from raspored_stavka where id={$id_stavke_rasporeda}");
        $predmet = mysql_result($q1, 0, 0);
        $pocetak = mysql_result($q1, 0, 1);
        $kraj = mysql_result($q1, 0, 2);
        $tip = mysql_result($q1, 0, 3);
        $labgrupa = mysql_result($q1, 0, 4);
        $dan = mysql_result($q1, 0, 5);
        $dupla = mysql_result($q1, 0, 6);
        if ($labgrupa != 0) {
            if ($labgrupa != -1) {
                $q4 = myquery("select naziv from labgrupa where id={$labgrupa}");
                $labgrupa_naziv = mysql_result($q4, 0, 0);
            }
        }
        $interval = $kraj - $pocetak;
        $konflikt = array();
        $konflikt['student'] = array();
        $konflikt['predmet'] = array();
        $konflikt['pocetak'] = array();
        $konflikt['kraj'] = array();
        $q2 = myquery("select rs.sala,rs.vrijeme_pocetak,rs.vrijeme_kraj,rs.predmet,rs.tip,rs.labgrupa,r.semestar,rs.id \r\n\tfrom raspored_stavka rs,raspored r where rs.dan_u_sedmici={$dan} and rs.raspored=r.id and r.akademska_godina={$akademska_godina} \r\n\tand r.semestar mod 2 = {$semestar_je_neparan} and rs.dupla=0 and (rs.isjeckana=0 or rs.isjeckana=2) and rs.labgrupa != -1");
        for ($f = 0; $f < mysql_num_rows($q2); $f++) {
            $sala_i = mysql_result($q2, $f, 0);
            $vrijeme_pocetak_i = mysql_result($q2, $f, 1);
            $vrijeme_kraj_i = mysql_result($q2, $f, 2);
            $predmet_i = mysql_result($q2, $f, 3);
            $tip_i = mysql_result($q2, $f, 4);
            $labgrupa_i = mysql_result($q2, $f, 5);
            $semestar_i = mysql_result($q2, $f, 6);
            $id_stavke_i = mysql_result($q2, $f, 7);
            if ($id_stavke_i == $id_stavke_rasporeda || $id_stavke_i == $dupla) {
                continue;
            }
            if ($tip_i == "P") {
                $labgrupa_i = 0;
            }
            //ukoliko postoji preklapanje termina (sada gledamo sve rasporede) tačan je uslov ispod
            if ($vrijeme_pocetak_i >= $pocetak && $vrijeme_pocetak_i < $kraj || $vrijeme_kraj_i > $pocetak && $vrijeme_kraj_i <= $kraj) {
                // provjera preklapanja studenata u terminu
                if ($tip == "P") {
                    $q_prvi = myquery("select sp.student from student_predmet sp,ponudakursa pk where sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$akademska_godina} and pk.semestar={$semestar}");
                } else {
                    $q_prvi = myquery("select student from student_labgrupa where labgrupa={$labgrupa}");
                }
                if ($labgrupa_i == 0) {
                    $q_drugi = myquery("select sp.student from student_predmet sp,ponudakursa pk where sp.predmet=pk.id and pk.predmet={$predmet_i} and pk.akademska_godina={$akademska_godina} and pk.semestar={$semestar_i}");
                } else {
                    $q_drugi = myquery("select student from student_labgrupa where labgrupa={$labgrupa_i}");
                }
                for ($p = 0; $p < mysql_num_rows($q_prvi); $p++) {
                    $student_p = mysql_result($q_prvi, $p, 0);
                    for ($d = 0; $d < mysql_num_rows($q_drugi); $d++) {
                        $student_d = mysql_result($q_drugi, $d, 0);
                        if ($student_p == $student_d) {
                            // pronadjen je student u konfliktu i upisujemo ga u niz konflikata
                            $konflikt['student'][] = $student_p;
                            $konflikt['predmet'][] = $predmet_i;
                            $konflikt['pocetak'][] = $vrijeme_pocetak_i;
                            $konflikt['kraj'][] = $vrijeme_kraj_i;
                        }
                    }
                }
            }
        }
        $broj_konflikata = count($konflikt['student']);
        if ($ispis == 1) {
            print "<p>Prikaz konflikata:</p>";
            print "<ul>";
            for ($i = 0; $i < count($konflikt['student']); $i++) {
                $student = $konflikt['student'][$i];
                $predmet = $konflikt['predmet'][$i];
                $pocetak = $konflikt['pocetak'][$i];
                $kraj = $konflikt['kraj'][$i];
                $vrijemePocS = floor(($pocetak - 1) / 4 + 8);
                $vrijemePocMin = $pocetak % 4;
                if ($vrijemePocMin == 1) {
                    $vrijemePocM = "00";
                } elseif ($vrijemePocMin == 2) {
                    $vrijemePocM = "15";
                } elseif ($vrijemePocMin == 3) {
                    $vrijemePocM = "30";
                } elseif ($vrijemePocMin == 0) {
                    $vrijemePocM = "45";
                }
                $vrijemeP = "{$vrijemePocS}:{$vrijemePocM}";
                $vrijemeKrajS = floor(($kraj - 1) / 4 + 8);
                $vrijemeKrajMin = $kraj % 4;
                if ($vrijemeKrajMin == 1) {
                    $vrijemeKrajM = "00";
                } elseif ($vrijemeKrajMin == 2) {
                    $vrijemeKrajM = "15";
                } elseif ($vrijemeKrajMin == 3) {
                    $vrijemeKrajM = "30";
                } elseif ($vrijemeKrajMin == 0) {
                    $vrijemeKrajM = "45";
                }
                $vrijemeK = "{$vrijemeKrajS}:{$vrijemeKrajM}";
                $q1 = myquery("select ime, prezime from osoba where id={$student}");
                $ime = mysql_result($q1, 0, 0);
                $prezime = mysql_result($q1, 0, 1);
                $q2 = myquery("select naziv from predmet where id={$predmet}");
                $naziv_predmeta = mysql_result($q2, 0, 0);
                print "<li><p><b>{$ime} {$prezime}</b> ima predmet <b>{$naziv_predmeta}</b> u terminu <b>{$vrijemeP}-{$vrijemeK}</b></p></li>";
            }
            print "</ul>";
        }
        return $broj_konflikata;
    }
    ?>


<center>

<table border="0"><tr><td>
<?php 
    // uslov ispod se koristi ako prikazujemo stranicu za rad sa salama
    if (isset($_REQUEST['edit_sala']) && $_REQUEST['edit_sala'] == 1) {
        $greska = 0;
        //uslov ispod je ispunjen ako je prihvaćena forma za unos nove sale
        if ($_POST['akcija'] == 'unos_nove_sale' && check_csrf_token()) {
            if (empty($_POST['ime_sale'])) {
                $greska = 1;
                $greska_prazno_ime_sale = 1;
            } else {
                // ako ime sale nije prazno izvršava se sljedeći kod
                $ime_sale = my_escape($_POST['ime_sale']);
                $q0 = myquery("select naziv from raspored_sala");
                for ($i = 0; $i < mysql_num_rows($q0); $i++) {
                    if (mysql_result($q0, $i, 0) == $ime_sale) {
                        $greska = 1;
                        $greska_postoji_sala = 1;
                    }
                }
            }
            $tip_sale = my_escape($_POST['tip_sale']);
            if (empty($_POST['kapacitet'])) {
                $greska = 1;
                $greska_prazan_kapacitet = 1;
            } elseif (!is_numeric($_POST['kapacitet'])) {
                $greska = 1;
                $greska_kapacitet_nije_broj = 1;
            } else {
                // ako je kapacitet ispravno unešen
                $kapacitet = intval($_POST['kapacitet']);
            }
            if ($greska == 0) {
                // ako nema greski unosimo novu salu u bazu
                $tip_sale = my_escape($_POST['tip_sale']);
                $q0 = myquery("select * from raspored_sala");
                if (mysql_num_rows($q0) > 0) {
                    $q1 = myquery("select max(id) from raspored_sala");
                    $id_nove_sale = mysql_result($q1, 0, 0) + 1;
                } else {
                    $id_nove_sale = 1;
                }
                $q0 = myquery("insert into raspored_sala set id={$id_nove_sale}, naziv='{$ime_sale}', kapacitet={$kapacitet}, tip='{$tip_sale}'");
                $uspjesno_unesena_sala = 1;
                zamgerlog("upisana nova sala {$ime_sale}", 2);
                // nivo 2 je izmjena podataka u bazi
                zamgerlog2("upisana nova sala", $id_nove_sale, 0, 0, $ime_sale);
            }
        } elseif ($_POST['akcija'] == 'editovanje_sale' && check_csrf_token()) {
            $id_sale_za_edit = intval($_POST['id_sale_za_edit']);
            $q0 = myquery("select naziv from raspored_sala where id={$id_sale_za_edit}");
            $stari_naziv_sale = mysql_result($q0, 0, 0);
            if (empty($_POST['edit_ime_sale'])) {
                $greska = 1;
                $greska_prazno_ime_sale = 1;
            } else {
                // ako ime sale nije prazno izvršava se sljedeći kod
                $ime_sale = my_escape($_POST['edit_ime_sale']);
                $q1 = myquery("select naziv from raspored_sala");
                for ($i = 0; $i < mysql_num_rows($q1); $i++) {
                    if (mysql_result($q1, $i, 0) == $ime_sale && $ime_sale != $stari_naziv_sale) {
                        $greska = 1;
                        $greska_postoji_sala = 1;
                    }
                }
            }
            $tip_sale = my_escape($_POST['edit_tip_sale']);
            if (empty($_POST['edit_kapacitet'])) {
                $greska = 1;
                $greska_prazan_kapacitet = 1;
            } elseif (!is_numeric($_POST['edit_kapacitet'])) {
                $greska = 1;
                $greska_kapacitet_nije_broj = 1;
            } else {
                // ako je kapacitet ispravno unešen
                $kapacitet = intval($_POST['edit_kapacitet']);
            }
            if ($greska == 0) {
                // ako nema greski unosimo novu salu u bazu
                $tip_sale = my_escape($_POST['edit_tip_sale']);
                $q1 = myquery("update raspored_sala set naziv='{$ime_sale}', kapacitet={$kapacitet}, tip='{$tip_sale}' where id={$id_sale_za_edit}");
                $uspjesno_editovana_sala = 1;
                zamgerlog("editovana sala {$stari_naziv_sale}", 2);
                // nivo 2 je izmjena podataka u bazi
                zamgerlog2("editovana sala", $id_sale_za_edit);
            }
        }
        $greska_masovnog_unosa = 0;
        // uslov ispod je ispunjen ako je prihvaćena forma za masovni unos sala
        if ($_POST['akcija'] == 'masovni_unos_sala' && check_csrf_token()) {
            $redovi = explode("\n", $_POST['mas_unos_sala']);
            if (trim($_POST['mas_unos_sala']) == '') {
                $greska_masovnog_unosa = 1;
                $greska_prazan_prostor_za_mas_unos_sala = 1;
            }
            $greska_u_redu = array();
            $greska_prazni_parametri_u_redu = array();
            $greska_nevalja_tip_sale_u_redu = array();
            $greska_nevalja_kapacitet_u_redu = array();
            $greska_postoji_sala_u_redu = array();
            $i = 0;
            foreach ($redovi as $red) {
                $i++;
                $red = trim($red);
                if (strlen($red) < 1) {
                    continue;
                }
                // prazan red
                if ($_POST['separator'] == 1) {
                    list($ime_sale, $tip_sale, $kapacitet) = explode(",", $red);
                    $ime_sale = trim($ime_sale);
                    $tip_sale = trim($tip_sale);
                    $kapacitet = trim($kapacitet);
                    $niz = explode(",", $red);
                } elseif ($_POST['separator'] == 2) {
                    list($ime_sale, $tip_sale, $kapacitet) = explode("\t", $red);
                    $ime_sale = trim($ime_sale);
                    $tip_sale = trim($tip_sale);
                    $kapacitet = trim($kapacitet);
                    $niz = explode("\t", $red);
                }
                if (count($niz) != 3) {
                    $greska_masovnog_unosa = 1;
                    $greska_u_redu[] = $i;
                } elseif (count($niz) == 3) {
                    if ($ime_sale == '' || $tip_sale == '' || $kapacitet == '') {
                        $greska_masovnog_unosa = 1;
                        $greska_prazni_parametri_u_redu[] = $i;
                    } else {
                        if ($tip_sale != 'amf' && $tip_sale != 'lab' && $tip_sale != 'kab') {
                            $greska_masovnog_unosa = 1;
                            $greska_nevalja_tip_sale_u_redu[] = $i;
                        }
                        if (!is_numeric($kapacitet)) {
                            $greska_masovnog_unosa = 1;
                            $greska_nevalja_kapacitet_u_redu[] = $i;
                        }
                        $q0 = myquery("select naziv from raspored_sala");
                        for ($j = 0; $j < mysql_num_rows($q0); $j++) {
                            if (mysql_result($q0, $j, 0) == $ime_sale) {
                                $greska_masovnog_unosa = 1;
                                $greska_postoji_sala_u_redu[] = $i;
                            }
                        }
                    }
                }
            }
            if ($greska_masovnog_unosa == 0) {
                $unesene_sale = array();
                foreach ($redovi as $red) {
                    $red = trim($red);
                    if (strlen($red) < 1) {
                        continue;
                    }
                    // prazan red
                    if ($_POST['separator'] == 1) {
                        list($ime_sale, $tip_sale, $kapacitet) = explode(",", $red);
                        $ime_sale = trim($ime_sale);
                    } elseif ($_POST['separator'] == 2) {
                        list($ime_sale, $tip_sale, $kapacitet) = explode("\t", $red);
                        $ime_sale = trim($ime_sale);
                    }
                    $unesene_sale[] = $ime_sale;
                }
                $postoji_dupla = false;
                for ($i = 0; $i < count($unesene_sale); $i++) {
                    $prva = $unesene_sale[$i];
                    for ($j = $i + 1; $j < count($unesene_sale); $j++) {
                        $druga = $unesene_sale[$j];
                        if ($prva == $druga) {
                            $greska_masovnog_unosa = 1;
                            $greska_postoje_duple_sale = 1;
                        }
                    }
                }
            }
            // ako nema grešaka u unosu dodajemo sale
            if ($greska_masovnog_unosa == 0) {
                $unesene_sale = array();
                foreach ($redovi as $red) {
                    $red = trim($red);
                    if (strlen($red) < 1) {
                        continue;
                    }
                    // prazan red
                    if ($_POST['separator'] == 1) {
                        list($ime_sale, $tip_sale, $kapacitet) = explode(",", $red);
                        $ime_sale = trim($ime_sale);
                        $tip_sale = trim($tip_sale);
                        if ($tip_sale == 'amf') {
                            $tip_sale = 'amfiteatar';
                        } elseif ($tip_sale == 'lab') {
                            $tip_sale = 'laboratorija';
                        } elseif ($tip_sale == 'kab') {
                            $tip_sale = 'kabinet';
                        }
                        $kapacitet = trim($kapacitet);
                        $niz = explode(",", $red);
                    } elseif ($_POST['separator'] == 2) {
                        list($ime_sale, $tip_sale, $kapacitet) = explode("\t", $red);
                        $ime_sale = trim($ime_sale);
                        $tip_sale = trim($tip_sale);
                        if ($tip_sale == 'amf') {
                            $tip_sale = 'amfiteatar';
                        } elseif ($tip_sale == 'lab') {
                            $tip_sale = 'laboratorija';
                        } elseif ($tip_sale == 'kab') {
                            $tip_sale = 'kabinet';
                        }
                        $kapacitet = trim($kapacitet);
                        $niz = explode("\t", $red);
                    }
                    $q0 = myquery("select * from raspored_sala");
                    if (mysql_num_rows($q0) > 0) {
                        $q1 = myquery("select max(id) from raspored_sala");
                        $id_nove_sale = mysql_result($q1, 0, 0) + 1;
                    } else {
                        $id_nove_sale = 1;
                    }
                    $q0 = myquery("insert into raspored_sala set id={$id_nove_sale}, naziv='{$ime_sale}', kapacitet={$kapacitet}, tip='{$tip_sale}'");
                    $unesene_sale[] = $ime_sale;
                    zamgerlog("masovni unos sala: Unesena je sala {$ime_sale}", 2);
                    zamgerlog2("upisana nova sala (masovni unos)", $id_nove_sale, 0, 0, $ime_sale);
                }
                $uspjesan_masovni_unos_sala = 1;
            }
        }
        // Obrisi salu
        if ($_POST['akcija'] == "obrisi_salu" && check_csrf_token()) {
            $id_sale_za_brisanje = intval($_POST['id_sale_za_brisanje']);
            $q1 = myquery("select naziv from raspored_sala where id={$id_sale_za_brisanje}");
            $naziv = mysql_result($q1, 0, 0);
            $q2 = myquery("delete from raspored_sala where id={$id_sale_za_brisanje}");
            $uspjesno_obrisana_sala = 1;
            zamgerlog("obrisana sala {$naziv}", 4);
            zamgerlog2("obrisana sala", $id_sale_za_brisanje);
        }
        if (isset($_REQUEST['sala_za_edit'])) {
            ?>
	<div id="prikaz_za_editovanje_sale">
		<?php 
            $id_sale_za_edit = $_REQUEST['sala_za_edit'];
            $q0 = myquery("select naziv,tip,kapacitet from raspored_sala where id={$id_sale_za_edit}");
            $ime_sale = mysql_result($q0, 0, 0);
            $tip_sale = mysql_result($q0, 0, 1);
            $kapacitet = mysql_result($q0, 0, 2);
            if (isset($uspjesno_editovana_sala) && $uspjesno_editovana_sala == 1) {
                nicemessage("Sala je uspješno izmijenjena.");
            }
            print "<p><a href=\"?sta=studentska/raspored1&edit_sala=1\">vrati se nazad na unos sala</a></p>";
            print "<h4>Editovanje sale {$ime_sale}:</h4>";
            print genform("POST", "forma_za_editovanje_sale");
            ?>
		<input type="hidden" name="akcija" value="editovanje_sale">
		<input type="hidden" name="id_sale_za_edit" value="<?php 
            print "{$id_sale_za_edit}";
            ?>
">
		<table cellpadding="3">
		<tr>
			<td align="left" width="100">Ime sale:</td>
			<td>
				<input type="text" name="edit_ime_sale" maxlength="10" size="11" value="
					<?php 
            if ($_POST['edit_ime_sale']) {
                print "{$_POST['edit_ime_sale']}";
            } else {
                print "{$ime_sale}";
            }
            ?>
				">
			</td>
			<?php 
            if ($greska_prazno_ime_sale == 1) {
                print "<td><p class=\"crveno\">niste unijeli ime sale</p></td>";
            }
            ?>
			<?php 
            if ($greska_postoji_sala == 1) {
                print "<td><p class=\"crveno\">postoji sala sa tim imenom</p></td>";
            }
            ?>
 
		</tr>
		<tr>
			<td align="left" width="100">Tip sale:</td>
			<td>
				<select name="edit_tip_sale">
					<option value="amfiteatar">amfiteatar</option>
					<option value="laboratorija" 
							<?php 
            if ($_POST['edit_tip_sale'] == "laboratorija") {
                print "selected=\"selected\"";
            } else {
                if ($tip_sale == "laboratorija") {
                    print "selected=\"selected\"";
                }
            }
            ?>
						>laboratorija
					</option>
					<option value="kabinet"
							<?php 
            if ($_POST['edit_tip_sale'] == "kabinet") {
                print "selected=\"selected\"";
            } else {
                if ($tip_sale == "kabinet") {
                    print "selected=\"selected\"";
                }
            }
            ?>
						>kabinet
					</option>
				</select>
			</td>
		</tr>
		<tr>
			<td align="left" width="100">Kapacitet:</td>
			<td>
				<input type="text" name="edit_kapacitet" maxlength="4" size="11" value="
					<?php 
            if ($_POST['edit_kapacitet']) {
                print "{$_POST['edit_kapacitet']}";
            } else {
                print "{$kapacitet}";
            }
            ?>
				">
			</td>
			<?php 
            if ($greska_prazan_kapacitet == 1) {
                print "<td><p class=\"crveno\">niste unijeli kapacitet</p></td>";
            }
            ?>
			<?php 
            if ($greska_kapacitet_nije_broj == 1) {
                print "<td><p class=\"crveno\">kapacitet treba biti broj</p></td>";
            }
            ?>
		</tr>
		<tr>
			<td></td>
			<td align="right"><input type="submit" value=" Potvrdi promjene "></td>
		</tr>
		</table>
		</form>
	</div>
	<?php 
        } else {
            ?>
	
	<div id="normalni_prikaz">
	<?php 
            print "<p><a href=\"?sta=studentska/raspored1\">vrati se na početnu</a></p>";
            if (isset($uspjesno_unesena_sala) && $uspjesno_unesena_sala == 1) {
                nicemessage("Sala {$ime_sale} je uspješno dodana.");
            }
            if ($uspjesno_obrisana_sala == 1) {
                nicemessage("Sala je uspješno obrisana.");
            }
            print "<h4>Dodavanje nove sale:</h4>";
            print genform("POST", "forma_za_unos_sale");
            ?>
	<input type="hidden" name="akcija" value="unos_nove_sale">
	<table cellpadding="3">
	<tr>
		<td align="left" width="100">Ime sale:</td>
		<td>
		<input type="text" name="ime_sale" maxlength="10" size="11" 
			<?php 
            if ($greska == 1 && isset($_POST['ime_sale'])) {
                print "value=\"{$_POST['ime_sale']}\"";
            }
            ?>
		></td>
		<?php 
            if ($greska_prazno_ime_sale == 1) {
                print "<td><p class=\"crveno\">niste unijeli ime sale</p></td>";
            }
            ?>
		<?php 
            if ($greska_postoji_sala == 1) {
                print "<td><p class=\"crveno\">postoji sala sa tim imenom</p></td>";
            }
            ?>
	</tr>
	<tr>
		<td align="left" width="100">Tip sale:</td>
		<td>
			<select name="tip_sale">
				<option value="amfiteatar">amfiteatar</option>
				<option value="laboratorija" 
					<?php 
            if ($greska == 1 && $_POST['tip_sale'] == "laboratorija") {
                print "selected=\"selected\"";
            }
            ?>
					>laboratorija
				</option>
				<option value="kabinet"
					<?php 
            if ($greska == 1 && $_POST['tip_sale'] == "kabinet") {
                print "selected=\"selected\"";
            }
            ?>
					>kabinet
				</option>
			</select>
		</td>
	</tr>
	<tr>
		<td align="left" width="100">Kapacitet:</td>
		<td><input type="text" name="kapacitet" maxlength="4" size="11" 
			<?php 
            if ($greska == 1 && isset($_POST['kapacitet'])) {
                print "value=\"{$_POST['kapacitet']}\"";
            }
            ?>
		></td>
		<?php 
            if ($greska_prazan_kapacitet == 1) {
                print "<td><p class=\"crveno\">niste unijeli kapacitet</p></td>";
            }
            ?>
		<?php 
            if ($greska_kapacitet_nije_broj == 1) {
                print "<td><p class=\"crveno\">kapacitet treba biti broj</p></td>";
            }
            ?>
	</tr>
	<tr>
		<td></td>
		<td align="right"><input type="submit" value=" Dodaj "></td>
	</tr>
	</table>
	</form>
	<hr>
	
	
	<h4>Masovni unos sala:</h4>
	<?php 
            if (count($greska_u_redu) > 0) {
                print "<p class=\"crveno\">GREŠKA: Nema potreban broj parametara u redu {$greska_u_redu['0']}";
                if (count($greska_u_redu) == 1) {
                    print ".</p>";
                } else {
                    for ($i = 1; $i < count($greska_u_redu); $i++) {
                        if ($i == count($greska_u_redu) - 1) {
                            print " i {$greska_u_redu[$i]}.</p>";
                        } else {
                            print ", {$greska_u_redu[$i]}";
                        }
                    }
                }
            }
            if (count($greska_prazni_parametri_u_redu) > 0) {
                print "<p class=\"crveno\">GREŠKA: Postoje prazni parametri u redu {$greska_prazni_parametri_u_redu['0']}";
                if (count($greska_prazni_parametri_u_redu) == 1) {
                    print ".</p>";
                } else {
                    for ($i = 1; $i < count($greska_prazni_parametri_u_redu); $i++) {
                        if ($i == count($greska_prazni_parametri_u_redu) - 1) {
                            print " i {$greska_prazni_parametri_u_redu[$i]}.</p>";
                        } else {
                            print ", {$greska_prazni_parametri_u_redu[$i]}";
                        }
                    }
                }
            }
            if (count($greska_nevalja_tip_sale_u_redu) > 0) {
                print "<p class=\"crveno\">GREŠKA: Tip sale treba biti amf,lab ili kab (red {$greska_nevalja_tip_sale_u_redu['0']}";
                if (count($greska_nevalja_tip_sale_u_redu) == 1) {
                    print ").</p>";
                } else {
                    for ($i = 1; $i < count($greska_nevalja_tip_sale_u_redu); $i++) {
                        if ($i == count($greska_nevalja_tip_sale_u_redu) - 1) {
                            print " i {$greska_nevalja_tip_sale_u_redu[$i]} ).</p>";
                        } else {
                            print ", {$greska_nevalja_tip_sale_u_redu[$i]}";
                        }
                    }
                }
            }
            if (count($greska_nevalja_kapacitet_u_redu) > 0) {
                print "<p class=\"crveno\">GREŠKA: Kapacitet treba biti broj (red {$greska_nevalja_kapacitet_u_redu['0']}";
                if (count($greska_nevalja_kapacitet_u_redu) == 1) {
                    print ").</p>";
                } else {
                    for ($i = 1; $i < count($greska_nevalja_kapacitet_u_redu); $i++) {
                        if ($i == count($greska_nevalja_kapacitet_u_redu) - 1) {
                            print " i {$greska_nevalja_kapacitet_u_redu[$i]} ).</p>";
                        } else {
                            print ", {$greska_nevalja_kapacitet_u_redu[$i]}";
                        }
                    }
                }
            }
            if (count($greska_postoji_sala_u_redu) > 0) {
                print "<p class=\"crveno\">GREŠKA: Postoji sala (red {$greska_postoji_sala_u_redu['0']}";
                if (count($greska_postoji_sala_u_redu) == 1) {
                    print ").</p>";
                } else {
                    for ($i = 1; $i < count($greska_postoji_sala_u_redu); $i++) {
                        if ($i == count($greska_postoji_sala_u_redu) - 1) {
                            print " i {$greska_postoji_sala_u_redu[$i]}).</p>";
                        } else {
                            print ", {$greska_postoji_sala_u_redu[$i]}";
                        }
                    }
                }
            }
            if ($greska_masovnog_unosa == 1 && $greska_postoje_duple_sale == 1) {
                print "<p class=\"crveno\">GREŠKA: Unijeli ste sale sa istim imenom!</p>";
            }
            if ($uspjesan_masovni_unos_sala == 1 && count($unesene_sale) > 0) {
                print "<p class=\"crveno\">Uspješno unešena sala {$unesene_sale['0']}";
                if (count($unesene_sale) == 1) {
                    print ".</p>";
                } else {
                    for ($i = 1; $i < count($unesene_sale); $i++) {
                        if ($i == count($unesene_sale) - 1) {
                            print " i {$unesene_sale[$i]}.</p>";
                        } else {
                            print ", {$unesene_sale[$i]}";
                        }
                    }
                }
            }
            if ($greska_prazan_prostor_za_mas_unos_sala == 1) {
                print "<p class=\"crveno\">GREŠKA: Niste unijeli nikakve podatke u prostor za masovni unos.</p>";
            }
            ?>
	
	<a href="#" onclick="daj_uputstvo()"><img id="slika_za_mas_unos_sala" src = "images/plus.png" border="0" align="left" />Uputstvo za masovni unos</a>
	
	<div id="uputstvo_za_mas_unos_sala" style="display:none">
		<p>Unesite ime sale, tip sale (amf,lab ili kab) i kapacitet odvojene zarezom</p>
		<p>Ukoliko unosite podatke iz Excel-a odaberite opciju unos iz excela(odvajanje sa [tab]-om)</p>
		<p>Svaku novu salu dodajte u novom redu</p>
		<p>primjer:</p>
		<p>s01,lab,30</p>
		<p>s02,amf,60</p>
		<p>s03,kab,40</p>
	</div>
	
	<?php 
            echo genform("POST");
            ?>
	<input type="hidden" name="akcija" value="masovni_unos_sala">
	<textarea name="mas_unos_sala" rows="10" cols="40">
	<?php 
            if (isset($_POST['mas_unos_sala'])) {
                print trim($_POST['mas_unos_sala']);
            }
            ?>
	</textarea>
	<br/>
	
	<p>Tip unosa:
	<select name="separator">
		<option value="1">standardan unos (odvajanje zarezom)</option>
		<option value="2">unos iz excela(odvajanje sa [tab]-om)</option>
	</select>
	</p>
	<input type="submit" value=" Dodaj "></form>
	<br></br>
	</div>
	<?php 
        }
        // završava se div koji se prikazuje kada se ne radi o editovanju sale
        ?>

	<script language="JavaScript">
	function brisanje_sale(id_sale) {
		var a = confirm("Obrisati salu! Da li ste sigurni?");
		if (a) {
			document.getElementById('id_sale_za_brisanje').value=id_sale;
			document.brisanjesale.submit();
		}
	}
	</script>
	
	<?php 
        echo genform("POST", "brisanjesale");
        ?>
	<input type="hidden" name="akcija" value="obrisi_salu">
	<input type="hidden" name="id_sale_za_brisanje" id="id_sale_za_brisanje" value=""></form>
	
	<h4>Postojeće sale:</h4>
	
	<table class="sale" border="1" cellspacing="0">
		<?php 
        $q1 = myquery("select id,naziv,tip,kapacitet from raspored_sala order by id");
        if (mysql_num_rows($q1) < 1) {
            print "<p>Nema kreiranih sala</p>";
        } else {
            ?>
			<th>Ime sale</th>
			<th>Tip sale</th>
			<th>Kapacitet</th>
			<th colspan="2">Akcije</th>
			<?php 
            for ($i = 0; $i < mysql_num_rows($q1); $i++) {
                $id = mysql_result($q1, $i, 0);
                $ime_sale = mysql_result($q1, $i, 1);
                $tip_sale = mysql_result($q1, $i, 2);
                $kapacitet = mysql_result($q1, $i, 3);
                print "<tr>";
                print "<td>{$ime_sale}</td>";
                print "<td>{$tip_sale}</td>";
                print "<td>{$kapacitet}</td>";
                print "<td width=\"80\"><a  href=\"?sta=studentska/raspored1&edit_sala=1&sala_za_edit={$id}\"> izmijeni </a></td>";
                print "<td width=\"80\"><a  href=\"javascript:onclick=brisanje_sale('{$id}')\"> obriši </a></td>";
                print "</tr>";
            }
        }
        ?>
	</table>
<?php 
    } else {
        if ($_POST['akcija'] == 'unos_novog_rasporeda' && check_csrf_token()) {
            $akademska_godina = intval($_POST['akademska_godina']);
            $studij = intval($_POST['studij']);
            $semestar = intval($_POST['semestar']);
            $q0 = myquery("select akademska_godina,studij,semestar from raspored");
            $greska_postoji_raspored = 0;
            for ($i = 0; $i < mysql_num_rows($q0); $i++) {
                if (mysql_result($q0, $i, 0) == $akademska_godina && mysql_result($q0, $i, 1) == $studij && mysql_result($q0, $i, 2) == $semestar) {
                    $greska_postoji_raspored = 1;
                }
            }
            if ($greska_postoji_raspored == 0) {
                $q0 = myquery("insert into raspored set id='NULL', akademska_godina={$akademska_godina}, studij={$studij}, semestar={$semestar}");
                $uspjesno_unesen_raspored = 1;
                zamgerlog("unesen novi raspored", 2);
                zamgerlog2("unesen novi raspored", $akademska_godina, $studij, $semestar);
            }
        }
        // Obrisi raspored
        if ($_POST['akcija'] == "obrisi_raspored" && check_csrf_token()) {
            $id_rasporeda_za_brisanje = intval($_POST['id_rasporeda_za_brisanje']);
            $q1 = myquery("select studij,akademska_godina,semestar from raspored where id={$id_rasporeda_za_brisanje}");
            $studij = mysql_result($q1, 0, 0);
            $akademska_godina = mysql_result($q1, 0, 1);
            $semestar = mysql_result($q1, 0, 2);
            $q2 = myquery("select naziv from studij where id={$studij}");
            $naziv_studija = mysql_result($q2, 0, 0);
            $q3 = myquery("select naziv from akademska_godina where id={$akademska_godina}");
            $naziv_akademske_godine = mysql_result($q3, 0, 0);
            $q3 = myquery("delete from raspored where id={$id_rasporeda_za_brisanje}");
            $q4 = myquery("delete from raspored_stavka where raspored={$id_rasporeda_za_brisanje}");
            $uspjesno_obrisan_raspored = 1;
            zamgerlog("obrisan raspored za akademsku {$naziv_akademske_godine} godinu, studij {$naziv_studija}, semestar {$semestar}", 4);
            // nivo 4: audit
            zamgerlog2("obrisan raspored", $id_rasporeda_za_brisanje);
        }
        //kopiranje rasporeda iz jedne akademske godine u drugu
        if ($_POST['akcija'] == "kopiraj_raspored" && check_csrf_token()) {
            $izvor = intval($_POST['izvor']);
            $odrediste = intval($_POST['odrediste']);
            $greska_kopiranja_rasporeda = false;
            if ($izvor == $odrediste) {
                $greska_kopiranja_rasporeda = true;
                niceerror("Izvor i destinacija ne mogu biti isti!");
            }
            if ($greska_kopiranja_rasporeda == false) {
                $q0 = myquery("select naziv from akademska_godina where id={$odrediste}");
                $naziv_akademske_godine = mysql_result($q0, 0, 0);
                $q1 = myquery("delete from raspored where akademska_godina={$odrediste}");
                $q2 = myquery("select id from raspored where akademska_godina={$odrediste}");
                for ($i = 0; $i < mysql_num_rows($q2); $i++) {
                    $id_odr = mysql_result($q2, $i, 0);
                    $q3 = myquery("delete from raspored_stavka rs where raspored={$id_odr}");
                }
                zamgerlog("obrisani svi rasporedi u akademskoj {$naziv_akademske_godine} godini", 4);
                zamgerlog2("obrisani svi rasporedi u akademskoj godini", $odrediste);
                $q4 = myquery("select studij,semestar,id from raspored where akademska_godina={$izvor}");
                $broj_redova = mysql_num_rows($q4);
                for ($i = 0; $i < $broj_redova; $i++) {
                    $studij = mysql_result($q4, $i, 0);
                    $semestar = mysql_result($q4, $i, 1);
                    $id_rasp_izvora = mysql_result($q4, $i, 2);
                    $q5 = myquery("insert into raspored set id='NULL', akademska_godina={$odrediste}, studij={$studij}, semestar={$semestar}");
                    $q6 = myquery("select rs.dan_u_sedmici,rs.predmet,rs.vrijeme_pocetak,rs.vrijeme_kraj,rs.sala,rs.tip,rs.labgrupa,rs.dupla,rs.id\r\n\t\t\t\tfrom raspored_stavka rs,raspored r where rs.raspored=r.id and r.id={$id_rasp_izvora} and rs.dupla=0 and (rs.isjeckana=0 or rs.isjeckana=2) and rs.labgrupa != -1 ");
                    $q7 = myquery("select max(id) from raspored");
                    $id_rasp_odredista = mysql_result($q7, 0, 0);
                    $q8 = myquery("select naziv from akademska_godina where id={$izvor}");
                    $q9 = myquery("select naziv from akademska_godina where id={$odrediste}");
                    $naziv_izvora = mysql_result($q8, 0, 0);
                    $naziv_odredista = mysql_result($q9, 0, 0);
                    for ($j = 0; $j < mysql_num_rows($q6); $j++) {
                        $dan = mysql_result($q6, $j, 0);
                        $predmet = mysql_result($q6, $j, 1);
                        $pocetak = mysql_result($q6, $j, 2);
                        $kraj = mysql_result($q6, $j, 3);
                        $sala = mysql_result($q6, $j, 4);
                        $tip = mysql_result($q6, $j, 5);
                        $labgrupa = mysql_result($q6, $j, 6);
                        if ($labgrupa != 0) {
                            $q71 = myquery("select naziv,virtualna from labgrupa where akademska_godina={$izvor} and predmet={$predmet} and id={$labgrupa}");
                            $naziv_grupe = mysql_result($q71, 0, 0);
                            $virtualna = mysql_result($q71, 0, 1);
                            $novi_naziv = $naziv_grupe . '_' . $izvor;
                            $q72 = myquery("select naziv from labgrupa where predmet={$predmet} and akademska_godina={$odrediste}");
                            $postoji_labgrupa = false;
                            for ($k = 0; $k < mysql_num_rows($q72); $k++) {
                                $lab_naziv = mysql_result($q72, $k, 0);
                                if ($lab_naziv == $novi_naziv) {
                                    $postoji_labgrupa = true;
                                }
                            }
                            if ($postoji_labgrupa == false) {
                                $q73 = myquery("insert into labgrupa set id='NULL',naziv='{$novi_naziv}',predmet={$predmet},akademska_godina={$odrediste},virtualna={$virtualna}");
                                zamgerlog("uspjesno unesena labgrupa", 2);
                                zamgerlog2("kreirana labgrupa", mysql_insert_id(), $predmet, $odrediste, $novi_naziv);
                                $q74 = myquery("select max(id) from labgrupa");
                            } else {
                                $q74 = myquery("select id from labgrupa where naziv='{$novi_naziv}'");
                            }
                        }
                        $labgrupa = mysql_result($q74, 0, 0);
                        $dupla = mysql_result($q6, $j, 7);
                        $id_stavke = mysql_result($q6, $j, 8);
                        $q0 = myquery("insert into raspored_stavka set id='NULL', raspored={$id_rasp_odredista}, dan_u_sedmici={$dan}, predmet={$predmet},\r\n\t\t\t\t\t\t\tvrijeme_pocetak={$pocetak},vrijeme_kraj={$kraj},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$dupla}");
                        $q1 = myquery("select max(id) from raspored_stavka");
                        $id_nove_stavke = mysql_result($q1, 0, 0);
                        $q2 = myquery("select r.studij,r.semestar from raspored_stavka rs,raspored r where rs.raspored=r.id and rs.dupla={$id_stavke}");
                        for ($k = 0; $k < mysql_num_rows($q2); $k++) {
                            $studij_k = mysql_result($q2, $k, 0);
                            $semestar_k = mysql_result($q2, $k, 1);
                            $q3 = myquery("select id from raspored where semestar={$semestar_k} and studij={$studij_k} and akademska_godina={$odrediste}");
                            $rasp = mysql_result($q3, 0, 0);
                            $q4 = myquery("insert into raspored_stavka set id='NULL', raspored={$rasp}, dan_u_sedmici={$dan}, predmet={$predmet},\r\n\t\t\t\t\t\t\t\tvrijeme_pocetak={$pocetak},vrijeme_kraj={$kraj},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$id_nove_stavke}");
                        }
                    }
                }
                zamgerlog("uspješno kopirani svi rasporedi iz {$naziv_izvora} u {$naziv_odredista} akademsku godinu.", 2);
                zamgerlog2("uspješno kopirani svi rasporedi", $izvor, $odrediste);
                nicemessage("Uspješno kopirani svi rasporedi iz {$naziv_izvora} u {$naziv_odredista} akademsku godinu.");
            }
        }
        // ako se klikne na link izmijeni raspored ispunjen je sljedeći uslov i prikazuje se taj html kod
        if (isset($_REQUEST['raspored_za_edit'])) {
            $raspored_za_edit = $_REQUEST['raspored_za_edit'];
            $q1 = myquery("select studij,akademska_godina,semestar from raspored where id={$raspored_za_edit}");
            $studij = mysql_result($q1, 0, 0);
            $akademska_godina = mysql_result($q1, 0, 1);
            $semestar = mysql_result($q1, 0, 2);
            $q2 = myquery("select naziv from studij where id={$studij}");
            $naziv_studija = mysql_result($q2, 0, 0);
            $q3 = myquery("select naziv from akademska_godina where id={$akademska_godina}");
            $naziv_akademske_godine = mysql_result($q3, 0, 0);
            // ukoliko se prihvati forma za unos novog časa ispunjen je uslov ispod
            if ($_POST['akcija'] == 'unos_novog_casa' && check_csrf_token()) {
                $greska_u_dodavanju_casa = 0;
                $cas_sa_konfliktima = intval($_POST['cas_sa_konfliktima']);
                $dan = intval($_POST['dan']);
                $tip = my_escape($_POST['tip']);
                $predmet = intval($_POST['predmet']);
                $sala = intval($_POST['sala']);
                $vrijeme_pocetak_sati = intval($_POST['pocetakSat']);
                $vrijeme_pocetak_minute = intval($_POST['pocetakMin']);
                $vrijeme_kraj_sati = intval($_POST['krajSat']);
                $vrijeme_kraj_minute = intval($_POST['krajMin']);
                $vrijeme_pocetak = $vrijeme_pocetak_sati * 4 + $vrijeme_pocetak_minute;
                $vrijeme_kraj = $vrijeme_kraj_sati * 4 + $vrijeme_kraj_minute;
                $labgrupa = intval($_POST['labgrupa']);
                if ($vrijeme_pocetak_sati != -1 && $vrijeme_pocetak_minute != 0 && $vrijeme_kraj_sati != -1 && $vrijeme_kraj_minute != 0) {
                    if ($vrijeme_pocetak >= $vrijeme_kraj) {
                        $greska_u_dodavanju_casa = 1;
                        $greska_neispravan_interval = 1;
                    }
                }
                if ($dan == 0 || $tip == '0' || $predmet == 0 || $sala == 0 || $vrijeme_pocetak_sati == -1 || $vrijeme_pocetak_minute == 0 || $vrijeme_kraj_sati == -1 || $vrijeme_kraj_minute == 0 || $labgrupa == 0 && $tip != 'P') {
                    $greska_u_dodavanju_casa = 1;
                    $greska_prazni_parametri_u_casu = 1;
                }
                $q0 = myquery("select sala,vrijeme_pocetak,vrijeme_kraj,predmet,tip,labgrupa from raspored_stavka where dan_u_sedmici={$dan} and raspored={$raspored_za_edit} and (isjeckana=0 or isjeckana=2) and labgrupa!= -1");
                if ($vrijeme_kraj > 53) {
                    $greska_u_dodavanju_casa = 1;
                    $greska_nevalja_termin = 1;
                }
                if ($predmet != 0) {
                    $q1 = myquery("select obavezan from ponudakursa where akademska_godina={$akademska_godina} and semestar={$semestar} and predmet={$predmet}");
                    $obavezan_predmet = mysql_result($q1, 0, 0);
                }
                for ($i = 0; $i < mysql_num_rows($q0); $i++) {
                    $sala_i = mysql_result($q0, $i, 0);
                    $vrijeme_pocetak_i = mysql_result($q0, $i, 1);
                    $vrijeme_kraj_i = mysql_result($q0, $i, 2);
                    $predmet_i = mysql_result($q0, $i, 3);
                    $tip_i = mysql_result($q0, $i, 4);
                    $labgrupa_i = mysql_result($q0, $i, 5);
                    if ($predmet != 0) {
                        $q1 = myquery("select obavezan from ponudakursa where akademska_godina={$akademska_godina} and semestar={$semestar} and predmet={$predmet_i}");
                        $obavezan_predmet_i = mysql_result($q1, 0, 0);
                    }
                    //ukoliko postoji preklapanje termina u rasporedu koji se trenutno edituje tačan je uslov ispod
                    if ($vrijeme_pocetak_i >= $vrijeme_pocetak && $vrijeme_pocetak_i < $vrijeme_kraj || $vrijeme_kraj_i > $vrijeme_pocetak && $vrijeme_kraj_i <= $vrijeme_kraj) {
                        if ($obavezan_predmet_i == 1 && $tip_i == 'P') {
                            $greska_u_dodavanju_casa = 1;
                            $greska_preklapanje_sa_obaveznim_predmetom = 1;
                        }
                        if ($obavezan_predmet == 1 && $tip == "P") {
                            $greska_u_dodavanju_casa = 1;
                            $greska_preklapanje_obaveznog_predmeta = 1;
                        }
                        if ($predmet == $predmet_i && $labgrupa == $labgrupa_i) {
                            $greska_u_dodavanju_casa = 1;
                            $greska_isti_predmet_ista_grupa = 1;
                        }
                    }
                }
                $semestar_je_neparan = $semestar % 2;
                $q1 = myquery("select rs.sala,rs.vrijeme_pocetak,rs.vrijeme_kraj,rs.predmet,rs.tip from raspored_stavka rs,raspored r where rs.dan_u_sedmici={$dan} \r\n\t\t\tand rs.raspored=r.id and r.akademska_godina={$akademska_godina} and r.semestar mod 2 = {$semestar_je_neparan} and rs.dupla=0 and (rs.isjeckana=0 or rs.isjeckana=2) and rs.labgrupa != -1 ");
                for ($i = 0; $i < mysql_num_rows($q1); $i++) {
                    $sala_i = mysql_result($q1, $i, 0);
                    $vrijeme_pocetak_i = mysql_result($q1, $i, 1);
                    $vrijeme_kraj_i = mysql_result($q1, $i, 2);
                    $predmet_i = mysql_result($q1, $i, 3);
                    //ukoliko postoji preklapanje termina (sada gledamo sve rasporede) tačan je uslov ispod
                    if ($vrijeme_pocetak_i >= $vrijeme_pocetak && $vrijeme_pocetak_i < $vrijeme_kraj || $vrijeme_kraj_i > $vrijeme_pocetak && $vrijeme_kraj_i <= $vrijeme_kraj) {
                        if ($sala == $sala_i) {
                            $greska_duplikat_sale = 1;
                            $greska_u_dodavanju_casa = 1;
                            break;
                        }
                    }
                }
                if ($greska_u_dodavanju_casa == 0) {
                    $konflikt = array();
                    $konflikt['student'] = array();
                    $konflikt['predmet'] = array();
                    $konflikt['pocetak'] = array();
                    $konflikt['kraj'] = array();
                    $q1 = myquery("select rs.sala,rs.vrijeme_pocetak,rs.vrijeme_kraj,rs.predmet,rs.tip,rs.labgrupa,r.semestar from raspored_stavka rs,\r\n\t\t\t\traspored r where rs.dan_u_sedmici={$dan} and rs.raspored=r.id and r.akademska_godina={$akademska_godina} and r.semestar mod 2 = {$semestar_je_neparan} \r\n\t\t\t\tand rs.dupla=0 and (rs.isjeckana=0 or rs.isjeckana=2) and rs.labgrupa != -1 ");
                    for ($i = 0; $i < mysql_num_rows($q1); $i++) {
                        $sala_i = mysql_result($q1, $i, 0);
                        $vrijeme_pocetak_i = mysql_result($q1, $i, 1);
                        $vrijeme_kraj_i = mysql_result($q1, $i, 2);
                        $predmet_i = mysql_result($q1, $i, 3);
                        $tip_i = mysql_result($q1, $i, 4);
                        $labgrupa_i = mysql_result($q1, $i, 5);
                        $semestar_i = mysql_result($q1, $i, 6);
                        if ($tip_i == "P") {
                            $labgrupa_i = 0;
                        }
                        //ukoliko postoji preklapanje termina (sada gledamo sve rasporede) tačan je uslov ispod
                        if ($vrijeme_pocetak_i >= $vrijeme_pocetak && $vrijeme_pocetak_i < $vrijeme_kraj || $vrijeme_kraj_i > $vrijeme_pocetak && $vrijeme_kraj_i <= $vrijeme_kraj) {
                            // provjera preklapanja studenata u terminu
                            if ($tip == "P") {
                                $q_prvi = myquery("select sp.student from student_predmet sp,ponudakursa pk where sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$akademska_godina} and pk.semestar={$semestar}");
                            } else {
                                $q_prvi = myquery("select student from student_labgrupa where labgrupa={$labgrupa}");
                            }
                            if ($labgrupa_i == 0) {
                                $q_drugi = myquery("select sp.student from student_predmet sp,ponudakursa pk where sp.predmet=pk.id and pk.predmet={$predmet_i} and pk.akademska_godina={$akademska_godina} and pk.semestar={$semestar_i}");
                            } else {
                                $q_drugi = myquery("select student from student_labgrupa where labgrupa={$labgrupa_i}");
                            }
                            for ($p = 0; $p < mysql_num_rows($q_prvi); $p++) {
                                $student_p = mysql_result($q_prvi, $p, 0);
                                for ($d = 0; $d < mysql_num_rows($q_drugi); $d++) {
                                    $student_d = mysql_result($q_drugi, $d, 0);
                                    if ($student_p == $student_d) {
                                        // pronadjen je student u konfliktu i upisujemo ga u niz konflikata
                                        $konflikt['student'][] = $student_p;
                                        $konflikt['predmet'][] = $predmet_i;
                                        $konflikt['pocetak'][] = $vrijeme_pocetak_i;
                                        $konflikt['kraj'][] = $vrijeme_kraj_i;
                                    }
                                }
                            }
                        }
                    }
                }
                if ($greska_u_dodavanju_casa == 0 && count($konflikt['student']) == 0 || count($konflikt['student']) > 0 && $cas_sa_konfliktima == 1) {
                    // vrsi se pretvaranje vremena u jedan broj u intervalu od 1-53 radi lakšeg rada sa prikazom rasporeda
                    $vrijeme_pocetak = $vrijeme_pocetak_sati * 4 + $vrijeme_pocetak_minute;
                    $vrijeme_kraj = $vrijeme_kraj_sati * 4 + $vrijeme_kraj_minute;
                    if ($tip == "P") {
                        $labgrupa = 0;
                    }
                    $q0 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored_za_edit}, dan_u_sedmici={$dan}, predmet={$predmet},\r\n\t\t\t\t\t\tvrijeme_pocetak={$vrijeme_pocetak},vrijeme_kraj={$vrijeme_kraj},sala={$sala},tip='{$tip}',labgrupa={$labgrupa}");
                    $cas_uspjesno_dodan = 1;
                    zamgerlog("unesen novi cas za akademsku {$naziv_akademske_godine}, studij {$naziv_studija}, semestar {$semestar}", 2);
                    zamgerlog2("dodana stavka u raspored", mysql_insert_id(), $raspored_za_edit);
                    if (count($konflikt['student']) > 0 && $cas_sa_konfliktima == 1) {
                        $cas_dodan_sa_konfliktima = 1;
                    }
                    $q00 = myquery("select max(id) from raspored_stavka");
                    $id_unesene_stavke = mysql_result($q00, 0, 0);
                    $q1 = myquery("select studij,semestar from ponudakursa where predmet={$predmet} and akademska_godina={$akademska_godina} and semestar mod 2 = {$semestar_je_neparan}");
                    for ($i = 0; $i < mysql_num_rows($q1); $i++) {
                        $studij_i = mysql_result($q1, $i, 0);
                        $semestar_i = mysql_result($q1, $i, 1);
                        $postoji_raspored = 0;
                        if ($semestar_i == $semestar && $studij_i == $studij) {
                            $postoji_raspored = 1;
                        } else {
                            $q01 = myquery("select semestar,studij,id from raspored where akademska_godina={$akademska_godina} and semestar mod 2 = {$semestar_je_neparan}");
                            for ($j = 0; $j < mysql_num_rows($q01); $j++) {
                                $studij_j = mysql_result($q01, $j, 1);
                                $semestar_j = mysql_result($q01, $j, 0);
                                $raspored_j = mysql_result($q01, $j, 2);
                                if ($semestar_i == $semestar_j && $studij_i == $studij_j) {
                                    $postoji_raspored = 1;
                                    break;
                                }
                            }
                        }
                        if ($postoji_raspored == 0) {
                            $q02 = myquery("insert into raspored set id='NULL', akademska_godina={$akademska_godina}, studij={$studij_i}, semestar={$semestar_i}");
                            zamgerlog("Kreiran novi raspored za akademsku {$naziv_akademske_godine} godinu", 2);
                        }
                        $q2 = myquery("select id from raspored where akademska_godina={$akademska_godina} and semestar={$semestar_i} and studij={$studij_i}");
                        if (mysql_num_rows($q2) > 0) {
                            $raspored_i = mysql_result($q2, 0, 0);
                            if ($raspored_i != $raspored_za_edit) {
                                $q3 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored_i}, dan_u_sedmici={$dan}, predmet={$predmet},\r\n\t\t\t\t\t\t\t\t\t\tvrijeme_pocetak={$vrijeme_pocetak},vrijeme_kraj={$vrijeme_kraj},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$id_unesene_stavke}");
                                zamgerlog("unesen novi cas za akademsku {$naziv_akademske_godine} godinu", 2);
                                zamgerlog2("dodana stavka u raspored", mysql_insert_id(), $raspored_i);
                            }
                        }
                    }
                }
            }
            $greska_masovnog_unosa_casova = 0;
            // uslov ispod je ispunjen ako je prihvaćena forma za masovni unos sala
            if ($_POST['akcija'] == 'masovni_unos_casova' && check_csrf_token()) {
                $redovi = explode("\n", $_POST['mas_unos_casova']);
                if (trim($_POST['mas_unos_casova']) == '') {
                    $greska_masovnog_unosa_casova = 1;
                    $greska_prazan_prostor_za_mas_unos_casova = 1;
                }
                $greska_u_redu = array();
                $greska_prazni_parametri_u_redu = array();
                $greska_nevalja_tip_casa_u_redu = array();
                $greska_nevalja_dan_u_redu = array();
                $greska_postoji_sala_u_redu = array();
                $greska_ne_postoji_predmet_u_redu = array();
                $greska_ne_postoji_labgrupa_u_redu = array();
                $greska_pogresno_vrijeme_u_redu = array();
                $greska_nevalja_interval_u_redu = array();
                $i = 0;
                foreach ($redovi as $red) {
                    $i++;
                    $red = trim($red);
                    if (strlen($red) < 1) {
                        continue;
                    }
                    // prazan red
                    if ($_POST['separator'] == 1) {
                        list($dan, $predmet, $pocetak, $kraj, $sala, $tip, $labgrupa) = explode(",", $red);
                        $dan = trim($dan);
                        $predmet = trim($predmet);
                        $pocetak = trim($pocetak);
                        $kraj = trim($kraj);
                        $sala = trim($sala);
                        $tip = trim($tip);
                        $labgrupa = trim($labgrupa);
                        $niz = explode(",", $red);
                    } elseif ($_POST['separator'] == 2) {
                        list($dan, $predmet, $pocetak, $kraj, $sala, $tip, $labgrupa) = explode("\t", $red);
                        $dan = trim($dan);
                        $predmet = trim($predmet);
                        $pocetak = trim($pocetak);
                        $kraj = trim($kraj);
                        $sala = trim($sala);
                        $tip = trim($tip);
                        $labgrupa = trim($labgrupa);
                        $niz = explode("\t", $red);
                    }
                    list($pocS, $pocM) = explode(":", $pocetak);
                    list($krajS, $krajM) = explode(":", $kraj);
                    if (count($niz) != 7) {
                        if (count($niz) == 6) {
                            if ($tip != 'P') {
                                $greska_masovnog_unosa_casova = 1;
                                $greska_u_redu[] = $i;
                            }
                        } else {
                            $greska_masovnog_unosa_casova = 1;
                            $greska_u_redu[] = $i;
                        }
                    } else {
                        if ($dan == '' || $predmet == '' || $pocetak == '' || $kraj == '' || $sala == '' || $tip == '' || $labgrupa == '') {
                            $greska_masovnog_unosa_casova = 1;
                            $greska_prazni_parametri_u_redu[] = $i;
                        } else {
                            if (strtoupper($tip) != 'P' && strtoupper($tip) != 'T' && strtoupper($tip) != 'L') {
                                $greska_masovnog_unosa_casova = 1;
                                $greska_nevalja_tip_casa_u_redu[] = $i;
                            }
                            if ($dan != 'pon' && $dan != 'uto' && $dan != 'sri' && $dan != 'cet' && $dan != 'pet' && $dan != 'sub') {
                                $greska_masovnog_unosa_casova = 1;
                                $greska_nevalja_dan_u_redu[] = $i;
                            }
                            $raspored_za_edit = $_REQUEST['raspored_za_edit'];
                            $q1 = myquery("select studij,akademska_godina,semestar from raspored where id={$raspored_za_edit}");
                            $studij = mysql_result($q1, 0, 0);
                            $akademska_godina = mysql_result($q1, 0, 1);
                            $semestar = mysql_result($q1, 0, 2);
                            $q2 = myquery("select p.kratki_naziv from ponudakursa pk,predmet p where p.id=pk.predmet and pk.akademska_godina={$akademska_godina}\r\n\t\t\t\t\t\tand pk.semestar={$semestar} and pk.studij={$studij}");
                            $postoji_predmet = false;
                            for ($j = 0; $j < mysql_num_rows($q2); $j++) {
                                if (mysql_result($q2, $j, 0) == strtoupper($predmet)) {
                                    $postoji_predmet = true;
                                }
                            }
                            if ($postoji_predmet == false) {
                                $greska_masovnog_unosa_casova = 1;
                                $greska_ne_postoji_predmet_u_redu[] = $i;
                            } else {
                                $q0 = myquery("select id from predmet where kratki_naziv='{$predmet}'");
                                $predmet_id = mysql_result($q0, 0, 0);
                                if ($tip != "P") {
                                    $q1 = myquery("select naziv from labgrupa where predmet={$predmet_id}");
                                    $postoji_labgrupa = false;
                                    for ($j = 0; $j < mysql_num_rows($q1); $j++) {
                                        if (mysql_result($q1, $j, 0) == $labgrupa) {
                                            $postoji_labgrupa = true;
                                        }
                                    }
                                    if ($postoji_labgrupa == false) {
                                        $greska_masovnog_unosa_casova = 1;
                                        $greska_ne_postoji_labgrupa_u_redu[] = $i;
                                    }
                                }
                            }
                            if (intval($pocS) < 8 || intval($pocS) > 20 || (intval($krajS) < 8 || intval($krajS) > 21)) {
                                $greska_masovnog_unosa_casova = 1;
                                $greska_pogresno_vrijeme_u_redu[] = $i;
                            } elseif ($pocM != '00' && $pocM != '15' && $pocM != '30' && $pocM != '45' || $krajM != '00' && $krajM != '15' && $krajM != '30' && $krajM != '45') {
                                $greska_masovnog_unosa_casova = 1;
                                $greska_pogresno_vrijeme_u_redu[] = $i;
                            } else {
                                if ($pocM == "00") {
                                    $pocM = 1;
                                } elseif ($pocM == "15") {
                                    $pocM = 2;
                                } elseif ($pocM == "30") {
                                    $pocM = 3;
                                } elseif ($pocM == "45") {
                                    $pocM = 4;
                                }
                                if ($krajM == "00") {
                                    $krajM = 1;
                                } elseif ($krajM == "15") {
                                    $krajM = 2;
                                } elseif ($krajM == "30") {
                                    $krajM = 3;
                                } elseif ($krajM == "45") {
                                    $krajM = 4;
                                }
                                $pocetak_broj = (intval($pocS) - 8) * 4 + $pocM;
                                $kraj_broj = (intval($krajS) - 8) * 4 + $krajM;
                                if ($kraj_broj <= $pocetak_broj) {
                                    $greska_masovnog_unosa_casova = 1;
                                    $greska_nevalja_interval_u_redu[] = $i;
                                }
                            }
                            $q0 = myquery("select id from raspored_sala where naziv='{$sala}'");
                            $sala_id = mysql_result($q0, 0, 0);
                            $dani = array("pon", "uto", "sri", "cet", "pet", "sub");
                            for ($j = 0; $j < count($dani); $j++) {
                                if (strtolower($dan) == $dani[$j]) {
                                    $dan_broj = $j + 1;
                                    break;
                                }
                            }
                            $q2 = myquery("select sala,vrijeme_pocetak,vrijeme_kraj from raspored_stavka where raspored={$raspored_za_edit} and dan_u_sedmici={$dan_broj} and (isjeckana=0 or isjeckana=2)");
                            for ($j = 0; $j < mysql_num_rows($q2); $j++) {
                                $sala_j = mysql_result($q2, $j, 0);
                                $vrijeme_pocetak_j = mysql_result($q2, $j, 1);
                                $vrijeme_kraj_j = mysql_result($q2, $j, 2);
                                if ($vrijeme_pocetak_j >= $pocetak_broj && $vrijeme_pocetak_j < $kraj_broj || $vrijeme_kraj_j > $pocetak_broj && $vrijeme_kraj_j <= $kraj_broj) {
                                    if ($sala_id == $sala_j) {
                                        $greska_masovnog_unosa_casova = 1;
                                        $greska_postoji_sala_u_redu[] = $i;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }
                // ako nema grešaka u unosu dodajemo sale
                if ($greska_masovnog_unosa_casova == 0) {
                    $i = 0;
                    foreach ($redovi as $red) {
                        $i++;
                        $red = trim($red);
                        if (strlen($red) < 1) {
                            continue;
                        }
                        // prazan red
                        if ($_POST['separator'] == 1) {
                            list($dan, $predmet, $pocetak, $kraj, $sala, $tip, $labgrupa) = explode(",", $red);
                            $dan = trim($dan);
                            $predmet = trim($predmet);
                            $pocetak = trim($pocetak);
                            $kraj = trim($kraj);
                            $sala = trim($sala);
                            $tip = trim($tip);
                            $labgrupa = trim($labgrupa);
                            $niz = explode(",", $red);
                        } elseif ($_POST['separator'] == 2) {
                            list($dan, $predmet, $pocetak, $kraj, $sala, $tip, $labgrupa) = explode("\t", $red);
                            $dan = trim($dan);
                            $predmet = trim($predmet);
                            $pocetak = trim($pocetak);
                            $kraj = trim($kraj);
                            $sala = trim($sala);
                            $tip = trim($tip);
                            $labgrupa = trim($labgrupa);
                            $niz = explode("\t", $red);
                        }
                        list($pocS, $pocM) = explode(":", $pocetak);
                        list($krajS, $krajM) = explode(":", $kraj);
                        if ($pocM == "00") {
                            $pocM = 1;
                        } elseif ($pocM == "15") {
                            $pocM = 2;
                        } elseif ($pocM == "30") {
                            $pocM = 3;
                        } elseif ($pocM == "45") {
                            $pocM = 4;
                        }
                        if ($krajM == "00") {
                            $krajM = 1;
                        } elseif ($krajM == "15") {
                            $krajM = 2;
                        } elseif ($krajM == "30") {
                            $krajM = 3;
                        } elseif ($krajM == "45") {
                            $krajM = 4;
                        }
                        $pocetak_broj = (intval($pocS) - 8) * 4 + $pocM;
                        $kraj_broj = (intval($krajS) - 8) * 4 + $krajM;
                        $q0 = myquery("select id from raspored_sala where naziv='{$sala}'");
                        $sala_id = mysql_result($q0, 0, 0);
                        $dani = array("pon", "uto", "sri", "cet", "pet", "sub");
                        for ($j = 0; $j < count($dani); $j++) {
                            if (strtolower($dan) == $dani[$j]) {
                                $dan_broj = $j + 1;
                                break;
                            }
                        }
                        $q0 = myquery("select id from predmet where kratki_naziv='{$predmet}'");
                        $predmet_id = mysql_result($q0, 0, 0);
                        $tip = strtoupper($tip);
                        if ($tip == "P") {
                            $labgrupa_id = 0;
                        } else {
                            $q0 = myquery("select id from labgrupa where naziv='{$labgrupa}'");
                            $labgrupa_id = mysql_result($q0, 0, 0);
                        }
                        $semestar_je_neparan = $semestar % 2;
                        $q0 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored_za_edit}, dan_u_sedmici={$dan_broj}, predmet={$predmet_id},\r\n\t\t\t\t\t\tvrijeme_pocetak={$pocetak_broj},vrijeme_kraj={$kraj_broj},sala={$sala_id},tip='{$tip}',labgrupa={$labgrupa_id}");
                        $q00 = myquery("select max(id) from raspored_stavka");
                        $id_unesene_stavke = mysql_result($q00, 0, 0);
                        $q1 = myquery("select studij,semestar from ponudakursa where predmet={$predmet_id} and akademska_godina={$akademska_godina} and semestar mod 2 = {$semestar_je_neparan}");
                        for ($k = 0; $k < mysql_num_rows($q1); $k++) {
                            $studij_i = mysql_result($q1, $k, 0);
                            $semestar_i = mysql_result($q1, $k, 1);
                            $postoji_raspored = 0;
                            if ($semestar_i == $semestar && $studij_i == $studij) {
                                $postoji_raspored = 1;
                            } else {
                                $q01 = myquery("select semestar,studij,id from raspored where akademska_godina={$akademska_godina} and semestar mod 2 = {$semestar_je_neparan}");
                                for ($j = 0; $j < mysql_num_rows($q01); $j++) {
                                    $studij_j = mysql_result($q01, $j, 1);
                                    $semestar_j = mysql_result($q01, $j, 0);
                                    $raspored_j = mysql_result($q01, $j, 2);
                                    if ($semestar_i == $semestar_j && $studij_i == $studij_j) {
                                        $postoji_raspored = 1;
                                        break;
                                    }
                                }
                            }
                            if ($postoji_raspored == 0) {
                                $q02 = myquery("insert into raspored set id='NULL', akademska_godina={$akademska_godina}, studij={$studij_i}, semestar={$semestar_i}");
                            }
                            $q2 = myquery("select id from raspored where akademska_godina={$akademska_godina} and semestar={$semestar_i} and studij={$studij_i}");
                            if (mysql_num_rows($q2) > 0) {
                                $raspored_i = mysql_result($q2, 0, 0);
                                if ($raspored_i != $raspored_za_edit) {
                                    $q3 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored_i}, dan_u_sedmici={$dan_broj}, predmet={$predmet_id},\r\n\t\t\t\t\t\t\t\t\t\tvrijeme_pocetak={$pocetak_broj},vrijeme_kraj={$kraj_broj},sala={$sala_id},tip='{$tip}',labgrupa={$labgrupa_id},dupla={$id_unesene_stavke}");
                                }
                            }
                        }
                    }
                    $uspjesan_masovni_unos_casova = 1;
                    zamgerlog("Izvršen masovni unos časova", 2);
                    zamgerlog2("izvršen masovni unos časova u raspored");
                }
            }
            if ($_POST['akcija'] == "obrisi_cas" && check_csrf_token()) {
                $id_casa_za_brisanje = intval($_POST['id_casa_za_brisanje']);
                $q0 = myquery("select dupla from raspored_stavka where id={$id_casa_za_brisanje}");
                $dupla = mysql_result($q0, 0, 0);
                if ($dupla == 0) {
                    $q1 = myquery("delete from raspored_stavka where id={$id_casa_za_brisanje}");
                    $q2 = myquery("delete from raspored_stavka where dupla={$id_casa_za_brisanje}");
                } else {
                    $q1 = myquery("delete from raspored_stavka where id={$dupla}");
                    $q2 = myquery("delete from raspored_stavka where dupla={$dupla}");
                }
                $uspjesno_obrisan_cas = 1;
                zamgerlog("obrisan cas", 4);
                // nivo 4: audit
                zamgerlog2("obrisana stavka iz rasporeda", $id_casa_za_brisanje);
            }
            print "<a href=\"?sta=studentska/raspored1\">vrati se na početnu</a>";
            print "<h4>Editovanje rasporeda za akademsku {$naziv_akademske_godine} godinu, studij {$naziv_studija}, {$semestar}. semestar:</h4>";
            print "<hr/>";
            // ukoliko nema konflikata ispunjen je uslov ispod
            if (!isset($_REQUEST['konflikt'])) {
                print "<h4>Dodavanje novog časa:</h4>";
                if ($greska_prazni_parametri_u_casu == 1) {
                    print "<p class=\"crveno\">GREŠKA: Niste unijeli neki podatak.</p>";
                }
                if ($greska_neispravan_interval == 1) {
                    print "<p class=\"crveno\">GREŠKA: Interval koji ste unijeli nije ispravan.</p>";
                }
                if ($greska_duplikat_sale == 1) {
                    print "<p class=\"crveno\">GREŠKA: Sala koju ste odabrali je zauzeta u tom terminu.</p>";
                }
                if ($greska_preklapanje_sa_obaveznim_predmetom == 1) {
                    print "<p class=\"crveno\">GREŠKA: Postoji preklapanje sa predavanjem obaveznog predmeta.</p>";
                }
                if ($greska_preklapanje_obaveznog_predmeta == 1) {
                    print "<p class=\"crveno\">GREŠKA: Predavanje obaveznog predmeta se ne može dodati jer je termin zauzet.</p>";
                }
                if ($greska_nevalja_termin == 1) {
                    print "<p class=\"crveno\">GREŠKA: Nastava traje maksimalno do 21 sat.</p>";
                }
                if ($greska_isti_predmet_ista_grupa == 1) {
                    print "<p class=\"crveno\">GREŠKA: Isti predmet i ista grupa u terminu koji se preklapa !</p>";
                }
                if ($cas_uspjesno_dodan == 1) {
                    nicemessage("Čas je usješno dodan.");
                }
                if ($uspjesno_obrisan_cas == 1) {
                    nicemessage("Čas je usješno obrisan.");
                }
                $broj_konflikata = count($konflikt['student']);
                if ($broj_konflikata > 0 && $cas_dodan_sa_konfliktima != 1) {
                    print "<br>";
                    if ($broj_konflikata == 1) {
                        $varijabla = "konflikt";
                    } elseif ($broj_konflikata == 2 || $broj_konflikata == 3 || $broj_konflikata == 4) {
                        $varijabla = "konflikta";
                    } else {
                        $varijabla = "konflikata";
                    }
                    print "<p class=\"crveno\">Postoji {$broj_konflikata} {$varijabla} pri preklapanju časova.</p>";
                    ?>
				<a href="#" onclick="prikazKonflikata()"><img id="slika_konflikti" src = "images/plus.png" border="0" align="left" />Prikaži konflikte</a>
				<div id="prikaz_konflikata" style="display:none">
					<?php 
                    print "<ul>";
                    for ($i = 0; $i < count($konflikt['student']); $i++) {
                        $student = $konflikt['student'][$i];
                        $predmet = $konflikt['predmet'][$i];
                        $pocetak = $konflikt['pocetak'][$i];
                        $kraj = $konflikt['kraj'][$i];
                        $vrijemePocS = floor(($pocetak - 1) / 4 + 8);
                        $vrijemePocMin = $pocetak % 4;
                        if ($vrijemePocMin == 1) {
                            $vrijemePocM = "00";
                        } elseif ($vrijemePocMin == 2) {
                            $vrijemePocM = "15";
                        } elseif ($vrijemePocMin == 3) {
                            $vrijemePocM = "30";
                        } elseif ($vrijemePocMin == 0) {
                            $vrijemePocM = "45";
                        }
                        $vrijemeP = "{$vrijemePocS}:{$vrijemePocM}";
                        $vrijemeKrajS = floor(($kraj - 1) / 4 + 8);
                        $vrijemeKrajMin = $kraj % 4;
                        if ($vrijemeKrajMin == 1) {
                            $vrijemeKrajM = "00";
                        } elseif ($vrijemeKrajMin == 2) {
                            $vrijemeKrajM = "15";
                        } elseif ($vrijemeKrajMin == 3) {
                            $vrijemeKrajM = "30";
                        } elseif ($vrijemeKrajMin == 0) {
                            $vrijemeKrajM = "45";
                        }
                        $vrijemeK = "{$vrijemeKrajS}:{$vrijemeKrajM}";
                        $q1 = myquery("select ime, prezime from osoba where id={$student}");
                        $ime = mysql_result($q1, 0, 0);
                        $prezime = mysql_result($q1, 0, 1);
                        $q2 = myquery("select naziv from predmet where id={$predmet}");
                        $naziv_predmeta = mysql_result($q2, 0, 0);
                        print "<li><p><b>{$ime} {$prezime}</b> ima predmet <b>{$naziv_predmeta}</b> u terminu <b>{$vrijemeP}-{$vrijemeK}</b></p></li>";
                    }
                    print "</ul>";
                    print "<hr>";
                    ?>
				</div>
				<p>Da li ipak želite dodati čas sa konfliktima: <input type="button" onclick="dodajCasSaKonfliktima()" value=" DA "></p>
				<hr></hr>
				<?php 
                    print "<br></br>";
                }
                $q4 = myquery("select pk.predmet,p.kratki_naziv,pk.obavezan from ponudakursa pk, predmet p where pk.predmet=p.id and pk.studij={$studij} and pk.akademska_godina={$akademska_godina} and pk.semestar={$semestar}");
                print genform("POST", "forma_za_unos_casa");
                $dani = array("Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota");
                $tipovi_nastave = array("P", "T", "L");
                ?>
			<input type="hidden" name="akcija" id="akcija_novi_cas" value="unos_novog_casa">
			<input type="hidden" name="cas_sa_konfliktima" id="cas_sa_konfliktima" value="0">
			<table cellpadding="3" name="cas">
				<tr>
					<td>Dan:</td>
					<td>
						<select name="dan">
							<option value="0">---</option>
							<?php 
                for ($i = 0; $i <= 5; $i++) {
                    $x = $i + 1;
                    print "<option value=\"{$x}\"";
                    if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['dan'] == $x || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['dan'] == $x || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['dan'] == $x) && $cas_dodan_sa_konfliktima != 1) {
                        print " selected=\"selected\"";
                    }
                    print ">{$dani[$i]}</option>";
                }
                ?>
						</select>
					</td>
				</tr>
				<tr>
					<td>Tip:</td>
					<td>
						<select name="tip" id="tip" onchange="javascript:prikaziGrupe()">
							<option value="0">---</option>
							<?php 
                for ($i = 0; $i <= 2; $i++) {
                    print "<option value={$tipovi_nastave[$i]}";
                    if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['tip'] == $tipovi_nastave[$i] || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['tip'] == $tipovi_nastave[$i] || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['tip'] == $tipovi_nastave[$i]) && $cas_dodan_sa_konfliktima != 1) {
                        print " selected=\"selected\"";
                    }
                    if ($tipovi_nastave[$i] == "P") {
                        print ">Predavanje</option>";
                    } elseif ($tipovi_nastave[$i] == "T") {
                        print ">Tutorijal</option>";
                    } elseif ($tipovi_nastave[$i] == "L") {
                        print ">Laboratorijska vježba</option>";
                    }
                }
                ?>
							
						</select>
					</td>
				</tr>
				<tr>
					<td>Predmet:</td>
					<td>
						<select name="predmet" id="predmet" onchange="javascript:prikaziGrupe()">
							<?php 
                if ($_POST['akcija'] != "unos_novog_casa_predfaza" && $_POST['akcija'] != "unos_novog_casa" || $_POST['akcija'] == "unos_novog_casa" && $_POST['predmet'] == 0 || $cas_uspjesno_dodan == 1 || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['predmet'] == 0) {
                    ?>
							<option value="0">---</option>
							<?php 
                }
                for ($i = 0; $i < mysql_num_rows($q4); $i++) {
                    $id_predmeta = mysql_result($q4, $i, 0);
                    $kratki_naziv = mysql_result($q4, $i, 1);
                    $obavezan = mysql_result($q4, $i, 2);
                    print "<option value=\"{$id_predmeta}\"";
                    if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['predmet'] == $id_predmeta || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['predmet'] == $id_predmeta || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['predmet'] == $id_predmeta) && $cas_dodan_sa_konfliktima != 1) {
                        print " selected=\"selected\"";
                    }
                    print ">{$kratki_naziv}";
                    if ($obavezan == 0) {
                        print " (izborni)";
                    }
                    print "</option>";
                }
                ?>
						</select>
					</td>
				</tr>
				<tr>
					<td>Sala:</td>
					<td>
						<select name="sala">
							<option value="0">---</option>
							<?php 
                $q0 = myquery("select id,naziv from raspored_sala order by naziv");
                for ($i = 0; $i < mysql_num_rows($q0); $i++) {
                    $id_sale = mysql_result($q0, $i, 0);
                    $naziv_sale = mysql_result($q0, $i, 1);
                    print "<option value=\"{$id_sale}\"";
                    if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['sala'] == $id_sale || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['sala'] == $id_sale || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['sala'] == $id_sale) && $cas_dodan_sa_konfliktima != 1) {
                        print " selected=\"selected\"";
                    }
                    print ">{$naziv_sale}</option>";
                }
                ?>
						</select>
					</td>
				</tr>
				<tr>
					<td>Vrijeme početka:</td>
					<td>
						<select name="pocetakSat">
							<option value="-1">---</option>
							<?php 
                for ($i = 0; $i <= 12; $i++) {
                    $j = $i + 8;
                    print "<option value=\"{$i}\"";
                    if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['pocetakSat'] == $i || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['pocetakSat'] == $i || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['pocetakSat'] == $i) && $cas_dodan_sa_konfliktima != 1) {
                        print " selected=\"selected\"";
                    }
                    print ">{$j}</option>";
                }
                ?>
						</select>
						:
						<select name="pocetakMin">
							<option value="0">---</option>
							<option value="1"
								<?php 
                if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['pocetakMin'] == 1 || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['pocetakMin'] == 1 || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['pocetakMin'] == 1) && $cas_dodan_sa_konfliktima != 1) {
                    print " selected=\"selected\"";
                }
                ?>
								>00
							</option>
							<option value="2"
								<?php 
                if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['pocetakMin'] == 2 || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['pocetakMin'] == 2 || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['pocetakMin'] == 2) && $cas_dodan_sa_konfliktima != 1) {
                    print " selected=\"selected\"";
                }
                ?>
								>15
							</option>
							<option value="3"
								<?php 
                if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['pocetakMin'] == 3 || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['pocetakMin'] == 3 || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['pocetakMin'] == 3) && $cas_dodan_sa_konfliktima != 1) {
                    print " selected=\"selected\"";
                }
                ?>
								>30
							</option>
							<option value="4"
								<?php 
                if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['pocetakMin'] == 4 || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['pocetakMin'] == 4 || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['pocetakMin'] == 4) && $cas_dodan_sa_konfliktima != 1) {
                    print " selected=\"selected\"";
                }
                ?>
								>45
							</option>
						</select>
					</td>	
				</tr>
				<tr>
					<td>Vrijeme kraja:</td>
					<td>
						<select name="krajSat">
							<option value="-1">---</option>
							<?php 
                for ($i = 0; $i <= 13; $i++) {
                    $j = $i + 8;
                    print "<option value=\"{$i}\"";
                    if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['krajSat'] == $i || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['krajSat'] == $i || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['krajSat'] == $i) && $cas_dodan_sa_konfliktima != 1) {
                        print " selected=\"selected\"";
                    }
                    print ">{$j}</option>";
                }
                ?>
						</select>
						:
						<select name="krajMin">
							<option value="0">---</option>
							<option value="1"
								<?php 
                if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['krajMin'] == 1 || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['krajMin'] == 1 || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['krajMin'] == 1) && $cas_dodan_sa_konfliktima != 1) {
                    print " selected=\"selected\"";
                }
                ?>
								>00
							</option>
							<option value="2"
								<?php 
                if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['krajMin'] == 2 || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['krajMin'] == 2 || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['krajMin'] == 2) && $cas_dodan_sa_konfliktima != 1) {
                    print " selected=\"selected\"";
                }
                ?>
								>15
							</option>
							<option value="3"
								<?php 
                if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['krajMin'] == 3 || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['krajMin'] == 3 || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['krajMin'] == 3) && $cas_dodan_sa_konfliktima != 1) {
                    print " selected=\"selected\"";
                }
                ?>
								>30
							</option>
							<option value="4"
								<?php 
                if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['krajMin'] == 4 || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['krajMin'] == 4 || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['krajMin'] == 4) && $cas_dodan_sa_konfliktima != 1) {
                    print " selected=\"selected\"";
                }
                ?>
								>45
							</option>
						</select>
					</td>	
				</tr>
				<tr>
					<td>Grupa:</td>
					<td>
						<select name="labgrupa" id="labgrupa_za_cas" 
							<?php 
                if ($_POST['akcija'] != "unos_novog_casa_predfaza" && $_POST['akcija'] != "unos_novog_casa") {
                    print " disabled=\"disabled\"";
                } elseif (($_POST['akcija'] == "unos_novog_casa" || $_POST['akcija'] == "unos_novog_casa_predfaza") && intval($_POST['predmet']) == 0) {
                    print " disabled=\"disabled\"";
                } elseif ($_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['tip'] == 'P') {
                    print " disabled=\"disabled\"";
                } elseif ($_POST['akcija'] == "unos_novog_casa" && $_POST['tip'] == 'P' && $greska_u_dodavanju_casa == 1) {
                    print " disabled=\"disabled\"";
                } elseif (($_POST['akcija'] == "unos_novog_casa" || $_POST['akcija'] == "unos_novog_casa_predfaza") && $_POST['tip'] == '0') {
                    print " disabled=\"disabled\"";
                }
                ?>
						>
							<option value="0">---</option>
							<?php 
                if ($_POST['akcija'] == "unos_novog_casa_predfaza" || $_POST['akcija'] == "unos_novog_casa" && intval($_POST['predmet']) != 0) {
                    $id_predmeta = intval($_POST['predmet']);
                    $q0 = myquery("select id,naziv from labgrupa where predmet={$id_predmeta} and akademska_godina={$akademska_godina}");
                    for ($i = 0; $i < mysql_num_rows($q0); $i++) {
                        $id_labgrupe = mysql_result($q0, $i, 0);
                        $naziv_labgrupe = mysql_result($q0, $i, 1);
                        print "<option value=\"{$id_labgrupe}\"";
                        if (($_POST['akcija'] == "unos_novog_casa" && $greska_u_dodavanju_casa == 1 && $_POST['labgrupa'] == $id_labgrupe || $_POST['akcija'] == "unos_novog_casa_predfaza" && $_POST['labgrupa'] == $id_labgrupe || $_POST['akcija'] == "unos_novog_casa" && count($konflikt['student']) > 0 && $_POST['labgrupa'] == $id_labgrupe) && $cas_dodan_sa_konfliktima != 1) {
                            print " selected=\"selected\"";
                        }
                        print ">{$naziv_labgrupe}</option>";
                    }
                }
                ?>
						</select>
					</td>
				</tr>
				<tr>
					<td></td>
					<td align="right"><input type="submit" value=" Dodaj čas"></form></td>
				</tr>
			</table>
			
			
			<h4>Masovni unos časova:</h4>
			<?php 
                if (count($greska_u_redu) > 0 && $greska_masovnog_unosa_casova == 1) {
                    print "<p class=\"crveno\">GREŠKA: Nema potreban broj parametara u redu {$greska_u_redu['0']}";
                    if (count($greska_u_redu) == 1) {
                        print ".</p>";
                    } else {
                        for ($i = 1; $i < count($greska_u_redu); $i++) {
                            if ($i == count($greska_u_redu) - 1) {
                                print " i {$greska_u_redu[$i]}.</p>";
                            } else {
                                print ", {$greska_u_redu[$i]}";
                            }
                        }
                    }
                }
                if (count($greska_prazni_parametri_u_redu) > 0 && $greska_masovnog_unosa_casova == 1) {
                    print "<p class=\"crveno\">GREŠKA: Postoje prazni parametri u redu {$greska_prazni_parametri_u_redu['0']}";
                    if (count($greska_prazni_parametri_u_redu) == 1) {
                        print ".</p>";
                    } else {
                        for ($i = 1; $i < count($greska_prazni_parametri_u_redu); $i++) {
                            if ($i == count($greska_prazni_parametri_u_redu) - 1) {
                                print " i {$greska_prazni_parametri_u_redu[$i]}.</p>";
                            } else {
                                print ", {$greska_prazni_parametri_u_redu[$i]}";
                            }
                        }
                    }
                }
                if (count($greska_nevalja_tip_casa_u_redu) > 0 && $greska_masovnog_unosa_casova == 1) {
                    print "<p class=\"crveno\">GREŠKA: Tip časa nije ispravan  u redu {$greska_nevalja_tip_casa_u_redu['0']}";
                    if (count($greska_nevalja_tip_casa_u_redu) == 1) {
                        print ".</p>";
                    } else {
                        for ($i = 1; $i < count($greska_nevalja_tip_casa_u_redu); $i++) {
                            if ($i == count($greska_nevalja_tip_casa_u_redu) - 1) {
                                print " i {$greska_nevalja_tip_casa_u_redu[$i]}.</p>";
                            } else {
                                print ", {$greska_nevalja_tip_casa_u_redu[$i]}";
                            }
                        }
                    }
                }
                if (count($greska_nevalja_dan_u_redu) > 0 && $greska_masovnog_unosa_casova == 1) {
                    print "<p class=\"crveno\">GREŠKA: Dan nije ispravan u redu {$greska_nevalja_dan_u_redu['0']}";
                    if (count($greska_nevalja_dan_u_redu) == 1) {
                        print ".</p>";
                    } else {
                        for ($i = 1; $i < count($greska_nevalja_dan_u_redu); $i++) {
                            if ($i == count($greska_nevalja_dan_u_redu) - 1) {
                                print " i {$greska_nevalja_dan_u_redu[$i]}.</p>";
                            } else {
                                print ", {$greska_nevalja_dan_u_redu[$i]}";
                            }
                        }
                    }
                }
                if (count($greska_postoji_sala_u_redu) > 0 && $greska_masovnog_unosa_casova == 1) {
                    print "<p class=\"crveno\">GREŠKA: Sala zauzeta u datom terminu u redu {$greska_postoji_sala_u_redu['0']}";
                    if (count($greska_postoji_sala_u_redu) == 1) {
                        print ".</p>";
                    } else {
                        for ($i = 1; $i < count($greska_postoji_sala_u_redu); $i++) {
                            if ($i == count($greska_postoji_sala_u_redu) - 1) {
                                print " i {$greska_postoji_sala_u_redu[$i]}.</p>";
                            } else {
                                print ", {$greska_postoji_sala_u_redu[$i]}";
                            }
                        }
                    }
                }
                if (count($greska_ne_postoji_labgrupa_u_redu) > 0 && $greska_masovnog_unosa_casova == 1) {
                    print "<p class=\"crveno\">GREŠKA: Ne postoji grupa u redu {$greska_ne_postoji_labgrupa_u_redu['0']}";
                    if (count($greska_ne_postoji_labgrupa_u_redu) == 1) {
                        print ".</p>";
                    } else {
                        for ($i = 1; $i < count($greska_ne_postoji_labgrupa_u_redu); $i++) {
                            if ($i == count($greska_ne_postoji_labgrupa_u_redu) - 1) {
                                print " i {$greska_ne_postoji_labgrupa_u_redu[$i]}.</p>";
                            } else {
                                print ", {$greska_ne_postoji_labgrupa_u_redu[$i]}";
                            }
                        }
                    }
                }
                if (count($greska_ne_postoji_predmet_u_redu) > 0 && $greska_masovnog_unosa_casova == 1) {
                    print "<p class=\"crveno\">GREŠKA: Ne postoji predmet u redu {$greska_ne_postoji_predmet_u_redu['0']}";
                    if (count($greska_ne_postoji_predmet_u_redu) == 1) {
                        print ".</p>";
                    } else {
                        for ($i = 1; $i < count($greska_ne_postoji_predmet_u_redu); $i++) {
                            if ($i == count($greska_ne_postoji_predmet_u_redu) - 1) {
                                print " i {$greska_ne_postoji_predmet_u_redu[$i]}.</p>";
                            } else {
                                print ", {$greska_ne_postoji_predmet_u_redu[$i]}";
                            }
                        }
                    }
                }
                if (count($greska_pogresno_vrijeme_u_redu) > 0 && $greska_masovnog_unosa_casova == 1) {
                    print "<p class=\"crveno\">GREŠKA: Vrijeme nije ispravno unešeno u redu {$greska_pogresno_vrijeme_u_redu['0']}";
                    if (count($greska_pogresno_vrijeme_u_redu) == 1) {
                        print ".</p>";
                    } else {
                        for ($i = 1; $i < count($greska_pogresno_vrijeme_u_redu); $i++) {
                            if ($i == count($greska_pogresno_vrijeme_u_redu) - 1) {
                                print " i {$greska_pogresno_vrijeme_u_redu[$i]}.</p>";
                            } else {
                                print ", {$greska_pogresno_vrijeme_u_redu[$i]}";
                            }
                        }
                    }
                }
                if (count($greska_nevalja_interval_u_redu) > 0 && $greska_masovnog_unosa_casova == 1) {
                    print "<p class=\"crveno\">GREŠKA: Interval nije ispravan u redu {$greska_nevalja_interval_u_redu['0']}";
                    if (count($greska_nevalja_interval_u_redu) == 1) {
                        print ".</p>";
                    } else {
                        for ($i = 1; $i < count($greska_nevalja_interval_u_redu); $i++) {
                            if ($i == count($greska_nevalja_interval_u_redu) - 1) {
                                print " i {$greska_nevalja_interval_u_redu[$i]}.</p>";
                            } else {
                                print ", {$greska_nevalja_interval_u_redu[$i]}";
                            }
                        }
                    }
                }
                if ($greska_prazan_prostor_za_mas_unos_casova == 1) {
                    print "<p class=\"crveno\">GREŠKA: Niste unijeli nikakve podatke u prostor za masovni unos.</p>";
                }
                if ($uspjesan_masovni_unos_casova == 1) {
                    nicemessage("Uspješno unešeni časovi!");
                }
                ?>
			
			<a href="#" onclick="daj_stablo('uputstvo_za_mas_unos_casova')"><img id="img-uputstvo_za_mas_unos_casova" src = "images/plus.png" border="0" align="left" />Uputstvo za masovni unos</a>
			<div id="uputstvo_za_mas_unos_casova" style="display:none">
				<p>Unesite sljedeće podatke odvojene zarezom (ili [tab]-om ):</p> 
				<ul>
				<li><p><span class="plavo_bold">dan u sedmici: </span> (pon, uto, sri, cet, pet, sub)</p></li>
				<li><p><span class="plavo_bold">predmet: </span> unesite skraćeni naziv predmeta, npr im za inžinjersku matematiku</p></li>
				<li><p><span class="plavo_bold">vrijeme početka: </span> unesite vrijeme u intervalu 8:00 do 20:45</p></li>
				<li><p><span class="plavo_bold">vrijeme kraja: </span> unesite vrijeme u intervalu 8:15 do 21:00</p></li>
				<li><p><span class="plavo_bold">ime sale </span></p></li>
				<li>
					<p><span class="plavo_bold">tip časa: </span></p>
					<ul>
						<li><p><span class="plavo_bold">P: </span> za predavanje</p></li>
						<li><p><span class="plavo_bold">T: </span> za tutorijal</p></li>
						<li><p><span class="plavo_bold">L: </span> za laboratorijsku vježbu</p></li>
					</ul>
				</li>
				<li><p><span class="plavo_bold">ime grupe: </span>za predavanje ovaj parametar je prazan</p></li>
				</ul>
				<p>Ukoliko unosite podatke iz Excel-a odaberite opciju unos iz excela(odvajanje sa [tab]-om)</p>
				<p>Svaki novi čas dodajte u novom redu</p>
				<p>primjer:</p>
				<p>pon, im, 8:15, 9:30, s01, P</p>
				<p>pon, if, 9:30, 10:30, s02, T, g1</p>
			</div>
			<?php 
                echo genform("POST");
                ?>
			<input type="hidden" name="akcija" value="masovni_unos_casova">
			<textarea name="mas_unos_casova" rows="10" cols="40">
			<?php 
                if (isset($_POST['mas_unos_casova'])) {
                    print trim($_POST['mas_unos_casova']);
                }
                ?>
			</textarea>
			<br/>
			<p>Tip unosa:
			<select name="separator">
				<option value="1">standardan unos (odvajanje zarezom)</option>
				<option value="2">unos iz excela(odvajanje sa [tab]-om)</option>
			</select>
			</p>
			<input type="submit" value=" Dodaj "></form>
			<br></br>
			
			
			<?php 
                echo genform("POST", "brisanjecasa");
                ?>
			<input type="hidden" name="akcija" value="obrisi_cas">
			<input type="hidden" name="id_casa_za_brisanje" id="id_casa_za_brisanje" value=""></form>
			
			
			
			<h4>Izgled rasporeda:</h4>
			<table class="raspored" border="1" cellspacing="0">
				<tr>
					<th>
						<p>Sat/</p>
						<p>Dan</p>
					</th>
					<?php 
                for ($i = 8; $i <= 20; $i++) {
                    $j = $i + 1;
                    ?>
						<th>
							<p class="bold"><?php 
                    print "{$i}";
                    ?>
</p>
							<p><?php 
                    print "00";
                    ?>
</p>
						</th>
						<th>
							<p><br></p>
							<p><?php 
                    print "15";
                    ?>
</p>
						</th>
						<th>
							<p><br></p>
							<p><?php 
                    print "30";
                    ?>
</p>
						</th>
						<th>
							<p><br></p>
							<p><?php 
                    print "45";
                    ?>
</p>
						</th>
					<?php 
                }
                ?>
				</tr>
				<?php 
                // petlja za 6 dana u sedmici
                for ($i = 1; $i <= 6; $i++) {
                    print "<tr>";
                    $q0 = myquery("select vrijeme_pocetak,vrijeme_kraj from raspored_stavka where dan_u_sedmici={$i} and raspored={$raspored_za_edit} and (isjeckana=0 or isjeckana=2) and labgrupa!= -1");
                    // sada je potrebno naći maksimalni broj preklapanja termina da bi znali koliki je rowspan potreban za dan $i
                    // poredimo svaki interval casa sa svakim
                    $broj_preklapanja = array();
                    for ($j = 0; $j < 53; $j++) {
                        $broj_preklapanja[] = 0;
                    }
                    for ($j = 0; $j < mysql_num_rows($q0); $j++) {
                        $pocetak = mysql_result($q0, $j, 0);
                        $kraj = mysql_result($q0, $j, 1);
                        for ($k = $pocetak; $k < $kraj; $k++) {
                            $broj_preklapanja[$k]++;
                        }
                    }
                    $max_broj_preklapanja = max($broj_preklapanja);
                    if ($i == 1) {
                        $dan_tekst = "PON";
                    } elseif ($i == 2) {
                        $dan_tekst = "UTO";
                    } elseif ($i == 3) {
                        $dan_tekst = "SRI";
                    } elseif ($i == 4) {
                        $dan_tekst = "ČET";
                    } elseif ($i == 5) {
                        $dan_tekst = "PET";
                    } elseif ($i == 6) {
                        $dan_tekst = "SUB";
                    }
                    // sada pravimo dvodimenzionalni niz, koji predstavlja zauzetost termina u određenom redu
                    $zauzet = array();
                    for ($j = 0; $j < $max_broj_preklapanja; $j++) {
                        $zauzet = array();
                    }
                    for ($j = 0; $j < $max_broj_preklapanja; $j++) {
                        for ($k = 0; $k < 53; $k++) {
                            $zauzet[$j][] = 0;
                        }
                    }
                    // zauzet[1][0]=1 znaci da je termin 1 zauzet u drugom redu
                    $q1 = myquery("select id,raspored,predmet,vrijeme_pocetak,vrijeme_kraj,sala,tip,labgrupa from raspored_stavka where dan_u_sedmici={$i} and raspored={$raspored_za_edit} \r\n\t\t\t\t\tand (isjeckana=0 or isjeckana=2) and labgrupa != -1 order by id");
                    $gdje = array();
                    $gdje["id_stavke"] = array();
                    $gdje["red_stavke"] = array();
                    // red u kojem stavka ide
                    // primjer
                    // gdje["id_stavke"][0]=5 znaci da je id prve stavke 5
                    // gdje["red_stavke"][0]=3 znaci da stavka 1 ide u 4. red
                    // [0] pretstavlja prvu stavku jer indeksi kreću od nule i druga kolona treba biti ista-- u ovom slucaju [0]
                    for ($j = 0; $j < mysql_num_rows($q1); $j++) {
                        $id_stavke = mysql_result($q1, $j, 0);
                        $gdje["id_stavke"][$j] = $id_stavke;
                        // i ovo vise ne diramo jer znamo koji je id stavke na osnovu nepoznate $j
                        $gdje["red_stavke"][$j] = 0;
                        // postavljamo na nulu jer još ne znamo gdje ide određena stavka
                    }
                    for ($j = 0; $j < mysql_num_rows($q1); $j++) {
                        $id_stavke = mysql_result($q1, $j, 0);
                        $pocetak = mysql_result($q1, $j, 3);
                        $kraj = mysql_result($q1, $j, 4);
                        for ($k = 0; $k < $max_broj_preklapanja; $k++) {
                            $zauzet_red = 0;
                            while ($pocetak != $kraj) {
                                if ($zauzet[$k][$pocetak - 1] == 1) {
                                    $zauzet_red = 1;
                                    // ako je uslov ispunjen nađen je barem jedan zauzet red
                                    break;
                                }
                                $pocetak++;
                            }
                            if ($zauzet_red == 0) {
                                // ako nije zauzet termin u tom redu dodajemo termin u taj red i prekidamo petlju
                                $gdje["red_stavke"][$j] = $k;
                                // $stavka $j ide u red $k
                                //sada proglasavamo termin zauzetim u tom redu $k+1
                                $pocetak = mysql_result($q1, $j, 3);
                                while ($pocetak != $kraj) {
                                    $zauzet[$k][$pocetak - 1] = 1;
                                    // termin $pocetak se zauzima u redu $k+1
                                    $pocetak++;
                                }
                            }
                            if ($zauzet_red == 0) {
                                break;
                            }
                        }
                    }
                    print "<td rowspan=\"{$max_broj_preklapanja}\">{$dan_tekst}</td>";
                    for ($j = 0; $j < $max_broj_preklapanja; $j++) {
                        if ($j > 0) {
                            print "</tr><tr>";
                        }
                        $zadnji = 1;
                        for ($m = 1; $m <= 52; $m++) {
                            for ($k = 0; $k < mysql_num_rows($q1); $k++) {
                                $id_stavke = mysql_result($q1, $k, 0);
                                $q00 = myquery("select r.akademska_godina,r.semestar from raspored r, raspored_stavka rs where r.id=rs.raspored and (rs.isjeckana=0 or rs.isjeckana=2) and rs.id={$id_stavke}");
                                $akademska_godina = mysql_result($q00, 0, 0);
                                $semestar = mysql_result($q00, 0, 1);
                                $semestar_je_neparan = $semestar % 2;
                                $predmet = mysql_result($q1, $k, 2);
                                $q2 = myquery("select kratki_naziv from predmet where id={$predmet}");
                                $predmet_naziv = mysql_result($q2, 0, 0);
                                $pocetak = mysql_result($q1, $k, 3);
                                $kraj = mysql_result($q1, $k, 4);
                                $sala = mysql_result($q1, $k, 5);
                                $q3 = myquery("select naziv from raspored_sala where id={$sala}");
                                $sala_naziv = mysql_result($q3, 0, 0);
                                $tip = mysql_result($q1, $k, 6);
                                $labgrupa = mysql_result($q1, $k, 7);
                                if ($labgrupa != 0) {
                                    if ($labgrupa != -1) {
                                        $q4 = myquery("select naziv from labgrupa where id={$labgrupa}");
                                        $labgrupa_naziv = mysql_result($q4, 0, 0);
                                    }
                                }
                                $interval = $kraj - $pocetak;
                                if ($gdje["red_stavke"][$k] == $j && $pocetak == $m) {
                                    for ($n = $zadnji; $n < $pocetak; $n++) {
                                        print "<td></td>";
                                    }
                                    $zadnji = $kraj;
                                    $vrijemePocS = floor(($pocetak - 1) / 4 + 8);
                                    $vrijemePocMin = $pocetak % 4;
                                    if ($vrijemePocMin == 1) {
                                        $vrijemePocM = "00";
                                    } elseif ($vrijemePocMin == 2) {
                                        $vrijemePocM = "15";
                                    } elseif ($vrijemePocMin == 3) {
                                        $vrijemePocM = "30";
                                    } elseif ($vrijemePocMin == 0) {
                                        $vrijemePocM = "45";
                                    }
                                    $vrijemeP = "{$vrijemePocS}:{$vrijemePocM}";
                                    $vrijemeKrajS = floor(($kraj - 1) / 4 + 8);
                                    $vrijemeKrajMin = $kraj % 4;
                                    if ($vrijemeKrajMin == 1) {
                                        $vrijemeKrajM = "00";
                                    } elseif ($vrijemeKrajMin == 2) {
                                        $vrijemeKrajM = "15";
                                    } elseif ($vrijemeKrajMin == 3) {
                                        $vrijemeKrajM = "30";
                                    } elseif ($vrijemeKrajMin == 0) {
                                        $vrijemeKrajM = "45";
                                    }
                                    $vrijemeK = "{$vrijemeKrajS}:{$vrijemeKrajM}";
                                    $q3 = myquery("select obavezan from ponudakursa where predmet={$predmet}");
                                    if (mysql_num_rows($q3) > 0) {
                                        $obavezan = mysql_result($q3, 0, 0);
                                    }
                                    $broj_konflikata = prikaziKonflikte($id_stavke, 0);
                                    if ($labgrupa_naziv == "(Svi studenti)") {
                                        $labgrupa_naziv = "---";
                                    }
                                    print "\r\n\t\t\t\t\t\t\t\t\t\t<td colspan=\"{$interval}\">\r\n\t\t\t\t\t\t\t\t\t\t\t<table class=\"cas\" align=\"center\">";
                                    if ($broj_konflikata > 0) {
                                        print "\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td><a href=\"?sta=studentska/raspored1&raspored_za_edit={$raspored_za_edit}&konflikt={$id_stavke}\"><img src=\"images/16x16/log_error.png\" width=\"16\" height=\"16\" border=\"0\">{$broj_konflikata}</a></td>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>";
                                    }
                                    print "\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td><p class=\"bold\">{$tip}</p></td>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td><p class=\"plavo\">{$predmet_naziv}</p></td>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>";
                                    if ($tip != 'P') {
                                        print "\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td><p class=\"bold\">{$labgrupa_naziv}</p></td>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>";
                                    } else {
                                        print "\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td><p>---</p></td>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>";
                                    }
                                    print "\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td><p class=\"plavo\">{$sala_naziv}</p></td>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td><p class=\"mala_slova\">{$vrijemeP}-{$vrijemeK}</p></td>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td><p><a  href=\"javascript:onclick=brisanje_casa('{$id_stavke}')\"> obriši čas </a></p></td>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t\t\t</table>\r\n\t\t\t\t\t\t\t\t\t\t</td>";
                                }
                            }
                        }
                    }
                    print "</tr>";
                }
                ?>
				
			</table>	
		<?php 
            } else {
                print "<p><a href=\"?sta=studentska/raspored1&raspored_za_edit={$raspored_za_edit}\">Vrati se nazad</a></p>";
                $id_stavke_sa_konfliktima = $_REQUEST['konflikt'];
                prikaziKonflikte($id_stavke_sa_konfliktima, 1);
            }
        } else {
            if ($uspjesno_unesen_raspored == 1) {
                nicemessage("Uspješno je unesen novi raspored.");
            }
            if ($uspjesno_obrisan_raspored == 1) {
                nicemessage("Raspored je uspješno obrisan.");
            }
            print "<p><a href=\"?sta=studentska/raspored1&edit_sala=1\">Administracija sala</a></p>";
            print "<hr></hr><h4>Dodavanje novog rasporeda:</h4>";
            print genform("POST", "forma_za_unos_rasporeda");
            ?>
		<input type="hidden" name="akcija" value="unos_novog_rasporeda">
		<?php 
            if ($greska_postoji_raspored == 1) {
                print "<p class=\"crveno\">Postoji raspored sa tim parametrima.</p>";
            }
            ?>
		<table id="raspored" cellpadding="3">
		<tr>
			<td align="left" width="120">Akademska godina:</td>
			<td>
				<select name="akademska_godina">
				<?php 
            $q0 = mysql_query("select id,naziv,aktuelna from akademska_godina order by naziv desc");
            while ($r0 = mysql_fetch_row($q0)) {
                print "<option value=\"{$r0['0']}\"";
                if ($greska_postoji_raspored == 1) {
                    if ($_POST['akademska_godina'] == $r0[0]) {
                        print " selected";
                    }
                } else {
                    if ($r0[2] == 1) {
                        print " selected";
                    }
                }
                print ">{$r0['1']}</option>\n";
            }
            ?>
				</select>
			</td>
		</tr>
		<tr>
			<td align="left" width="120">Studij:</td>
			<td>
				<select name="studij" id="studij">
				<?php 
            $q0 = mysql_query("select id,naziv from studij");
            while ($r0 = mysql_fetch_row($q0)) {
                print "<option value=\"{$r0['0']}\"";
                if ($greska_postoji_raspored == 1 && $r0[0] == $_POST['studij']) {
                    print " selected";
                }
                print ">{$r0['1']}</option>\n";
            }
            ?>
				</select>
			</td>
		</tr>
		<tr>
			<td align="left" width="120">Semestar:</td>
			<td>
	           	<select name="semestar">
	           		<?php 
            for ($i = 1; $i <= 6; $i++) {
                ?>
		           		<option value="<?php 
                echo $i;
                ?>
" <?php 
                if ($greska_postoji_raspored == 1 && $_POST['semestar'] == $i) {
                    print " selected";
                }
                ?>
><?php 
                echo $i;
                ?>
</option>

	                <?php 
            }
            ?>
	           	</select>	
			</td>
			<?php 
            if ($greska_prazan_kapacitet == 1) {
                print "<td><p class=\"crveno\">niste unijeli kapacitet</p></td>";
            }
            ?>
			<?php 
            if ($greska_kapacitet_nije_broj == 1) {
                print "<td><p class=\"crveno\">kapacitet treba biti broj</p></td>";
            }
            ?>
		</tr>
		<tr>
			<td></td>
			<td align="right"><input type="submit" value=" Dodaj "></td>
		</tr>
		</table>
		</form>
		<?php 
            echo genform("POST", "brisanjerasporeda");
            ?>
		<input type="hidden" name="akcija" value="obrisi_raspored">
		<input type="hidden" name="id_rasporeda_za_brisanje" id="id_rasporeda_za_brisanje" value=""></form>
		
		<hr></hr>
		<h4>Postojeći rasporedi:</h4>
		<table class="sale" border="1" cellspacing="0">
			<?php 
            $q1 = myquery("select id,studij,akademska_godina,semestar from raspored order by akademska_godina,studij,semestar");
            if (mysql_num_rows($q1) < 1) {
                print "<p>Nema kreiranih rasporeda</p>";
            } else {
                ?>
				<th>Studij</th>
				<th>Akademska godina</th>
				<th>Semestar</th>
				<th colspan="2">Akcije</th>
				<?php 
                for ($i = 0; $i < mysql_num_rows($q1); $i++) {
                    $id_rasporeda = mysql_result($q1, $i, 0);
                    $studij = mysql_result($q1, $i, 1);
                    $akademska_godina = mysql_result($q1, $i, 2);
                    $semestar = mysql_result($q1, $i, 3);
                    $q2 = myquery("select naziv from studij where id={$studij}");
                    $naziv_studija = mysql_result($q2, 0, 0);
                    $q3 = myquery("select naziv from akademska_godina where id={$akademska_godina}");
                    $naziv_akademske_godine = mysql_result($q3, 0, 0);
                    print "<tr>";
                    print "<td>{$naziv_studija}</td>";
                    print "<td>{$naziv_akademske_godine}</td>";
                    print "<td>{$semestar}</td>";
                    print "<td width=\"80\"><a  href=\"?sta=studentska/raspored1&raspored_za_edit={$id_rasporeda}\"> izmijeni </a></td>";
                    print "<td width=\"80\"><a  href=\"javascript:onclick=brisanje_rasporeda('{$id_rasporeda}')\"> obriši </a></td>";
                    print "</tr>";
                }
            }
            ?>
		</table>
		<br></br>
		<hr></hr>
		<h4>Kopiranje rasporeda:</h4>
		<?php 
            echo genform("POST", "kopiranjerasporeda");
            ?>
		<input type="hidden" name="akcija" value="kopiraj_raspored">
		<?php 
            $q01 = myquery("select id,naziv from akademska_godina order by id");
            print "<p>Kopiraj sve rasporede iz";
            print "<select name=\"izvor\">";
            for ($i = 0; $i < mysql_num_rows($q01); $i++) {
                $id = mysql_result($q01, $i, 0);
                $naziv = mysql_result($q01, $i, 1);
                print "<option value=\"{$id}\">{$naziv}</option>";
            }
            print "</select>";
            print "     u     ";
            print "<select name=\"odrediste\">";
            for ($i = 0; $i < mysql_num_rows($q01); $i++) {
                $id = mysql_result($q01, $i, 0);
                $naziv = mysql_result($q01, $i, 1);
                print "<option value=\"{$id}\">{$naziv}</option>";
            }
            print "</select>";
            print " akademsku godinu? ";
            print "<input type=\"submit\" value=\" OK \" onclick=\"javascript:kopiranjeSvihRasporeda()\"></p>";
        }
        // kraj stranice za rad sa rasporedom
    }
    ?>
</td></tr>
</table>
</center>
<?php 
}
Esempio n. 17
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>";
    }
}
Esempio n. 18
0
function saradnik_raspored($tip)
{
    global $userid, $user_nastavnik, $user_studentska;
    // Nizovi sa imenima termina
    $vrijeme_pocetak = array("0" => "08:00", "1" => "09:00", "2" => "10:00", "3" => "11:00", "4" => "12:00", "5" => "13:00", "6" => "14:00", "7" => "15:00", "8" => "16:00", "9" => "17:00", "10" => "18:00", "11" => "19:00", "12" => "20:00");
    $vrijeme_kraj = array("0" => "08:45", "1" => "09:45", "2" => "10:45", "3" => "11:45", "4" => "12:45", "5" => "13:45", "6" => "14:45", "7" => "15:45", "8" => "16:45", "9" => "17:45", "10" => "18:45", "11" => "19:45", "12" => "20:45");
    $dani_u_sedmici = array("", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota");
    ?>
	<h2> Podešavanje rasporeda</h2>
	<a href="index.php?sta=saradnik/intro">Povratak na početnu stranicu.</a><br /><br />
	
	<?php 
    // AKCIJA - DODAVANJE STAVKE U RASPORED
    if ($_REQUEST['akcija'] == "dodaj" && check_csrf_token()) {
        $dan = intval($_REQUEST['dan']);
        $predmet = intval($_REQUEST['predmet']);
        $tip = $_REQUEST['tip'];
        $vvrijeme_pocetak = intval($_REQUEST['vrijeme_pocetak']);
        $vvrijeme_kraj = intval($_REQUEST['vrijeme_kraj']);
        $fini_pocetak = $_REQUEST['fini_pocetak'];
        $fini_kraj = $_REQUEST['fini_kraj'];
        $sala = intval($_REQUEST['sala']);
        if ($_REQUEST['javan']) {
            $privatno = 0;
        } else {
            $privatno = $userid;
        }
        $labgrupa = intval($_REQUEST['labgrupa']);
        $greska = "";
        if ($dan == 0) {
            $greska .= "Niste izabrali dan u sedmici. ";
        }
        if ($tip != "P" && $tip != "T" && $tip != "L") {
            $greska .= "Pogrešan tip časa. ";
        }
        if ($vvrijeme_kraj < $vvrijeme_pocetak) {
            $greska .= "Čas se ne može završiti prije nego što počne! ";
        }
        $matches = array();
        if (!preg_match("/^(\\d\\d)\\:(\\d\\d)\\:(\\d\\d)\$/", $fini_pocetak, $matches)) {
            $greska .= "Precizno vrijeme početka nije u ispravnom formatu. ";
        }
        $pocstamp = mktime($matches[1], $matches[2], $matches[3]);
        if (!preg_match("/^(\\d\\d)\\:(\\d\\d)\\:(\\d\\d)\$/", $fini_kraj, $matches)) {
            $greska .= "Precizno vrijeme kraja nije u ispravnom formatu. ";
        }
        $krajstamp = mktime($matches[1], $matches[2], $matches[3]);
        if ($greska == "" && $krajstamp < $pocstamp) {
            $greska .= "Čas se ne može završiti prije nego što počne! (precizno vrijeme) ";
        }
        if ($greska != "") {
            niceerror($greska);
            print "<a href=\"javascript:history.back();\">Nazad</a>";
            return;
        }
        $q200 = myquery("select id from akademska_godina where aktuelna=1");
        $ag = mysql_result($q200, 0, 0);
        if ($labgrupa == 0) {
            ?>
			<b>Upravo u raspored dodajete čas sa sljedećim podacima:</b><br />
			Dan u sedmici: <?php 
            echo $dani_u_sedmici[$dan];
            ?>
<br />
			Predmet: <?php 
            $q300 = myquery("select naziv from predmet where id={$predmet}");
            print mysql_result($q300, 0, 0);
            ?>
<br />
			Tip časa: <?php 
            echo $tip;
            ?>
<br />
			Trajanje časa: <?php 
            echo $vrijeme_pocetak[$vvrijeme_pocetak];
            ?>
 - <?php 
            echo $vrijeme_kraj[$vvrijeme_kraj];
            ?>
<br />
			<?php 
            if ($fini_pocetak != "00:00:00") {
                ?>
					Preciznije trajanje: <?php 
                echo $fini_pocetak . " - " . $fini_kraj;
                ?>
<br />
					<?php 
            }
            ?>
			Sala: <?php 
            $q310 = myquery("select naziv from raspored_sala where id={$sala}");
            print mysql_result($q310, 0, 0);
            ?>
<br />
			<?php 
            if ($privatno == 0) {
                print "Vidljivo studentima<br />";
            } else {
                print "Nije vidljivo studentima<br />";
            }
            ?>
			Ako neki od ovih podataka nije tačan, <a href="javascript:history.back();">vratite se nazad</a>.<br /><br />
			
			<?php 
            echo genform("POST");
            ?>
			Da li je ovaj čas specifičan za jednu od grupa na predmetu ili je zajednički za sve?<br />
			Izaberite grupu: <select name="labgrupa">
				<option value="-1">Zajednički za sve</option>
				<?php 
            $q199 = myquery("select id, naziv from labgrupa where predmet={$predmet} and akademska_godina={$ag} and virtualna=0 order by naziv");
            while ($r199 = mysql_fetch_row($q199)) {
                print "<option value=\"{$r199['0']}\">{$r199['1']}</option>";
            }
            ?>
			</select><br />
			<input type="submit" value=" Potvrda ">
			</form>
			<?php 
            return;
        }
        if ($labgrupa == -1) {
            $labgrupa = 0;
        }
        // Dodati studij, semestar
        $q210 = myquery("select id from raspored where akademska_godina={$ag} and privatno={$privatno}");
        if (mysql_num_rows($q210) < 1) {
            $q220 = myquery("insert into raspored set studij=0, semestar=0, akademska_godina={$ag}, privatno={$privatno}, aktivan=1");
            $id_rasporeda = mysql_insert_id();
            zamgerlog("kreiran raspored {$id_rasporeda}", 2);
        } else {
            $id_rasporeda = mysql_result($q210, 0, 0);
        }
        $q230 = myquery("insert into raspored_stavka set raspored={$id_rasporeda}, dan_u_sedmici={$dan}, predmet={$predmet}, labgrupa={$labgrupa}, vrijeme_pocetak={$vvrijeme_pocetak}, vrijeme_kraj={$vvrijeme_kraj}, sala={$sala}, tip='{$tip}', dupla=0, isjeckana=0, fini_pocetak='{$fini_pocetak}', fini_kraj='{$fini_kraj}'");
        zamgerlog("dodana stavka " . mysql_insert_id() . " u raspored {$id_rasporeda}", 2);
        nicemessage("Dodavanje časa u raspored uspjelo!");
        print "<a href=\"?sta=saradnik/raspored\">Nastavak</a>";
        return;
    }
    // AKCIJA - potvrda izmjene
    if ($_REQUEST['akcija'] == "potvrda_izmjene" && check_csrf_token()) {
        $id_stavke = intval($_REQUEST['id_stavke']);
        $dan = intval($_REQUEST['dan']);
        $predmet = intval($_REQUEST['predmet']);
        $tip = $_REQUEST['tip'];
        $vvrijeme_pocetak = intval($_REQUEST['vrijeme_pocetak']);
        $vvrijeme_kraj = intval($_REQUEST['vrijeme_kraj']);
        $fini_pocetak = $_REQUEST['fini_pocetak'];
        $fini_kraj = $_REQUEST['fini_kraj'];
        $sala = intval($_REQUEST['sala']);
        if ($_REQUEST['javan']) {
            $privatno = 0;
        } else {
            $privatno = $userid;
        }
        $labgrupa = intval($_REQUEST['labgrupa']);
        $greska = "";
        if ($dan == 0) {
            $greska .= "Niste izabrali dan u sedmici. ";
        }
        if ($tip != "P" && $tip != "T" && $tip != "L") {
            $greska .= "Pogrešan tip časa. ";
        }
        if ($vvrijeme_kraj < $vvrijeme_pocetak) {
            $greska .= "Čas se ne može završiti prije nego što počne! ";
        }
        $matches = array();
        if (!preg_match("/^(\\d\\d)\\:(\\d\\d)\\:(\\d\\d)\$/", $fini_pocetak, $matches)) {
            $greska .= "Precizno vrijeme početka nije u ispravnom formatu. ";
        }
        $pocstamp = mktime($matches[1], $matches[2], $matches[3]);
        if (!preg_match("/^(\\d\\d)\\:(\\d\\d)\\:(\\d\\d)\$/", $fini_kraj, $matches)) {
            $greska .= "Precizno vrijeme kraja nije u ispravnom formatu. ";
        }
        $krajstamp = mktime($matches[1], $matches[2], $matches[3]);
        if ($greska == "" && $krajstamp < $pocstamp) {
            $greska .= "Čas se ne može završiti prije nego što počne! (precizno vrijeme) ";
        }
        if ($greska != "") {
            niceerror($greska);
            print "<a href=\"javascript:history.back();\">Nazad</a>";
            return;
        }
        $q200 = myquery("select id from akademska_godina where aktuelna=1");
        $ag = mysql_result($q200, 0, 0);
        // Dodati studij, semestar
        $q210 = myquery("select id from raspored where akademska_godina={$ag} and privatno={$privatno}");
        if (mysql_num_rows($q210) < 1) {
            $q220 = myquery("insert into raspored set studij=0, semestar=0, akademska_godina={$ag}, privatno={$privatno}, aktivan=1");
            $id_rasporeda = mysql_insert_id();
            zamgerlog("kreiran raspored {$id_rasporeda}", 2);
        } else {
            $id_rasporeda = mysql_result($q210, 0, 0);
        }
        $q230 = myquery("update raspored_stavka set raspored={$id_rasporeda}, dan_u_sedmici={$dan}, predmet={$predmet}, labgrupa={$labgrupa}, vrijeme_pocetak={$vvrijeme_pocetak}, vrijeme_kraj={$vvrijeme_kraj}, sala={$sala}, tip='{$tip}', dupla=0, isjeckana=0, fini_pocetak='{$fini_pocetak}', fini_kraj='{$fini_kraj}' where id={$id_stavke}");
        zamgerlog("ažurirana stavka {$id_stavke} u rasporedu {$id_rasporeda}", 2);
        nicemessage("Ažuriranje časa u rasporedu uspjelo!");
        print "<a href=\"?sta=saradnik/raspored\">Nastavak</a>";
        return;
    }
    // SPISAK PREDMETA NA KOJIMA JE ANGAŽOVAN NASTAVNIK
    $q10 = myquery("select count(*) from student_studij as ss, akademska_godina as ag where ss.akademska_godina=ag.id and ag.aktuelna=1 and ss.semestar mod 2=0");
    if (mysql_num_rows($q10) > 0) {
        $neparni = 0;
    } else {
        $neparni = 1;
    }
    $whereCounter = 0;
    $spisak_predmeta = "";
    if ($user_studentska && $_REQUEST['dajsve'] == 1) {
        $q20 = myquery("SELECT pk.predmet, pk.akademska_godina, pk.semestar, p.id, p.naziv FROM \r\nponudakursa as pk, akademska_godina as ag, predmet as p WHERE pk.akademska_godina = ag.id and \r\nag.aktuelna=1 and pk.predmet=p.id");
    } else {
        if ($user_nastavnik) {
            $q20 = myquery("SELECT np.predmet, pk.akademska_godina, pk.semestar, p.id, p.naziv FROM nastavnik_predmet as np, ponudakursa as pk, akademska_godina as ag, predmet as p WHERE np.nastavnik = {$userid} AND pk.predmet = np.predmet AND np.predmet=p.id and pk.akademska_godina = ag.id and np.akademska_godina=ag.id and ag.aktuelna=1");
        } else {
            $q20 = myquery("SELECT pk.predmet, pk.akademska_godina, pk.semestar, p.id, p.naziv FROM student_predmet as sp, ponudakursa as pk, akademska_godina as ag, predmet as p WHERE sp.student = {$userid} AND pk.id = sp.predmet AND pk.akademska_godina = ag.id and ag.aktuelna=1 and pk.predmet=p.id");
        }
    }
    while ($r20 = mysql_fetch_row($q20)) {
        $ag = $r20[1];
        $semestar = $r20[2];
        if ($semestar % 2 != $neparni) {
            continue;
        }
        if ($whereCounter > 0) {
            $sqlPredmet .= " OR rs.predmet = " . $r20[0];
        } else {
            $sqlPredmet = " rs.predmet = " . $r20[0];
        }
        $whereCounter++;
        $spisak_predmeta .= "<option value=\"{$r20['3']}\">{$r20['4']}</option>\n";
    }
    if (strlen($sqlPredmet) > 0) {
        $sqlWhere = "(" . $sqlPredmet . ")";
    } else {
        $sqlWhere = "1=0";
    }
    // Nije angazovan nigdje, prikaži prazan raspored
    // AKCIJA - IZMJENA STAVKE
    if ($_REQUEST['akcija'] == "izmjena") {
        $rid = intval($_REQUEST['id']);
        $q400 = myquery("select rs.dan_u_sedmici, rs.predmet, rs.labgrupa, rs.vrijeme_pocetak, rs.vrijeme_kraj, rs.sala, rs.tip, rs.fini_pocetak, rs.fini_kraj, r.privatno from raspored_stavka as rs, raspored as r where rs.id={$rid} and rs.raspored=r.id");
        if (mysql_num_rows($q400) < 1) {
            niceerror("Nepoznata stavka u rasporedu");
            return;
        }
        $mdan = mysql_result($q400, 0, 0);
        $mpredmet = mysql_result($q400, 0, 1);
        $mgrupa = mysql_result($q400, 0, 2);
        $mpoc = mysql_result($q400, 0, 3);
        $mkraj = mysql_result($q400, 0, 4);
        $msala = mysql_result($q400, 0, 5);
        $mtip = mysql_result($q400, 0, 6);
        $mfinipoc = mysql_result($q400, 0, 7);
        $mfinikraj = mysql_result($q400, 0, 8);
        if (mysql_result($q400, 0, 9) == 0) {
            $javno = " checked";
        } else {
            $javno = "";
        }
        $spisak_predmeta = str_replace("option value=\"{$mpredmet}\"", "option value=\"{$mpredmet}\" selected", $spisak_predmeta);
        ?>
		<b>Izmijenite čas u rasporedu:</b><br /><br />
		<?php 
        echo genform("POST");
        ?>
		<input type="hidden" name="akcija" value="potvrda_izmjene">
		<input type="hidden" name="id_stavke" value="<?php 
        echo $rid;
        ?>
">
		Dan u sedmici: <select name="dan"><?php 
        foreach ($dani_u_sedmici as $id => $ime) {
            if ($id == $mdan) {
                $sel = " selected";
            } else {
                $sel = "";
            }
            print "<option value=\"{$id}\" {$sel}>{$ime}</option>\n";
        }
        ?>
</select><br />
		Predmet: <select name="predmet"><?php 
        echo $spisak_predmeta;
        ?>
</select><br />
		Tip časa: <select name="tip">
			<option value="P" <?php 
        if ($mtip == "P") {
            print "selected";
        }
        ?>
>Predavanja</option>
			<option value="T" <?php 
        if ($mtip == "T") {
            print "selected";
        }
        ?>
>Tutorijali</option>
			<option value="L" <?php 
        if ($mtip == "L") {
            print "selected";
        }
        ?>
>Laboratorijske vježbe</option>
		</select><br />
		<br />
		Početak časa: <select name="vrijeme_pocetak"><?php 
        foreach ($vrijeme_pocetak as $id => $ime) {
            if ($id == $mpoc) {
                $sel = " selected";
            } else {
                $sel = "";
            }
            print "<option value=\"{$id}\" {$sel}>{$ime}</option>\n";
        }
        ?>
</select><br />
		Završetak časa: <select name="vrijeme_kraj"><?php 
        foreach ($vrijeme_kraj as $id => $ime) {
            if ($id == $mkraj) {
                $sel = " selected";
            } else {
                $sel = "";
            }
            print "<option value=\"{$id}\" {$sel}>{$ime}</option>\n";
        }
        ?>
</select><br /><br />
		Ako vrijednosti izabrane iznad nisu dovoljno precizne, unesite precizniju vrijednost vremena u polje ispod (u formatu hh:mm:ss)<br />
		Preciznije vrijeme početka: <input type="text" name="fini_pocetak" size="10" value="<?php 
        echo $mfinipoc;
        ?>
" /><br />
		Preciznije vrijeme završetka: <input type="text" name="fini_kraj" size="10" value="<?php 
        echo $mfinikraj;
        ?>
" /><br /><br />
		Sala: <select name="sala"><?php 
        $q100 = myquery("select id,naziv, kapacitet, tip from raspored_sala order by naziv");
        while ($r100 = mysql_fetch_row($q100)) {
            if ($r100[3] != "") {
                $r100[3] = ", " . $r100[3];
            }
            if ($r100[0] == $msala) {
                $sel = " selected";
            } else {
                $sel = "";
            }
            print "<option value=\"{$r100['0']}\" {$sel}>{$r100['1']} ({$r100['2']} mjesta{$r100['3']})</option>\n";
        }
        ?>
</select><br />
		Nastavna grupa: <select name="labgrupa"><?php 
        if ($mgrupa == 0) {
            $sel = " selected";
        } else {
            $sel = "";
        }
        print "<option value=\"0\" {$sel}>Zajednički za sve</option>\n";
        $q410 = myquery("select id from akademska_godina where aktuelna=1");
        $ag = mysql_result($q410, 0, 0);
        $q420 = myquery("select id, naziv from labgrupa where predmet={$mpredmet} and akademska_godina={$ag} order by naziv");
        while ($r420 = mysql_fetch_row($q420)) {
            if ($r420[0] == $mgrupa) {
                $sel = " selected";
            } else {
                $sel = "";
            }
            print "<option value=\"{$r420['0']}\" {$sel}>{$r420['1']}</option>\n";
        }
        ?>
</select><br />
		Da li želite da čas bude vidljiv svima? <input type="checkbox" name="javan" <?php 
        echo $javno;
        ?>
> DA<br />
		<br />
		<input type="submit" value=" Potvrdite izmjene časa ">
		</form>
		<?php 
        return;
    }
    // DODAVANJE ČASA U RASPORED
    ?>
	<b>Dodajte čas u raspored:</b><br /><br />
	<?php 
    echo genform("POST");
    ?>
	<input type="hidden" name="akcija" value="dodaj">
	Dan u sedmici: <select name="dan"><?php 
    foreach ($dani_u_sedmici as $id => $ime) {
        print "<option value=\"{$id}\">{$ime}</option>\n";
    }
    ?>
</select><br />
	Predmet: <select name="predmet"><?php 
    echo $spisak_predmeta;
    ?>
</select><br />
	Tip časa: <select name="tip">
		<option value="P">Predavanja</option>
		<option value="T">Tutorijali</option>
		<option value="L">Laboratorijske vježbe</option>
	</select><br />
	<br />
	Početak časa: <select name="vrijeme_pocetak"><?php 
    foreach ($vrijeme_pocetak as $id => $ime) {
        print "<option value=\"{$id}\">{$ime}</option>\n";
    }
    ?>
</select><br />
	Završetak časa: <select name="vrijeme_kraj"><?php 
    foreach ($vrijeme_kraj as $id => $ime) {
        print "<option value=\"{$id}\">{$ime}</option>\n";
    }
    ?>
</select><br /><br />
	Ako vrijednosti izabrane iznad nisu dovoljno precizne, unesite precizniju vrijednost vremena u polje ispod (u formatu hh:mm:ss)<br />
	Preciznije vrijeme početka: <input type="text" name="fini_pocetak" size="10" value="00:00:00" /><br />
	Preciznije vrijeme završetka: <input type="text" name="fini_kraj" size="10" value="00:00:00" /><br /><br />
	Sala: <select name="sala"><?php 
    $q100 = myquery("select id,naziv, kapacitet, tip from raspored_sala order by naziv");
    while ($r100 = mysql_fetch_row($q100)) {
        if ($r100[3] != "") {
            $r100[3] = ", " . $r100[3];
        }
        print "<option value=\"{$r100['0']}\">{$r100['1']} ({$r100['2']} mjesta{$r100['3']})</option>\n";
    }
    ?>
</select><br />
	Da li želite da čas bude vidljiv svima? <input type="checkbox" name="javan"> DA<br />
	<br />
	<input type="submit" value=" Dodaj čas u raspored ">
	</form>
	<p>&nbsp;</p>
	
	<?php 
    // TRENUTNI RASPORED
    ?>

	<b>Vaš trenutni raspored:</b>
	<br /><br />
	<?php 
    $q30 = myquery("SELECT rs.id, p.naziv as naz, p.kratki_naziv, rs.dan_u_sedmici, rs.tip, rs.vrijeme_pocetak, rs.vrijeme_kraj, rs.labgrupa, rsala.naziv, rs.fini_pocetak, rs.fini_kraj, r.privatno\r\n\tFROM raspored_stavka as rs, raspored_sala as rsala, predmet as p, raspored as r, akademska_godina as ag\r\n\tWHERE " . $sqlWhere . " AND rsala.id=rs.sala AND p.id=rs.predmet AND rs.raspored=r.id and r.akademska_godina=ag.id and ag.aktuelna=1 and (r.privatno=0 or r.privatno={$userid})\r\n\tORDER BY rs.dan_u_sedmici ASC, rs.vrijeme_pocetak ASC, rs.id ASC");
    if (mysql_num_rows($q30) == 0) {
        print "<br />Nijedan čas nije definisan u vašem rasporedu.";
    }
    $old_dan = -1;
    while ($r30 = mysql_fetch_row($q30)) {
        if ($r30[3] != $old_dan) {
            print "</ul><br />" . $dani_u_sedmici[$r30[3]] . "<ul>";
            $old_dan = $r30[3];
        }
        if ($r30[4] == "P") {
            $tip = "Predavanja";
        } else {
            if ($r30[4] == "T") {
                $tip = "Tutorijali";
            } else {
                $tip = "Laboratorijske vježbe";
            }
        }
        ?>
		<li><?php 
        echo $vrijeme_pocetak[$r30[5]] . " - " . $vrijeme_kraj[$r30[6]];
        ?>
, <b><?php 
        echo $r30[1];
        ?>
</b> ( <a href="?sta=saradnik/raspored&akcija=izmjena&id=<?php 
        echo $r30[0];
        ?>
">izmijeni</a> )<br />
		<?php 
        if ($r30[9] != "00:00:00") {
            ?>
			Preciznije vrijeme: <?php 
            echo substr($r30[9], 0, 5);
            ?>
 - <?php 
            echo substr($r30[10], 0, 5);
            ?>
<br />
			<?php 
        }
        ?>
		Sala: <?php 
        echo $r30[8];
        ?>
<br />
		Tip časa: <?php 
        echo $tip;
        ?>
<br />
		<?php 
        if ($r30[7] != 0) {
            $q40 = myquery("select naziv from labgrupa where id=" . $r30[7]);
            ?>
			Grupa: <?php 
            echo mysql_result($q40, 0, 0);
            ?>
<br />
			<?php 
        }
        ?>
		<?php 
        if ($r30[11] == 0) {
            print "Javno";
        } else {
            print "Privatno";
        }
        print "<br /></li>\n";
    }
}
Esempio n. 19
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";
    }
}
Esempio n. 20
0
<?php

$podnaslov = "Unos radnog mjesta";
$operacija = "dodavanje";
// Dodavanje
if (($_REQUEST['operacija'] == "dodavanje" || $_REQUEST['operacija'] == "izmjena_potvrda") && check_csrf_token()) {
    $id = intval($_REQUEST['id']);
    $pocetak_dan = intval($_REQUEST['pocetakday']);
    $pocetak_mjesec = intval($_REQUEST['pocetakmonth']);
    $pocetak_godina = intval($_REQUEST['pocetakyear']);
    $kraj_dan = intval($_REQUEST['krajday']);
    $kraj_mjesec = intval($_REQUEST['krajmonth']);
    $kraj_godina = intval($_REQUEST['krajyear']);
    $poslodavac = my_escape($_REQUEST['poslodavac']);
    $adresa_poslodavca = my_escape($_REQUEST['adresa_poslodavca']);
    $radno_mjesto = my_escape($_REQUEST['radno_mjesto']);
    $radno_mjesto_en = my_escape($_REQUEST['radno_mjesto_en']);
    $opis_radnog_mjesta = my_escape($_REQUEST['opis_radnog_mjesta']);
    $pocetak = mktime(0, 0, 0, $pocetak_mjesec, $pocetak_dan, $pocetak_godina);
    $kraj = mktime(0, 0, 0, $kraj_mjesec, $kraj_dan, $kraj_godina);
    // Validacija
    if ($kraj <= $pocetak) {
        niceerror("Datum kraja je prije datuma početka");
    } else {
        if (!preg_match("/\\w/", $poslodavac) || !preg_match("/\\w/", $radno_mjesto) || !preg_match("/\\w/", $radno_mjesto_en)) {
            niceerror("Nisu unesena sva obavezna polja");
        } else {
            if ($_REQUEST['operacija'] == "dodavanje") {
                $q10 = myquery("INSERT INTO hr_radno_iskustvo SET osoba={$osoba}, datum_pocetka=FROM_UNIXTIME({$pocetak}), datum_kraja=FROM_UNIXTIME({$kraj}), poslodavac='{$poslodavac}', adresa_poslodavca='{$adresa_poslodavca}', radno_mjesto='{$radno_mjesto}', radno_mjesto_en='{$radno_mjesto_en}', opis_radnog_mjesta='{$opis_radnog_mjesta}'");
                zamgerlog("dodano radno iskustvo", 2);
            } else {
Esempio n. 21
0
function nastavnik_raspored()
{
    ?>
<link href="css/raspored1.css" rel="stylesheet" type="text/css">
<?php 
    function vrijemeZaIspis($vrijeme)
    {
        $vrijemeS = floor(($vrijeme - 1) / 4 + 8);
        $vrijemeMin = $vrijeme % 4;
        if ($vrijemeMin == 1) {
            $vrijemeM = "00";
        } elseif ($vrijemeMin == 2) {
            $vrijemeM = "15";
        } elseif ($vrijemeMin == 3) {
            $vrijemeM = "30";
        } elseif ($vrijemeMin == 0) {
            $vrijemeM = "45";
        }
        $vrijemeIspis = "{$vrijemeS}:{$vrijemeM}";
        return $vrijemeIspis;
    }
    global $userid, $user_siteadmin;
    // 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 ulaska u ovu grupu!");
            return;
        }
    }
    if ($_POST['akcija'] == "promjena_grupe" && check_csrf_token()) {
        $novagrupa = intval($_POST['grupa']);
        $id_stavke = intval($_POST['stavka_rasporeda']);
        $q01 = myquery("update raspored_stavka set labgrupa={$novagrupa} where id={$id_stavke}");
        $q02 = myquery("update raspored_stavka set labgrupa={$novagrupa} where dupla={$id_stavke}");
        $uspjesno_promijenjena_grupa = 1;
        zamgerlog("promijenjena grupa za stavku rasporeda na predmetu {$predmet_naziv}", 2);
        zamgerlog2("promijenjena grupa za stavku rasporeda", $novagrupa, $id_stavke);
    }
    if ($_POST['akcija'] == "sjeckanje termina" && check_csrf_token()) {
        $presjek = intval($_POST['presjek']);
        $id_stavke = intval($_POST['stavka_rasp']);
        $q0 = myquery("select raspored,dan_u_sedmici,predmet,vrijeme_pocetak,vrijeme_kraj,sala,tip,labgrupa,dupla,isjeckana from raspored_stavka where id={$id_stavke}");
        $raspored = mysql_result($q0, 0, 0);
        $dan_u_sedmici = mysql_result($q0, 0, 1);
        $predmet = mysql_result($q0, 0, 2);
        $pocetak = mysql_result($q0, 0, 3);
        $kraj = mysql_result($q0, 0, 4);
        $sala = mysql_result($q0, 0, 5);
        $tip = mysql_result($q0, 0, 6);
        $labgrupa = mysql_result($q0, 0, 7);
        $dupla = mysql_result($q0, 0, 8);
        $isjeckana = mysql_result($q0, 0, 9);
        // $isjeckana=0 znaci da stavka nije nikako isjeckana i prikazuje se u rasporedu
        // $isjeckana=1 znači da je stavka izrezana i ne prikazuje se u rasporedu, a cuva sa u bazi radi vracanja na pocetne casove prije nego sto je nastavnik ista mijenjao
        // $isjeckana=2 predstavlja dijelove od isjeckane stavke
        $q1 = myquery("update raspored_stavka set isjeckana=1 where id={$id_stavke}");
        $q2 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored}, dan_u_sedmici={$dan_u_sedmici}, predmet={$predmet},\n\t\t\t\t\t\tvrijeme_pocetak={$pocetak},vrijeme_kraj={$presjek},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$dupla},isjeckana=2");
        $q21 = myquery("select max(id) from raspored_stavka");
        $id_prve_stavke = mysql_result($q21, 0, 0);
        $q3 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored}, dan_u_sedmici={$dan_u_sedmici}, predmet={$predmet},\n\t\t\t\t\t\tvrijeme_pocetak={$presjek},vrijeme_kraj={$kraj},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$dupla},isjeckana=2");
        $q31 = myquery("select max(id) from raspored_stavka");
        $id_druge_stavke = mysql_result($q31, 0, 0);
        $q0 = myquery("select raspored,dan_u_sedmici,predmet,vrijeme_pocetak,vrijeme_kraj,sala,tip,labgrupa,dupla,isjeckana,id from raspored_stavka where dupla={$id_stavke}");
        for ($i = 0; $i < mysql_num_rows($q0); $i++) {
            $raspored = mysql_result($q0, $i, 0);
            $dan_u_sedmici = mysql_result($q0, $i, 1);
            $predmet = mysql_result($q0, $i, 2);
            $pocetak = mysql_result($q0, $i, 3);
            $kraj = mysql_result($q0, $i, 4);
            $sala = mysql_result($q0, $i, 5);
            $tip = mysql_result($q0, $i, 6);
            $labgrupa = mysql_result($q0, $i, 7);
            $dupla = mysql_result($q0, $i, 8);
            $isjeckana = mysql_result($q0, $i, 9);
            $id_duple_stavke = mysql_result($q0, $i, 10);
            $q1 = myquery("update raspored_stavka set isjeckana=1 where id={$id_duple_stavke}");
            $q2 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored}, dan_u_sedmici={$dan_u_sedmici}, predmet={$predmet},\n\t\t\t\t\t\t\tvrijeme_pocetak={$pocetak},vrijeme_kraj={$presjek},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$id_prve_stavke},isjeckana=2");
            $q3 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored}, dan_u_sedmici={$dan_u_sedmici}, predmet={$predmet},\n\t\t\t\t\t\t\tvrijeme_pocetak={$presjek},vrijeme_kraj={$kraj},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$id_druge_stavke},isjeckana=2");
        }
        $uspjesno_razdvojena_stavka = 1;
        zamgerlog("Isjeckana stavka rasporeda", 2);
        zamgerlog2("isjeckana stavka rasporeda", $id_stavke);
    }
    ?>

<p>&nbsp;</p>
<p><h3><?php 
    echo $predmet_naziv;
    ?>
 - Raspored grupa</h3></p>
<h4>Početni spisak časova:</h4>
<table class="nastavnik_raspored" cellspacing="0" border="1">
	<tr>
	  	<th>Dan</th>
	    <th>Početak</th>
	    <th>Kraj</th>
	    <th>Sala</th>
	    <th>Tip</th>
	    <th>Grupa</th>
 	</tr>
	  	<?php 
    $q0 = myquery("select rs.dan_u_sedmici,rs.vrijeme_pocetak,rs.vrijeme_kraj,rs.sala,rs.tip,rs.labgrupa,rs.id from raspored_stavka rs,raspored r where rs.predmet={$predmet} \n\t    and rs.dupla=0 and rs.raspored=r.id and r.akademska_godina={$ag} and (rs.tip='T' or rs.tip='L') and (rs.isjeckana=0 or rs.isjeckana=1)\n\t    order by rs.dan_u_sedmici asc,rs.vrijeme_pocetak asc,rs.labgrupa asc");
    $qgrupe = myquery("select id,naziv from labgrupa where predmet={$predmet} and akademska_godina={$ag}");
    for ($i = 0; $i < mysql_num_rows($q0); $i++) {
        $dan = mysql_result($q0, $i, 0);
        $pocetak = mysql_result($q0, $i, 1);
        $kraj = mysql_result($q0, $i, 2);
        $sala = mysql_result($q0, $i, 3);
        $tip = mysql_result($q0, $i, 4);
        $labgrupa = mysql_result($q0, $i, 5);
        $id_stavke = mysql_result($q0, $i, 6);
        if ($dan == 1) {
            $dan_naziv = "Ponedjeljak";
        } elseif ($dan == 2) {
            $dan_naziv = "Utorak";
        } elseif ($dan == 3) {
            $dan_naziv = "Srijeda";
        } elseif ($dan == 4) {
            $dan_naziv = "Četvrtak";
        } elseif ($dan == 5) {
            $dan_naziv = "Petak";
        } elseif ($dan == 6) {
            $dan_naziv = "Subota";
        }
        $q1 = myquery("select naziv from raspored_sala where id={$sala}");
        $sala_naziv = mysql_result($q1, 0, 0);
        $vrijemeP = vrijemeZaIspis($pocetak);
        $vrijemeK = vrijemeZaIspis($kraj);
        if ($tip == 'P') {
            $tip_naziv = "Predavanje";
        } elseif ($tip == 'T') {
            $tip_naziv = "Tutorijal";
        } elseif ($tip == 'L') {
            $tip_naziv = "Laboratorija";
        }
        if ($labgrupa != -1) {
            $q2 = myquery("select naziv from labgrupa where id={$labgrupa}");
            $labgrupa_naziv = mysql_result($q2, 0, 0);
        } else {
            $labgrupa_naziv = "prazno";
        }
        ?>
	<tr>		
	    <td><?php 
        echo $dan_naziv;
        ?>
</td>
	    <td><?php 
        echo $vrijemeP;
        ?>
</td>
	    <td><?php 
        echo $vrijemeK;
        ?>
</td>
	    <td><?php 
        echo $sala_naziv;
        ?>
</td>
	    <td><?php 
        echo $tip_naziv;
        ?>
</td>
	    <td><?php 
        echo $labgrupa_naziv;
        ?>
</td>
	</tr>
    <?php 
    }
    ?>
  </tr>
</table>
<br><hr></hr>



<h4>Izmjena grupa i termina časova:</h4><br>
<?php 
    if ($uspjesno_promijenjena_grupa == 1) {
        nicemessage("Grupa je uspješno promijenjena.");
    }
    if ($uspjesno_razdvojena_stavka == 1) {
        nicemessage("Stavka je uspješno razdvojena na 2 termina.");
    }
    ?>
<table class="nastavnik_raspored" cellspacing="0" border="1">
	<tr>
	  	<th>Dan</th>
	    <th>Početak</th>
	    <th>Kraj</th>
	    <th>Sala</th>
	    <th>Tip</th>
	    <th>Grupa</th>
	    <th>Promjena grupe</th>
	    <th>Razdvajanje časa na 2 termina</th>
 	</tr>
	  	<?php 
    $q0 = myquery("select rs.dan_u_sedmici,rs.vrijeme_pocetak,rs.vrijeme_kraj,rs.sala,rs.tip,rs.labgrupa,rs.id from raspored_stavka rs,raspored r where rs.predmet={$predmet} \n\t    and rs.dupla=0 and rs.raspored=r.id and r.akademska_godina={$ag} and (rs.tip='T' or rs.tip='L') and (rs.isjeckana=0 or rs.isjeckana=2) order by rs.dan_u_sedmici asc,rs.vrijeme_pocetak asc,rs.labgrupa asc");
    $qgrupe = myquery("select id,naziv from labgrupa where predmet={$predmet} and akademska_godina={$ag}");
    for ($i = 0; $i < mysql_num_rows($q0); $i++) {
        $dan = mysql_result($q0, $i, 0);
        $pocetak = mysql_result($q0, $i, 1);
        $kraj = mysql_result($q0, $i, 2);
        $sala = mysql_result($q0, $i, 3);
        $tip = mysql_result($q0, $i, 4);
        $labgrupa = mysql_result($q0, $i, 5);
        $id_stavke = mysql_result($q0, $i, 6);
        if ($dan == 1) {
            $dan_naziv = "Ponedjeljak";
        } elseif ($dan == 2) {
            $dan_naziv = "Utorak";
        } elseif ($dan == 3) {
            $dan_naziv = "Srijeda";
        } elseif ($dan == 4) {
            $dan_naziv = "Četvrtak";
        } elseif ($dan == 5) {
            $dan_naziv = "Petak";
        } elseif ($dan == 6) {
            $dan_naziv = "Subota";
        }
        $q1 = myquery("select naziv from raspored_sala where id={$sala}");
        $sala_naziv = mysql_result($q1, 0, 0);
        $vrijemeP = vrijemeZaIspis($pocetak);
        $vrijemeK = vrijemeZaIspis($kraj);
        if ($tip == 'P') {
            $tip_naziv = "Predavanje";
        } elseif ($tip == 'T') {
            $tip_naziv = "Tutorijal";
        } elseif ($tip == 'L') {
            $tip_naziv = "Laboratorija";
        }
        if ($labgrupa != -1) {
            $q2 = myquery("select naziv from labgrupa where id={$labgrupa}");
            $labgrupa_naziv = mysql_result($q2, 0, 0);
        } else {
            $labgrupa_naziv = "prazno";
        }
        ?>
	<tr>		
	    <td><?php 
        echo $dan_naziv;
        ?>
</td>
	    <td><?php 
        echo $vrijemeP;
        ?>
</td>
	    <td><?php 
        echo $vrijemeK;
        ?>
</td>
	    <td><?php 
        echo $sala_naziv;
        ?>
</td>
	    <td><?php 
        echo $tip_naziv;
        ?>
</td>
	    <td><?php 
        echo $labgrupa_naziv;
        ?>
</td>
	    <td>
		    <?php 
        echo genform("POST");
        ?>
			<input type="hidden" name="akcija" value="promjena_grupe">
			<input type="hidden" name="stavka_rasporeda" value="<?php 
        echo $id_stavke;
        ?>
">
		    <select name="grupa">
		    	<option value="-1" <?php 
        if ($labgrupa == -1) {
            print " selected=\"selected\"";
        }
        ?>
>--prazno--</option>
		    	<?php 
        for ($j = 0; $j < mysql_num_rows($qgrupe); $j++) {
            $id = mysql_result($qgrupe, $j, 0);
            $naziv = mysql_result($qgrupe, $j, 1);
            print "<option value=\"{$id}\"";
            if ($id == $labgrupa) {
                print " selected=\"selected\"";
            }
            print ">{$naziv}</option>";
        }
        ?>
		    </select>
		    <input type="submit" value=" Promijeni ">
			</form>
	    </td>
	    <td>
	    <?php 
        if ($pocetak + 1 != $kraj) {
            ?>
	    	<table>
		    	<tr>
			    	<td>
					    <?php 
            echo genform("POST");
            ?>
						<input type="hidden" name="akcija" value="sjeckanje termina">
						<input type="hidden" name="stavka_rasp" value="<?php 
            echo $id_stavke;
            ?>
">
					    <select name="presjek">
					    	<?php 
            for ($j = $pocetak + 1; $j < $kraj; $j++) {
                $sredina = vrijemeZaIspis($j);
                print "<option value=\"{$j}\">{$vrijemeP} - {$sredina}  &nbsp&nbsp&nbsp&nbsp i &nbsp&nbsp&nbsp&nbsp {$sredina} - {$vrijemeK}</option>";
            }
            ?>
					    </select>
				    </td>
				    <td>
			    		<input type="submit" value=" Razdvoji ">
			    	</td>
				</form>
				</tr>
			</table>
		<?php 
        } else {
            print "<p>Ne može se više razdvajati!</p>";
        }
        ?>
	    </td>
	</tr>
    <?php 
    }
    ?>
  </tr>
</table>
<?php 
}
Esempio n. 22
0
function nastavnik_grupe()
{
    global $userid, $user_siteadmin;
    require "lib/manip.php";
    global $mass_rezultat;
    // za masovni unos studenata u grupe
    // 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;
    ?>
 - Grupe</h3></p>

<?php 
    ###############
    # Akcije
    ###############
    // Dodaj grupu
    if ($_POST['akcija'] == "nova_grupa" && check_csrf_token()) {
        $ime = my_escape($_POST['ime']);
        $tip = my_escape($_POST['tip']);
        $q2 = myquery("insert into labgrupa set naziv='{$ime}', predmet={$predmet}, tip='{$tip}', akademska_godina={$ag}, virtualna=0");
        zamgerlog2("kreirana labgrupa", mysql_insert_id(), $predmet, $ag, $ime);
        zamgerlog("dodana nova labgrupa '{$ime}' (predmet pp{$predmet} godina ag{$ag})", 4);
        // nivo 4: audit
    }
    // Obrisi grupu
    if ($_POST['akcija'] == "obrisi_grupu" && check_csrf_token()) {
        $grupaid = intval($_POST['grupaid']);
        // Provjera ispravnosti podataka
        $q29 = myquery("select predmet, akademska_godina from labgrupa where id={$grupaid}");
        if (mysql_num_rows($q29) < 1) {
            zamgerlog("nepostojeca labgrupa {$grupaid}", 3);
            zamgerlog2("nepostojeca labgrupa (brisanje)", $grupaid);
            niceerror("Pokušavate obrisati labgrupu koja ne postoji");
            return;
        }
        if (mysql_result($q29, 0, 0) != $predmet || mysql_result($q29, 0, 1) != $ag) {
            zamgerlog("labgrupa g{$grupaid} nije sa predmeta pp{$predmet} (ag{$ag})", 3);
            zamgerlog2("predmet i labgrupa se ne poklapaju (brisanje)", $predmet, $ag, $grupaid);
            niceerror("Predmet se ne poklapa");
            return;
        }
        // ispis svih studenata iz labgrupe
        $q30 = myquery("select student from student_labgrupa where labgrupa={$grupaid}");
        while ($r30 = mysql_fetch_row($q30)) {
            ispis_studenta_sa_labgrupe($r30[0], $grupaid);
            zamgerlog2("student ispisan sa grupe (brisanje)", intval($r30[0]), $grupaid);
        }
        // Sada mozemo obrisati casove jer je funkcija ispis_studenta... obrisala prisustvo
        $q35 = myquery("delete from cas where labgrupa={$grupaid}");
        // Konacno brišem grupu
        $q40 = myquery("delete from labgrupa where id={$grupaid}");
        zamgerlog("obrisana labgrupa {$grupaid} (predmet pp{$predmet})", 4);
        // nivo 4: audit
        zamgerlog2("obrisana labgrupa", intval($predmet), $ag, $grupaid);
    }
    // Promjena imena grupe
    if ($_POST['akcija'] == "preimenuj_grupu" && check_csrf_token()) {
        $grupaid = intval($_POST['grupaid']);
        $ime = my_escape($_POST['ime']);
        $tip = my_escape($_POST['tip']);
        // Provjera ispravnosti podataka
        $q29 = myquery("select predmet, akademska_godina from labgrupa where id={$grupaid}");
        if (mysql_num_rows($q29) < 1) {
            zamgerlog("nepostojeca labgrupa {$grupaid}", 3);
            zamgerlog2("nepostojeca labgrupa (preimenovanje)", $grupaid);
            niceerror("Pokušavate obrisati labgrupu koja ne postoji");
            return;
        }
        if (mysql_result($q29, 0, 0) != $predmet || mysql_result($q29, 0, 1) != $ag) {
            zamgerlog("labgrupa g{$grupaid} nije sa predmeta pp{$predmet} (ag{$ag})", 3);
            zamgerlog2("predmet i labgrupa se ne poklapaju (preimenovanje)", $predmet, $ag, $grupaid);
            niceerror("Predmet se ne poklapa");
            return;
        }
        $q50 = myquery("update labgrupa set naziv='{$ime}', tip='{$tip}' where id={$grupaid}");
        // Grupa treba ostati otvorena:
        $_GET['akcija'] = "studenti_grupa";
        $_GET['grupaid'] = $grupaid;
        zamgerlog("preimenovana labgrupa {$grupaid} u '{$ime}' (predmet pp{$predmet} godina ag{$ag})", 2);
        // nivo 2: edit
        zamgerlog2("preimenovana labgrupa", $grupaid, 0, 0, $ime);
    }
    // Kopiraj grupe
    if ($_POST['akcija'] == "kopiraj_grupe" && check_csrf_token()) {
        $kopiraj = intval($_POST['kopiraj']);
        if ($kopiraj == $predmet) {
            zamgerlog("kopiranje sa istog predmeta pp{$predmet}", 3);
            zamgerlog2("kopiranje grupa sa istog predmeta", $predmet, $ag);
            niceerror("Ne možete kopirati grupe sa istog predmeta.");
            return;
        }
        // Spisak labgrupa na odabranom predmetu
        $q60 = myquery("select id, naziv, tip from labgrupa where predmet={$kopiraj} and akademska_godina={$ag} and virtualna=0");
        if (mysql_num_rows($q60) == 0) {
            zamgerlog("kopiranje sa predmeta pp{$kopiraj} na kojem nema grupa", 3);
            zamgerlog2("kopiranje sa predmeta na kojem nema grupa", $kopiraj, $ag, $predmet);
            niceerror("Na odabranom predmetu nije definisana nijedna grupa.");
        }
        while ($r60 = mysql_fetch_row($q60)) {
            $staragrupa = $r60[0];
            $imegrupe = $r60[1];
            $tipgrupe = $r60[2];
            // Da li već postoji grupa sa tim imenom?
            $q70 = myquery("select id from labgrupa where predmet={$predmet} and naziv='{$imegrupe}' and akademska_godina={$ag}");
            if (mysql_num_rows($q70) == 0) {
                $q80 = myquery("insert into labgrupa set naziv='{$imegrupe}', predmet={$predmet}, akademska_godina={$ag}, tip='{$tipgrupe}'");
                $q70 = myquery("select id from labgrupa where predmet={$predmet} and naziv='{$imegrupe}' and akademska_godina={$ag}");
                zamgerlog2("kreirana labgrupa (kopiranje)", intval(mysql_result($q70, 0, 0)), $predmet, $ag, $imegrupe);
            }
            $novagrupa = mysql_result($q70, 0, 0);
            // Spisak studenata u grupi koja se kopira
            $q100 = myquery("select student from student_labgrupa where labgrupa={$staragrupa}");
            while ($r100 = mysql_fetch_row($q100)) {
                $student = $r100[0];
                // Da li student uopste slusa ovaj predmet?
                $q110 = myquery("select o.ime, o.prezime from student_predmet as sp, osoba as o, ponudakursa as pk where sp.student={$student} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag} and o.id={$student}");
                if (mysql_num_rows($q110) < 1) {
                    // Pošto upit nije vratio ništa, moramo nekako saznati ime i prezime
                    $q120 = myquery("select ime, prezime from osoba where id={$student}");
                    print "-- Student " . mysql_result($q120, 0, 0) . " " . mysql_result($q120, 0, 1) . " ne sluša ovaj predmet, pa ćemo ga preskočiti.<br/>";
                    continue;
                }
                // Ispis studenta sa svih grupa u kojima je trenutno
                $q130 = myquery("select sl.labgrupa from student_labgrupa as sl, labgrupa as l where sl.student={$student} and sl.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag} and sl.labgrupa!={$novagrupa} and l.virtualna=0");
                while ($r130 = mysql_fetch_row($q130)) {
                    ispis_studenta_sa_labgrupe($student, $r130[0]);
                    zamgerlog2("student ispisan sa grupe (kopiranje)", $student, $r130[0]);
                }
                // Upis u novu grupu
                $q140 = myquery("select count(*) from student_labgrupa where student={$student} and labgrupa={$novagrupa}");
                if (mysql_result($q140, 0, 0) < 1) {
                    $q150 = myquery("insert into student_labgrupa set labgrupa={$novagrupa}, student={$student}");
                    zamgerlog2("student upisan u grupu (kopiranje)", intval($student), intval($novagrupa));
                    //print "Upisujem studenta $student u grupu $novagrupa<br/>";
                }
            }
        }
        zamgerlog("prekopirane labgrupe sa predmeta pp{$kopiraj} u pp{$predmet}", 4);
        zamgerlog2("prekopirane labgrupe", $kopiraj, $ag);
    }
    // Masovni unos studenata u grupe
    if ($_POST['akcija'] == "massinput" && strlen($_POST['nazad']) < 1 && check_csrf_token()) {
        if ($_POST['fakatradi'] != 1) {
            $ispis = 1;
        } else {
            $ispis = 0;
        }
        if ($ispis) {
            ?>
Akcije koje će biti urađene:<br/><br/>
		<?php 
            echo genform("POST");
            ?>
		<input type="hidden" name="fakatradi" value="1">
		<table border="0" cellspacing="1" cellpadding="2">
		<!-- FIXME: prebaciti stilove u CSS? -->
		<thead>
		<tr bgcolor="#999999">
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Prezime</font></td>
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Ime</font></td>
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Akcije</font></td>
		</tr>
		</thead>
		<tbody>
		<?php 
        }
        $greska = mass_input($ispis);
        // Funkcija koja parsira podatke
        // Cache IDova grupa prema imenu
        $idovi_grupa = array();
        // Spisak studenata
        $boja1 = "#EEEEEE";
        $boja2 = "#DDDDDD";
        $boja = $boja1;
        $bojae = "#FFE3DD";
        foreach ($mass_rezultat['ime'] as $student => $ime) {
            $prezime = $mass_rezultat['prezime'][$student];
            // Ispis studenta iz svih grupa
            $ispisispis = "";
            $ispis_grupe = $upis_grupe = array();
            $q230 = myquery("select l.id,l.naziv from labgrupa as l, student_labgrupa as sl where sl.student={$student} and sl.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag} and l.virtualna=0");
            $found = 1;
            while ($r230 = mysql_fetch_row($q230)) {
                $ispis_grupe[$r230[0]] = $r230[1];
                if (!in_array($r230[1], $mass_rezultat['podatak1'][$student])) {
                    $found = 0;
                }
            }
            if ($found == 1 && mysql_num_rows($q230) > 0) {
                if ($ispis) {
                    ?>
				<tr bgcolor="<?php 
                    echo $boja;
                    ?>
">
					<td><?php 
                    echo $prezime;
                    ?>
</td><td><?php 
                    echo $ime;
                    ?>
</td>
					<td>Već upisan u grupu <?php 
                    foreach ($ispis_grupe as $gid => $gime) {
                        print "'{$gime}' ";
                    }
                    ?>
 - preskačem</td>
				</tr>
				<?php 
                    if ($boja == $boja1) {
                        $boja = $boja2;
                    } else {
                        $boja = $boja1;
                    }
                }
                continue;
            }
            // spisak grupa u koje treba upisati studenta
            foreach ($mass_rezultat['podatak1'][$student] as $imegrupe) {
                $imegrupe = trim($imegrupe);
                if ($imegrupe == "") {
                    continue;
                }
                // Da li grupa postoji u cache-u ?
                if (array_key_exists($imegrupe, $idovi_grupa)) {
                    $labgrupa = $idovi_grupa[$imegrupe];
                    // Ne postoji, tražimo u bazi
                } else {
                    // Da li je ime ispravno?
                    if (!preg_match("/\\w/", $imegrupe)) {
                        ?>
					<tr bgcolor="<?php 
                        echo $bojae;
                        ?>
">
						<td><?php 
                        echo $prezime;
                        ?>
</td><td><?php 
                        echo $ime;
                        ?>
</td>
						<td>neispravno ime grupe '<?php 
                        echo $imegrupe;
                        ?>
'</td>
					</tr>
					<?php 
                        $greska = 1;
                        continue;
                    }
                    // Određujemo ID grupe
                    $q210 = myquery("select id from labgrupa where naziv='{$imegrupe}' and predmet={$predmet} and akademska_godina={$ag}");
                    if (mysql_num_rows($q210) < 1) {
                        // Grupa ne postoji - kreiramo je
                        if ($ispis) {
                            ?>
						<tr bgcolor="<?php 
                            echo $boja;
                            ?>
">
							<td colspan="3">Kreiranje nove grupe '<?php 
                            echo $imegrupe;
                            ?>
'</td>
						</tr>
						<?php 
                            if ($boja == $boja1) {
                                $boja = $boja2;
                            } else {
                                $boja = $boja1;
                            }
                        } else {
                            $q220 = myquery("insert into labgrupa set naziv='{$imegrupe}', predmet={$predmet}, akademska_godina={$ag}, tip='vjezbe+tutorijali', virtualna=0");
                            $labgrupa = mysql_insert_id();
                            zamgerlog2("kreirana labgrupa (masovni unos)", intval($labgrupa), 0, 0, $imegrupe);
                        }
                    } else {
                        $labgrupa = mysql_result($q210, 0, 0);
                    }
                    $idovi_grupa[$imegrupe] = $labgrupa;
                }
                // Da li je grupa već jednom spomenuta?
                foreach ($upis_grupe as $gid => $gime) {
                    if ($gid == $labgrupa) {
                        if ($ispis) {
                            ?>
						<tr bgcolor="<?php 
                            echo $bojae;
                            ?>
">
							<td><?php 
                            echo $prezime;
                            ?>
</td><td><?php 
                            echo $ime;
                            ?>
</td>
							<td>Grupa '<?php 
                            echo $gime;
                            ?>
' je navedena dvaput - greška?</td>
						</tr>
						<?php 
                        }
                        continue;
                    }
                }
                $upis_grupe[$labgrupa] = $imegrupe;
            }
            // Obavljam ispisivanje i upisivanje u grupe
            if ($ispis) {
                // na ekran
                ?>
			<tr bgcolor="<?php 
                echo $boja;
                ?>
">
				<td><?php 
                echo $prezime;
                ?>
</td><td><?php 
                echo $ime;
                ?>
</td>
				<td>
			<?php 
                foreach ($ispis_grupe as $gid => $gime) {
                    print "Ispis iz grupe '{$gime}'<br />\n";
                }
                foreach ($upis_grupe as $gid => $gime) {
                    print "Upis u grupu '{$gime}'<br />\n";
                }
                print "</td></tr>\n";
                if ($boja == $boja1) {
                    $boja = $boja2;
                } else {
                    $boja = $boja1;
                }
            } else {
                foreach ($ispis_grupe as $gid => $gime) {
                    ispis_studenta_sa_labgrupe($student, $gid);
                    zamgerlog2("student ispisan sa grupe (masovni unos)", $student, $gid);
                }
                foreach ($upis_grupe as $gid => $gime) {
                    $q240 = myquery("insert into student_labgrupa set student={$student}, labgrupa={$gid}");
                    zamgerlog2("student upisan u grupu (masovni unos)", $student, $gid);
                }
            }
        }
        // Potvrda i Nazad
        if ($ispis) {
            if ($greska != 0) {
                ?>
			</tbody></table>
			<p>U unesenim podacima ima grešaka. Da li ste izabrali ispravan format ("Prezime[TAB]Ime" vs. "Prezime Ime")?Vratite se nazad kako biste ovo popravili.</p>
			<p>NAPOMENA: Upis studenata na predmet može vršiti samo studentska služba. Ukoliko na spisku nedostaje neki student koji sluša vaš predmet, kontaktirajte službu radi razjašnjenja nesporazuma.</p>
			<p><input type="submit" name="nazad" value=" Nazad "></p>
			</form>
			<?php 
            } else {
                if (count($mass_rezultat) == 0) {
                    ?>
			</tbody></table>
			<p>Niste unijeli nijedan koristan podatak.</p>
			<p><input type="submit" name="nazad" value=" Nazad "></p>
			</form>
			<?php 
                } else {
                    ?>
			</tbody></table>
			<p>Potvrdite kreiranje grupa i upis studenata u grupe ili se vratite na prethodni ekran.</p>
			<p><input type="submit" name="nazad" value=" Nazad "> <input type="submit" value=" Potvrda"></p>
			</form>
			<?php 
                }
            }
            return;
        } else {
            zamgerlog("masovan upis grupa za predmet pp{$predmet}", 4);
            ?>
		Masovan upis studenata u grupe je uspješno obavljen.
		<script language="JavaScript">
		location.href='?sta=nastavnik/grupe&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
';
		</script>
		<?php 
        }
    }
    ###############
    # Prikaz grupa
    ###############
    ?>
<script language="JavaScript">
function upozorenje(grupa) {
	var a = confirm("Svi studenti će biti ispisani iz ove grupe.");
	if (a) {
		document.getElementById('grupaid').value=grupa;
		document.brisanjegrupe.submit();
	}
}
</script>
<?php 
    echo genform("POST", "brisanjegrupe");
    ?>
<input type="hidden" name="akcija" value="obrisi_grupu">
<input type="hidden" name="grupaid" id="grupaid" value=""></form>

Spisak grupa:<br/>
<?php 
    $q100 = myquery("select id, naziv, tip from labgrupa where predmet={$predmet} and akademska_godina={$ag} and virtualna=0 order by id");
    // TODO: koristiti natsort za sortiranje grupa
    print "<ul>\n";
    if (mysql_num_rows($q100) == 0) {
        print "<li>Nema definisanih grupa</li>\n";
    }
    $tip_selektovan = array();
    while ($r100 = mysql_fetch_row($q100)) {
        $grupa = $r100[0];
        $naziv = $r100[1];
        if (!preg_match("/\\w/", $naziv)) {
            print "<li>[Nema imena] - ";
        } else {
            print "<li>{$naziv} - ";
        }
        $q110 = myquery("select count(*) from student_labgrupa where labgrupa={$grupa}");
        $brstud = mysql_result($q110, 0, 0);
        print "(<a href=\"?sta=nastavnik/grupe&predmet={$predmet}&ag={$ag}&akcija=studenti_grupa&grupaid={$grupa}\">{$brstud} studenata</a>) - ";
        print "<a href=\"javascript:onclick=upozorenje('{$grupa}')\">Obriši grupu</a></li>";
        //print "</li>\n";
        if ($_GET['akcija'] == "studenti_grupa" && $_GET['grupaid'] == $grupa) {
            print "<ul>\n";
            $q102 = myquery("select osoba.id,osoba.prezime,osoba.ime from student_labgrupa,osoba where student_labgrupa.student=osoba.id and student_labgrupa.labgrupa={$grupa} order by osoba.prezime,osoba.ime");
            while ($r102 = mysql_fetch_row($q102)) {
                ?>
<li><a href="#" onclick="javascript:window.open('?sta=saradnik/izmjena_studenta&student=<?php 
                echo $r102[0];
                ?>
&predmet=<?php 
                echo $predmet;
                ?>
&ag=<?php 
                echo $ag;
                ?>
','blah6','width=320,height=320');"><?php 
                print $r102[1] . " " . $r102[2] . "</a></li>\n";
            }
            print "</ul>";
            $zapamti_grupu = $naziv;
            $tip_selektovan[$r100[2]] = " SELECTED";
        }
    }
    print "</ul>\n";
    # Editovanje grupe
    if ($_GET['akcija'] == "studenti_grupa") {
        $gg = intval($_GET['grupaid']);
        ?>
<p>
	<?php 
        echo genform("POST");
        ?>
	<input type="hidden" name="akcija" value="preimenuj_grupu">
	<input type="hidden" name="grupaid" value="<?php 
        echo $gg;
        ?>
">
	Promijenite naziv grupe: <input type="text" name="ime" size="20" value="<?php 
        echo $zapamti_grupu;
        ?>
">
	Promijenite tip grupe: <select name="tip">
	<option value="predavanja" <?php 
        echo $tip_selektovan['predavanja'];
        ?>
>Grupa za predavanja</a>
	<option value="vjezbe" <?php 
        echo $tip_selektovan['vjezbe'];
        ?>
>Grupa za vježbe</a>
	<option value="tutorijali" <?php 
        echo $tip_selektovan['tutorijali'];
        ?>
>Grupa za tutorijale</a>
	<option value="vjezbe+tutorijali" <?php 
        echo $tip_selektovan['vjezbe+tutorijali'];
        ?>
>Grupa za vježbe i tutorijale</a>
	</select>
	<input type="submit" value="Izmijeni"></form></p>
	<?php 
    }
    // Dodavanje grupe
    ?>

<p>
<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="akcija" value="nova_grupa">
Dodaj grupu: <input type="text" name="ime" size="20">
Tip grupe:<select name="tip">
	<option value="predavanja">Grupa za predavanja</a>
	<option value="vjezbe">Grupa za vježbe</a>
	<option value="tutorijali">Grupa za tutorijale</a>
	<option value="vjezbe+tutorijali" SELECTED>Grupa za vježbe i tutorijale</a>
</select>
<input type="submit" value="Dodaj"></form></p>
<?php 
    // Kopiranje grupa sa predmeta
    ?>

<p>
<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="akcija" value="kopiraj_grupe">
Prekopiraj grupe sa predmeta: <select name="kopiraj">
<?php 
    $q103a = myquery("select p.id, p.naziv from predmet as p, ponudakursa as pk where pk.predmet=p.id and pk.akademska_godina={$ag} order by p.naziv");
    // TODO: Sortirati po semestru i studiju
    while ($r103a = mysql_fetch_row($q103a)) {
        print "<option value=\"{$r103a['0']}\">{$r103a['1']}</a>\n";
    }
    ?>
</select>
<input type="submit" value="Dodaj">
</form></p><?php 
    // Masovni unos
    $format = intval($_POST['format']);
    if (!$_POST['format']) {
        $q110 = myquery("select vrijednost from preference where korisnik={$userid} and preferenca='mass-input-format'");
        if (mysql_num_rows($q110) > 0) {
            $format = mysql_result($q110, 0, 0);
        } else {
            //default vrijednost
            $format = 0;
        }
    }
    $separator = intval($_POST['separator']);
    if (!$_POST['separator']) {
        $q120 = myquery("select vrijednost from preference where korisnik={$userid} and preferenca='mass-input-separator'");
        if (mysql_num_rows($q120) > 0) {
            $separator = mysql_result($q120, 0, 0);
        } else {
            //default vrijednost
            $separator = 0;
        }
    }
    ?>

<p><hr/></p><p><b>Masovni upis studenata u grupe</b><br/>
U prozoru ispod navedite ime i prezime studenta, znak za separator i naziv grupe u koju želite da ga/je upišete.<br/>
<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="fakatradi" value="0">
<input type="hidden" name="akcija" value="massinput">
<input type="hidden" name="nazad" value="">
<input type="hidden" name="visestruki" value="1">
<input type="hidden" name="duplikati" value="1">
<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/>Format imena i prezimena: <select name="format" class="default">
<option value="0" <?php 
    if ($format == 0) {
        print "SELECTED";
    }
    ?>
>Prezime[TAB]Ime</option>
<option value="1" <?php 
    if ($format == 1) {
        print "SELECTED";
    }
    ?>
>Ime[TAB]Prezime</option>
<option value="2" <?php 
    if ($format == 2) {
        print "SELECTED";
    }
    ?>
>Prezime Ime</option>
<option value="3" <?php 
    if ($format == 3) {
        print "SELECTED";
    }
    ?>
>Ime Prezime</option></select>&nbsp;
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/>

<input type="submit" value="  Dodaj  ">
</form></p><?php 
}
Esempio n. 23
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;
        }
    }
}
Esempio n. 24
0
function processInsertPlanForm()
{
    $errorText = '';
    if (!check_csrf_token()) {
        biguglyerror("Mrš odavle");
        zamgerlog("1337 h4x0r detected", 3);
        zamgerlog2("csrf token ne odgovara");
        return "ERROR";
    }
    //get variables
    $godina_id = intval($_REQUEST['godina_vazenja']);
    $studij_id = intval($_REQUEST['studij']);
    $semestar = intval($_REQUEST['semestar']);
    //provjeri da je semestar cifra
    if (!is_int($semestar)) {
        $errorText = "Broj semestra nije validan!";
        return $errorText;
    }
    $predmet_id = intval($_REQUEST['predmet']);
    $obavezan = 0;
    if (isset($_REQUEST['obavezan'])) {
        $obavezan = 1;
    }
    $errorText = createPlan($godina_id, $studij_id, $semestar, $predmet_id, $obavezan);
    return $errorText;
}
Esempio n. 25
0
function nastavnik_ocjena()
{
    global $userid, $user_siteadmin;
    require "lib/manip.php";
    global $mass_rezultat;
    // za masovni unos studenata u grupe
    // 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) != "nastavnik") {
            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;
    ?>
 - Konačna ocjena</h3></p>

<p><a href="?sta=nastavnik/unos_ocjene&predmet=<?php 
    echo $predmet;
    ?>
&ag=<?php 
    echo $ag;
    ?>
">Pojedinačni unos konačnih ocjena</a></p>

<?php 
    # Masovni unos konačnih ocjena
    if ($_POST['akcija'] == "massinput" && strlen($_POST['nazad']) < 1 && check_csrf_token()) {
        if ($_POST['fakatradi'] != 1) {
            $ispis = 1;
        } else {
            $ispis = 0;
        }
        // fakatradi=0 --> ispis=1
        if ($_REQUEST['datum']) {
            $uneseni_datumi = true;
            $_REQUEST['brpodataka'] = 2;
        } else {
            $uneseni_datumi = false;
            $_REQUEST['brpodataka'] = 1;
        }
        if ($ispis) {
            ?>
Akcije koje će biti urađene:<br/><br/>
		<?php 
            echo genform("POST");
            ?>
		<input type="hidden" name="fakatradi" value="1">
		<table border="0" cellspacing="1" cellpadding="2">
		<!-- FIXME: prebaciti stilove u CSS? -->
		<thead>
		<tr bgcolor="#999999">
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Prezime</font></td>
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Ime</font></td>
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Ocjena / Komentar</font></td>
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Datum</font></td>
		</tr>
		</thead>
		<tbody>
		<?php 
        }
        $greska = mass_input($ispis);
        // Funkcija koja parsira podatke
        if (count($mass_rezultat) == 0) {
            //		niceerror("Niste unijeli ništa.");
            //		return;
            print "Niste unijeli nijedan upotrebljiv podatak<br/><br/>\n";
            $greska = 1;
        }
        // Obrada rezultata
        $boja1 = "#EEEEEE";
        $boja2 = "#DDDDDD";
        $boja = $boja1;
        $bojae = "#FFE3DD";
        foreach ($mass_rezultat['ime'] as $student => $ime) {
            $prezime = $mass_rezultat['prezime'][$student];
            $ocjena = $mass_rezultat['podatak1'][$student];
            // Student neocijenjen (prazno mjesto za ocjenu)
            if (intval($ocjena) == 0 && strpos($ocjena, "0") === FALSE) {
                if ($ispis) {
                    ?>
				<tr bgcolor="<?php 
                    echo $boja;
                    ?>
">
					<td><?php 
                    echo $prezime;
                    ?>
</td><td><?php 
                    echo $ime;
                    ?>
</td>
					<td colspan="2">nije ocijenjen/a (unesena je ocjena: <?php 
                    echo $ocjena;
                    ?>
)</td>
				</tr>
				<?php 
                    if ($boja == $boja1) {
                        $boja = $boja2;
                    } else {
                        $boja = $boja1;
                    }
                }
                continue;
            }
            // Ocjena mora biti u opsegu 6-10
            $ocjena = intval($ocjena);
            if ($ocjena < 6 || $ocjena > 10) {
                if ($ispis) {
                    ?>
				<tr bgcolor="<?php 
                    echo $bojae;
                    ?>
">
					<td><?php 
                    echo $prezime;
                    ?>
</td><td><?php 
                    echo $ime;
                    ?>
</td>
					<td colspan="2">ocjena nije u opsegu 6-10 (ocjena: <?php 
                    echo $ocjena;
                    ?>
)</td>
				</tr>
				<?php 
                    $greska = 1;
                    continue;
                }
            }
            // Da li vec ima ocjena u bazi?
            $q100 = myquery("select ocjena from konacna_ocjena where student={$student} and predmet={$predmet}");
            if (mysql_num_rows($q100) > 0) {
                $oc2 = mysql_result($q100, 0, 0);
                if ($oc2 > 5 && $ispis) {
                    ?>
				<tr bgcolor="<?php 
                    echo $bojae;
                    ?>
">
					<td><?php 
                    echo $prezime;
                    ?>
</td><td><?php 
                    echo $ime;
                    ?>
</td>
					<td colspan="2">već ima ocjenu <?php 
                    echo $oc2;
                    ?>
; koristite pogled grupe za izmjenu</td>
				</tr>
				<?php 
                    $greska = 1;
                    continue;
                }
            }
            // Ako je unesen datum, taj datum postaje datum_u_indeksu i provjeren je
            if ($uneseni_datumi) {
                $datum_ulaz = str_replace("/", ".", $mass_rezultat['podatak2'][$student]);
                $datum_ulaz = str_replace(". ", ".", $datum_ulaz);
                $matches = array();
                if (preg_match("/^(\\d\\d)\\.(\\d\\d)\\.(\\d\\d)\\.?\$/", $datum_ulaz, $matches)) {
                    if ($matches[3] < 20) {
                        $godina = "20" . $matches[3];
                    } else {
                        $godina = "19" . $matches[3];
                    }
                    $datum_ulaz = $matches[1] . "." . $matches[2] . "." . $godina;
                }
                //$datum_ulaz = $mass_rezultat['podatak2'][$student];
                //if (
                $datum_u_indeksu = strtotime($datum_ulaz);
                $datum_provjeren = 1;
            } else {
                // Određivanje datuma za indeks
                $q105 = myquery("SELECT UNIX_TIMESTAMP(it.datumvrijeme) \n\t\t\tFROM ispit as i, ispit_termin as it, student_ispit_termin as sit \n\t\t\tWHERE sit.student={$student} and sit.ispit_termin=it.id and it.ispit=i.id and i.predmet={$predmet} and i.akademska_godina={$ag}\n\t\t\tORDER BY i.datum DESC LIMIT 1");
                if (mysql_num_rows($q105) > 0) {
                    $datum_u_indeksu = mysql_result($q105, 0, 0);
                    if ($datum_u_indeksu > time()) {
                        $datum_provjeren = 0;
                    } else {
                        $datum_provjeren = 1;
                    }
                } else {
                    $datum_u_indeksu = time();
                    $datum_provjeren = 0;
                }
            }
            if ($ispis) {
                ?>
			<tr bgcolor="<?php 
                echo $boja;
                ?>
">
				<td><?php 
                echo $prezime;
                ?>
</td><td><?php 
                echo $ime;
                ?>
</td>
				<td>ocjena: <?php 
                echo $ocjena;
                ?>
</td>
				<td><?php 
                echo date("d. m. Y", $datum_u_indeksu);
                ?>
</td>
			</tr>
			<?php 
                if ($boja == $boja1) {
                    $boja = $boja2;
                } else {
                    $boja = $boja1;
                }
            } else {
                if (mysql_num_rows($q100) > 0) {
                    $q110 = myquery("UPDATE konacna_ocjena SET student={$student}, predmet={$predmet}, akademska_godina={$ag}, ocjena={$ocjena}, datum=NOW(), datum_u_indeksu=FROM_UNIXTIME({$datum_u_indeksu}), datum_provjeren={$datum_provjeren} WHERE student={$student} AND predmet={$predmet}");
                } else {
                    $q110 = myquery("INSERT INTO konacna_ocjena SET student={$student}, predmet={$predmet}, akademska_godina={$ag}, ocjena={$ocjena}, datum=NOW(), datum_u_indeksu=FROM_UNIXTIME({$datum_u_indeksu}), datum_provjeren={$datum_provjeren}");
                }
                zamgerlog("masovno dodana ocjena {$ocjena} (predmet pp{$predmet}, student u{$student})", 4);
                zamgerlog2("dodana ocjena", $student, $predmet, $ag, $ocjena);
            }
        }
        if ($ispis) {
            if ($greska == 0) {
                ?>
			</tbody></table>
			<p>Potvrdite upis ocjena ili se vratite na prethodni ekran.</p>
			<p><input type="submit" name="nazad" value=" Nazad "> <input type="submit" value=" Potvrda"></p>
			</form>
			<?php 
            } else {
                ?>
			</tbody></table>
			<p>U unesenim podacima ima grešaka. Da li ste izabrali ispravan format ("Prezime[TAB]Ime" vs. "Prezime Ime")? Vratite se nazad kako biste ovo popravili.</p>
			<p><input type="submit" name="nazad" value=" Nazad "></p>
			</form>
			<?php 
            }
            return;
        } else {
            zamgerlog("masovno upisane ocjene na predmet pp{$predmet}", 4);
            ?>
		Ocjene su upisane.
		<script language="JavaScript">
		location.href='?sta=nastavnik/ocjena&predmet=<?php 
            echo $predmet;
            ?>
&ag=<?php 
            echo $ag;
            ?>
';
		</script>
		<?php 
        }
    }
    // Masovni unos konačnih ocjena
    $format = intval($_POST['format']);
    if (!$_POST['format']) {
        $q110 = myquery("select vrijednost from preference where korisnik={$userid} and preferenca='mass-input-format'");
        if (mysql_num_rows($q110) > 0) {
            $format = mysql_result($q110, 0, 0);
        } else {
            //default vrijednost
            $format = 0;
        }
    }
    $separator = intval($_POST['separator']);
    if (!$_POST['separator']) {
        $q120 = myquery("select vrijednost from preference where korisnik={$userid} and preferenca='mass-input-separator'");
        if (mysql_num_rows($q120) > 0) {
            $separator = mysql_result($q120, 0, 0);
        } else {
            //default vrijednost
            $separator = 0;
        }
    }
    ?>
<p><b>Masovni unos konačnih ocjena</b><br/>
<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="fakatradi" value="0">
<input type="hidden" name="akcija" value="massinput">
<input type="hidden" name="nazad" value="">
<input type="hidden" name="brpodataka" value="1">
<input type="hidden" name="duplikati" value="0">

<textarea name="massinput" cols="50" rows="10"><?php 
    if (strlen($_POST['nazad']) > 1) {
        print $_POST['massinput'];
    }
    ?>
</textarea><br/>
<br/>Format imena i prezimena: <select name="format" class="default">
<option value="0" <?php 
    if ($format == 0) {
        print "SELECTED";
    }
    ?>
>Prezime[TAB]Ime</option>
<option value="1" <?php 
    if ($format == 1) {
        print "SELECTED";
    }
    ?>
>Ime[TAB]Prezime</option>
<option value="2" <?php 
    if ($format == 2) {
        print "SELECTED";
    }
    ?>
>Prezime Ime</option>
<option value="3" <?php 
    if ($format == 3) {
        print "SELECTED";
    }
    ?>
>Ime Prezime</option></select>&nbsp;
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/>

<input type="checkbox" name="datum"> Treća kolona: datum u formatu D. M. G.<br/><br/>

<input type="submit" value="  Dodaj  ">
</form></p>
<?php 
}
Esempio n. 26
0
function nastavnik_predmet()
{
    global $userid, $user_siteadmin;
    // 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;
        }
    }
    $q15 = myquery("SELECT tippredmeta FROM akademska_godina_predmet WHERE akademska_godina={$ag} AND predmet={$predmet}");
    $tippredmeta = mysql_result($q15, 0, 0);
    if ($tippredmeta == 1000) {
        require "nastavnik/zavrsni.php";
        nastavnik_zavrsni();
        return;
    }
    ?>

<p>&nbsp;</p>

<p><h3><?php 
    echo $predmet_naziv;
    ?>
 - Opcije predmeta</h3></p>

<?php 
    // Prikaz angažovanih nastavnika i saradnika
    ?>

<p>Pristup predmetu imaju sljedeći nastavnici i saradnici (slovo N označava da saradnik ima privilegije nastavnika, a slovo S da ima privilegije "super-asistenta"):</p>

<ul>
<?php 
    $q100 = myquery("select o.ime, o.prezime, np.nivo_pristupa 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");
    while ($r100 = mysql_fetch_row($q100)) {
        if ($r100[2] == "nastavnik") {
            $dodaj = " (N)";
        } else {
            if ($r100[2] == "super_asistent") {
                $dodaj = " (S)";
            } else {
                $dodaj = "";
            }
        }
        print "<li>{$r100['0']} {$r100['1']}{$dodaj}</li>\n";
    }
    ?>
</ul>

<?php 
    // Click na checkbox za dodavanje modula
    // Prebaciti na POST?
    if ($_POST['akcija'] == "set_smodul" && check_csrf_token()) {
        $smodul = intval($_POST['smodul']);
        if ($_POST['aktivan'] == 0) {
            $aktivan = 1;
        } else {
            $aktivan = 0;
        }
        $q15 = myquery("replace studentski_modul_predmet set predmet={$predmet}, akademska_godina={$ag}, studentski_modul={$smodul}, aktivan={$aktivan}");
        if ($aktivan == 1) {
            zamgerlog("aktiviran studentski modul {$smodul} (predmet pp{$predmet})", 2);
            // nivo 2: edit
            zamgerlog2("aktiviran studentski modul", $predmet, $ag, $smodul);
        } else {
            zamgerlog("deaktiviran studentski modul {$smodul} (predmet pp{$predmet})", 2);
            // nivo 2: edit
            zamgerlog2("deaktiviran studentski modul", $predmet, $ag, $smodul);
        }
    }
    // Opcije predmeta
    ?>

<SCRIPT language="JavaScript">
function upozorenje(smodul,aktivan) {
	document.smodulakcija.smodul.value=smodul;
	document.smodulakcija.aktivan.value=aktivan;
	document.smodulakcija.submit();
}
</SCRIPT>
<?php 
    unset($_REQUEST['smodul']);
    unset($_REQUEST['aktivan']);
    print genform("POST", "smodulakcija");
    ?>
<input type="hidden" name="akcija" value="set_smodul">
<input type="hidden" name="smodul" value="">
<input type="hidden" name="aktivan" value="">
</form>

<p>Izaberite opcije koje želite da učinite dostupnim studentima:<br/>
<?php 
    // Studentski moduli koji su aktivirani za ovaj predmet
    $q20 = myquery("select id, gui_naziv from studentski_modul order by id");
    if (mysql_num_rows($q20) < 1) {
        print "<p>Nijedan modul nije ponuđen.</p>\n";
    }
    while ($r20 = mysql_fetch_row($q20)) {
        $smodul = $r20[0];
        $naziv = $r20[1];
        if ($smodul == 6) {
            continue;
        }
        // Onemogućujemo isključenje ankete
        $q30 = myquery("select aktivan from studentski_modul_predmet where predmet={$predmet} and akademska_godina={$ag} and studentski_modul={$smodul}");
        if (mysql_num_rows($q30) < 1 || mysql_result($q30, 0, 0) == 0) {
            $aktivan = 0;
            $checked = "";
        } else {
            $aktivan = 1;
            $checked = "CHECKED";
        }
        ?>
	<input type="checkbox" onchange="javascript:onclick=upozorenje('<?php 
        echo $smodul;
        ?>
','<?php 
        echo $aktivan;
        ?>
')" <?php 
        echo $checked;
        ?>
> <?php 
        echo $naziv;
        ?>
<br/>
	<?php 
    }
}
Esempio n. 27
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 
}
Esempio n. 28
0
function studentska_osobe()
{
    global $userid, $user_siteadmin, $user_studentska;
    global $conf_system_auth, $conf_ldap_server, $conf_ldap_domain, $conf_files_path;
    global $registry;
    // šta je od modula aktivno
    global $_lv_;
    // Potrebno za genform() iz libvedran
    require "lib/manip.php";
    // Radi upisa studenta na predmet
    // Provjera privilegija
    if (!$user_siteadmin && !$user_studentska) {
        // 2 = studentska, 3 = admin
        zamgerlog("korisnik nije studentska (admin {$admin})", 3);
        zamgerlog2("nije studentska");
        biguglyerror("Pristup nije dozvoljen.");
        return;
    }
    ?>

<center>
<table border="0"><tr><td>

<?php 
    $akcija = $_REQUEST['akcija'];
    $osoba = intval($_REQUEST['osoba']);
    // Dodavanje novog korisnika u bazu
    if ($_POST['akcija'] == "novi" && check_csrf_token()) {
        $ime = substr(my_escape($_POST['ime']), 0, 100);
        if (!preg_match("/\\w/", $ime)) {
            niceerror("Ime nije ispravno");
            return;
        }
        $prezime = substr(my_escape($_POST['prezime']), 0, 100);
        // Probamo tretirati ime kao LDAP UID
        if ($conf_system_auth == "ldap") {
            $uid = $ime;
            $ds = ldap_connect($conf_ldap_server);
            ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
            if ($ds && ldap_bind($ds)) {
                $sr = ldap_search($ds, "", "uid={$uid}", array("givenname", "sn"));
                $results = ldap_get_entries($ds, $sr);
                if ($results['count'] > 0) {
                    $gn = $results[0]['givenname'];
                    if (is_array($gn)) {
                        $gn = $results[0]['givenname'][0];
                    }
                    if ($gn) {
                        $ime = $gn;
                    }
                    $sn = $results[0]['sn'];
                    if (is_array($sn)) {
                        $sn = $results[0]['sn'][0];
                    }
                    if ($sn) {
                        $prezime = $sn;
                    }
                } else {
                    zamgerlog("korisnik '{$uid}' nije pronadjen na LDAPu", 3);
                    zamgerlog2("korisnik nije pronadjen na LDAPu", 0, 0, 0, $uid);
                    $uid = "";
                    niceerror("Korisnik nije pronadjen na LDAPu... dodajem novog!");
                }
            } else {
                zamgerlog("ne mogu kontaktirati LDAP server", 3);
                zamgerlog2("ne mogu kontaktirati LDAP server");
                niceerror("Ne mogu kontaktirati LDAP server... pravim se da ga nema :(");
            }
        }
        if (!preg_match("/\\w/", $prezime)) {
            niceerror("Prezime nije ispravno");
            return;
        }
        // Da li ovaj korisnik već postoji u osoba tabeli?
        $q10 = myquery("select id, ime, prezime from osoba where ime like '{$ime}' and prezime like '{$prezime}'");
        if ($r10 = mysql_fetch_row($q10)) {
            zamgerlog("korisnik vec postoji u bazi ('{$ime}' '{$prezime}' - ID: {$r10['0']})", 3);
            zamgerlog2("korisnik vec postoji u bazi", $r10[0], 0, 0, "'{$ime}' '{$prezime}'");
            niceerror("Korisnik već postoji u bazi:");
            print "<br><a href=\"?sta=studentska/osobe&akcija=edit&osoba={$r10['0']}\">{$r10['1']} {$r10['2']}</a>";
            return;
        } else {
            // Nije u tabeli, dodajemo ga...
            $q30 = myquery("select id from osoba order by id desc limit 1");
            $osoba = mysql_result($q30, 0, 0) + 1;
            $q40 = myquery("insert into osoba set id={$osoba}, ime='{$ime}', prezime='{$prezime}', naucni_stepen=6, strucni_stepen=5");
            // 6 = bez naučnog stepena, 5 = srednja stručna sprema
            if ($conf_system_auth == "ldap" && $uid != "") {
                // Ako je LDAP onda imamo email adresu
                $email = $uid . $conf_ldap_domain;
                $q33 = myquery("INSERT INTO email SET osoba={$osoba}, adresa='{$email}', sistemska=1");
                // Adresu podešavamo kao sistemsku što znači da je korisnik ne može mijenjati niti brisati
                // Mozemo ga dodati i u auth tabelu
                $q35 = myquery("select count(*) from auth where id={$osoba}");
                if (mysql_result($q35, 0, 0) == 0) {
                    $q37 = myquery("insert into auth set id={$osoba}, login='******', admin=1, aktivan=1");
                }
            }
            nicemessage("Novi korisnik je dodan.");
            zamgerlog("dodan novi korisnik u{$osoba} (ID: {$osoba})", 4);
            // nivo 4: audit
            zamgerlog2("dodan novi korisnik", $osoba);
            print "<br><a href=\"?sta=studentska/osobe&akcija=edit&osoba={$osoba}\">{$ime} {$prezime}</a>";
            return;
        }
    }
    // Izmjena licnih podataka osobe
    if ($akcija == "podaci") {
        if ($_POST['subakcija'] == "potvrda" && check_csrf_token()) {
            $ime = my_escape($_REQUEST['ime']);
            $prezime = my_escape($_REQUEST['prezime']);
            $spol = $_REQUEST['spol'];
            if ($spol != "M" && $spol != "Z") {
                $spol = "";
            }
            $jmbg = my_escape($_REQUEST['jmbg']);
            $nacionalnost = intval($_REQUEST['nacionalnost']);
            if ($nacionalnost == 0) {
                $nacionalnost = "NULL";
            }
            $brindexa = my_escape($_REQUEST['brindexa']);
            $djevojacko_prezime = my_escape($_REQUEST['djevojacko_prezime']);
            $imeoca = my_escape($_REQUEST['imeoca']);
            $prezimeoca = my_escape($_REQUEST['prezimeoca']);
            $imemajke = my_escape($_REQUEST['imemajke']);
            $prezimemajke = my_escape($_REQUEST['prezimemajke']);
            $mjesto_rodjenja = my_escape($_REQUEST['mjesto_rodjenja']);
            $opcina_rodjenja = intval($_REQUEST['opcina_rodjenja']);
            $drzava_rodjenja = intval($_REQUEST['drzava_rodjenja']);
            $drzavljanstvo = intval($_REQUEST['drzavljanstvo']);
            if ($drzavljanstvo == 0) {
                $drzavljanstvo = "NULL";
            }
            if ($_REQUEST['boracke_kategorije'] == "on") {
                $boracke_kategorije = 1;
            } else {
                $boracke_kategorije = 0;
            }
            $adresa = my_escape($_REQUEST['adresa']);
            $adresa_mjesto = my_escape($_REQUEST['adresa_mjesto']);
            $kanton = intval($_REQUEST['_lv_column_kanton']);
            if ($kanton == -1) {
                $kanton = "NULL";
            }
            $telefon = my_escape($_REQUEST['telefon']);
            $email = my_escape($_REQUEST['email']);
            $strucni_stepen = intval($_REQUEST['_lv_column_strucni_stepen']);
            if ($strucni_stepen == -1) {
                $strucni_stepen = "NULL";
            }
            $naucni_stepen = intval($_REQUEST['_lv_column_naucni_stepen']);
            if ($naucni_stepen == -1) {
                $naucni_stepen = "NULL";
            }
            $maternji_jezik = intval($_REQUEST['_lv_column_maternji_jezik']);
            $vozacka_dozvola = intval($_REQUEST['_lv_column_vozacki_kategorija']);
            $nacin_stanovanja = intval($_REQUEST['_lv_column_nacin_stanovanja']);
            // Sredjujem datum
            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;
                    }
                }
            }
            // Mjesto rođenja
            $mjrid = "NULL";
            if ($mjesto_rodjenja != "") {
                $q1 = myquery("select id from mjesto where naziv='{$mjesto_rodjenja}' and opcina={$opcina_rodjenja} and drzava={$drzava_rodjenja}");
                if (mysql_num_rows($q1) < 1) {
                    $q2 = myquery("select id from mjesto where naziv='{$mjesto_rodjenja}'");
                    if (mysql_num_rows($q2) < 1) {
                        nicemessage("Dodajem novo mjesto '{$mjesto_rodjenja}'");
                        $q2 = myquery("insert into mjesto set naziv='{$mjesto_rodjenja}', opcina={$opcina_rodjenja}, drzava={$drzava_rodjenja}");
                        $q1 = myquery("select id from mjesto where naziv='{$mjesto_rodjenja}'");
                    } else {
                        nicemessage("Promjena općine/države za mjesto '{$mjesto_rodjenja}'");
                        $q2 = myquery("insert into mjesto set naziv='{$mjesto_rodjenja}', opcina={$opcina_rodjenja}, drzava={$drzava_rodjenja}");
                        $q1 = myquery("select id from mjesto where naziv='{$mjesto_rodjenja}' and opcina={$opcina_rodjenja} and drzava={$drzava_rodjenja}");
                    }
                }
                $mjrid = mysql_result($q1, 0, 0);
            }
            // Mjesto adresa
            $admid = "NULL";
            if ($adresa_mjesto != "") {
                $q3 = myquery("select id from mjesto where naziv='{$adresa_mjesto}'");
                if (mysql_num_rows($q3) < 1) {
                    $q4 = myquery("insert into mjesto set naziv='{$adresa_mjesto}'");
                    $q3 = myquery("select id from mjesto where naziv='{$adresa_mjesto}'");
                }
                $admid = mysql_result($q3, 0, 0);
            }
            $q395 = myquery("update osoba set ime='{$ime}', prezime='{$prezime}', imeoca='{$imeoca}', prezimeoca='{$prezimeoca}', imemajke='{$imemajke}', prezimemajke='{$prezimemajke}', spol='{$spol}', brindexa='{$brindexa}', datum_rodjenja='{$godina}-{$mjesec}-{$dan}', mjesto_rodjenja={$mjrid}, nacionalnost={$nacionalnost}, drzavljanstvo={$drzavljanstvo}, jmbg='{$jmbg}', adresa='{$adresa}', adresa_mjesto={$admid}, telefon='{$telefon}', kanton='{$kanton}', strucni_stepen={$strucni_stepen}, naucni_stepen={$naucni_stepen}, djevojacko_prezime='{$djevojacko_prezime}', maternji_jezik={$maternji_jezik}, vozacka_dozvola={$vozacka_dozvola}, nacin_stanovanja={$nacin_stanovanja}, boracke_kategorije={$boracke_kategorije} where id={$osoba}");
            zamgerlog("promijenjeni licni podaci korisnika u{$osoba}", 4);
            // nivo 4 - audit
            zamgerlog2("promijenjeni licni podaci korisnika", $osoba);
            ?>
		<script language="JavaScript">
		location.href='?sta=studentska/osobe&osoba=<?php 
            echo $osoba;
            ?>
&akcija=edit';
		</script>
		<?php 
            return;
        }
        // Postavljanje ili promjena slike
        if ($_POST['subakcija'] == "postavisliku" && check_csrf_token()) {
            $slika = $_FILES['slika']['tmp_name'];
            if ($slika && file_exists($slika)) {
                // Provjeravamo ispravnost slike
                $podaci = getimagesize($slika);
                $koef = $podaci[0] / $podaci[1];
                if ($koef < 0.5 || $koef > 2) {
                    niceerror("Omjer širine i visine slike nije povoljan.");
                    print "<p>Slika bi trebala biti uobičajenog formata slike za lične dokumente. Ova je formata {$podaci['0']}x{$podaci['1']}.</p>\n";
                    return;
                }
                if ($podaci[2] != IMAGETYPE_GIF && $podaci[2] != IMAGETYPE_JPEG && $podaci[2] != IMAGETYPE_PNG && $podaci[2] != IMAGETYPE_TIFF_II) {
                    niceerror("Nepoznat tip slike.");
                    print "<p>Podržane su samo slike tipa GIF, JPEG ili PNG.</p>";
                    return;
                }
                // Brisemo evt. postojecu sliku
                $q498 = myquery("select slika from osoba where id={$osoba}");
                if (mysql_result($q498, 0, 0) != "") {
                    unlink("{$conf_files_path}/slike/" . mysql_result($q498, 0, 0));
                }
                // Kopiramo novu sliku
                $novavisina = 150;
                $novasirina = $novavisina * $koef;
                $filename = "{$conf_files_path}/slike/{$osoba}";
                if (!file_exists("{$conf_files_path}/slike")) {
                    mkdir("{$conf_files_path}/slike", 0777, true);
                }
                $dest = imagecreatetruecolor($novasirina, $novavisina);
                switch ($podaci[2]) {
                    case IMAGETYPE_GIF:
                        $source = imagecreatefromgif($slika);
                        imagecopyresampled($dest, $source, 0, 0, 0, 0, $novasirina, $novavisina, $podaci[0], $podaci[1]);
                        imagegif($dest, $filename . ".gif");
                        $slikabaza = "{$osoba}.gif";
                        break;
                    case IMAGETYPE_JPEG:
                        $source = imagecreatefromjpeg($slika);
                        imagecopyresampled($dest, $source, 0, 0, 0, 0, $novasirina, $novavisina, $podaci[0], $podaci[1]);
                        imagejpeg($dest, $filename . ".jpg");
                        $slikabaza = "{$osoba}.jpg";
                        break;
                    case IMAGETYPE_PNG:
                        $source = imagecreatefrompng($slika);
                        imagecopyresampled($dest, $source, 0, 0, 0, 0, $novasirina, $novavisina, $podaci[0], $podaci[1]);
                        imagepng($dest, $filename . ".png");
                        $slikabaza = "{$osoba}.png";
                        break;
                    case IMAGETYPE_TIFF_II:
                        nicemessage("Nije moguća promjena dimenzija slike tipa TIFF... Ostavljam zadate dimenzije.");
                        rename($slika, $filename . ".tiff");
                        $slikabaza = "{$osoba}.tiff";
                        break;
                }
                $q310 = myquery("update osoba set slika='{$slikabaza}' where id={$osoba}");
                zamgerlog("postavljena slika za korisnika u{$osoba}", 2);
                zamgerlog2("postavljena slika za korisnika", $osoba);
                ?>
			<script language="JavaScript">
			location.href='?sta=studentska/osobe&osoba=<?php 
                echo $osoba;
                ?>
&akcija=edit';
			</script>
			<?php 
                return;
            } else {
                nicemessage("Greška pri slanju slike");
            }
        }
        // Brisanje slike
        if ($_POST['subakcija'] == "obrisisliku" && check_csrf_token()) {
            // Brisemo evt. postojecu sliku
            $q496 = myquery("select slika from osoba where id={$osoba}");
            if (mysql_result($q498, 0, 0) != "") {
                unlink("{$conf_files_path}/slike/" . mysql_result($q496, 0, 0));
            }
            $q497 = myquery("update osoba set slika='' where id={$osoba}");
            zamgerlog("obrisana slika za korisnika u{$osoba}", 2);
            zamgerlog2("obrisana slika za korisnika", $osoba);
            ?>
		<script language="JavaScript">
		location.href='?sta=studentska/osobe&osoba=<?php 
            echo $osoba;
            ?>
&akcija=edit';
		</script>
		<?php 
            return;
        }
        // Mailovi
        if ($_GET['subakcija'] == "obrisimail") {
            $mailid = intval($_GET['mailid']);
            $q497a = myquery("select adresa from email where id={$mailid} and osoba={$osoba}");
            if (mysql_num_rows($q497a) < 1) {
                niceerror("Greška");
                return;
            }
            $staraadresa = mysql_result($q497a, 0, 0);
            $q498 = myquery("delete from email where osoba={$osoba} and id={$mailid}");
            zamgerlog("obrisana email adresa za u{$osoba}", 2);
            zamgerlog2("email adresa obrisana", $osoba, $mailid, 0, $staraadresa);
            nicemessage("Obrisana email adresa {$staraadresa}");
        }
        if ($_GET['subakcija'] == "izmijenimail") {
            $mailid = intval($_GET['mailid']);
            $adresa = my_escape($_GET['adresa']);
            $q497a = myquery("select adresa from email where id={$mailid} and osoba={$osoba}");
            if (mysql_num_rows($q497a) < 1) {
                niceerror("Greška");
                return;
            }
            $staraadresa = mysql_result($q497a, 0, 0);
            $q498 = myquery("update email set adresa='{$adresa}' where osoba={$osoba} and id={$mailid}");
            zamgerlog("promijenjena email adresa za u{$osoba}", 2);
            zamgerlog2("email adresa promijenjena", $osoba, $mailid, 0, "{$staraadresa} -> {$adresa}");
            nicemessage("Promijenjena email adresa {$staraadresa} u {$adresa}");
        }
        if ($_GET['subakcija'] == "dodajmail") {
            $adresa = my_escape($_GET['adresa']);
            $q498 = myquery("insert into email set adresa='{$adresa}', osoba={$osoba}, sistemska=0");
            zamgerlog("dodana email adresa za u{$osoba}", 2);
            zamgerlog2("email adresa dodana", $osoba, intval(mysql_insert_id()), 0, "{$adresa}");
            nicemessage("Dodana email adresa {$adresa}");
        }
        // Prikaz podataka
        $q400 = myquery("select ime, prezime, imeoca, prezimeoca, imemajke, prezimemajke, spol, 1, brindexa, UNIX_TIMESTAMP(datum_rodjenja), mjesto_rodjenja, jmbg, nacionalnost, drzavljanstvo, adresa, adresa_mjesto, telefon, kanton, strucni_stepen, naucni_stepen, slika, djevojacko_prezime, maternji_jezik, vozacka_dozvola, nacin_stanovanja, boracke_kategorije from osoba where id={$osoba}");
        if (!($r400 = mysql_fetch_row($q400))) {
            zamgerlog("nepostojeca osoba u{$osoba}", 3);
            zamgerlog2("nepostojeca osoba", $osoba);
            niceerror("Nepostojeća osoba!");
            return;
        }
        $ime = mysql_result($q400, 0, 0);
        $prezime = mysql_result($q400, 0, 1);
        $muski = $zenski = $boracke_kategorije = "";
        if (mysql_result($q400, 0, 6) == "M") {
            $muski = " CHECKED";
        }
        if (mysql_result($q400, 0, 6) == "Z") {
            $zenski = " CHECKED";
        }
        if (mysql_result($q400, 0, 25) == 1) {
            $boracke_kategorije = " CHECKED";
        }
        // Spisak gradova
        $q410 = myquery("select id,naziv,opcina,drzava from mjesto order by naziv");
        $gradovir = "<option></option>";
        $gradovia = "<option></option>";
        $gradovilist = array();
        while ($r410 = mysql_fetch_row($q410)) {
            if ($r410[0] == mysql_result($q400, 0, 10)) {
                $mjestorvalue = $r410[1];
                $eopcinarodjenja = $r410[2];
                $edrzavarodjenja = $r410[3];
            }
            if ($r410[0] == mysql_result($q400, 0, 15)) {
                $mjestoavalue = $r410[1];
            }
            $gradovilist[] = $r410[1];
        }
        // 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] == mysql_result($q400, 0, 13)) {
                $drzavljanstvor .= " SELECTED";
            }
            $drzavljanstvor .= ">{$r257['1']}</option>\n";
        }
        // Spisak nacionalnosti
        $q258 = myquery("select id, naziv from nacionalnost order by naziv");
        $nacionalnostr = "<option></option>";
        while ($r258 = mysql_fetch_row($q258)) {
            $nacionalnostr .= "<option value=\"{$r258['0']}\"";
            if ($r258[0] == mysql_result($q400, 0, 12)) {
                $nacionalnostr .= " SELECTED";
            }
            $nacionalnostr .= ">{$r258['1']}</option>\n";
        }
        // Spisak opičina
        $q259 = myquery("select id, naziv from opcina order by naziv");
        $opcinar = "";
        while ($r259 = mysql_fetch_row($q259)) {
            $opcinar .= "<option value=\"{$r259['0']}\"";
            if ($r259[0] == $eopcinarodjenja) {
                $opcinar .= " SELECTED";
            }
            $opcinar .= ">{$r259['1']}</option>\n";
        }
        // Spisak mailova
        $q260 = myquery("select id, adresa from email where osoba={$osoba}");
        $email_adrese = "";
        while ($r260 = mysql_fetch_row($q260)) {
            $email_adrese .= "<input type=\"text\" class=\"default\" name=\"email\" id=\"email{$r260['0']}\" value=\"{$r260['1']}\"> <input type=\"button\" class=\"default\" value=\"Izmijeni\" onclick=\"javascript:location.href='?sta=studentska/osobe&osoba={$osoba}&akcija=podaci&subakcija=izmijenimail&mailid={$r260['0']}&adresa='+document.getElementById('email{$r260['0']}').value;\"> <input type=\"button\" class=\"default\" value=\"Obriši\" onclick=\"javascript:location.href='?sta=studentska/osobe&osoba={$osoba}&akcija=podaci&subakcija=obrisimail&mailid={$r260['0']}';\"><br>\n";
        }
        ?>

	<script type="text/javascript" src="js/mycombobox.js"></script>
	<h2><?php 
        echo $ime;
        ?>
 <?php 
        echo $prezime;
        ?>
 - izmjena ličnih podataka</h2>
	<p>ID: <b><?php 
        echo $osoba;
        ?>
</b></p>
	<?php 
        if (mysql_result($q400, 0, 20) == "") {
            print genform("POST", "\"  enctype=\"multipart/form-data");
            ?>
		<input type="hidden" name="subakcija" value="postavisliku">
		<p>Dodaj sliku:<br /><input type="file" name="slika"> <input type="submit" value="Dodaj"></p>
		</form>
		<?php 
        } else {
            ?>
		<?php 
            echo genform("POST");
            ?>
		<input type="hidden" name="subakcija" value="obrisisliku">
		<p>Slika:<br />
		<img src="?sta=common/slika&osoba=<?php 
            echo $osoba;
            ?>
"><br/>
		<input type="submit" value="Obriši sliku"><br></form>
		<?php 
            print genform("POST", "\"  enctype=\"multipart/form-data");
            ?>
		<input type="hidden" name="subakcija" value="postavisliku">
		<input type="file" name="slika"> <input type="submit" value="Promijeni sliku"></p>
		</form>
		<?php 
        }
        ?>
	<?php 
        echo genform("POST");
        ?>
	<input type="hidden" name="subakcija" value="potvrda">
	<table border="0" width="600"><tr>
		<td>Ime:</td>
		<td><input type="text" name="ime" value="<?php 
        echo $ime;
        ?>
" class="default"></td>
	</tr><tr>
		<td>Prezime:</td>
		<td><input type="text" name="prezime" value="<?php 
        echo $prezime;
        ?>
" class="default"></tr>
	</tr><tr>
		<td>Spol:</td>
		<td><input type="radio" name="spol" value="M" <?php 
        echo $muski;
        ?>
> Muški &nbsp; <input type="radio" name="spol" value="Z" <?php 
        echo $zenski;
        ?>
> Ženski</td>
	</tr><tr>
		<td>JMBG:</td>
		<td><input type="text" name="jmbg" value="<?php 
        echo mysql_result($q400, 0, 11);
        ?>
" class="default"></td>
	</tr><tr>
		<td>Nacionalnost:</td>
		<td><select name="nacionalnost" class="default"><?php 
        echo $nacionalnostr;
        ?>
</select></td>
	</tr><tr>
		<td>Broj indexa<br>(za studente):</td>
		<td><input type="text" name="brindexa" value="<?php 
        echo mysql_result($q400, 0, 8);
        ?>
" class="default"></td>
	</tr><tr><td colspan="2">&nbsp;</td>
	</tr><tr>
		<td>Djevojačko prezime:</td>
		<td><input type="text" name="imeoca" value="<?php 
        echo mysql_result($q400, 0, 21);
        ?>
" class="default"></td>
	</tr><tr>
		<td>Ime oca:</td>
		<td><input type="text" name="imeoca" value="<?php 
        echo mysql_result($q400, 0, 2);
        ?>
" class="default"></td>
	</tr><tr>
		<td>Prezime oca:</td>
		<td><input type="text" name="prezimeoca" value="<?php 
        echo mysql_result($q400, 0, 3);
        ?>
" class="default"></tr>
	</tr><tr>
		<td>Ime majke:</td>
		<td><input type="text" name="imemajke" value="<?php 
        echo mysql_result($q400, 0, 4);
        ?>
" class="default"></td>
	</tr><tr>
		<td>Prezime majke:</td>
		<td><input type="text" name="prezimemajke" value="<?php 
        echo mysql_result($q400, 0, 5);
        ?>
" class="default"></td>
	</tr><tr><td colspan="2">&nbsp;</td>
	</tr><tr>
		<td>Datum rođenja:</td>
		<td><input type="text" name="datum_rodjenja" value="<?php 
        if (mysql_result($q400, 0, 4)) {
            print date("d. m. Y.", mysql_result($q400, 0, 9));
        }
        ?>
" class="default"></td>
	</tr><tr>
		<td>Mjesto rođenja:</td>
		<td><?php 
        echo mycombobox("mjesto_rodjenja", $mjestorvalue, $gradovilist);
        ?>
</td>
	</tr><tr>
		<td>Općina rođenja:</td>
		<td><select name="opcina_rodjenja" class="default"><?php 
        echo $opcinar;
        ?>
</select></td>
	</tr><tr>
		<td>Država rođenja:</td>
		<td><select name="drzava_rodjenja" class="default"><?php 
        echo $drzaverodjr;
        ?>
</select></td>
	</tr><tr>
		<td>Državljanstvo:</td>
		<td><select name="drzavljanstvo" class="default"><?php 
        echo $drzavljanstvor;
        ?>
</select></td>
	</tr><tr>
		<td>Boračke kategorije:</td>
		<td><input type="checkbox" name="boracke_kategorije" <?php 
        echo $boracke_kategorije;
        ?>
></td>
	</tr><tr><td colspan="2">&nbsp;</td>
	</tr><tr>
		<td>Adresa:</td>
		<td><input type="text" name="adresa" value="<?php 
        echo mysql_result($q400, 0, 14);
        ?>
" class="default"><br>
		<?php 
        echo mycombobox("adresa_mjesto", $mjestoavalue, $gradovilist);
        ?>
</td>
	</tr><tr>
		<td>Kanton:</td>
		<td><?php 
        echo db_dropdown("kanton", mysql_result($q400, 0, 17), "--Izaberite kanton--");
        ?>
</td>
	</tr><tr>
		<td>Telefon:</td>
		<td><input type="text" name="telefon" value="<?php 
        echo mysql_result($q400, 0, 16);
        ?>
" class="default"></td>
	</tr><tr>
		<td valign="top">Kontakt e-mail:</td>
		<td><?php 
        echo $email_adrese;
        ?>
		<input type="text" name="emailnovi" id="emailnovi" class="default"> <input type="button" class="default" value="Dodaj" onclick="javascript:location.href='?sta=studentska/osobe&osoba=<?php 
        echo $osoba;
        ?>
&akcija=podaci&subakcija=dodajmail&adresa='+document.getElementById('emailnovi').value;"></td>
	</tr><tr><td colspan="2">&nbsp;</td>
	</tr><tr>
		<td>Maternji jezik:</td>
		<td><?php 
        echo db_dropdown("maternji_jezik", mysql_result($q400, 0, 22), " ");
        ?>
</td>
	</tr><tr>
		<td>Vozačka dozvola:</td>
		<td><?php 
        echo db_dropdown("vozacki_kategorija", mysql_result($q400, 0, 23), " ");
        ?>
</td>
	</tr><tr>
		<td>Način stanovanja:</td>
		<td><?php 
        echo db_dropdown("nacin_stanovanja", mysql_result($q400, 0, 24), " ");
        ?>
</td>
	</tr><tr><td colspan="2">&nbsp;</td>
	</tr><tr>
		<td>Stručni stepen:</td>
		<td><?php 
        echo db_dropdown("strucni_stepen", mysql_result($q400, 0, 18), " ");
        ?>
</td>
	</tr><tr>
		<td>Naučni stepen:</td>
		<td><?php 
        echo db_dropdown("naucni_stepen", mysql_result($q400, 0, 19), " ");
        ?>
</td>
	</tr></table>

	<p>
	<input type="Submit" value=" Izmijeni "></form>
	<a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
        echo $osoba;
        ?>
">Povratak nazad</a>
	</p>
	<?php 
    } else {
        if ($akcija == "upis") {
            $student = intval($_REQUEST['osoba']);
            $studij = intval($_REQUEST['studij']);
            $semestar = intval($_REQUEST['semestar']);
            $godina = intval($_REQUEST['godina']);
            // Neispravni parametri se ne bi trebali desiti, osim u slučaju hackovanja
            // a i tada je "šteta" samo nekonzistentnost baze
            $q500 = myquery("select ime, prezime, brindexa from osoba where id={$student}");
            $ime = mysql_result($q500, 0, 0);
            $prezime = mysql_result($q500, 0, 1);
            $brindexa = mysql_result($q500, 0, 2);
            $q505 = myquery("select naziv from akademska_godina where id={$godina}");
            $naziv_ak_god = mysql_result($q505, 0, 0);
            ?>
	<a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
            echo $student;
            ?>
">Nazad na podatke o osobi</a><br/><br/>
	<h2><?php 
            echo $ime;
            ?>
 <?php 
            echo $prezime;
            ?>
 - upis</h2><?php 
            print genform("POST");
            ?>
	<input type="hidden" name="subakcija" value="upis_potvrda">
	<?php 
            // Ako je subakcija, potvrdjujemo da se moze izvrsiti upis
            $ok_izvrsiti_upis = 0;
            if ($_POST['subakcija'] == "upis_potvrda" && check_csrf_token()) {
                $ok_izvrsiti_upis = 1;
                // Potvrdjujemo promjenu studija napravljenu tokom rada
                $ns = intval($_REQUEST['novi_studij']);
                if ($ns > 0) {
                    $studij = $ns;
                    $_REQUEST['novi_studij'] = 0;
                    ?>
	<input type="hidden" name="studij" value="<?php 
                    echo $studij;
                    ?>
">
	<input type="hidden" name="novi_studij" value="0">
			<?php 
                    $ok_izvrsiti_upis = 0;
                    // Tražimo novu potvrdu jer od izbora studija ovisi previše stvari
                    // npr. ugovor o učenju
                }
            }
            // Šta je student slušao i kako?
            $q510 = myquery("select studij, nacin_studiranja, plan_studija, semestar, ponovac from student_studij where student={$student} order by akademska_godina desc, semestar desc limit 1");
            $stari_studij = $nacin_studiranja = $plan_studija = $ponovac = $stari_nacin_studiranja = 0;
            if (mysql_num_rows($q510) > 0) {
                $stari_studij = mysql_result($q510, 0, 0);
                $stari_nacin_studiranja = mysql_result($q510, 0, 1);
                $plan_studija = mysql_result($q510, 0, 2);
                if (mysql_result($q510, 0, 3) >= $semestar) {
                    $ponovac = 1;
                } else {
                    if ($semestar % 2 == 0) {
                        $ponovac = mysql_result($q510, 0, 4);
                    }
                }
            }
            if (intval($_REQUEST['nacin_studiranja']) > 0) {
                $nacin_studiranja = intval($_REQUEST['nacin_studiranja']);
            }
            // Ako je promijenjen studij, moramo odrediti i novi plan studija
            if ($stari_studij != $studij) {
                $ponovac = 0;
                $q515 = myquery("select godina_vazenja from plan_studija where studij={$studij} order by godina_vazenja desc limit 1");
                if (mysql_num_rows($q515) > 0) {
                    $plan_studija = mysql_result($q515, 0, 0);
                }
            }
            // Novi student
            $mijenja_studij = 0;
            if ($stari_studij == 0 && $ns == 0 && $ok_izvrsiti_upis == 0) {
                // Šta je odabrao na prijemnom? (pretpostavljamo da godine idu hronološkim redom)
                $izabrani_studij = $studij;
                $q520 = myquery("select pp.studij_prvi, pt.ciklus_studija from prijemni_prijava as pp, prijemni_termin as pt where pp.osoba={$student} and pp.prijemni_termin=pt.id and pt.akademska_godina={$godina} order by pt.datum desc limit 1");
                if (mysql_num_rows($q520) > 0) {
                    $izabrani_studij = mysql_result($q520, 0, 0);
                    $ciklus = mysql_result($q520, 0, 1);
                } else {
                    // Iz parametra studij ćemo probati odrediti ciklus
                    $q530 = myquery("select ts.ciklus from tipstudija as ts, studij as s where s.id={$studij} and s.tipstudija=ts.id");
                    if (mysql_num_rows($q530) > 0) {
                        $ciklus = mysql_result($q530, 0, 0);
                    } else {
                        $ciklus = 1;
                    }
                    // nemamo pojma = prvi ciklus
                }
                // Lista studija
                $q550 = myquery("select s.id, s.naziv from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.ciklus={$ciklus} and ts.moguc_upis=1 order by s.naziv");
                ?>
		<p><b>Izaberite studij koji će student upisati:</b><br/>
		<?php 
                while ($r550 = mysql_fetch_row($q550)) {
                    if ($r550[0] == $izabrani_studij) {
                        $dodaj = " CHECKED";
                    } else {
                        $dodaj = "";
                    }
                    print '<input type="radio" name="novi_studij" value="' . $r550[0] . '"' . $dodaj . '>' . $r550[1] . "<br/>\n";
                }
                print "</p>\n\n";
                $mijenja_studij = 1;
            }
            // Izbor studija kod zavrsetka prethodnog
            $q540 = myquery("select ts.trajanje, s.naziv, ts.ciklus, s.institucija from studij as s, tipstudija as ts where s.id={$studij} and s.tipstudija=ts.id");
            if (mysql_num_rows($q540) > 0) {
                $trajanje = mysql_result($q540, 0, 0);
                $naziv_studija = mysql_result($q540, 0, 1);
                $ciklus = mysql_result($q540, 0, 2);
                $institucija = mysql_result($q540, 0, 3);
            } else {
                $ok_izvrsiti_upis = 0;
            }
            // nepoznat studij
            // Pošto se akcija "edit" ne bavi određivanjem sljedećeg ciklusa, ona će proslijediti
            // prevelik broj semestra
            if ($semestar > $trajanje && $stari_studij != 0) {
                // Biramo sljedeći ciklus istog studija po tome što ga nudi ista institucija
                $ciklus++;
                $q545 = myquery("select s.id from studij as s, tipstudija as ts where s.institucija={$institucija} and s.tipstudija=ts.id and ts.ciklus={$ciklus} and ts.moguc_upis=1");
                if (mysql_num_rows($q545) > 0) {
                    $izabrani_studij = mysql_result($q545, 0, 0);
                }
                $q550 = myquery("select s.id, s.naziv from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.ciklus={$ciklus} and ts.moguc_upis=1 order by s.naziv");
                ?>
		<p><b>Izaberite studij koji će student upisati:</b><br/>
		<?php 
                while ($r550 = mysql_fetch_row($q550)) {
                    if ($r550[0] == $izabrani_studij) {
                        $dodaj = " CHECKED";
                    } else {
                        $dodaj = "";
                    }
                    print '<input type="radio" name="novi_studij" value="' . $r550[0] . '"' . $dodaj . '>' . $r550[1] . "<br/>\n";
                }
                print "</p>\n\n";
                // Postavljamo semestar na 1
                unset($_REQUEST['semestar']);
                print '<input type="hidden" name="semestar" value="1">' . "\n";
                $prijedlog_nacin_studiranja = $nacin_studiranja;
                $nacin_studiranja = 0;
                // Ponovo se mora izabrati način studiranja
                $ok_izvrsiti_upis = 0;
                $mijenja_studij = 1;
            } else {
                if ($stari_studij != 0) {
                    ?>
		<p>Upis na studij <?php 
                    echo $naziv_studija;
                    ?>
, <?php 
                    echo $semestar;
                    ?>
. semestar:</p>
		<?php 
                }
            }
            // Izbor načina studiranja
            if ($nacin_studiranja == 0) {
                ?>
		<p><b>Izaberite način studiranja studenta:</b><br/>
		<?php 
                $q560 = myquery("select id, naziv from nacin_studiranja where moguc_upis=1");
                while ($r560 = mysql_fetch_row($q560)) {
                    if ($r560[0] == $stari_nacin_studiranja) {
                        $dodaj = " CHECKED";
                    } else {
                        $dodaj = "";
                    }
                    print '<input type="radio" name="nacin_studiranja" value="' . $r560[0] . '"' . $dodaj . '>' . $r560[1] . "<br/>\n";
                }
                $ok_izvrsiti_upis = 0;
            }
            // Da li ima nepoložene predmete sa ranijih semestara?
            if ($semestar > 1 && $semestar % 2 == 1 && $stari_studij != 0) {
                // Uvodimo dva načina izbora predmeta - preko plana studija i preko odslušanih predmeta u prošloj godini
                // U slučaju da nije definisan plan studija, bira se ovaj drugi način, ali on nije pouzdan zbog komplikacije
                // oko izbornih predmeta i ECTSova
                if ($plan_studija > 0) {
                    // Prema novom zakonu, uslov za upis je jedan predmet iz prethodne godine
                    $predmeti_pao = array();
                    $stari_predmet = array();
                    $q570 = myquery("select predmet, obavezan, semestar from plan_studija where godina_vazenja={$plan_studija} and studij={$stari_studij} and semestar<{$semestar} order by semestar");
                    $slusao = array();
                    while ($r570 = mysql_fetch_row($q570)) {
                        $psemestar = $r570[2];
                        if ($r570[1] == 1) {
                            // obavezan
                            $predmet = $r570[0];
                            $q580 = myquery("select count(*) from konacna_ocjena where student={$student} and predmet={$predmet} and ocjena>5");
                            if (mysql_result($q580, 0, 0) < 1) {
                                $q590 = myquery("select ects, naziv from predmet where id={$predmet}");
                                $predmeti_pao[$predmet] = mysql_result($q590, 0, 1);
                                if ($psemestar < $semestar - 2) {
                                    $stari_predmet[$predmet] = 1;
                                }
                            }
                        } else {
                            // izborni
                            $is = $r570[0];
                            $slusao_id = 0;
                            $polozio = 0;
                            $q600 = myquery("select predmet from izborni_slot where id={$is}");
                            while ($r600 = mysql_fetch_row($q600)) {
                                $predmet = $r600[0];
                                if ($slusao[$predmet] != "") {
                                    continue;
                                }
                                // kada je isti predmet u dva slota
                                // Koji je od ovih slušao?
                                $q610 = myquery("select count(*) from student_predmet as sp, ponudakursa as pk where sp.student={$student} and sp.predmet=pk.id and pk.predmet={$predmet}");
                                if (mysql_result($q610, 0, 0) > 0) {
                                    $slusao_id = $predmet;
                                    $q620 = myquery("select ects, naziv from predmet where id={$predmet}");
                                    $slusao[$predmet] = mysql_result($q620, 0, 1);
                                }
                                // Da li je polozio?
                                $q630 = myquery("select count(*) from konacna_ocjena where student={$student} and predmet={$predmet} and ocjena>5");
                                if (mysql_result($q630, 0, 0) > 0) {
                                    $polozio = 1;
                                    break;
                                }
                            }
                            if ($polozio == 0) {
                                // nije položio nijedan od mogućih predmeta u slotu
                                if ($slusao_id > 0) {
                                    $predmeti_pao[$slusao_id] = $slusao[$slusao_id];
                                } else {
                                    // Ubacićemo nešto u niz $predmeti_pao da se zna da nema uslov
                                    // ali u biti ne znamo šta
                                    $predmeti_pao[0] = "X";
                                }
                                if ($psemestar < $semestar - 2) {
                                    $stari_predmet[$slusao_id] = 1;
                                }
                            }
                        }
                    }
                } else {
                    // if ($plan_studija>0)
                    // Nemamo plana studija, pokušavamo odrediti šta je student slušao ranijih godina
                    // Nepouzdano zbog kolizija, izbornih predmeta itd.
                    $q640 = myquery("select pk.predmet, p.ects, pk.semestar, p.naziv from ponudakursa as pk, student_predmet as sp, predmet as p where sp.student={$student} and sp.predmet=pk.id and pk.semestar<{$semestar} and pk.predmet=p.id");
                    $predmeti_pao = array();
                    while ($r650 = mysql_fetch_row($q650)) {
                        $predmet = $r650[0];
                        $psemestar = $r650[2];
                        $pnaziv = $r650[3];
                        $q660 = myquery("select count(*) from konacna_ocjena where student={$student} and predmet={$predmet} and ocjena>5");
                        if (mysql_result($q660, 0, 0) < 1 && !$predmeti_pao[$predmet]) {
                            $predmeti_pao[$predmet] = $pnaziv;
                            if ($psemestar < $semestar - 2) {
                                $stari_predmet[$predmet] = 1;
                            }
                        }
                    }
                }
                // Tabela za unos ocjena na predmetima koje je pao:
                if (count($predmeti_pao) > 0 && $ok_izvrsiti_upis == 0) {
                    ?>
		<p><b>Predmeti iz kojih je student ostao neocijenjen - upišite eventualne ocjene u polja lijevo:</b></p>
		<table border="0">
		<?php 
                    foreach ($predmeti_pao as $id => $naziv) {
                        if ($id == 0) {
                            // Ovo je jedini pametan razlog da se pojavi id nula
                            ?>
				<tr><td colspan="2">Student nije slušao nijedan od ponuđenih izbornih predmeta koje je po planu studija trebao slušati.<br/> Pošto ima dovoljan broj ostvarenih ECTS kredita pretpostavićemo da je sve u redu.</td></tr>
				<?php 
                            continue;
                        }
                        ?>
			<tr><td><input type="text" size="3" name="pao-<?php 
                        echo $id;
                        ?>
"></td>
			<td><?php 
                        echo $naziv;
                        ?>
</td></tr>
			<?php 
                    }
                    ?>
		</table>
		<?php 
                }
            }
            // if ($semestar%2 ==1)
            // IZBORNI PREDMETI
            // novi studij - određujemo najnoviji plan studija za taj studij
            if ($ns > 0) {
                $q670 = myquery("select godina_vazenja from plan_studija where studij={$studij} order by godina_vazenja desc limit 1");
                if (mysql_num_rows($q670) > 0) {
                    $plan_studija = mysql_result($q670, 0, 0);
                }
            }
            // Nema potrebe gledati dalje ako treba tek izabrati studij
            $uou = 0;
            if ($mijenja_studij == 0) {
                // Da li je popunjen ugovor o učenju?
                $q680 = myquery("select id from ugovoroucenju where student={$student} and akademska_godina={$godina} and studij={$studij} and semestar={$semestar}");
                $uoupk = array();
                if (mysql_num_rows($q680) > 0) {
                    $uou = mysql_result($q680, 0, 0);
                    if ($ok_izvrsiti_upis == 0) {
                        print "<p>Popunjen Ugovor o učenju (ID: {$uou}).\n";
                    }
                    $q690 = myquery("select p.id, p.naziv from ugovoroucenju_izborni as uoui, predmet as p where uoui.ugovoroucenju={$uou} and uoui.predmet=p.id");
                    if (mysql_num_rows($q690) > 0 && $ok_izvrsiti_upis == 0) {
                        print " Izabrani predmeti u semestru:";
                    }
                    while ($r690 = mysql_fetch_row($q690)) {
                        $predmet = $r690[0];
                        if ($ok_izvrsiti_upis == 0) {
                            print "<br/>* {$r690['1']}\n";
                        }
                        // Da li je već položio predmet
                        $q695 = myquery("select count(*) from konacna_ocjena where student={$student} and predmet={$predmet} and ocjena>5");
                        if (mysql_result($q695, 0, 0) > 0) {
                            if ($ok_izvrsiti_upis == 0) {
                                print " - već položen! Preskačem";
                            }
                        } else {
                            // Tražimo ponudukursa
                            $q700 = myquery("select id from ponudakursa where predmet={$predmet} and studij={$studij} and semestar={$semestar} and akademska_godina={$godina}");
                            if (mysql_num_rows($q700) < 1) {
                                if ($ok_izvrsiti_upis == 0) {
                                    print " - nije pronađena ponuda kursa!! Kreiram.\n";
                                }
                                $q701 = myquery("insert into ponudakursa set predmet={$predmet}, studij={$studij}, semestar={$semestar}, akademska_godina={$godina}, obavezan=0");
                                $q700 = myquery("select id from ponudakursa where predmet={$predmet} and studij={$studij} and semestar={$semestar} and akademska_godina={$godina}");
                                zamgerlog("kreirao ponudu kursa pp{$predmet}, studij s{$studij}, sem. {$semestar}, ag{$ag} zbog studenta u{$student}", 2);
                                zamgerlog2("kreirao ponudu kursa zbog studenta", $student, intval($pkid));
                            }
                            if ($ok_izvrsiti_upis == 0) {
                                print '<input type="hidden" name="izborni-' . mysql_result($q700, 0, 0) . '" value="on">' . "\n";
                            }
                        }
                    }
                    if ($ok_izvrsiti_upis == 0) {
                        print "</p>\n";
                    }
                } else {
                    if ($ok_izvrsiti_upis == 0) {
                        print "<p><b>Nije popunjen Ugovor o učenju!</b> Izaberite izborne predmete ručno.</p>\n";
                    }
                }
                // Nalazim izborne predmete
                // Ako postoji plan studija, problem je jednostavan
                if ($plan_studija > 0 && $uou == 0) {
                    $bio_predmet = array();
                    $q710 = myquery("select predmet from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and semestar={$semestar} and obavezan=0");
                    while ($r710 = mysql_fetch_row($q710)) {
                        $izborni_slot = $r710[0];
                        $q720 = myquery("select p.id, p.naziv, p.ects from izborni_slot as iz, predmet as p where iz.id={$izborni_slot} and iz.predmet=p.id");
                        // Prvi prolaz, za provjere
                        $nastavak = 0;
                        $ispis_predmet = array();
                        $ispis_predmet_ects = array();
                        while ($r720 = mysql_fetch_row($q720)) {
                            $predmet = $r720[0];
                            if (in_array($predmet, $bio_predmet)) {
                                continue;
                            }
                            array_push($bio_predmet, $predmet);
                            // Da li je izabran na formi?
                            foreach ($_REQUEST as $key => $value) {
                                if (substr($key, 0, 8) != "izborni-") {
                                    continue;
                                }
                                if ($value == "") {
                                    continue;
                                }
                                $ponudakursa = intval(substr($key, 8));
                                $q566 = myquery("select predmet from ponudakursa where id={$ponudakursa}");
                                if ($predmet == mysql_result($q566, 0, 0)) {
                                    $nastavak = 1;
                                    break;
                                }
                            }
                            // Da li je položen?
                            $q730 = myquery("select count(*) from konacna_ocjena where student={$student} and predmet={$predmet}");
                            if (mysql_result($q730, 0, 0) > 0) {
                                $nastavak = 1;
                                break;
                            }
                            $ispis_predmet[$predmet] = $r720[1];
                            $ispis_predmet_ects[$predmet] = $r720[2];
                        }
                        if ($nastavak == 1) {
                            continue;
                        }
                        if ($ok_izvrsiti_upis == 1 && count($ispis_predmet) > 0) {
                            print "<p><b>Morate izabrati jedan od ovih predmeta.</b> Ako to znači da ste sada izabrali viška predmeta, koristite dugme za povratak nazad.</p>\n";
                            $ok_izvrsiti_upis = 0;
                        }
                        // Drugi prolaz
                        foreach ($ispis_predmet as $predmet => $pnaziv) {
                            // Odredjujemo ponudu kursa
                            $q740 = myquery("select id from ponudakursa where predmet={$predmet} and studij={$studij} and semestar={$semestar} and akademska_godina={$godina}");
                            if (mysql_num_rows($q740) < 1) {
                                $q701 = myquery("insert into ponudakursa set predmet={$predmet}, studij={$studij}, semestar={$semestar}, akademska_godina={$godina}, obavezan=0");
                                $q700 = myquery("select id from ponudakursa where predmet={$predmet} and studij={$studij} and semestar={$semestar} and akademska_godina={$godina}");
                                $pkid = mysql_result($q700, 0, 0);
                                zamgerlog("kreirao ponudu kursa pp{$predmet}, studij s{$studij}, sem. {$semestar}, ag{$ag} zbog studenta u{$student}", 2);
                                zamgerlog2("kreirao ponudu kursa zbog studenta", $student, intval($pkid));
                            } else {
                                $pkid = mysql_result($q740, 0, 0);
                            }
                            ?>
					<input type="checkbox" name="izborni-<?php 
                            echo $pkid;
                            ?>
"> <?php 
                            echo $pnaziv;
                            ?>
 (<?php 
                            echo $ispis_predmet_ects[$predmet];
                            ?>
 ECTS)<br/>
					<?php 
                        }
                    }
                } else {
                    if ($uou == 0) {
                        // Nije definisan plan studija - deduciramo izborne predmete iz onoga što se držalo prošle godine
                        // Da li je zbir ECTS bodova sa izbornim predmetima = 30?
                        $q560 = myquery("select p.id, p.naziv, pk.id, p.ects from predmet as p, ponudakursa as pk where pk.akademska_godina={$godina} and pk.studij={$studij} and pk.semestar={$semestar} and obavezan=0 and pk.predmet=p.id");
                        if (mysql_num_rows($q560) > 0 && $ok_izvrsiti_upis == 1) {
                            $q565 = myquery("select sum(p.ects) from ponudakursa as pk, predmet as p where pk.studij={$studij} and pk.semestar={$semestar} and pk.akademska_godina={$godina} and pk.obavezan=1 and pk.predmet=p.id");
                            $ects_suma = mysql_result($q565, 0, 0);
                            // Upisujemo na izborne predmete koji su odabrani
                            foreach ($_REQUEST as $key => $value) {
                                if (substr($key, 0, 8) != "izborni-") {
                                    continue;
                                }
                                if ($value == "") {
                                    continue;
                                }
                                $predmet = intval(substr($key, 8));
                                $q566 = myquery("select p.ects from ponudakursa as pk, predmet as p where pk.id={$predmet} and pk.predmet=p.id");
                                $ects_suma += mysql_result($q566, 0, 0);
                            }
                            if ($ects_suma != 30) {
                                $ok_izvrsiti_upis = 0;
                                niceerror("Izabrani izborni predmeti čine sumu {$ects_suma} ECTS kredita, umjesto 30");
                            }
                        }
                        if (mysql_num_rows($q560) > 0 && $ok_izvrsiti_upis == 0) {
                            ?>
				<p><b>Izaberite izborne predmete:</b><br/>
				<?php 
                            while ($r560 = mysql_fetch_row($q560)) {
                                $q570 = myquery("select count(*) from konacna_ocjena where student={$student} and predmet={$r560['0']}");
                                if (mysql_result($q570, 0, 0) < 1) {
                                    // Nije polozio/la - koristimo pk
                                    ?>
						<input type="checkbox" name="izborni-<?php 
                                    echo $r560[2];
                                    ?>
"> <?php 
                                    echo $r560[1];
                                    ?>
 (<?php 
                                    echo $r560[3];
                                    ?>
 ECTS)<br/>
						<?php 
                                }
                            }
                        }
                    }
                }
            }
            // if ($stari_studij!=0 && $semestar<=$trajanje)
            // Studentu nikada nije zadat broj indexa (npr. prvi put se upisuje)
            if (($brindexa == 0 || $brindexa == "" || $mijenja_studij == 1) && $ok_izvrsiti_upis == 0 && !isset($_REQUEST['novi_brindexa'])) {
                if ($brindexa == 0) {
                    $brindexa = "";
                }
                ?>
		<p><b>Unesite broj indeksa za ovog studenta:</b><br/>
		<input type="text" name="novi_brindexa" size="10" value="<?php 
                echo $brindexa;
                ?>
"></p>
		<?php 
            }
            // ------ Izvrsenje upisa!
            if ($ok_izvrsiti_upis == 1 && check_csrf_token()) {
                // Upis u prvi semestar - kandidat za prijemni postaje student!
                if ($stari_studij == 0) {
                    // Ukidamo privilegiju "prijemni" ako je student imao
                    $q640 = myquery("delete from privilegije where osoba={$student} and privilegija='prijemni'");
                    // Dodajemo privilegiju "student" samo ako je student nije već imao
                    $q643 = myquery("select count(*) from privilegije where osoba={$student} and privilegija='student'");
                    if (mysql_result($q643, 0, 0) < 1) {
                        $q646 = myquery("insert into privilegije set osoba={$student}, privilegija='student'");
                    }
                    // AUTH tabelu cemo srediti naknadno
                    zamgerlog2("proglasen za studenta", $student);
                    print "-- {$prezime} {$ime} proglašen za studenta<br/>\n";
                }
                // Novi broj indexa
                $nbri = my_escape($_REQUEST['novi_brindexa']);
                if ($nbri != "") {
                    $q650 = myquery("update osoba set brindexa='{$nbri}' where id={$student}");
                    zamgerlog2("postavljen broj indeksa", $student, 0, 0, $nbri);
                    print "-- broj indeksa postavljen na {$nbri}<br/>\n";
                }
                // Upisujemo ocjene za predmete koje su dopisane
                if (count($predmeti_pao) > 0) {
                    foreach ($predmeti_pao as $predmet => $naziv_predmeta) {
                        $ocjena = intval($_REQUEST["pao-{$predmet}"]);
                        if ($ocjena > 5) {
                            // Upisujem dopisanu ocjenu
                            $q590 = myquery("insert into konacna_ocjena set student={$student}, predmet={$predmet}, ocjena={$ocjena}, akademska_godina={$ag}");
                            zamgerlog("dopisana ocjena {$ocjena} prilikom upisa na studij (predmet pp{$predmet}, student u{$student})", 4);
                            // 4 = audit
                            zamgerlog2("dodana ocjena", $student, $predmet, $ag, $ocjena);
                            print "-- Dopisana ocjena {$ocjena} za predmet {$naziv_predmeta}<br/>\n";
                        } else {
                            // Student prenio predmet
                            if ($predmet == 0) {
                                continue;
                            }
                            // nije slušao nijedan od mogućih izbornih predmeta
                            // Provjera broja ECTS kredita je obavljena na početnoj strani (akcija "edit")
                            // pa ćemo pretpostaviti sve najbolje :)
                            // Moramo upisati studenta u istu ponudu kursa koju je ranije slušao
                            $q592 = myquery("select pk.studij,pk.semestar from ponudakursa as pk, student_predmet as sp where sp.student={$student} and sp.predmet=pk.id and pk.predmet={$predmet} order by pk.akademska_godina desc limit 1");
                            // Polje predmeti pao sadrži predmete koje je student trebao slušati prema NPP u prošloj godini a nije ih položio
                            // No ako se student direktno upisuje na višu godinu (doktorski studij!?), moguće da je tu predmet koji nikada nije slušao
                            // Stoga moramo provjeriti i to i preskočiti takve predmete
                            if (mysql_num_rows($q592) < 1) {
                                continue;
                            }
                            $q594 = myquery("select id from ponudakursa where predmet={$predmet} and studij=" . mysql_result($q592, 0, 0) . " and semestar=" . mysql_result($q592, 0, 1) . " and akademska_godina={$godina}");
                            upis_studenta_na_predmet($student, mysql_result($q594, 0, 0));
                            zamgerlog2("student upisan na predmet (preneseni)", $student, intval(mysql_result($q594, 0, 0)));
                            print "-- Upisan u predmet {$naziv_predmeta} koji je prenio s prethodne godine (ako je ovo greška, zapamtite da ga treba ispisati sa predmeta!)<br/>\n";
                        }
                    }
                }
                // Upisujemo studenta na novi studij
                $q600 = myquery("insert into student_studij set student={$student}, studij={$studij}, semestar={$semestar}, akademska_godina={$godina}, nacin_studiranja={$nacin_studiranja}, ponovac={$ponovac}, odluka=NULL, plan_studija={$plan_studija}");
                // Upisujemo na sve obavezne predmete na studiju
                $q610 = myquery("select pk.id, p.id, p.naziv from ponudakursa as pk, predmet as p where pk.studij={$studij} and pk.semestar={$semestar} and pk.akademska_godina={$godina} and pk.obavezan=1 and pk.predmet=p.id");
                while ($r610 = mysql_fetch_row($q610)) {
                    // Da li ga je vec polozio
                    $q615 = myquery("select count(*) from konacna_ocjena where student={$student} and predmet={$r610['1']}");
                    if (mysql_result($q615, 0, 0) < 1) {
                        upis_studenta_na_predmet($student, $r610[0]);
                        zamgerlog2("student upisan na predmet (obavezan)", $student, intval($r610[0]));
                    } else {
                        print "-- Student NIJE upisan u {$r610['2']} jer ga je već položio<br/>\n";
                    }
                }
                // Upisujemo na izborne predmete koji su odabrani
                foreach ($_REQUEST as $key => $value) {
                    if (substr($key, 0, 8) != "izborni-") {
                        continue;
                    }
                    if ($value == "") {
                        continue;
                    }
                    $ponudakursa = intval(substr($key, 8));
                    // drugi dio ključa je ponudakursa
                    upis_studenta_na_predmet($student, $ponudakursa);
                    zamgerlog2("student upisan na predmet (izborni)", $student, $ponudakursa);
                    $q635 = myquery("select p.naziv from ponudakursa as pk, predmet as p where pk.id={$ponudakursa} and pk.predmet=p.id");
                    print "-- Student upisan u izborni predmet " . mysql_result($q635, 0, 0) . "<br/>";
                }
                nicemessage("Student uspješno upisan na {$naziv_studija}, {$semestar}. semestar");
                zamgerlog("Student u{$student} upisan na studij s{$studij}, semestar {$semestar}, godina ag{$godina}", 4);
                // 4 - audit
                return;
            } else {
                ?>
		<p>&nbsp;</p>
		<input type="submit" value=" Potvrda upisa ">
		</form>
		<?php 
            }
        } else {
            if ($akcija == "ispis") {
                // Svi parametri su obavezni!
                $studij = $_REQUEST['studij'];
                $semestar = $_REQUEST['semestar'];
                $ak_god = $_REQUEST['godina'];
                $q2500 = myquery("select ime, prezime from osoba where id={$osoba}");
                $ime = mysql_result($q2500, 0, 0);
                $prezime = mysql_result($q2500, 0, 1);
                $q2510 = myquery("select naziv from akademska_godina where id={$ak_god}");
                $naziv_ak_god = mysql_result($q2510, 0, 0);
                ?>
	<a href="?sta=studentska/osobe&akcija=edit&osoba=<?php 
                echo $osoba;
                ?>
">Nazad na podatke o osobi</a><br/><br/>
	<h2><?php 
                echo $ime;
                ?>
 <?php 
                echo $prezime;
                ?>
 - ispis sa studija</h2>
	<?php 
                // Gdje je trenutno upisan?
                $q2520 = 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} and ss.semestar={$semestar}");
                if (mysql_num_rows($q2520) < 1) {
                    niceerror("Student nije upisan na fakultet u izabranoj akademskoj godini!");
                    zamgerlog("pokusao ispisati studenta u{$osoba} koji nije upisan u ag{$ak_god}", 3);
                    zamgerlog2("pokusao ispisati studenta koji nije upisan", $osoba, intval($ak_god));
                    return;
                }
                if (mysql_result($q2520, 0, 0) != $studij) {
                    niceerror("Student nije upisan na izabrani studij u izabranoj akademskoj godini!");
                    zamgerlog("pokusao ispisati studenta u{$osoba} sa studija {$studij} koji ne slusa u ag{$ak_god}", 3);
                    zamgerlog2("pokusao ispisati studenta sa studija koji ne slusa", $osoba, intval($studij), intval($ak_god));
                    return;
                }
                if (mysql_result($q2520, 0, 2) != $semestar) {
                    niceerror("Student nije upisan na izabrani semestar u izabranoj akademskoj godini!");
                    zamgerlog("pokusao ispisati studenta u{$osoba} sa semestra {$semestar} koji ne slusa u ag{$ak_god}", 3);
                    zamgerlog2("pokusao ispisati studenta sa semestra koji ne slusa", $osoba, intval($semestar), intval($ak_god));
                    return;
                }
                $naziv_studija = mysql_result($q2520, 0, 1);
                $zimski_ljetnji = $semestar % 2;
                ?>
	<h3>Studij: <?php 
                echo $naziv_studija;
                ?>
, <?php 
                echo $semestar;
                ?>
. semestar, <?php 
                echo $naziv_ak_god;
                ?>
 godina</h3>
	<?php 
                // Ispis sa studija
                if ($_REQUEST['potvrda'] == "1") {
                    $q530 = myquery("select pk.predmet from student_predmet as sp, ponudakursa as pk where sp.student={$osoba} and sp.predmet=pk.id and pk.akademska_godina={$ak_god} and pk.semestar mod 2={$zimski_ljetnji}");
                    while ($r530 = mysql_fetch_row($q530)) {
                        $predmet = $r530[0];
                        ispis_studenta_sa_predmeta($osoba, $predmet, $ak_god);
                        zamgerlog("ispisujem studenta u{$osoba} sa predmeta pp{$predmet} (ispis sa studija)", 4);
                        // 4 - audit
                        zamgerlog2("student ispisan sa predmeta (ispis sa studija)", $osoba, intval($predmet), intval($ak_god));
                    }
                    $q550 = myquery("delete from student_studij where student={$osoba} and akademska_godina={$ak_god} and semestar={$semestar}");
                    nicemessage("Ispisujem studenta sa studija {$naziv_studija} i svih predmeta koje trenutno sluša.");
                    zamgerlog("ispisujem studenta u{$osoba} sa studija {$naziv_studija} (ag{$ak_god})", 4);
                    zamgerlog2("student ispisan sa studija", $osoba, intval($ak_god));
                } else {
                    ?>
		<p>Student će biti ispisan sa sljedećih predmeta:<ul>
		<?php 
                    $q520 = myquery("select p.naziv from predmet as p, ponudakursa as pk, student_predmet as sp where sp.student={$osoba} and sp.predmet=pk.id and pk.akademska_godina={$ak_god} and pk.predmet=p.id and pk.semestar mod 2={$zimski_ljetnji}");
                    while ($r520 = mysql_fetch_row($q520)) {
                        print "<li>{$r520['0']}</li>\n";
                    }
                    ?>
		</ul></p>
		<p>NAPOMENA: Svi bodovi ostvareni na ovim predmetima će biti izgubljeni! Trenutno nema drugog načina da se student ispiše sa studija.</p>
		<p>Kliknite na dugme "Potvrda" da potvrdite ispis.</p>
		<?php 
                    echo genform("POST");
                    ?>
		<input type="hidden" name="potvrda" value="1">
		<input type="submit" value=" Potvrda ">
		</form>
		<?php 
                }
            } else {
                if ($akcija == "kolizija") {
                    ?>
	<a href="?sta=studentska/osobe&osoba=<?php 
                    echo $osoba;
                    ?>
&akcija=edit">Nazad na podatke o studentu</a><br/><br/>
	<?php 
                    // Odredjujemo u koju akademsku godinu bi se trebao upisivati student
                    $nova_ak_god = intval($_REQUEST['godina']);
                    $q398 = myquery("select naziv from akademska_godina where id={$nova_ak_god}");
                    $naziv_godine = mysql_result($q398, 0, 0);
                    // Koji studij student sluša? Treba nam radi ponudekursa
                    $q399 = myquery("select s.id, 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($q399, 0, 0);
                    $studij_naziv = mysql_result($q399, 0, 1);
                    $q400 = myquery("select predmet from kolizija where student={$osoba} and akademska_godina={$nova_ak_god}");
                    $predmeti = $ponudekursa = array();
                    $greska = 0;
                    while ($r400 = mysql_fetch_row($q400)) {
                        $predmet = $r400[0];
                        // Eliminišemo predmete koje je položio u međuvremenu
                        $q410 = myquery("select count(*) from konacna_ocjena where student={$osoba} and predmet={$predmet} and ocjena>5");
                        if (mysql_result($q410, 0, 0) < 1) {
                            $q420 = myquery("select naziv from predmet where id={$predmet}");
                            $predmeti[$predmet] = "<b>" . mysql_result($q420, 0, 0) . "</b> ({$studij_naziv}, ";
                            // Odredjujemo ponudu kursa koju bi student trebao slušati
                            $q430 = myquery("select id, semestar, obavezan from ponudakursa where predmet={$predmet} and studij={$studij} and akademska_godina={$nova_ak_god}");
                            if (mysql_num_rows($q430) < 1) {
                                if ($greska == 0) {
                                    niceerror("Nije pronađena ponuda kursa");
                                }
                                print "Predmet <b>" . mysql_result($q420, 0, 0) . "</b>, studij <b>{$studij_naziv}</b>, godina {$naziv_godine}<br/>";
                                $greska = 1;
                            }
                            $ponudekursa[$predmet] = mysql_result($q430, 0, 0);
                            $predmeti[$predmet] .= mysql_result($q430, 0, 1) . ". semestar";
                            if (mysql_result($q430, 0, 2) == 0) {
                                $predmeti[$predmet] .= ", izborni";
                            }
                            $predmeti[$predmet] .= ")";
                        }
                    }
                    if ($greska == 1) {
                        return;
                    }
                    // ne idemo dalje
                    if (count($predmeti) == 0) {
                        // nema ništa za koliziju!!!
                        nicemessage("Student je u međuvremenu položio/la sve predmete! Nema se ništa za upisati.");
                        return;
                    }
                    if ($_REQUEST['subakcija'] == "potvrda") {
                        foreach ($ponudekursa as $predmet => $pk) {
                            upis_studenta_na_predmet($osoba, $pk);
                            $q440 = myquery("delete from kolizija where student={$osoba} and akademska_godina={$nova_ak_god} and predmet={$predmet}");
                            zamgerlog2("student upisan na predmet (kolizija)", $osoba, intval($pk));
                        }
                        zamgerlog("prihvacen zahtjev za koliziju studenta u{$osoba}", 4);
                        // 4 = audit
                        zamgerlog2("prihvacen zahtjev za koliziju", $osoba);
                        print "<p>Upis je potvrđen.</p>\n";
                    } else {
                        ?>
		<p>Student želi upisati sljedeće predmete:</p>
		<ul>
		<?php 
                        foreach ($predmeti as $tekst) {
                            print "<li>{$tekst}</li>\n";
                        }
                        ?>
		</ul>
		<?php 
                        echo genform("POST");
                        ?>
		<input type="hidden" name="subakcija" value="potvrda">
		<input type="submit" value=" Potvrdi ">
		</form>
		<?php 
                    }
                } else {
                    if ($akcija == "predmeti") {
                        ?>
	<a href="?sta=studentska/osobe&osoba=<?php 
                        echo $osoba;
                        ?>
&akcija=edit">Nazad na podatke o studentu</a><br/><br/>
	<?php 
                        // Parametar "spisak" određuje koji predmeti će biti prikazani
                        $spisak = intval($_REQUEST['spisak']);
                        $q2000 = myquery("select ime, prezime from osoba where id={$osoba}");
                        if (mysql_num_rows($q2000) < 1) {
                            niceerror("Nepoznata osoba {$osoba}");
                            return;
                        }
                        $ime = mysql_result($q2000, 0, 0);
                        $prezime = mysql_result($q2000, 0, 1);
                        ?>
	<h2><?php 
                        echo $ime;
                        ?>
 <?php 
                        echo $prezime;
                        ?>
 - upis/ispis na predmete</h2>
	<?php 
                        // Subakcije: upis i ispis sa predmeta
                        if ($_REQUEST['subakcija'] == "upisi") {
                            $ponudakursa = intval($_REQUEST['ponudakursa']);
                            upis_studenta_na_predmet($osoba, $ponudakursa);
                            $q2200 = myquery("select p.naziv from ponudakursa as pk, predmet as p where pk.id={$ponudakursa} and pk.predmet=p.id");
                            $naziv_predmeta = mysql_result($q2200, 0, 0);
                            nicemessage("Student upisan na predmet {$naziv_predmeta}");
                            zamgerlog("student u{$osoba} manuelno upisan na predmet p{$ponudakursa}", 4);
                            // 4 - audit
                            zamgerlog2("student upisan na predmet (manuelno)", $osoba, $ponudakursa);
                        }
                        if ($_REQUEST['subakcija'] == "ispisi") {
                            $ponudakursa = intval($_REQUEST['ponudakursa']);
                            $q2200 = myquery("select p.id, p.naziv, pk.akademska_godina from ponudakursa as pk, predmet as p where pk.id={$ponudakursa} and pk.predmet=p.id");
                            $predmet = mysql_result($q2200, 0, 0);
                            $naziv_predmeta = mysql_result($q2200, 0, 1);
                            $ag = mysql_result($q2200, 0, 2);
                            // Upozorenje ako ima neke bodove?
                            $q2210 = myquery("select sum(bodovi) from komponentebodovi where student={$osoba} and predmet={$ponudakursa}");
                            $bodovi = mysql_result($q2210, 0, 0);
                            if ($bodovi != 0 && $bodovi != 10 && $_REQUEST['siguran'] != "da") {
                                // 10 bodova je default za prisustvo
                                nicemessage("Upozorenje! Student je osvojio {$bodovi} bodova na predmetu {$naziv_predmeta}.");
                                ?>
Da li ste sigurni da ga želite ispisati?<br/>
			<?php 
                                echo genform("POST");
                                ?>
			<input type="hidden" name="siguran" value="da">
			<input type="submit" value=" Potvrda ">
			</form>
			<?php 
                                return;
                            }
                            ispis_studenta_sa_predmeta($osoba, $predmet, $ag);
                            nicemessage("Student ispisan sa predmeta {$naziv_predmeta}");
                            zamgerlog("student u{$osoba} manuelno ispisan sa predmeta p{$ponudakursa}", 4);
                            // 4 - audit
                            zamgerlog2("student ispisan sa predmeta (manuelno)", $osoba, intval($predmet), intval($ag));
                        }
                        // Aktuelna akademska godina
                        if ($_REQUEST['ag'] || $_REQUEST['_lv_column_akademska_godina']) {
                            $ak_god = intval($_REQUEST['ag']);
                            if ($_REQUEST['_lv_column_akademska_godina']) {
                                $ak_god = intval($_REQUEST['_lv_column_akademska_godina']);
                            }
                            $q2005 = myquery("select naziv from akademska_godina where id={$ak_god}");
                            if (mysql_num_rows($q2005) < 1) {
                                biguglyerror("Nepoznata akademska godina");
                                return;
                            }
                            $naziv_ag = mysql_result($q2005, 0, 0);
                        } else {
                            $q2010 = myquery("select id, naziv from akademska_godina where aktuelna=1");
                            $ak_god = mysql_result($q2010, 0, 0);
                            $naziv_ag = mysql_result($q2010, 0, 1);
                        }
                        $q2020 = myquery("select studij, semestar, plan_studija from student_studij where student={$osoba} and akademska_godina={$ak_god} order by semestar desc");
                        if (mysql_num_rows($q2020) > 0) {
                            $studij = mysql_result($q2020, 0, 0);
                            $semestar = mysql_result($q2020, 0, 1);
                            $q2025 = myquery("select naziv from studij where id={$studij}");
                            $naziv_studija = mysql_result($q2025, 0, 0);
                            print "<p>Student trenutno ({$naziv_ag}) upisan na {$naziv_studija}, {$semestar}. semestar.</p>\n";
                            // Upozorenje!
                            if (mysql_result($q2020, 0, 2) > 0) {
                                print "<p><b>Napomena:</b> Student je već upisan na sve predmete koje je trebao slušati po odabranom planu studija!<br/> Koristite ovu opciju samo za izuzetke / odstupanja od plana ili u slučaju grešaka u radu Zamgera.<br/>U suprotnom, može se desiti da student nema adekvatan broj ECTS kredita ili da sluša izborni predmet<br/>koji ne bi smio slušati.</p>\n";
                            }
                        } else {
                            // Student trenutno nije upisan nigdje... biramo zadnji studij koji je slušao
                            if ($spisak == 0) {
                                $spisak = 1;
                            }
                            $q2030 = myquery("select studij, semestar, akademska_godina from student_studij where student={$osoba} order by akademska_godina desc limit 1");
                            if (mysql_num_rows($q2030) > 0) {
                                $studij = mysql_result($q2030, 0, 0);
                                $ag_studija = mysql_result($q2030, 0, 2);
                                $q2040 = myquery("select naziv from studij where id={$studij}");
                                $naziv_studija = mysql_result($q2040, 0, 0);
                                $q2050 = myquery("select naziv from akademska_godina where id={$ag_studija}");
                                if ($ag_studija > $ak_god) {
                                    print "<p>Student nije bio upisan u odabranoj akademskoj godini ({$naziv_ag}), ali je upisan na studij {$naziv_studija}, " . mysql_result($q2030, 0, 0) . ". semestar, akademske " . mysql_result($q2050, 0, 0) . " godine.</p>\n";
                                } else {
                                    print "<p>Student trenutno ({$naziv_ag}) nije upisan na fakultet! Posljednji put slušao {$naziv_studija}, " . mysql_result($q2030, 0, 0) . ". semestar, akademske " . mysql_result($q2050, 0, 0) . " godine.</p>\n";
                                }
                            } else {
                                // Nikada nije bio student?
                                $studij = 0;
                                if ($spisak < 2) {
                                    $spisak = 2;
                                }
                                print "<p>Osoba nikada nije bila naš student!</p>\n";
                            }
                        }
                        // Opcije za spisak predmeta
                        $s0 = $spisak == 0 ? "CHECKED" : "";
                        $s1 = $spisak == 1 ? "CHECKED" : "";
                        $s2 = $spisak == 2 ? "CHECKED" : "";
                        unset($_REQUEST['subakcija']);
                        // da se ne bi ponovila
                        ?>
	<?php 
                        echo genform("GET");
                        ?>
	Akademska godina: <?php 
                        echo db_dropdown("akademska_godina", $ak_god);
                        ?>
<br>
	<input type="radio" name="spisak" value="0" <?php 
                        echo $s0;
                        ?>
> Prikaži predmete sa izabranog studija i semestra<br/>
	<input type="radio" name="spisak" value="1" <?php 
                        echo $s1;
                        ?>
> Prikaži predmete sa svih semestara<br/>
	<input type="radio" name="spisak" value="2" <?php 
                        echo $s2;
                        ?>
> Prikaži predmete sa drugih studija<br/>
	<input type="submit" value=" Kreni "></form><br><br>
	<?php 
                        // Ispis svih predmeta na studiju semestru je funkcija, pošto pozivanje unutar petlje ovisi o nivou spiska
                        function dajpredmete($studij, $semestar, $student, $ag, $spisak)
                        {
                            $q2100 = myquery("select pk.id, p.id, p.naziv, pk.obavezan from ponudakursa as pk, predmet as p where pk.studij={$studij} and pk.semestar={$semestar} and pk.akademska_godina={$ag} and pk.predmet=p.id order by p.naziv");
                            while ($r2100 = mysql_fetch_row($q2100)) {
                                $ponudakursa = $r2100[0];
                                $predmet = $r2100[1];
                                $predmet_naziv = $r2100[2];
                                print "<li>{$predmet_naziv}";
                                if ($r2100[3] != 1) {
                                    print " (izborni)";
                                }
                                // Da li je upisan?
                                // Zbog mogućih bugova, prvo gledamo da li je upisan...
                                $q2120 = myquery("select count(*) from student_predmet where student={$student} and predmet={$ponudakursa}");
                                if (mysql_result($q2120, 0, 0) > 0) {
                                    print " - <a href=\"?sta=studentska/osobe&akcija=predmeti&osoba={$student}&subakcija=ispisi&ponudakursa={$ponudakursa}&spisak={$spisak}&ag={$ag}\">ispiši</a></li>\n";
                                } else {
                                    // Da li je položen?
                                    $q2110 = myquery("select count(*) from konacna_ocjena where student={$student} and predmet={$predmet} and ocjena>5");
                                    if (mysql_result($q2110, 0, 0) > 0) {
                                        print " - položen</li>\n";
                                    } else {
                                        print " - <a href=\"?sta=studentska/osobe&akcija=predmeti&osoba={$student}&subakcija=upisi&ponudakursa={$ponudakursa}&spisak={$spisak}&ag={$ag}\">upiši</a></li>\n";
                                    }
                                }
                            }
                        }
                        // function dajpredmete
                        // Ispis predmeta
                        if ($spisak == 0) {
                            print "<b>{$naziv_studija}, {$semestar}. semestar</b>\n<ul>\n";
                            dajpredmete($studij, $semestar, $osoba, $ak_god, $spisak);
                            print "</ul>\n";
                        } else {
                            if ($spisak == 1) {
                                // Broj semestara?
                                $q2060 = myquery("select ts.trajanje from studij as s, tipstudija as ts where s.id={$studij} and s.tipstudija=ts.id");
                                for ($s = 1; $s <= mysql_result($q2060, 0, 0); $s++) {
                                    if ($s == $semestar) {
                                        print "<b>{$naziv_studija}, {$s}. semestar</b>\n<ul>\n";
                                    } else {
                                        print "{$naziv_studija}, {$s}. semestar\n<ul>\n";
                                    }
                                    dajpredmete($studij, $s, $osoba, $ak_god, $spisak);
                                    print "</ul>\n";
                                }
                            } else {
                                if ($spisak == 2) {
                                    // Svi studiji
                                    $q2070 = myquery("select s.id, s.naziv, ts.trajanje from studij as s, tipstudija as ts where s.tipstudija=ts.id and ts.moguc_upis=1 order by ts.ciklus, s.naziv");
                                    while ($r2070 = mysql_fetch_row($q2070)) {
                                        $stud = $r2070[0];
                                        $stud_naziv = $r2070[1];
                                        $stud_trajanje = $r2070[2];
                                        if ($stud == $studij) {
                                            print "<b>{$stud_naziv}</b>\n<ul>\n";
                                        } else {
                                            print "{$stud_naziv}\n<ul>\n";
                                        }
                                        for ($s = 1; $s <= $stud_trajanje; $s++) {
                                            if ($stud == $studij && $s == $semestar) {
                                                print "<b>{$s}. semestar</b>\n<ul>\n";
                                            } else {
                                                print "{$s}. semestar\n<ul>\n";
                                            }
                                            dajpredmete($stud, $s, $osoba, $ak_god, $spisak);
                                            print "</ul>\n";
                                        }
                                        print "</ul>\n";
                                    }
                                }
                            }
                        }
                    } else {
                        if ($akcija == "izbori") {
                            if ($_POST['subakcija'] == "novi" && check_csrf_token()) {
                                $zvanje = intval($_POST['_lv_column_zvanje']);
                                $datum_izbora = mktime(0, 0, 0, intval($_POST['izbormonth']), intval($_POST['izborday']), intval($_POST['izboryear']));
                                $datum_isteka = mktime(0, 0, 0, intval($_POST['istekmonth']), intval($_POST['istekday']), intval($_POST['istekyear']));
                                // Ove vrijednosti moraju biti ovakve
                                if ($datum_izbora == mktime(0, 0, 0, 1, 1, 1990)) {
                                    $datum_izbora = 0;
                                }
                                if ($datum_isteka == mktime(0, 0, 0, 1, 1, 1990)) {
                                    $datum_isteka = 0;
                                }
                                $oblast = intval($_POST['_lv_column_oblast']);
                                $podoblast = intval($_POST['_lv_column_podoblast']);
                                if ($_POST['dopunski']) {
                                    $dopunski = 1;
                                } else {
                                    $dopunski = 0;
                                }
                                if ($_POST['druga_institucija']) {
                                    $drugainst = 1;
                                } else {
                                    $drugainst = 0;
                                }
                                if ($_POST['neodredjeno']) {
                                    $sqlisteka = "'2999-01-01'";
                                } else {
                                    $sqlisteka = "FROM_UNIXTIME({$datum_isteka})";
                                }
                                $q3030 = myquery("insert into izbor set osoba={$osoba}, zvanje={$zvanje}, datum_izbora=FROM_UNIXTIME({$datum_izbora}), datum_isteka={$sqlisteka}, oblast={$oblast}, podoblast={$podoblast}, dopunski={$dopunski}, druga_institucija={$drugainst}");
                                zamgerlog("dodani podaci o izboru za u{$osoba}", 2);
                            }
                            if ($_POST['subakcija'] == "izmjena" && check_csrf_token()) {
                                $izvanje = intval($_POST['_lv_column_zvanje']);
                                $idatum_izbora = mktime(0, 0, 0, intval($_POST['izbormonth']), intval($_POST['izborday']), intval($_POST['izboryear']));
                                $idatum_isteka = mktime(0, 0, 0, intval($_POST['istekmonth']), intval($_POST['istekday']), intval($_POST['istekyear']));
                                // Ove vrijednosti moraju biti ovakve
                                if ($idatum_izbora == mktime(0, 0, 0, 1, 1, 1990)) {
                                    $idatum_izbora = 0;
                                }
                                if ($idatum_isteka == mktime(0, 0, 0, 1, 1, 1990)) {
                                    $idatum_isteka = 0;
                                }
                                $ioblast = intval($_POST['_lv_column_oblast']);
                                $ipodoblast = intval($_POST['_lv_column_podoblast']);
                                if ($_POST['dopunski']) {
                                    $idopunski = 1;
                                } else {
                                    $idopunski = 0;
                                }
                                if ($_POST['druga_institucija']) {
                                    $idrugainst = 1;
                                } else {
                                    $idrugainst = 0;
                                }
                                if ($_POST['neodredjeno']) {
                                    $isqlisteka = "'2999-01-01'";
                                } else {
                                    $isqlisteka = "FROM_UNIXTIME({$idatum_isteka})";
                                }
                                // Bice azurirano prilikom ispisa...
                            }
                            $broj_izbora = intval($_REQUEST['broj_izbora']);
                            $q3000 = myquery("select ime, prezime from osoba where id={$osoba}");
                            $imeprezime = mysql_result($q3000, 0, 0) . " " . mysql_result($q3000, 0, 1);
                            ?>
	<h3>Izbor nastavnika u zvanja</h3>
	<p><a href="?sta=studentska/osobe&osoba=<?php 
                            echo $osoba;
                            ?>
&akcija=edit">Nazad na podatke o osobi <?php 
                            echo $imeprezime;
                            ?>
</a></p>
	<p>&nbsp;</p>
	<?php 
                            $t_zvanje = $t_datumiz = $t_datumis = $t_oblast = $t_podoblast = $t_dopunski = 0;
                            $ispis = "";
                            $q3010 = myquery("select zvanje, UNIX_TIMESTAMP(datum_izbora), UNIX_TIMESTAMP(datum_isteka), oblast, podoblast, dopunski, druga_institucija from izbor WHERE osoba={$osoba} order by datum_isteka, datum_izbora");
                            if (mysql_num_rows($q3010) == 1 && $broj_izbora != -1) {
                                $broj_izbora = 1;
                            }
                            // Ako postoji samo jedan izbor, editujemo ga; -1 znači ipak dodavanje novog
                            for ($i = 1; $i <= mysql_num_rows($q3010); $i++) {
                                $zvanje = mysql_result($q3010, $i - 1, 0);
                                $datumiz = mysql_result($q3010, $i - 1, 1);
                                $datumis = mysql_result($q3010, $i - 1, 2);
                                $oblast = mysql_result($q3010, $i - 1, 3);
                                $podoblast = mysql_result($q3010, $i - 1, 4);
                                $dopunski = mysql_result($q3010, $i - 1, 5);
                                $drugainst = mysql_result($q3010, $i - 1, 6);
                                $q3020 = myquery("select naziv from zvanje where id={$zvanje}");
                                $nzvanje = mysql_result($q3020, 0, 0);
                                $ndatumiz = date("d. m. Y", $datumiz);
                                if ($datumiz == 0) {
                                    $ndatumiz = "nepoznato";
                                }
                                $ndatumis = date("d. m. Y", $datumis);
                                if ($datumis == 0) {
                                    $ndatumis = "neodređeno";
                                }
                                if ($i == $broj_izbora) {
                                    $t_zvanje = $zvanje;
                                    $t_datumiz = $datumiz;
                                    $t_datumis = $datumis;
                                    $t_oblast = $oblast;
                                    $t_podoblast = $podoblast;
                                    $t_dopunski = $dopunski;
                                    $t_drugainst = $drugainst;
                                    if ($datumis == 0) {
                                        $t_neodredjeno = 1;
                                    } else {
                                        $t_neodredjeno = 0;
                                    }
                                    if ($_POST['subakcija'] == "izmjena" && check_csrf_token()) {
                                        $q3040 = myquery("update izbor set zvanje={$izvanje}, datum_izbora=FROM_UNIXTIME({$idatum_izbora}), datum_isteka={$isqlisteka}, oblast={$ioblast}, podoblast={$ipodoblast}, dopunski={$idopunski}, druga_institucija={$idrugainst} WHERE zvanje={$zvanje} and UNIX_TIMESTAMP(datum_izbora)={$datumiz} and UNIX_TIMESTAMP(datum_isteka)={$datumis} and oblast={$oblast} and podoblast={$podoblast} and dopunski={$dopunski} and druga_institucija={$drugainst}");
                                        zamgerlog("azurirani podaci o izboru za u{$osoba}", 2);
                                        zamgerlog2("azurirani podaci o izboru", $osoba);
                                        $t_zvanje = $izvanje;
                                        $t_datumiz = $idatum_izbora;
                                        $t_datumis = $idatum_isteka;
                                        $t_oblast = $ioblast;
                                        $t_podoblast = $ipodoblast;
                                        $t_dopunski = $idopunski;
                                        $t_drugainst = $idrugainst;
                                        $q3020 = myquery("select naziv from zvanje where id={$izvanje}");
                                        $nzvanje = mysql_result($q3020, 0, 0);
                                        $ndatumiz = date("d. m. Y", $t_datumiz);
                                        if ($t_datumiz == 0) {
                                            $ndatumiz = "nepoznato";
                                        }
                                        $ndatumis = date("d. m. Y", $t_datumis);
                                        if ($t_datumis == 0) {
                                            $ndatumis = "neodređeno";
                                        }
                                    }
                                    $ispis .= "<br/>* {$nzvanje} ({$ndatumiz} - {$ndatumis})\n";
                                } else {
                                    $ispis .= "<br/>* <a href=\"?sta=studentska/osobe&osoba={$osoba}&akcija=izbori&broj_izbora={$i}\">{$nzvanje} ({$ndatumiz} - {$ndatumis})</a>\n";
                                }
                            }
                            if (mysql_num_rows($q3010) > 0) {
                                ?>
		<p><b>Historija izbora:</b>
		<?php 
                                echo $ispis;
                                ?>
</p>
		<?php 
                            }
                            if ($broj_izbora < 1) {
                                ?>
		<p><b>Unos novog izbora:</b></p>
		<?php 
                                echo genform("POST");
                                ?>
		<input type="hidden" name="subakcija" value="novi">
		<?php 
                            } else {
                                ?>
		<p><b>Izmjena podataka o izboru:</b></p>
		<?php 
                                echo genform("POST");
                                ?>
		<input type="hidden" name="subakcija" value="izmjena">
		<?php 
                            }
                            ?>
	<table border="0"><tr>
		<td>Zvanje:</td>
		<td><?php 
                            echo db_dropdown("zvanje", $t_zvanje);
                            ?>
</td>
	</tr><tr>
		<td>Datum izbora:</td>
		<td><?php 
                            echo datectrl(date("d", $t_datumiz), date("m", $t_datumiz), date("Y", $t_datumiz), "izbor");
                            ?>
</td>
	</tr><tr>
		<td valign="top">Datum isteka:</td>
		<td><input type="checkbox" name="neodredjeno" <?php 
                            if ($t_neodredjeno == 1) {
                                print "CHECKED";
                            }
                            ?>
> Neodređeno<br/>
		<?php 
                            echo datectrl(date("d", $t_datumis), date("m", $t_datumis), date("Y", $t_datumis), "istek");
                            ?>
</td>
	</tr><tr>
		<td>Oblast:</td>
		<td><?php 
                            echo db_dropdown("oblast", $t_oblast, "--Nepoznato--");
                            ?>
</td>
	</tr><tr>
		<td>Podoblast:</td>
		<td><?php 
                            echo db_dropdown("podoblast", $t_podoblast, "--Nepoznato--");
                            ?>
</td>
	</tr><tr>
		<td colspan="2"><input type="checkbox" name="dopunski" <?php 
                            if ($t_dopunski == 1) {
                                print "CHECKED";
                            }
                            ?>
> Dopunski radni odnos</td>
	</tr><tr>
		<td colspan="2"><input type="checkbox" name="druga_institucija" <?php 
                            if ($t_drugainst == 1) {
                                print "CHECKED";
                            }
                            ?>
> Biran/a na drugoj VŠO</td>
	</tr>
	</table>
	<input type="submit" value=" Pošalji ">
	</form>
	<?php 
                            if ($broj_izbora > 0) {
                                ?>
		<p><a href="?sta=studentska/osobe&osoba=<?php 
                                echo $osoba;
                                ?>
&akcija=izbori&broj_izbora=-1">Kliknite ovdje za unos novog izbora</a></p>
		<?php 
                            }
                        } else {
                            if ($akcija == "edit") {
                                $pretraga = my_escape($_REQUEST['search']);
                                $ofset = my_escape($_REQUEST['offset']);
                                ?>
<a href="?sta=studentska/osobe&search=<?php 
                                echo $pretraga;
                                ?>
&offset=<?php 
                                echo $ofset;
                                ?>
">Nazad na rezultate pretrage</a><br/><br/><?php 
                                // Prvo odredjujemo aktuelnu akademsku godinu - ovaj upit se dosta koristi kasnije
                                $q210 = myquery("select id,naziv from akademska_godina where aktuelna=1 order by id desc");
                                if (mysql_num_rows($q210) < 1) {
                                    // Nijedna godina nije aktuelna - ali mora postojati barem jedna u bazi
                                    $q210 = myquery("select id,naziv from akademska_godina order by id desc");
                                }
                                $id_ak_god = mysql_result($q210, 0, 0);
                                $naziv_ak_god = mysql_result($q210, 0, 1);
                                // Posto se id_ak_god moze promijeniti.... CLEANUP!!!
                                $orig_iag = $id_ak_god;
                                // ======= SUBMIT AKCIJE =========
                                // Promjena korisničkog pristupa i pristupnih podataka
                                if ($_POST['subakcija'] == "auth" && check_csrf_token()) {
                                    $login = my_escape(trim($_REQUEST['login']));
                                    $login_ldap = ldap_escape(trim($_REQUEST['login']));
                                    $stari_login = my_escape($_REQUEST['stari_login']);
                                    $password = my_escape($_REQUEST['password']);
                                    $aktivan = intval($_REQUEST['aktivan']);
                                    if ($login == "") {
                                        niceerror("Ne možete postaviti prazan login");
                                    } else {
                                        if ($stari_login == "") {
                                            // Provjeravamo LDAP?
                                            if ($conf_system_auth == "ldap") {
                                                do {
                                                    // Simuliramo GOTO...
                                                    // Tražimo ovaj login na LDAPu...
                                                    $ds = ldap_connect($conf_ldap_server);
                                                    ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
                                                    if (!ldap_bind($ds)) {
                                                        zamgerlog("Ne mogu se spojiti na LDAP server", 3);
                                                        // 3 - greska
                                                        zamgerlog2("ne mogu se spojiti na LDAP server");
                                                        niceerror("Ne mogu se spojiti na LDAP server - nastavljam dalje bez provjere");
                                                        break;
                                                    }
                                                    $sr = ldap_search($ds, "", "uid={$login_ldap}", array());
                                                    if (!$sr) {
                                                        zamgerlog("ldap_search() nije uspio.", 3);
                                                        zamgerlog2("ldap_search() nije uspio.");
                                                        niceerror("ldap_search() nije uspio - nastavljam dalje bez provjere");
                                                        break;
                                                    }
                                                    $results = ldap_get_entries($ds, $sr);
                                                    if ($results['count'] > 0) {
                                                        nicemessage("Login '{$login}' pronađen na LDAP serveru");
                                                        break;
                                                    }
                                                    // Pokušavamo mail alias
                                                    $sr = ldap_search($ds, "", "mail={$login_ldap}{$conf_ldap_domain}", array());
                                                    if (!$sr) {
                                                        zamgerlog("ldap_search() 2 nije uspio.", 3);
                                                        zamgerlog2("ldap_search() nije uspio.");
                                                        niceerror("ldap_search() nije uspio - nastavljam dalje bez provjere");
                                                        break;
                                                    }
                                                    $results = ldap_get_entries($ds, $sr);
                                                    // pretpostavka je da će druga pretraga raditi
                                                    if ($results['count'] > 0) {
                                                        nicemessage("Email '{$login}{$conf_ldap_domain}' pronađen na LDAP serveru");
                                                    } else {
                                                        zamgerlog("login ne postoji na LDAPu ({$login})", 3);
                                                        zamgerlog2("login ne postoji na LDAPu", 0, 0, 0, $login);
                                                        niceerror("Predloženi login ({$login}) nije pronađen na LDAP serveru!");
                                                        print "<p>Nastaviću dalje sa dodavanjem logina, ali korisnik vjerovatno neće moći pristupiti Zamgeru.</p>";
                                                    }
                                                } while (false);
                                            }
                                            // Dodavanje novog logina
                                            $q120 = myquery("insert into auth set id={$osoba}, login='******', password='******', aktivan={$aktivan}");
                                            nicemessage("Uspješno kreiran novi login za korisnika");
                                            zamgerlog("dodan novi login '{$login}' za korisnika u{$osoba}", 4);
                                            zamgerlog2("dodan novi login za korisnika", $osoba, 0, 0, $login);
                                        } else {
                                            // Izmjena starog logina
                                            $q123 = myquery("select count(*) from auth where id={$osoba} and login='******'");
                                            if (mysql_result($q123, 0, 0) < 1) {
                                                niceerror("Nije pronađen login... molimo pokušajte ponovo");
                                                zamgerlog("nije pronadjen stari login '{$stari_login}' za korisnika u{$osoba}", 3);
                                                zamgerlog2("nije pronadjen stari login za korisnika", $osoba);
                                            } else {
                                                if ($_REQUEST['brisanje'] == " Obriši ") {
                                                    $q125 = myquery("delete from auth where id={$osoba} and login='******'");
                                                    nicemessage("Uspješno obrisan login '{$stari_login}'");
                                                    zamgerlog("obrisan login '{$stari_login}' za korisnika u{$osoba}", 4);
                                                    zamgerlog2("obrisan login za korisnika", $osoba, 0, 0, $stari_login);
                                                } else {
                                                    $q127 = myquery("update auth set login='******', password='******', aktivan={$aktivan} where id={$osoba} and login='******'");
                                                    nicemessage("Uspješno izmijenjen login '{$login}'");
                                                    zamgerlog("izmijenjen login '{$stari_login}' u '{$login}' za korisnika u{$osoba}", 4);
                                                    zamgerlog2("izmijenjen login za korisnika", $osoba, 0, 0, $login);
                                                }
                                            }
                                        }
                                    }
                                }
                                // if ($_REQUEST['subakcija'] == "auth")
                                // Pojednostavljena promjena podataka za studentsku službu u slučaju korištenja
                                // eksterne baze korisnika
                                if ($_POST['subakcija'] == "auth_ldap" && check_csrf_token()) {
                                    $aktivan = intval($_REQUEST['aktivan']);
                                    // Postoji li zapis u tabeli auth?
                                    $q103 = myquery("select count(*) from auth where id={$osoba}");
                                    if (mysql_result($q103, 0, 0) > 0) {
                                        // Da!
                                        // Ako isključujemo pristup, stavljamo aktivan na 0
                                        if ($aktivan != 0) {
                                            $q105 = myquery("update auth set aktivan=0 where id={$osoba}");
                                            zamgerlog("ukinut login za korisnika u{$osoba} (ldap)", 4);
                                            zamgerlog2("ukinut login za korisnika (ldap)", $osoba);
                                        } else {
                                            $q105 = myquery("update auth set aktivan=1 where id={$osoba}");
                                            zamgerlog("aktiviran login za korisnika u{$osoba} (ldap)", 4);
                                            zamgerlog2("aktiviran login za korisnika (ldap)", $osoba);
                                        }
                                    } else {
                                        if ($aktivan != 0) {
                                            // Nema zapisa u tabeli auth
                                            // Ako je izabrano isključenje pristupa, ne radimo nista
                                            // (ne bi se smjelo desiti)
                                            // U suprotnom kreiramo login
                                            // predloženi login
                                            $suggest_login = gen_ldap_uid($osoba);
                                            // Tražimo ovaj login na LDAPu...
                                            $ds = ldap_connect($conf_ldap_server);
                                            ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
                                            if (!ldap_bind($ds)) {
                                                zamgerlog("Ne mogu se spojiti na LDAP server", 3);
                                                // 3 - greska
                                                zamgerlog2("ne mogu se spojiti na LDAP server");
                                                niceerror("Ne mogu se spojiti na LDAP server");
                                                return;
                                            }
                                            $sr = ldap_search($ds, "", "uid={$suggest_login}", array());
                                            if (!$sr) {
                                                zamgerlog("ldap_search() nije uspio.", 3);
                                                zamgerlog2("ldap_search() nije uspio.");
                                                niceerror("ldap_search() nije uspio.");
                                                return;
                                            }
                                            $results = ldap_get_entries($ds, $sr);
                                            if ($results['count'] < 1) {
                                                zamgerlog("login ne postoji na LDAPu ({$suggest_login})", 3);
                                                zamgerlog2("login ne postoji na LDAPu", 0, 0, 0, $suggest_login);
                                                niceerror("Predloženi login ({$suggest_login}) nije pronađen na LDAP serveru!");
                                                print "<p>Da li ste uspravno unijeli broj indeksa, ime i prezime? Ako jeste, kontaktirajte administratora!</p>";
                                                // Nastavljamo dalje sa edit akcijom kako bi studentska mogla popraviti podatke
                                            } else {
                                                // Dodajemo login, ako nije podešen
                                                $q110 = myquery("select login, aktivan from auth where id={$osoba}");
                                                if (mysql_num_rows($q110) == 0) {
                                                    $q111 = myquery("insert into auth set id={$osoba}, login='******', aktivan=1");
                                                    zamgerlog("kreiran login za korisnika u{$osoba} (ldap - upis u tabelu)", 4);
                                                    zamgerlog2("kreiran login za korisnika (ldap - upis u tabelu)", $osoba);
                                                } else {
                                                    if (mysql_result($q110, 0, 0) == "") {
                                                        $q112 = myquery("update auth set login='******' where id={$osoba}");
                                                        zamgerlog("kreiran login za korisnika u{$osoba} (ldap - postavljeno polje login)", 4);
                                                        zamgerlog2("kreiran login za korisnika (ldap - postavljeno polje login)", $osoba);
                                                    }
                                                    if (mysql_result($q110, 0, 1) == 0) {
                                                        $q113 = myquery("update auth set aktivan=1 where id={$osoba}");
                                                        zamgerlog("kreiran login za korisnika u{$osoba} (ldap - aktivan=1)", 4);
                                                        zamgerlog2("kreiran login za korisnika (ldap - aktivan=1)", $osoba);
                                                    }
                                                }
                                                // Generišemo email adresu ako nije podešena
                                                $email_adresa = $suggest_login . $conf_ldap_domain;
                                                $q115 = myquery("select sistemska from email where osoba={$osoba} and adresa='{$email_adresa}'");
                                                if (mysql_num_rows($q115) < 1) {
                                                    $q114 = myquery("insert into email set osoba={$osoba}, adresa='{$email_adresa}', sistemska=1");
                                                    zamgerlog("dodana sistemska email adresa za u{$osoba}", 2);
                                                    zamgerlog2("sistemska email adresa dodana", $osoba, intval(mysql_insert_id()), 0, "{$email_adresa}");
                                                } else {
                                                    if (mysql_result($q115, 0, 0) == 0) {
                                                        $q114 = myquery("update email set sistemska=1 where email='{$email_adresa}' and osoba={$osoba}");
                                                        zamgerlog("email adresa proglasena za sistemsku za u{$osoba}", 2);
                                                        zamgerlog2("email adresa proglasena za sistemsku", $osoba, 0, 0, "{$email_adresa}");
                                                    }
                                                }
                                            }
                                        }
                                    }
                                    // else if ($pristup!=0)
                                }
                                // if ($_REQUEST['subakcija'] == "auth")
                                // Upis studenta na predmet
                                if ($_POST['subakcija'] == "upisi" && check_csrf_token()) {
                                    $predmet = intval($_POST['predmet']);
                                    if ($predmet == 0) {
                                        nicemessage("Niste izabrali predmet");
                                    } else {
                                        $q130 = myquery("select count(*) from student_predmet where student={$osoba} and predmet={$predmet}");
                                        if (mysql_result($q130, 0, 0) < 1) {
                                            upis_studenta_na_predmet($osoba, $predmet);
                                            zamgerlog("student u{$osoba} upisan na predmet p{$predmet}", 4);
                                            zamgerlog2("student upisan na predmet (manuelno 2)", $osoba, $predmet);
                                            $q136 = myquery("select p.naziv from predmet as p, ponudakursa as pk where pk.id={$predmet} and pk.predmet=p.id");
                                            $naziv_predmeta = mysql_result($q136, 0, 0);
                                            nicemessage("Student upisan na predmet {$naziv_predmeta}.");
                                        }
                                    }
                                }
                                // Dodjela prava nastavniku na predmetu
                                if ($_POST['subakcija'] == "daj_prava" && check_csrf_token()) {
                                    $predmet = intval($_POST['predmet']);
                                    $q115 = myquery("select naziv from predmet where id={$predmet}");
                                    $naziv_predmeta = mysql_result($q115, 0, 0);
                                    $q130 = myquery("replace nastavnik_predmet set nastavnik={$osoba}, predmet={$predmet}, akademska_godina={$id_ak_god}, nivo_pristupa='asistent'");
                                    zamgerlog("nastavniku u{$osoba} data prava na predmetu pp{$predmet} (admin: {$admin_predmeta}, akademska godina: {$id_ak_god})", 4);
                                    zamgerlog2("nastavniku data prava na predmetu", $osoba, $predmet, intval($id_ak_god));
                                    nicemessage("Nastavniku su dodijeljena prava na predmetu {$naziv_predmeta}.");
                                    print "<p>Kliknite na naziv predmeta na spisku ispod kako biste detaljnije podesili privilegije.</p>";
                                }
                                // Angažman nastavnika na predmetu
                                if ($_POST['subakcija'] == "angazuj" && check_csrf_token()) {
                                    $predmet = intval($_POST['predmet']);
                                    $status = intval($_POST['_lv_column_angazman_status']);
                                    $angazman_ak_god = intval($_POST['_lv_column_akademska_godina']);
                                    $q115 = myquery("select naziv from predmet where id={$predmet}");
                                    $naziv_predmeta = mysql_result($q115, 0, 0);
                                    $q130 = myquery("replace angazman set osoba={$osoba}, predmet={$predmet}, akademska_godina={$angazman_ak_god}, angazman_status={$status}");
                                    zamgerlog("nastavnik u{$osoba} angazovan na predmetu pp{$predmet} (status: {$status}, akademska godina: {$id_ak_god})", 4);
                                    zamgerlog2("nastavnik angazovan na predmetu", $osoba, $predmet, intval($id_ak_god));
                                    nicemessage("Nastavnik angažovan na predmetu {$naziv_predmeta}.");
                                    print "<p>Kliknite na naziv predmeta na spisku ispod kako biste detaljnije podesili privilegije.</p>";
                                }
                                // Promjena uloga korisnika
                                if ($_POST['subakcija'] == "uloga" && check_csrf_token()) {
                                    if (!$user_siteadmin) {
                                        niceerror("Nemate pravo na promjenu uloga!");
                                        return;
                                    }
                                    $korisnik['student'] = $korisnik['nastavnik'] = $korisnik['prijemni'] = $korisnik['studentska'] = $korisnik['siteadmin'] = 0;
                                    $q150 = myquery("select privilegija from privilegije where osoba={$osoba}");
                                    while ($r150 = mysql_fetch_row($q150)) {
                                        if ($r150[0] == "student") {
                                            $korisnik['student'] = 1;
                                        }
                                        if ($r150[0] == "nastavnik") {
                                            $korisnik['nastavnik'] = 1;
                                        }
                                        if ($r150[0] == "prijemni") {
                                            $korisnik['prijemni'] = 1;
                                        }
                                        if ($r150[0] == "studentska") {
                                            $korisnik['studentska'] = 1;
                                        }
                                        if ($r150[0] == "siteadmin") {
                                            $korisnik['siteadmin'] = 1;
                                        }
                                    }
                                    foreach ($korisnik as $privilegija => $vrijednost) {
                                        if ($_POST[$privilegija] == "1" && $vrijednost == 0) {
                                            $q151 = myquery("insert into privilegije set osoba={$osoba}, privilegija='{$privilegija}'");
                                            zamgerlog("osobi u{$osoba} data privilegija {$privilegija}", 4);
                                            zamgerlog2("osobi data privilegija", $osoba, 0, 0, $privilegija);
                                            nicemessage("Data privilegija {$privilegija}");
                                        }
                                        if ($_POST[$privilegija] != "1" && $vrijednost == 1) {
                                            $q151 = myquery("delete from privilegije where osoba={$osoba} and privilegija='{$privilegija}'");
                                            zamgerlog("osobi u{$osoba} oduzeta privilegija {$privilegija}", 4);
                                            zamgerlog2("osobi oduzeta privilegija", $osoba, $privilegija);
                                            nicemessage("Oduzeta privilegija {$privilegija}");
                                        }
                                    }
                                }
                                // Osnovni podaci
                                $q200 = myquery("select ime, prezime, 1, brindexa, UNIX_TIMESTAMP(datum_rodjenja), mjesto_rodjenja, jmbg, drzavljanstvo, adresa, adresa_mjesto, telefon, kanton, strucni_stepen, naucni_stepen, slika from osoba where id={$osoba}");
                                if (!($r200 = mysql_fetch_row($q200))) {
                                    zamgerlog("nepostojeca osoba u{$osoba}", 3);
                                    zamgerlog2("nepostojeca osoba", $osoba);
                                    niceerror("Nepostojeća osoba!");
                                    return;
                                }
                                $ime = mysql_result($q200, 0, 0);
                                $prezime = mysql_result($q200, 0, 1);
                                $slika = mysql_result($q200, 0, 14);
                                // Pripremam neke podatke za ispis
                                // Ovo nije u istom upitu jer nije pravi FK, podaci ne moraju biti definisani
                                // TODO dodati polje "nedefinisano" u sve tabele, po mogućnosti sa IDom nula
                                $mjesto_rodj = "";
                                if (mysql_result($q200, 0, 5) != 0) {
                                    $q201 = myquery("select naziv from mjesto where id=" . mysql_result($q200, 0, 5));
                                    $mjesto_rodj = mysql_result($q201, 0, 0);
                                }
                                $drzavljanstvo = "";
                                if (mysql_result($q200, 0, 7) != 0) {
                                    $q202 = myquery("select naziv from drzava where id=" . mysql_result($q200, 0, 7));
                                    $drzavljanstvo = mysql_result($q202, 0, 0);
                                }
                                $adresa = mysql_result($q200, 0, 8);
                                if (mysql_result($q200, 0, 9) != 0) {
                                    $q203 = myquery("select naziv from mjesto where id=" . mysql_result($q200, 0, 9));
                                    $adresa .= ", " . mysql_result($q203, 0, 0);
                                }
                                $kanton = "";
                                if (mysql_result($q200, 0, 11) > 0) {
                                    $q205 = myquery("select naziv from kanton where id=" . mysql_result($q200, 0, 11));
                                    $kanton = mysql_result($q205, 0, 0);
                                }
                                if (mysql_result($q200, 0, 12) != 0) {
                                    $q206 = myquery("select naziv from strucni_stepen where id=" . mysql_result($q200, 0, 12));
                                    $strucni_stepen = mysql_result($q206, 0, 0);
                                }
                                if (mysql_result($q200, 0, 13) != 0) {
                                    $q207 = myquery("select naziv from naucni_stepen where id=" . mysql_result($q200, 0, 13));
                                    $naucni_stepen = mysql_result($q207, 0, 0);
                                }
                                // Spisak mailova
                                $q260 = myquery("select adresa from email where osoba={$osoba}");
                                $email_adrese = "";
                                while ($r260 = mysql_fetch_row($q260)) {
                                    if ($email_adrese !== "") {
                                        $email_adrese .= ", ";
                                    }
                                    $email_adrese .= $r260[0];
                                }
                                ?>

	<h2><?php 
                                echo $ime;
                                ?>
 <?php 
                                echo $prezime;
                                ?>
</h2>
	<?php 
                                if ($slika != "") {
                                    print "<img src=\"?sta=common/slika&osoba={$osoba}\"><br/>\n";
                                }
                                ?>
	<table border="0" width="600"><tr><td valign="top">
		Ime: <b><?php 
                                echo $ime;
                                ?>
</b><br/>
		Prezime: <b><?php 
                                echo $prezime;
                                ?>
</b><br/>
		Broj indexa (za studente): <b><?php 
                                echo mysql_result($q200, 0, 3);
                                ?>
</b><br/>
		JMBG: <b><?php 
                                echo mysql_result($q200, 0, 6);
                                ?>
</b><br/>
		<br/>
		Datum rođenja: <b><?php 
                                if (mysql_result($q200, 0, 4)) {
                                    print date("d. m. Y.", mysql_result($q200, 0, 4));
                                }
                                ?>
</b><br/>
		Mjesto rođenja: <b><?php 
                                echo $mjesto_rodj;
                                ?>
</b><br/>
		Državljanstvo: <b><?php 
                                echo $drzavljanstvo;
                                ?>
</b><br/>
		</td><td valign="top">
		Adresa: <b><?php 
                                echo $adresa;
                                ?>
</b><br/>
		Kanton: <b><?php 
                                echo $kanton;
                                ?>
</b><br/>
		Telefon: <b><?php 
                                echo mysql_result($q200, 0, 10);
                                ?>
</b><br/>
		Kontakt e-mail: <b><?php 
                                echo $email_adrese;
                                ?>
</b><br/>
		<br/>
		Stručni stepen: <b><?php 
                                echo $strucni_stepen;
                                ?>
</b><br/>
		Naučni stepen: <b><?php 
                                echo $naucni_stepen;
                                ?>
</b><br/>
		<br/>
		ID: <b><?php 
                                echo $osoba;
                                ?>
</b><br/>
		<br/>
		</form>
		<form action="index.php" method="GET">
		<input type="hidden" name="sta" value="common/profil">
		<input type="hidden" name="osoba" value="<?php 
                                echo $osoba;
                                ?>
">
		<input type="Submit" value=" Izmijeni "></form></td>
	</tr></table>
	<?php 
                                // Login&password
                                if ($conf_system_auth == "table" || $user_siteadmin) {
                                    print "<p>Korisnički pristup:\n";
                                    $q201 = myquery("select aktivan from auth where id={$osoba} and aktivan=1");
                                    if (mysql_num_rows($q201) < 1) {
                                        print "<font color=\"red\">NEMA</font>";
                                    }
                                    ?>
</p>
			<table border="0">
			<tr>
				<td>Korisničko ime:</td>
				<td width="80">Šifra:</td>
				<td>Aktivan:</td>
				<td>&nbsp;</td>
			</tr>
		<?php 
                                    $q201 = myquery("select login,password,aktivan from auth where id={$osoba}");
                                    while ($r201 = mysql_fetch_row($q201)) {
                                        $login = $r201[0];
                                        $password = $r201[1];
                                        $pristup = $r201[2];
                                        ?>
			<?php 
                                        echo genform("POST");
                                        ?>
			<input type="hidden" name="subakcija" value="auth">
			<input type="hidden" name="stari_login" value="<?php 
                                        echo $login;
                                        ?>
">
			<tr>
				<td><input type="text" size="10" name="login" value="<?php 
                                        echo $login;
                                        ?>
"></td>
				<td valign="center"><?php 
                                        if ($conf_system_auth == "ldap") {
                                            print "<b>LDAP</b>";
                                        } else {
                                            ?>
<input type="password" size="10" name="password" value="<?php 
                                            echo $password;
                                            ?>
"><?php 
                                        }
                                        ?>
</td>
				<td><input type="checkbox" size="10" name="aktivan" value="1" <?php 
                                        if ($pristup == 1) {
                                            print "CHECKED";
                                        }
                                        ?>
></td>
				<td><input type="Submit" value=" Izmijeni "> <input type="Submit" name="brisanje" value=" Obriši "></td>
			</tr></form>
			<?php 
                                    }
                                    ?>
		<?php 
                                    echo genform("POST");
                                    ?>
		<input type="hidden" name="subakcija" value="auth">
		<input type="hidden" name="stari_login" value="">
		<tr>
			<td><input type="text" size="10" name="login" value=""></td>
			<td><?php 
                                    if ($conf_system_auth == "ldap") {
                                        print "<b>LDAP</b>";
                                    } else {
                                        ?>
<input type="password" size="10" name="password" value=""><?php 
                                    }
                                    ?>
</td>
			<td><input type="checkbox" size="10" name="aktivan" value="1"></td>
			<td><input type="Submit" value=" Dodaj novi "></td>
		</tr></form></table>
		<?php 
                                } else {
                                    if ($conf_system_auth == "ldap") {
                                        $q201 = myquery("select aktivan from auth where id={$osoba} and aktivan=1");
                                        if (mysql_num_rows($q201) > 0) {
                                            $pristup = 1;
                                        } else {
                                            $pristup = 0;
                                        }
                                        ?>
		
		<script language="JavaScript">
		function upozorenje(pristup) {
			document.authforma.pristup.value=pristup;
			document.authforma.submit();
		}
		</script>
		<?php 
                                        echo genform("POST", "authforma");
                                        ?>
		<input type="hidden" name="subakcija" value="auth_ldap">
		<input type="hidden" name="pristup" value="">
		</form>

		<table border="0">
		<tr>
			<td colspan="5">Korisnički pristup: <input type="checkbox" name="aktivan" onchange="javascript:upozorenje('<?php 
                                        echo $pristup;
                                        ?>
');" <?php 
                                        if ($pristup == 1) {
                                            print "CHECKED";
                                        }
                                        ?>
></td>
		</tr></table></form>
		<?php 
                                    }
                                }
                                // Uloge korisnika
                                $korisnik_student = $korisnik_nastavnik = $korisnik_prijemni = $korisnik_studentska = $korisnik_siteadmin = 0;
                                print "<p>Tip korisnika: ";
                                $q209 = myquery("select privilegija from privilegije where osoba={$osoba}");
                                while ($r209 = mysql_fetch_row($q209)) {
                                    if ($r209[0] == "student") {
                                        print "<b>student,</b> ";
                                        $korisnik_student = 1;
                                    }
                                    if ($r209[0] == "nastavnik") {
                                        print "<b>nastavnik,</b> ";
                                        $korisnik_nastavnik = 1;
                                    }
                                    if ($r209[0] == "prijemni") {
                                        print "<b>kandidat na prijemnom ispitu,</b> ";
                                        $korisnik_prijemni = 1;
                                    }
                                    if ($r209[0] == "studentska") {
                                        print "<b>uposlenik studentske službe,</b> ";
                                        $korisnik_studentska = 1;
                                    }
                                    if ($r209[0] == "siteadmin") {
                                        print "<b>administrator,</b> ";
                                        $korisnik_siteadmin = 1;
                                    }
                                }
                                print "</p>\n";
                                // Admin dio
                                if ($user_siteadmin) {
                                    unset($_REQUEST['student'], $_REQUEST['nastavnik'], $_REQUEST['prijemni'], $_REQUEST['studentska'], $_REQUEST['siteadmin']);
                                    ?>
		<?php 
                                    echo genform("POST");
                                    ?>
		<input type="hidden" name="subakcija" value="uloga">
		<input type="checkbox" name="student" value="1" <?php 
                                    if ($korisnik_student == 1) {
                                        print "CHECKED";
                                    }
                                    ?>
> Student&nbsp;&nbsp;&nbsp;&nbsp;
		<input type="checkbox" name="nastavnik" value="1" <?php 
                                    if ($korisnik_nastavnik == 1) {
                                        print "CHECKED";
                                    }
                                    ?>
> nastavnik&nbsp;&nbsp;&nbsp;&nbsp;
		<input type="checkbox" name="prijemni" value="1" <?php 
                                    if ($korisnik_prijemni == 1) {
                                        print "CHECKED";
                                    }
                                    ?>
> prijemni&nbsp;&nbsp;&nbsp;&nbsp;
		<input type="checkbox" name="studentska" value="1" <?php 
                                    if ($korisnik_studentska == 1) {
                                        print "CHECKED";
                                    }
                                    ?>
> studentska&nbsp;&nbsp;&nbsp;&nbsp;
		<input type="checkbox" name="siteadmin" value="1" <?php 
                                    if ($korisnik_siteadmin == 1) {
                                        print "CHECKED";
                                    }
                                    ?>
> siteadmin<br/>
		<input type="submit" value=" Promijeni ">
		</form>
		<?php 
                                }
                                // STUDENT
                                if ($korisnik_student) {
                                    ?>
		<hr>
		<h3>STUDENT</h3>
		<?php 
                                    // Trenutno upisan na semestar:
                                    $q220 = myquery("SELECT s.naziv, ss.semestar, ss.akademska_godina, ag.naziv, s.id, ts.trajanje, ns.naziv, ts.ciklus \n\t\tFROM student_studij as ss, studij as s, akademska_godina as ag, tipstudija as ts, nacin_studiranja as ns \n\t\tWHERE ss.student={$osoba} and ss.studij=s.id and ag.id=ss.akademska_godina and s.tipstudija=ts.id and ss.nacin_studiranja=ns.id \n\t\tORDER 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 = $ikad_ciklus = 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']}";
                                            $studij_ciklus = $r220[7];
                                        } 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];
                                                    $ikad_ciklus = $r220[7];
                                                }
                                            }
                                        }
                                    }
                                    $prepisi_ocjena = "";
                                    if ($ikad_ciklus > 1 || $studij_ciklus > 1) {
                                        for ($i = 1; $i <= max($ikad_ciklus, $studij_ciklus); $i++) {
                                            $prepisi_ocjena .= "<br><a href=\"?sta=izvjestaj/index2&student={$osoba}&ciklus={$i}\">Samo {$i}. ciklus</a>";
                                        }
                                    }
                                    // Izvjestaji
                                    ?>
		<div style="float:left; margin-right:10px">
			<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/historija&student=<?php 
                                    echo $osoba;
                                    ?>
">
				<img src="images/32x32/izvjestaj.png" border="0"><br/>Historija</a></td></tr>
				<tr><td align="center"><a href="?sta=izvjestaj/index2&student=<?php 
                                    echo $osoba;
                                    ?>
">
				<img src="images/32x32/izvjestaj.png" border="0"><br/>Prepis ocjena</a> <?php 
                                    echo $prepisi_ocjena;
                                    ?>
</td></tr>
				<tr><td align="center"><a href="?sta=izvjestaj/progress&student=<?php 
                                    echo $osoba;
                                    ?>
&razdvoji_ispite=0">
				<img src="images/32x32/izvjestaj.png" border="0"><br/>Bodovi</a></td></tr>
				<tr><td align="center"><a href="?sta=izvjestaj/progress&student=<?php 
                                    echo $osoba;
                                    ?>
&razdvoji_ispite=1">
				<img src="images/32x32/izvjestaj.png" border="0"><br/>Bodovi + nepoloženi ispiti</a></td></tr>
			</table>
		</div>
		<?php 
                                    // Trenutno slusa studij
                                    $nova_ak_god = 0;
                                    ?>
		<p align="left">Trenutno (<b><?php 
                                    echo $naziv_ak_god;
                                    ?>
</b>) upisan/a na:<br/>
		<?php 
                                    if ($studij == "0") {
                                        ?>
			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nije upisan/a niti u jedan semestar!</p>
			<?php 
                                        // Proglasavamo zadnju akademsku godinu koju je slusao za tekucu
                                        // a tekucu za novu
                                        $nova_ak_god = $id_ak_god;
                                        $naziv_nove_ak_god = $naziv_ak_god;
                                        if ($ikad_semestar != 0) {
                                            // Ako je covjek upisan u buducu godinu, onda je u toku upis
                                            if ($ikad_ak_god > $id_ak_god) {
                                                $nova_ak_god = $ikad_ak_god;
                                                $naziv_nove_ak_god = $ikad_ak_god_naziv;
                                                $semestar = $ikad_semestar - 1;
                                                // da se ne bi ispisivalo da drugi put sluša
                                            } else {
                                                $id_ak_god = $ikad_ak_god;
                                                $naziv_ak_god = $ikad_ak_god_naziv;
                                                $semestar = $ikad_semestar;
                                                if ($semestar % 2 != 0) {
                                                    $semestar++;
                                                }
                                                // Da ga ne bi pokušavalo upisati u parni semestar
                                            }
                                            // Zelimo da se provjeri ECTS:
                                            $studij = $ikad_studij;
                                            $studij_id = $ikad_studij_id;
                                            $studij_trajanje = $ikad_studij_trajanje;
                                        } else {
                                            // Nikada nije slušao ništa - ima li podataka o prijemnom ispitu?
                                            $q225 = myquery("select pt.akademska_godina, ag.naziv, s.id, s.naziv from prijemni_termin as pt, prijemni_prijava as pp, akademska_godina as ag, studij as s where pp.osoba={$osoba} and pp.prijemni_termin=pt.id and pt.akademska_godina=ag.id and pp.studij_prvi=s.id order by ag.id desc, pt.id desc limit 1");
                                            if (mysql_num_rows($q225) > 0) {
                                                $nova_ak_god = mysql_result($q225, 0, 0);
                                                $naziv_nove_ak_god = mysql_result($q225, 0, 1);
                                                $novi_studij = mysql_result($q225, 0, 3);
                                                $novi_studij_id = mysql_result($q225, 0, 2);
                                            }
                                        }
                                    } else {
                                        ?>
			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>&quot;<?php 
                                        echo $studij;
                                        ?>
&quot;</b>, <?php 
                                        echo $semestar;
                                        ?>
. semestar (<?php 
                                        echo $puta;
                                        ?>
. put) <?php 
                                        echo $nacin_studiranja;
                                        ?>
 (<a href="?sta=studentska/osobe&osoba=<?php 
                                        echo $osoba;
                                        ?>
&akcija=ispis&studij=<?php 
                                        echo $studij_id;
                                        ?>
&semestar=<?php 
                                        echo $semestar;
                                        ?>
&godina=<?php 
                                        echo $id_ak_god;
                                        ?>
">ispiši sa studija</a>)</p>
			<?php 
                                        $q230 = myquery("select id, naziv from akademska_godina where id={$id_ak_god}+1");
                                        if (mysql_num_rows($q230) > 0) {
                                            $nova_ak_god = mysql_result($q230, 0, 0);
                                            $naziv_nove_ak_god = mysql_result($q230, 0, 1);
                                        }
                                    }
                                    // UPIS U SLJEDEĆU AK. GODINU
                                    // Aktivni moduli
                                    $modul_uou = $modul_kolizija = 0;
                                    foreach ($registry as $r) {
                                        if ($r[0] == "student/ugovoroucenju") {
                                            $modul_uou = 1;
                                        }
                                        if ($r[0] == "student/kolizija") {
                                            $modul_kolizija = 1;
                                        }
                                    }
                                    if ($nova_ak_god != 0) {
                                        // Ne prikazuj podatke o upisu dok se ne kreira nova ak. godina
                                        ?>
		<p>Upis u akademsku <b><?php 
                                        echo $naziv_nove_ak_god;
                                        ?>
</b> godinu:<br />
		<?php 
                                        // Da li je vec upisan?
                                        $q235 = myquery("select s.naziv, ss.semestar, s.id from student_studij as ss, studij as s where ss.student={$osoba} and ss.studij=s.id and ss.akademska_godina={$nova_ak_god} order by ss.semestar desc");
                                        if (mysql_num_rows($q235) > 0) {
                                            $novi_studij = mysql_result($q235, 0, 0);
                                            $novi_semestar = mysql_result($q235, 0, 1);
                                            $novi_studij_id = mysql_result($q235, 0, 2);
                                            if ($novi_semestar <= $semestar && $novi_studij == $studij) {
                                                $nputa = $puta + 1;
                                            } else {
                                                $nputa = 1;
                                            }
                                            ?>
			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Student je upisan na studij: <b><?php 
                                            echo $novi_studij;
                                            ?>
</b>, <?php 
                                            echo $novi_semestar;
                                            ?>
. semestar (<?php 
                                            echo $nputa;
                                            ?>
. put). (<a href="?sta=studentska/osobe&osoba=<?php 
                                            echo $osoba;
                                            ?>
&akcija=ispis&studij=<?php 
                                            echo $novi_studij_id;
                                            ?>
&semestar=<?php 
                                            echo $novi_semestar;
                                            ?>
&godina=<?php 
                                            echo $nova_ak_god;
                                            ?>
">ispiši sa studija</a>)</p><?php 
                                        } else {
                                            // Ima li uslove za upis
                                            if ($semestar == 0 && $ikad_semestar == 0) {
                                                // Upis na prvu godinu
                                                ?>
			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nemamo podataka da je ovaj student ikada bio upisan na fakultet.</p><?php 
                                                if ($novi_studij_id) {
                                                    // Podatak sa prijemnog
                                                    ?>
				<p><a href="?sta=studentska/osobe&osoba=<?php 
                                                    echo $osoba;
                                                    ?>
&akcija=upis&studij=<?php 
                                                    echo $novi_studij_id;
                                                    ?>
&semestar=1&godina=<?php 
                                                    echo $nova_ak_god;
                                                    ?>
">Upiši studenta na <?php 
                                                    echo $novi_studij;
                                                    ?>
, 1. semestar.</a></p>
				<?php 
                                                } else {
                                                    ?>
				<p><a href="?sta=studentska/osobe&osoba=<?php 
                                                    echo $osoba;
                                                    ?>
&akcija=upis&studij=<?php 
                                                    echo $novi_studij_id;
                                                    ?>
&semestar=1&godina=<?php 
                                                    echo $nova_ak_god;
                                                    ?>
">Upiši studenta na Prvu godinu studija, 1. semestar.</a></p>
				<?php 
                                                }
                                            } else {
                                                if ($studij == "0") {
                                                    if ($ikad_semestar % 2 == 0) {
                                                        $ikad_semestar--;
                                                    }
                                                    // Trenutno nije upisan na fakultet, ali upisacemo ga
                                                    ?>
			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="?sta=studentska/osobe&osoba=<?php 
                                                    echo $osoba;
                                                    ?>
&akcija=upis&studij=<?php 
                                                    echo $ikad_studij_id;
                                                    ?>
&semestar=<?php 
                                                    echo $ikad_semestar;
                                                    ?>
&godina=<?php 
                                                    echo $nova_ak_god;
                                                    ?>
">Ponovo upiši studenta na <?php 
                                                    echo $ikad_studij;
                                                    ?>
, <?php 
                                                    echo $ikad_semestar;
                                                    ?>
. semestar.</a></p>
			<?php 
                                                } else {
                                                    if ($semestar % 2 != 0) {
                                                        // S neparnog na parni ide automatski
                                                        ?>
			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Student je stekao uslove za upis na &quot;<?php 
                                                        echo $studij;
                                                        ?>
&quot;, <?php 
                                                        echo $semestar + 1;
                                                        ?>
 semestar</p>
			<p><a href="?sta=studentska/osobe&osoba=<?php 
                                                        echo $osoba;
                                                        ?>
&akcija=upis&studij=<?php 
                                                        echo $studij_id;
                                                        ?>
&semestar=<?php 
                                                        echo $semestar + 1;
                                                        ?>
&godina=<?php 
                                                        echo $nova_ak_god;
                                                        ?>
">Upiši studenta na &quot;<?php 
                                                        echo $studij;
                                                        ?>
&quot;, <?php 
                                                        echo $semestar + 1;
                                                        ?>
 semestar.</a></p>
			<?php 
                                                    } else {
                                                        // Upis na neparni semestar - da li je student dao uslov?
                                                        $ima_uslov = 0;
                                                        // Tekst za ono što upisuje
                                                        if ($semestar == $studij_trajanje) {
                                                            $sta = "sljedeći ciklus studija";
                                                        } else {
                                                            $sta = "&quot;{$studij}&quot;, " . ($semestar + 1) . ". semestar";
                                                        }
                                                        // Pokusacemo odrediti uslov na osnovu polozenih predmeta...
                                                        // Od predmeta koje je slušao, koliko je pao?
                                                        $q250 = myquery("select distinct pk.predmet, p.ects, pk.semestar, pk.obavezan, p.naziv from ponudakursa as pk, student_predmet as sp, predmet as p where sp.student={$osoba} and sp.predmet=pk.id and pk.semestar<={$semestar} and pk.studij={$studij_id} and pk.predmet=p.id order by pk.semestar");
                                                        $ects_pao = $predmeti_pao = $izborni_pao = $nize_godine = $ects_polozio = 0;
                                                        while ($r250 = mysql_fetch_row($q250)) {
                                                            $q260 = myquery("select count(*) from konacna_ocjena where student={$osoba} and predmet={$r250['0']}");
                                                            if (mysql_result($q260, 0, 0) < 1) {
                                                                // Predmet se ne može prenijeti preko dvije godine
                                                                if ($r250[2] < $semestar - 1) {
                                                                    $nize_godine++;
                                                                }
                                                                if ($r250[3] == 1) {
                                                                    // Obavezni predmeti se ne smiju pasti!
                                                                    $ects_pao += $r250[1];
                                                                    $predmeti_pao++;
                                                                } else {
                                                                    $izborni_pao++;
                                                                    // Za izborne cemo uporediti sumu ECTSova kasnije
                                                                }
                                                            } else {
                                                                $ects_polozio += $r250[1];
                                                            }
                                                        }
                                                        // USLOV ZA UPIS
                                                        // Prema aktuelnom zakonu može se prenijeti tačno jedan predmet, bez obzira na ECTS
                                                        // No za sljedeći ciklus studija se ne može prenijeti ništa
                                                        if ($semestar == $studij_trajanje && $predmeti_pao == 0 && ($ects_pao + $ects_polozio) % 60 == 0) {
                                                            // Ako je student pao izborni predmet pa polozio drugi umjesto njega, vazice
                                                            // ($ects_pao+$ects_polozio)%60==0
                                                            // Zato sto ects_pao = obavezni predmeti tako da ostaju samo izborni predmeti
                                                            $ima_uslov = 1;
                                                        } else {
                                                            if ($semestar < $studij_trajanje && $predmeti_pao <= 1) {
                                                                // Provjeravamo broj nepolozenih izbornih predmeta i razliku ects-ova
                                                                if ($predmeti_pao == 0 && (60 - ($ects_pao + $ects_polozio) % 60 < 7 || ($ects_pao + $ects_polozio) % 60 == 0) && $nize_godine == 0) {
                                                                    // nema izbornog predmeta sa 7 ili više kredita
                                                                    $ima_uslov = 1;
                                                                } else {
                                                                    if ($predmeti_pao == 1 && ($ects_pao + $ects_polozio) % 60 == 0 && $nize_godine == 0) {
                                                                        $ima_uslov = 1;
                                                                    } else {
                                                                        if ($nize_godine > 0) {
                                                                            $niza_godina = ($semestar - 2) / 2;
                                                                            $objasnjenje = "nije položen predmet sa {$niza_godina}. godine";
                                                                        } else {
                                                                            if ($predmeti_pao == 1) {
                                                                                $objasnjenje = "nepoložen jedan obavezan i jedan ili više izborni predmet";
                                                                            } else {
                                                                                $objasnjenje = "nepoloženo dva ili više izbornih predmeta";
                                                                            }
                                                                            $objasnjenje .= ", nedostaje " . (60 - $ects_polozio % 60) . " ECTS kredita";
                                                                        }
                                                                    }
                                                                }
                                                            } else {
                                                                $objasnjenje = $predmeti_pao + $izborni_pao . " nepoloženih predmeta, nedostaje " . (60 - $ects_polozio % 60) . " ECTS kredita";
                                                            }
                                                        }
                                                        // Konačan ispis
                                                        if ($ima_uslov) {
                                                            ?>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Student je stekao/la uslove za upis na <?php 
                                                            echo $sta;
                                                            ?>
</p>
				<p><a href="?sta=studentska/osobe&osoba=<?php 
                                                            echo $osoba;
                                                            ?>
&akcija=upis&studij=<?php 
                                                            echo $studij_id;
                                                            ?>
&semestar=<?php 
                                                            echo $semestar + 1;
                                                            ?>
&godina=<?php 
                                                            echo $nova_ak_god;
                                                            ?>
">Upiši studenta na <?php 
                                                            echo $sta;
                                                            ?>
.</a></p>
				<?php 
                                                        } else {
                                                            ?>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Student <b>NIJE</b> stekao/la uslove za <?php 
                                                            echo $sta;
                                                            ?>
<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<?php 
                                                            echo $objasnjenje;
                                                            ?>
)</p>
				<p><a href="?sta=studentska/osobe&osoba=<?php 
                                                            echo $osoba;
                                                            ?>
&akcija=upis&studij=<?php 
                                                            echo $studij_id;
                                                            ?>
&semestar=<?php 
                                                            echo $semestar - 1;
                                                            ?>
&godina=<?php 
                                                            echo $nova_ak_god;
                                                            ?>
">Ponovo upiši studenta na <?php 
                                                            echo $studij;
                                                            ?>
, <?php 
                                                            echo $semestar - 1;
                                                            ?>
. semestar (<?php 
                                                            echo $puta + 1;
                                                            ?>
. put).</a></p>
				<p><a href="?sta=studentska/osobe&osoba=<?php 
                                                            echo $osoba;
                                                            ?>
&akcija=upis&studij=<?php 
                                                            echo $studij_id;
                                                            ?>
&semestar=<?php 
                                                            echo $semestar + 1;
                                                            ?>
&godina=<?php 
                                                            echo $nova_ak_god;
                                                            ?>
">Upiši studenta na <?php 
                                                            echo $sta;
                                                            ?>
.</a></p>
				<?php 
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                        // if ($q235... else ... -- nije vec upisan nigdje
                                        // Ugovor o učenju
                                        if ($modul_uou == 1) {
                                            $q270 = myquery("select s.naziv, u.semestar from ugovoroucenju as u, studij as s where u.student={$osoba} and u.akademska_godina={$nova_ak_god} and u.studij=s.id order by u.semestar");
                                            if (mysql_num_rows($q270) > 0) {
                                                $nazivstudijauu = $semestaruu = "";
                                                while ($r270 = mysql_fetch_row($q270)) {
                                                    $nazivstudijauu = $r270[0];
                                                    $semestaruu .= $r270[1] . ". ";
                                                }
                                                ?>
					<p>Student je popunio/la <b>Ugovor o učenju</b> za <?php 
                                                echo $nazivstudijauu;
                                                ?>
, <?php 
                                                echo $semestaruu;
                                                ?>
semestar</p>
					<?php 
                                            } else {
                                                ?>
					<p>Student NIJE popunio/la <b>Ugovor o učenju</b> za sljedeću akademsku godinu.</p>
					<?php 
                                            }
                                        }
                                    }
                                    // if (mysql_num_rows($q230  -- da li postoji ak. god. iza aktuelne?
                                    // Kolizija
                                    if ($modul_kolizija == 1) {
                                        $q280 = myquery("select count(*) from kolizija where student={$osoba} and akademska_godina={$nova_ak_god}");
                                        $ima_koliziju = 0;
                                        if (mysql_result($q280, 0, 0) > 0) {
                                            $ima_koliziju = $nova_ak_god;
                                        } else {
                                            // Probavamo i za trenutnu
                                            $q280 = myquery("select count(*) from kolizija where student={$osoba} and akademska_godina={$id_ak_god}");
                                            if (mysql_result($q280, 0, 0) > 0) {
                                                $ima_koliziju = $id_ak_god;
                                            }
                                        }
                                        if ($ima_koliziju) {
                                            // provjeravamo septembar
                                            $kolizija_ok = true;
                                            $qc = myquery("select distinct predmet from septembar where student={$osoba} and akademska_godina={$ima_koliziju}");
                                            while ($rc = mysql_fetch_row($qc)) {
                                                $predmet = $rc[0];
                                                // Da li ima ocjenu?
                                                $qd = myquery("select count(*) from konacna_ocjena where student={$osoba} and predmet={$predmet} and ocjena>=6");
                                                if (mysql_result($qd, 0, 0) > 0) {
                                                    continue;
                                                }
                                                // Da li ima septembarskog roka?
                                                $qe = myquery("select i.id, k.prolaz from ispit as i, komponenta as k where i.akademska_godina=" . ($ima_koliziju - 1) . " and (MONTH(i.datum)=8 or MONTH(i.datum)=9) and (select count(*) from ispitocjene as io where io.ispit=i.id)>0 and i.predmet={$predmet} and i.komponenta=k.id and k.naziv NOT LIKE 'Usmeni%'");
                                                if (mysql_num_rows($qe) == 0) {
                                                    continue;
                                                }
                                                // nema
                                                $polozio = false;
                                                $septembar_razlog = "";
                                                while ($re = mysql_fetch_row($qe)) {
                                                    $qf = myquery("select ocjena from ispitocjene where ispit={$re['0']} and student={$osoba}");
                                                    if (mysql_num_rows($qf) > 0 && mysql_result($qf, 0, 0) >= $re[1]) {
                                                        $polozio = true;
                                                        break;
                                                    }
                                                }
                                                if (!$polozio) {
                                                    $kolizija_ok = false;
                                                    $qg = myquery("select naziv from predmet where id={$predmet}");
                                                    $paopredmet = mysql_result($qg, 0, 0);
                                                    break;
                                                }
                                            }
                                            if ($kolizija_ok) {
                                                ?>
					<p>Student je popunio/la <b>Zahtjev za koliziju</b>. <a href="?sta=studentska/osobe&osoba=<?php 
                                                echo $osoba;
                                                ?>
&akcija=kolizija&godina=<?php 
                                                echo $ima_koliziju;
                                                ?>
">Kliknite ovdje da potvrdite upis na kolizione predmete.</a></p>
					<?php 
                                            } else {
                                                ?>
					<p>Student je popunio/la <b>Zahtjev za koliziju</b> koji je neispravan (nije položio/la <?php 
                                                echo $paopredmet;
                                                ?>
). Potrebno ga je ponovo popuniti.</p>
					<?php 
                                            }
                                        }
                                    }
                                    // Upis studenta na pojedinačne predmete
                                    ?>
		<p><a href="?sta=studentska/osobe&osoba=<?php 
                                    echo $osoba;
                                    ?>
&akcija=predmeti">Manuelni upis studenta na predmete / ispis sa predmeta.</a></p>
		<?php 
                                    print "\n<div style=\"clear:both\"></div>\n";
                                }
                                // STUDENT
                                // NASTAVNIK
                                // Akademska godina se promijenila :( CLEANUP
                                $id_ak_god = $orig_iag;
                                $q399 = myquery("select naziv from akademska_godina where id={$id_ak_god}");
                                $naziv_ak_god = mysql_result($q399, 0, 0);
                                if ($korisnik_nastavnik) {
                                    ?>
		<br/><hr>
		<h3>NASTAVNIK</h3>
		<p><b>Podaci o izboru</b></p>
		<?php 
                                    // Izbori
                                    $q400 = myquery("select z.naziv, UNIX_TIMESTAMP(i.datum_izbora), UNIX_TIMESTAMP(i.datum_isteka), i.oblast, i.podoblast, i.dopunski, i.druga_institucija from izbor as i, zvanje as z WHERE i.osoba={$osoba} and i.zvanje=z.id order by i.datum_isteka DESC, i.datum_izbora DESC");
                                    if (mysql_num_rows($q400) == 0) {
                                        print "<p>Nema podataka o izboru.</p>\n";
                                    } else {
                                        $datum_izbora = date("d. m. Y", mysql_result($q400, 0, 1));
                                        if (mysql_result($q400, 0, 1) == 0) {
                                            $datum_izbora = "<font color=\"red\">(nepoznato)</font>";
                                        }
                                        $datum_isteka = date("d. m. Y", mysql_result($q400, 0, 2));
                                        if (mysql_result($q400, 0, 2) == 0) {
                                            $datum_isteka = "Neodređeno";
                                        }
                                        $oblast = mysql_result($q400, 0, 3);
                                        if ($oblast < 1) {
                                            $oblast = "<font color=\"red\">(nepoznato)</font>";
                                        } else {
                                            $q410 = myquery("select naziv from oblast where id={$oblast}");
                                            if (mysql_num_rows($q410) < 1) {
                                                $oblast = "<font color=\"red\">GREŠKA</font>";
                                            } else {
                                                $oblast = mysql_result($q410, 0, 0);
                                            }
                                        }
                                        $podoblast = mysql_result($q400, 0, 4);
                                        if ($podoblast < 1) {
                                            $podoblast = "<font color=\"red\">(nepoznato)</font>";
                                        } else {
                                            $q420 = myquery("select naziv from podoblast where id={$podoblast}");
                                            if (mysql_num_rows($q420) < 1) {
                                                $podoblast = "<font color=\"red\">GREŠKA</font>";
                                            } else {
                                                $podoblast = mysql_result($q420, 0, 0);
                                            }
                                        }
                                        if (mysql_result($q400, 0, 5) == 0) {
                                            $radniodnos = "Stalni";
                                        } else {
                                            $radniodnos = "Dopunski";
                                        }
                                        ?>
			<table border="0">
			<tr><td>Zvanje:</td><td><?php 
                                        echo mysql_result($q400, 0, 0);
                                        ?>
</td></tr>
			<tr><td>Datum izbora:</td><td><?php 
                                        echo $datum_izbora;
                                        ?>
</td></tr>
			<tr><td>Datum isteka:</td><td><?php 
                                        echo $datum_isteka;
                                        ?>
</td></tr>
			<tr><td>Oblast:</td><td><?php 
                                        echo $oblast;
                                        ?>
</td></tr>
			<tr><td>Podoblast:</td><td><?php 
                                        echo $podoblast;
                                        ?>
</td></tr>
			<tr><td>Radni odnos:</td><td><?php 
                                        echo $radniodnos;
                                        ?>
</td></tr>
			<?php 
                                        if (mysql_result($q400, 0, 6) == 1) {
                                            print "<tr><td colspan=\"2\">Biran/a na drugoj VŠO</td></tr>\n";
                                        }
                                        ?>
			</table>
			<?php 
                                    }
                                    ?>
		<p><a href="?sta=studentska/osobe&osoba=<?php 
                                    echo $osoba;
                                    ?>
&akcija=izbori">Izmijenite podatke o izboru ili pogledajte historijske podatke</a></p>
		<?php 
                                    // Angažman
                                    ?>
		<p><b>Angažman u nastavi (akademska godina <?php 
                                    echo $naziv_ak_god;
                                    ?>
)</b></p>
		<ul>
		<?php 
                                    $q430 = myquery("select p.id, p.naziv, angs.naziv, i.kratki_naziv from angazman as a, angazman_status as angs, predmet as p, institucija as i where a.osoba={$osoba} and a.akademska_godina={$id_ak_god} and a.predmet=p.id and a.angazman_status=angs.id and p.institucija=i.id order by angs.id, p.naziv");
                                    if (mysql_num_rows($q430) < 1) {
                                        print "<li>Uposlenik nije angažovan niti na jednom predmetu u ovoj godini.</li>\n";
                                    }
                                    while ($r430 = mysql_fetch_row($q430)) {
                                        print "<li><a href=\"?sta=studentska/predmeti&akcija=edit&predmet={$r430['0']}&ag={$id_ak_god}\">{$r430['1']} ({$r430['3']})</a> - {$r430['2']}</li>\n";
                                    }
                                    // Angažman
                                    ?>
</ul>
		<p>Angažuj nastavnika na predmetu:
		<?php 
                                    echo genform("POST");
                                    ?>
		<input type="hidden" name="subakcija" value="angazuj">
		<select name="predmet" class="default"><?php 
                                    $q190 = myquery("select p.id, p.naziv, i.kratki_naziv from predmet as p, ponudakursa as pk, institucija as i where pk.predmet=p.id and pk.akademska_godina={$id_ak_god} and p.institucija=i.id group by p.id order by p.naziv");
                                    while ($r190 = mysql_fetch_row($q190)) {
                                        print "<option value=\"{$r190['0']}\">{$r190['1']} ({$r190['2']})</a>\n";
                                    }
                                    ?>
</select><br/>
		<?php 
                                    echo db_dropdown("angazman_status");
                                    ?>
		<?php 
                                    echo db_dropdown("akademska_godina", $id_ak_god);
                                    ?>
		<input type="submit" value=" Dodaj "></form></p>
		<?php 
                                    // Prava pristupa
                                    ?>
		<p><b>Prava pristupa (akademska godina <?php 
                                    echo $naziv_ak_god;
                                    ?>
)</b></p>
		<ul>
		<?php 
                                    $q180 = myquery("select p.id, p.naziv, np.nivo_pristupa, i.kratki_naziv from nastavnik_predmet as np, predmet as p, institucija as i where np.nastavnik={$osoba} and np.predmet=p.id and np.akademska_godina={$id_ak_god} and p.institucija=i.id order by np.nivo_pristupa, p.naziv");
                                    // FIXME: moze li se ovdje izbaciti tabela ponudakursa? studij ili institucija?
                                    if (mysql_num_rows($q180) < 1) {
                                        print "<li>Nijedan</li>\n";
                                    }
                                    while ($r180 = mysql_fetch_row($q180)) {
                                        print "<li><a href=\"?sta=studentska/predmeti&akcija=edit&predmet={$r180['0']}&ag={$id_ak_god}\">{$r180['1']} ({$r180['3']})</a>";
                                        if ($r180[2] == "nastavnik") {
                                            print " (Nastavnik)";
                                        } else {
                                            if ($r180[2] == "super_asistent") {
                                                print " (Super asistent)";
                                            }
                                        }
                                        print "</li>\n";
                                    }
                                    ?>
</ul>
		<p>Za prava pristupa na prethodnim akademskim godinama, koristite pretragu na kartici &quot;Predmeti&quot;<br/></p>
		<?php 
                                    // Dodjela prava pristupa
                                    ?>
<p>Dodijeli prava za predmet:
		<?php 
                                    echo genform("POST");
                                    ?>
		<input type="hidden" name="subakcija" value="daj_prava">
		<select name="predmet" class="default"><?php 
                                    $q190 = myquery("select p.id, p.naziv, i.kratki_naziv from predmet as p, ponudakursa as pk, institucija as i where pk.predmet=p.id and pk.akademska_godina={$id_ak_god} and p.institucija=i.id group by p.id order by p.naziv");
                                    while ($r190 = mysql_fetch_row($q190)) {
                                        print "<option value=\"{$r190['0']}\">{$r190['1']} ({$r190['2']})</a>\n";
                                    }
                                    ?>
</select>&nbsp;
		<input type="submit" value=" Dodaj "></form></p>
		<?php 
                                }
                                // PRIJEMNI
                                $q600 = myquery("select prijemni_termin, broj_dosjea, nacin_studiranja, studij_prvi, studij_drugi, studij_treci, studij_cetvrti, izasao, rezultat from prijemni_prijava where osoba={$osoba}");
                                if (mysql_num_rows($q600) > 0) {
                                    ?>
		<br/><hr>
		<h3>KANDIDAT NA PRIJEMNOM ISPITU</h3>
		<?php 
                                    while ($r600 = mysql_fetch_row($q600)) {
                                        $q610 = myquery("select ag.id, ag.naziv, UNIX_TIMESTAMP(pt.datum), pt.ciklus_studija from prijemni_termin as pt, akademska_godina as ag where pt.id={$r600['0']} and pt.akademska_godina=ag.id");
                                        ?>
			<b>Za akademsku <?php 
                                        echo mysql_result($q610, 0, 1);
                                        ?>
 godinu (<?php 
                                        echo mysql_result($q610, 0, 3);
                                        ?>
. ciklus studija), održan <?php 
                                        echo date("d. m. Y", mysql_result($q610, 0, 2));
                                        ?>
</b>
			<ul><li><?php 
                                        if ($r600[7] > 0) {
                                            print "{$r600['8']} bodova";
                                        } else {
                                            print "(nije izašao/la)";
                                        }
                                        ?>
</li>
			<li>Broj dosjea: <?php 
                                        echo $r600[1];
                                        ?>
, <?php 
                                        $q615 = myquery("select naziv from nacin_studiranja where id={$r600['2']}");
                                        if (mysql_num_rows($q615) > 0) {
                                            print mysql_result($q615, 0, 0);
                                        } else {
                                            print "nepoznato";
                                        }
                                        for ($i = 3; $i <= 6; $i++) {
                                            if ($r600[$i] > 0) {
                                                $q620 = myquery("select kratkinaziv from studij where id=" . $r600[$i]);
                                                print ", " . mysql_result($q620, 0, 0);
                                            }
                                        }
                                        ?>
</li>
			<?php 
                                        // Link na upis prikazujemo samo za ovogodišnji prijemni
                                        $godina_prijemnog = mysql_result($q610, 0, 0);
                                        //			$q630 = myquery("select id from akademska_godina where aktuelna=1");
                                        //			$nova_ak_god = mysql_result($q630,0,0)+1;
                                        //			if ($godina_prijemnog==$nova_ak_god) {
                                        // Moguće je da se asistent upisuje na 3. ciklus pa je $korisnik_nastavnik==true
                                        if (!$korisnik_student) {
                                            ?>
				<li><a href="?sta=studentska/osobe&osoba=<?php 
                                            echo $osoba;
                                            ?>
&akcija=upis&studij=<?php 
                                            echo $r600[3];
                                            ?>
&semestar=1&godina=<?php 
                                            echo $godina_prijemnog;
                                            ?>
">Upiši kandidata na <?php 
                                            $q630 = myquery("select naziv from studij where id={$r600['3']}");
                                            if (mysql_num_rows($q630) > 0) {
                                                print "&quot;" . mysql_result($q630, 0, 0) . "&quot;";
                                            } else {
                                                print "prvu godinu studija";
                                            }
                                            ?>
, 1. semestar, u akademskoj <?php 
                                            echo mysql_result($q610, 0, 1);
                                            ?>
 godini</a></li>
			<?php 
                                        }
                                        ?>
			</ul><?php 
                                    }
                                    $q640 = myquery("select ss.naziv, us.opci_uspjeh, us.kljucni_predmeti, us.dodatni_bodovi, us.ucenik_generacije from srednja_skola as ss, uspjeh_u_srednjoj as us where us.srednja_skola=ss.id and us.osoba={$osoba}");
                                    if (mysql_num_rows($q640) > 0) {
                                        ?>
			<b>Uspjeh u srednjoj školi:</b>
			<ul>
			<li>Škola: <?php 
                                        echo mysql_result($q640, 0, 0);
                                        ?>
</li>
			<li>Opći uspjeh: <?php 
                                        echo mysql_result($q640, 0, 1);
                                        ?>
. Ključni predmeti: <?php 
                                        echo mysql_result($q640, 0, 2);
                                        ?>
. Dodatni bodovi: <?php 
                                        echo mysql_result($q640, 0, 3);
                                        ?>
. <?php 
                                        if (mysql_result($q640, 0, 4) > 0) {
                                            print "Učenik generacije.";
                                        }
                                        ?>
</li>
			</ul>
			<?php 
                                    }
                                }
                                ?>
</td></tr></table></center><?php 
                                // Vanjska tabela
                            } else {
                                $src = my_escape($_REQUEST["search"]);
                                $limit = 20;
                                $offset = intval($_REQUEST["offset"]);
                                // Naucni stepeni
                                $naucni_stepen = array();
                                $q99 = myquery("select id, titula from naucni_stepen");
                                while ($r99 = mysql_fetch_row($q99)) {
                                    $naucni_stepen[$r99[0]] = $r99[1];
                                }
                                ?>
	<p><h3>Studentska služba - Studenti i nastavnici</h3></p>

	<table width="500" border="0"><tr><td align="left">
		<p><b>Pretraži osobe:</b><br/>
		Unesite dio imena i prezimena ili broj indeksa<br/>
		<?php 
                                echo genform("GET");
                                ?>
		<input type="hidden" name="offset" value="0"> <?php 
                                /*resetujem offset*/
                                ?>
		<input type="text" size="50" name="search" value="<?php 
                                if ($src != "sve") {
                                    print $src;
                                }
                                ?>
"> <input type="Submit" value=" Pretraži "></form>
		<a href="<?php 
                                echo genuri();
                                ?>
&search=sve">Prikaži sve osobe</a><br/><br/>
	<?php 
                                if ($src) {
                                    $rezultata = 0;
                                    if ($src == "sve") {
                                        $q100 = myquery("select count(*) from osoba");
                                        $q101 = myquery("select id, ime, prezime, brindexa, naucni_stepen from osoba order by prezime,ime limit {$offset},{$limit}");
                                        $rezultata = mysql_result($q100, 0, 0);
                                    } else {
                                        $src = preg_replace("/\\s+/", " ", $src);
                                        $src = trim($src);
                                        $dijelovi = explode(" ", $src);
                                        $query = "";
                                        // Probavamo traziti ime i prezime istovremeno
                                        if (count($dijelovi) == 2) {
                                            $q100 = myquery("select count(*) from osoba where ime like '%{$dijelovi['0']}%' and prezime like '%{$dijelovi['1']}%'");
                                            $q101 = myquery("select id,ime,prezime,brindexa,naucni_stepen from osoba where ime like '%{$dijelovi['0']}%' and prezime like '%{$dijelovi['1']}%' order by prezime,ime limit {$offset},{$limit}");
                                            if (mysql_result($q100, 0, 0) == 0) {
                                                $q100 = myquery("select count(*) from osoba where ime like '%{$dijelovi['1']}%' and prezime like '%{$dijelovi['0']}%'");
                                                $q101 = myquery("select id,ime,prezime,brindexa,naucni_stepen from osoba where ime like '%{$dijelovi['1']}%' and prezime like '%{$dijelovi['0']}%' order by prezime,ime limit {$offset},{$limit}");
                                            }
                                            $rezultata = mysql_result($q100, 0, 0);
                                        }
                                        // Nismo nasli ime i prezime, pokusavamo bilo koji dio
                                        if ($rezultata == 0) {
                                            foreach ($dijelovi as $dio) {
                                                if ($query != "") {
                                                    $query .= "or ";
                                                }
                                                $query .= "ime like '%{$dio}%' or prezime like '%{$dio}%' or brindexa like '%{$dio}%' ";
                                                if (intval($dio) > 0) {
                                                    $query .= "or id=" . intval($dio) . " ";
                                                }
                                            }
                                            $q100 = myquery("select count(*) from osoba where ({$query})");
                                            $q101 = myquery("select id,ime,prezime,brindexa,naucni_stepen from osoba where ({$query}) order by prezime,ime limit {$offset},{$limit}");
                                            $rezultata = mysql_result($q100, 0, 0);
                                        }
                                        // Nismo nasli nista, pokusavamo login
                                        if ($rezultata == 0) {
                                            $query = "";
                                            foreach ($dijelovi as $dio) {
                                                if ($query != "") {
                                                    $query .= "or ";
                                                }
                                                $query .= "a.login like '%{$dio}%' ";
                                            }
                                            $q100 = myquery("select count(*) from osoba as o, auth as a where ({$query}) and a.id=o.id");
                                            $q101 = myquery("select o.id,o.ime,o.prezime,o.brindexa,o.naucni_stepen from osoba as o, auth as a where ({$query}) and a.id=o.id order by o.prezime,o.ime limit {$offset},{$limit}");
                                            $rezultata = mysql_result($q100, 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}\">{$br}</a> ";
                                                }
                                            }
                                            print "<br/>";
                                        }
                                    }
                                    //		else
                                    //			print "$rezultata rezultata:";
                                    print "<br/>";
                                    print '<table width="100%" border="0">';
                                    $i = $offset + 1;
                                    while ($r101 = mysql_fetch_row($q101)) {
                                        print "<tr ";
                                        if ($i % 2 == 0) {
                                            print "bgcolor=\"#EEEEEE\"";
                                        }
                                        print "><td>{$i}. {$r101['2']} ";
                                        if ($r101[4] > 0) {
                                            print $naucni_stepen[$r101[4]] . " ";
                                        }
                                        print $r101[1];
                                        if (intval($r101[3]) > 0) {
                                            print " ({$r101['3']})";
                                        }
                                        print "</td><td><a href=\"" . genuri() . "&akcija=edit&osoba={$r101['0']}\">Detalji</a></td></tr>";
                                        $i++;
                                    }
                                    print "</table>";
                                }
                                ?>
		<br/>
		<?php 
                                echo genform("POST");
                                ?>
		<input type="hidden" name="akcija" value="novi">
		<b>Unesite novu osobu:</b><br/>
		<table border="0" cellspacing="0" cellpadding="0" width="100%">
		<tr><td>Ime<?php 
                                if ($conf_system_auth == "ldap") {
                                    print " ili login";
                                }
                                ?>
:</td><td>Prezime:</td><td>&nbsp;</td></tr>
		<tr>
			<td><input type="text" name="ime" size="15"></td>
			<td><input type="text" name="prezime" size="15"></td>
			<td><input type="submit" value=" Dodaj "></td>
		</tr></table>
		</form>
	<?php 
                                ?>

	</td></tr></table>
	<?php 
                            }
                        }
                    }
                }
            }
        }
    }
    ?>
</td></tr></table></center>
<?php 
}
Esempio n. 29
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 
}
Esempio n. 30
0
function studentska_obavijest()
{
    global $userid, $conf_ldap_domain, $user_siteadmin, $conf_skr_naziv_institucije_genitiv;
    // 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 - svi studenti na labgrupi (primalac - id labgrupe)
    //    7 - korisnik (primalac - user id)
    //    8 - svi studenti na godini studija (primalac - idstudija*10+godina_studija)
    // Podaci potrebni kasnije
    // Zadnja akademska godina
    $q20 = myquery("select id,naziv from akademska_godina where aktuelna=1 order by id desc limit 1");
    $ag = mysql_result($q20, 0, 0);
    $ag_naziv = mysql_result($q20, 0, 1);
    // Studij koji student trenutno sluša
    $studij = 0;
    if ($user_student) {
        $q30 = myquery("select studij,semestar from student_studij where student={$userid} and akademska_godina={$ag} order by semestar desc limit 1");
        if (mysql_num_rows($q30) > 0) {
            $studij = mysql_result($q30, 0, 0);
        }
    }
    // Pravimo neki okvir za sajt
    ?>
<center>
<table width="80%" border="0"><tr><td>

<h1>Slanje obavijesti</h1>

<?php 
    //////////////////////
    // Slanje poruke
    //////////////////////
    if ($_POST['akcija'] == 'send' && check_csrf_token()) {
        // Ko je primalac
        $primalac = intval($_REQUEST['primalac']);
        $opseg = intval($_REQUEST['opseg']);
        $poruka = intval($_REQUEST['poruka']);
        // Pogrešan opseg
        if ($opseg != 1 && $opseg != 2 && $opseg != 3 && $opseg != 5 && $opseg != 8 && ($opseg != 0 || !$user_siteadmin)) {
            niceerror("Nemate pravo slanja poruke sa tim opsegom");
            zamgerlog("pokusaj slanja/izmjene poruke sa opsegom {$opseg}", 3);
            zamgerlog2("pokusaj slanja/izmjene poruke sa opsegom", $opseg);
            return;
        }
        $naslov = my_escape($_REQUEST['naslov']);
        $tekst = my_escape($_REQUEST['tekst']);
        if ($_REQUEST['email']) {
            $email = 1;
        } else {
            $email = 0;
        }
        if ($poruka > 0) {
            // Editovanje poruke
            $q310 = myquery("update poruka set tip=1, opseg={$opseg}, primalac={$primalac}, naslov='{$naslov}', tekst='{$tekst}' where id={$poruka}");
            nicemessage("Obavijest uspješno izmijenjena");
            zamgerlog("izmijenjena obavijest {$poruka}", 2);
            zamgerlog2("izmijenjena poruka", $poruka);
        } else {
            // Nova obavijest
            $q310 = myquery("insert into poruka set tip=1, opseg={$opseg}, primalac={$primalac}, posiljalac={$userid}, vrijeme=NOW(), naslov='{$naslov}', tekst='{$tekst}'");
            $id_poruke = mysql_insert_id();
            // Saljem mail...
            if ($email && ($opseg == 3 || $opseg == 5)) {
                // nema spamanja!
                // Podaci za konverziju naših slova
                $nasaslova = array("č", "ć", "đ", "š", "ž", "Č", "Ć", "Đ", "Š", "Ž");
                $beznasihslova = array("c", "c", "d", "s", "z", "C", "C", "D", "S", "Z");
                if ($opseg == 3) {
                    $upit = "select o.email, a.login, o.ime, o.prezime from osoba as o, auth as a, student_studij as ss, akademska_godina as ag where ss.student=o.id and ss.student=a.id and ss.studij={$primalac} and ss.akademska_godina=ag.id and ag.aktuelna=1";
                    $q320 = myquery("select naziv from studij where id={$primalac}");
                    $subject = "OBAVJEŠTENJE: Svi studenti na " . mysql_result($q320, 0, 0);
                } else {
                    if ($opseg == 5) {
                        // Saljemo mail samo studentima na aktuelnoj akademskoj godini
                        $upit = "select o.email, a.login, o.ime, o.prezime from osoba as o, auth as a, student_predmet as sp, ponudakursa as pk where sp.predmet=pk.id and pk.predmet={$primalac} and pk.akademska_godina={$ag} and sp.student=o.id and sp.student=a.id";
                        $q330 = myquery("select naziv from predmet where id={$primalac}");
                        $subject = "OBAVJEŠTENJE: Svi studenti na " . mysql_result($q330, 0, 0);
                    }
                }
                // Subject email poruke
                $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\nStudentska služba {$conf_skr_naziv_institucije_genitiv} poslala 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)...
            nicemessage("Obavijest uspješno poslana");
            zamgerlog("poslana obavijest, opseg {$opseg} primalac {$primalac}", 2);
            zamgerlog2("poslana poruka", $id_poruke);
        }
    }
    if ($_REQUEST['akcija'] == 'compose' || $_REQUEST['akcija'] == 'izmjena') {
        $opseg = 0;
        if ($_REQUEST['akcija'] == 'izmjena') {
            $poruka = intval($_REQUEST['poruka']);
            $q200 = myquery("select primalac, naslov, tekst, opseg from poruka where id={$poruka} and tip=1");
            if (mysql_num_rows($q200) < 1) {
                niceerror("Poruka ne postoji");
                zamgerlog("pokusaj izmjene na nepostojece poruke {$poruka}", 3);
                return;
            }
            // Pogrešan opseg
            if ($opseg != 1 && $opseg != 2 && $opseg != 3 && $opseg != 5 && $opseg != 8 && ($opseg != 0 || !$user_siteadmin)) {
                niceerror("Nemate pravo izmjene ove poruke");
                zamgerlog("pokusaj izmjene poruke {$poruka} sa opsegom {$opseg}", 3);
                return;
            }
            // Prepravka naslova i teksta
            $primalac = mysql_result($q200, 0, 0);
            $naslov = mysql_result($q200, 0, 1);
            $tekst = mysql_result($q200, 0, 2);
            $opseg = mysql_result($q200, 0, 3);
        }
        ?>
	<a href="?sta=studentska/obavijest">Nazad na obavijesti</a><br/>
	<h3>Slanje obavijesti</h3>
	<?php 
        echo genform("POST");
        ?>
	<?php 
        /*	if ($_REQUEST['akcija']=='izmjena') {
        		?>
        		<input type="hidden" name="ref" value="<?=$poruka?>"><?
        	}*/
        ?>
	<input type="hidden" name="akcija" value="send">
	<script language="JavaScript">
	function spisak_primalaca(opseg) {
		var lista=document.getElementById('primalac');
		while (lista.length>0)
			lista.options[0]=null;
		if (opseg==0 || opseg==1 || opseg==2) {
			// Nista
		} else if (opseg==3) {
			<?php 
        $q210 = myquery("select id,naziv from studij");
        while ($r210 = mysql_fetch_row($q210)) {
            print "\tlista.options[lista.length]=new Option(\"{$r210['1']}\",\"{$r210['0']}\"";
            if ($opseg == 3 && $primalac == $r210[0]) {
                print ",true";
            }
            print ");\n";
        }
        ?>
		} else if (opseg==8) {
			<?php 
        // Prvi ciklus
        for ($i = 1; $i <= 3; $i++) {
            $kod = -10 - $i;
            print "\tlista.options[lista.length]=new Option(\"Svi studiji, Prvi ciklus, {$i}. godina\",\"{$kod}\"";
            if ($opseg == 8 && $primalac == $kod) {
                print ",true";
            }
            print ");\n";
        }
        // Drugi ciklus
        for ($i = 1; $i <= 2; $i++) {
            $kod = -20 - $i;
            print "\tlista.options[lista.length]=new Option(\"Svi studiji, Drugi ciklus, {$i}. godina\",\"{$kod}\"";
            if ($opseg == 8 && $primalac == $kod) {
                print ",true";
            }
            print ");\n";
        }
        // Ostali
        $q210 = myquery("select s.id, s.naziv, ts.trajanje from studij as s, tipstudija as ts where s.moguc_upis=1 and s.tipstudija=ts.id");
        while ($r210 = mysql_fetch_row($q210)) {
            $trajanje_godina = ($r210[2] + 1) / 2;
            for ($i = 1; $i <= $trajanje_godina; $i++) {
                $kod = $r210[0] * 10 + $i;
                print "\tlista.options[lista.length]=new Option(\"{$r210['1']}, {$i}. godina\",\"{$kod}\"";
                if ($opseg == 3 && $primalac == $kod) {
                    print ",true";
                }
                print ");\n";
            }
        }
        ?>
		} else if (opseg==4) {
			// Godini!?
		} else if (opseg==5) {
			<?php 
        $q220 = myquery("select p.id, p.naziv, s.kratkinaziv from ponudakursa as pk, predmet as p, studij as s where pk.predmet=p.id and pk.studij=s.id and pk.akademska_godina={$ag} order by pk.studij, pk.semestar, p.naziv");
        while ($r220 = mysql_fetch_row($q220)) {
            print "\tlista.options[lista.length]=new Option(\"{$r220['1']} ({$r220['2']})\",\"{$r220['0']}\"";
            if ($opseg == 5 && $primalac == $r220[0]) {
                print ",true";
            }
            print ");\n";
        }
        ?>
		}
	}
	</script>

	<p><b>Tip primaoca:</b> 
		<select name="opseg" id="opseg" onchange="spisak_primalaca(this.value)"><?php 
        if ($user_siteadmin) {
            ?>
		<option value="0" <?php 
            if ($opseg == 0) {
                print "selected";
            }
            ?>
>Svi korisnici Zamgera</option><?php 
        }
        ?>
		<option value="1" <?php 
        if ($opseg == 1) {
            print "selected";
        }
        ?>
>Svi studenti</option>
		<option value="2">Svi nastavnici</option>
		<option value="3" <?php 
        if ($opseg == 3) {
            print "selected";
        }
        ?>
>Svi studenti na studiju</option>
		<option value="8" <?php 
        if ($opseg == 8) {
            print "selected";
        }
        ?>
>Svi studenti na godini studija</option>
		<option value="5" <?php 
        if ($opseg == 5) {
            print "selected";
        }
        ?>
>Svi studenti na predmetu</option>
		</select><br/>
	&nbsp;<br/>
	<b>Primalac:</b>
		<select name="primalac" id="primalac"></select>
	</p>

	<?php 
        if ($opseg == 3 || $opseg == 5 || $opseg == 8) {
            ?>
<script language="JavaScript">
		spisak_primalaca(<?php 
            echo $opseg;
            ?>
);
		</script><?php 
        }
        ?>
	<input type="checkbox" name="email" value="1"> Slanje e-maila
	</p>

	<br/>
	Skraćeni tekst obavijesti:<br/>
	<textarea name="naslov" rows="10" cols="81"><?php 
        echo $naslov;
        ?>
</textarea>
	<br/>&nbsp;<br/>
	Nastavak teksta obavijesti:<br/>
	<textarea name="tekst" rows="10" cols="81"><?php 
        echo $tekst;
        ?>
</textarea>
	<br/>&nbsp;<br/>
	<input type="submit" value=" Pošalji "> <input type="reset" value=" Poništi ">
	</form>
	<?php 
        return;
    }
    ?>
<p><a href="?sta=studentska/obavijest&akcija=compose">Pošalji novu obavijest</a></p>
<?php 
    //////////////////////
    // Čitanje poruke
    //////////////////////
    $mjeseci = array("", "januar", "februar", "mart", "april", "maj", "juni", "juli", "avgust", "septembar", "oktobar", "novembar", "decembar");
    $dani = array("Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota");
    $poruka = intval($_REQUEST['poruka']);
    if ($poruka > 0) {
        // Dobavljamo podatke o poruci
        $q10 = myquery("select opseg, primalac, posiljalac, UNIX_TIMESTAMP(vrijeme), naslov, tekst from poruka where id={$poruka} and tip=1");
        if (mysql_num_rows($q10) < 1) {
            niceerror("Poruka ne postoji");
            zamgerlog("pristup nepostojecoj poruci {$poruka}", 3);
            zamgerlog2("nepostojeca poruka", $poruka);
            return;
        }
        // Posiljalac
        $opseg = mysql_result($q10, 0, 0);
        $prim_id = mysql_result($q10, 0, 1);
        $pos_id = mysql_result($q10, 0, 2);
        $q20 = myquery("select ime,prezime from osoba where id={$pos_id}");
        if (mysql_num_rows($q20) < 1) {
            $posiljalac = "Nepoznato!?";
            zamgerlog("poruka {$poruka} ima nepoznatog posiljaoca {$pos_id}", 3);
            zamgerlog2("poruka ima nepoznatog posiljaoca", $poruka);
        } else {
            $posiljalac = mysql_result($q20, 0, 0) . " " . mysql_result($q20, 0, 1);
        }
        // Primalac
        if ($opseg == 0) {
            $primalac = "Svi korisnici Zamgera";
        } else {
            if ($opseg == 1) {
                $primalac = "Svi studenti";
            } else {
                if ($opseg == 2) {
                    $primalac = "Svi nastavnici i saradnici";
                } else {
                    if ($opseg == 3) {
                        $q30 = myquery("select naziv from studij where id={$prim_id}");
                        if (mysql_num_rows($q30) < 1) {
                            $primalac = "Nepoznato!?";
                            zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: studij)", 3);
                            zamgerlog2("poruka ima nepoznatog primaoca (opseg: studij)", $poruka);
                        } else {
                            $primalac = "Svi studenti na: " . mysql_result($q30, 0, 0);
                        }
                    } else {
                        if ($opseg == 4) {
                            $q40 = myquery("select naziv from akademska_godina where id={$prim_id}");
                            if (mysql_num_rows($q40) < 1) {
                                $primalac = "Nepoznato!?";
                                zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: akademska godina)", 3);
                                zamgerlog2("poruka ima nepoznatog primaoca (opseg: akademska godina)", $poruka);
                            } else {
                                $primalac = "Svi studenti na akademskoj godini: " . mysql_result($q40, 0, 0);
                            }
                        } else {
                            if ($opseg == 5) {
                                $q50 = myquery("select naziv from predmet where id={$prim_id}");
                                if (mysql_num_rows($q50) < 1) {
                                    $primalac = "Nepoznato!?";
                                    zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: predmet)", 3);
                                    zamgerlog2("poruka ima nepoznatog primaoca (opseg: predmet)", $poruka);
                                } else {
                                    $primalac = "Svi studenti na predmetu: " . mysql_result($q50, 0, 0);
                                }
                            } else {
                                if ($opseg == 6) {
                                    $q55 = myquery("select p.naziv,l.naziv from predmet as p, labgrupa as l where l.id={$prim_id} and l.predmet=p.id");
                                    if (mysql_num_rows($q55) < 1) {
                                        $primalac = "Nepoznato!?";
                                        zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: labgrupa)", 3);
                                        zamgerlog2("poruka ima nepoznatog primaoca (opseg: labgrupa)", $poruka);
                                    } else {
                                        $primalac = "Svi studenti u grupi " . mysql_result($q55, 0, 1) . " (" . mysql_result($q55, 0, 0) . ")";
                                    }
                                } else {
                                    if ($opseg == 7) {
                                        $q60 = myquery("select ime,prezime from osoba where id={$prim_id}");
                                        if (mysql_num_rows($q60) < 1) {
                                            $primalac = "Nepoznato!?";
                                            zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: korisnik)", 3);
                                            zamgerlog2("poruka ima nepoznatog primaoca (opseg: korisnik)", $poruka);
                                        } else {
                                            $primalac = mysql_result($q60, 0, 0) . " " . mysql_result($q60, 0, 1);
                                        }
                                    } else {
                                        if ($opseg == 8) {
                                            $studij = intval($prim_id / 10);
                                            if ($studij == -1) {
                                                $godina = -($prim_id + 10);
                                                $primalac = "Svi studenti na: Prvom ciklusu studija, {$godina}. godina";
                                            } else {
                                                if ($studij == -2) {
                                                    $godina = -($prim_id + 20);
                                                    $primalac = "Svi studenti na: Drugom ciklusu studija, {$godina}. godina";
                                                } else {
                                                    $godina = $prim_id % 10;
                                                    $q30 = myquery("select naziv from studij where id={$studij}");
                                                    if (mysql_num_rows($q30) < 1) {
                                                        $primalac = "Nepoznato!?";
                                                        zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: godina studija)", 3);
                                                        zamgerlog2("poruka ima nepoznatog primaoca (opseg: godina studija)", $poruka, $prim_id);
                                                    } else {
                                                        $primalac = "Svi studenti na: " . mysql_result($q30, 0, 0) . ", {$godina}. godina";
                                                    }
                                                }
                                            }
                                        } else {
                                            $primalac = "Nepoznato!?";
                                            zamgerlog("poruka {$poruka} ima nepoznat opseg {$opseg}", 3);
                                            zamgerlog2("poruka ima nepoznat opseg", $poruka);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        // Fini datum
        $vr = mysql_result($q10, 0, 3);
        if (date("d.m.Y", $vr) == date("d.m.Y")) {
            $vrijeme = "<i>danas</i> - ";
        } else {
            if (date("d.m.Y", $vr + 3600 * 24) == date("d.m.Y")) {
                $vrijeme = "<i>juče</i> - ";
            }
        }
        $vrijeme .= $dani[date("w", $vr)] . date(", j. ", $vr) . $mjeseci[date("n", $vr)] . date(" Y. H:i", $vr);
        // Naslov
        $naslov = mysql_result($q10, 0, 4);
        if (!preg_match("/\\S/", $naslov)) {
            $naslov = "[Bez naslova]";
        }
        ?>
<h3>Prikaz obavijesti</h3>
	<table cellspacing="0" cellpadding="0" border="0"  style="border:1px;border-color:silver;border-style:solid;"><tr><td bgcolor="#f2f2f2">
		<table border="0">
			<tr><td><b>Vrijeme slanja:</b></td><td><?php 
        echo $vrijeme;
        ?>
</td></tr>
			<tr><td><b>Pošiljalac:</b></td><td><?php 
        echo $posiljalac;
        ?>
</td></tr>
			<tr><td><b>Primalac:</b></td><td><?php 
        echo $primalac;
        ?>
</td></tr><?php 
        if ($opseg == 0 && $user_siteadmin || $opseg == 1 || $opseg == 2 || $opseg == 3 || $opseg == 5) {
            ?>
			<tr><td>&nbsp;</td><td><a href="?sta=studentska/obavijest&akcija=izmjena&poruka=<?php 
            echo $poruka;
            ?>
">Izmijeni ovo obavještenje</a></td></tr>
	<?php 
        }
        ?>
		</table>
	</td></tr><tr><td>
		<br/>
		<table border="0" cellpadding="5"><tr><td>
		<?php 
        print str_replace("\n", "<br/>\n", $naslov);
        ?>
		</td><tr></table>
	</td></tr><tr><td>
		<br/>
		<table border="0" cellpadding="5"><tr><td>
		<?php 
        print str_replace("\n", "<br/>\n", mysql_result($q10, 0, 5));
        ?>
		</td><tr></table>
	</td></tr></table>
	<br/>
	<br/><hr><br/><?php 
    }
    //////////////////////
    // OUTBOX
    //////////////////////
    ?>
<h3>Poslana obavještenja</h3>
<table border="0" width="100%" style="border:1px;border-color:silver;border-style:solid;">
	<thead>
	<tr bgcolor="#cccccc"><td width="15%"><b>Datum</b></td><td width="15%"><b>Pošiljalac</b></td><td width="30%"><b>Primalac</b></td><td width="40%"><b>Naslov</b></td></tr>
	</thead>
	<tbody>
<?php 
    $vrijeme_poruke = array();
    $q100 = myquery("select id, UNIX_TIMESTAMP(vrijeme), opseg, primalac, naslov, posiljalac from poruka where tip=1 order by vrijeme desc");
    while ($r100 = mysql_fetch_row($q100)) {
        $id = $r100[0];
        $opseg = $r100[2];
        $prim_id = $r100[3];
        $pos_id = $r100[5];
        $vrijeme_poruke[$id] = $r100[1];
        $naslov = $r100[4];
        if (strlen($naslov) > 60) {
            $naslov = substr($naslov, 0, 55) . "...";
        }
        if (!preg_match("/\\S/", $naslov)) {
            $naslov = "[Bez naslova]";
        }
        // Primalac
        if ($opseg == 0) {
            $primalac = "Svi korisnici Zamgera";
        } else {
            if ($opseg == 1) {
                $primalac = "Svi studenti";
            } else {
                if ($opseg == 2) {
                    $primalac = "Svi nastavnici i saradnici";
                } else {
                    if ($opseg == 3) {
                        $q30 = myquery("select naziv from studij where id={$prim_id}");
                        if (mysql_num_rows($q30) < 1) {
                            $primalac = "Nepoznat studij!?";
                        } else {
                            $primalac = "Svi studenti na:<br/> " . mysql_result($q30, 0, 0);
                        }
                    } else {
                        if ($opseg == 4) {
                            $q40 = myquery("select naziv from akademska_godina where id={$prim_id}");
                            if (mysql_num_rows($q40) < 1) {
                                $primalac = "Nepoznata akademska godina!?";
                            } else {
                                $primalac = "Svi studenti na akademskoj godini:<br/> " . mysql_result($q40, 0, 0);
                            }
                        } else {
                            if ($opseg == 5) {
                                $q50 = myquery("select p.naziv,i.kratki_naziv from predmet as p, institucija as i where p.id={$prim_id} and p.institucija=i.id");
                                if (mysql_num_rows($q50) < 1) {
                                    $primalac = "Nepoznat predmet!?";
                                } else {
                                    $primalac = "Svi studenti na predmetu:<br/> " . mysql_result($q50, 0, 0) . " (" . mysql_result($q50, 0, 1) . ")";
                                }
                            } else {
                                if ($opseg == 6) {
                                    $q55 = myquery("select p.naziv,l.naziv from predmet as p, labgrupa as l where l.id={$prim_id} and l.predmet=p.id");
                                    if (mysql_num_rows($q55) < 1) {
                                        $primalac = "Nepoznata labgrupa!?";
                                    } else {
                                        $primalac = "Svi studenti u grupi<br/> " . mysql_result($q55, 0, 1) . " (" . mysql_result($q55, 0, 0) . ")";
                                    }
                                } else {
                                    if ($opseg == 7) {
                                        $q60 = myquery("select ime,prezime from osoba where id={$prim_id}");
                                        if (mysql_num_rows($q60) < 1) {
                                            $primalac = "Nepoznata osoba!?";
                                        } else {
                                            $primalac = mysql_result($q60, 0, 0) . " " . mysql_result($q60, 0, 1);
                                        }
                                    } else {
                                        if ($opseg == 8) {
                                            $studij = intval($prim_id / 10);
                                            if ($studij == -1) {
                                                $godina = -($prim_id + 10);
                                                $primalac = "Svi studenti na: I ciklus, {$godina}. godina";
                                            } else {
                                                if ($studij == -2) {
                                                    $godina = -($prim_id + 20);
                                                    $primalac = "Svi studenti na: II ciklus, {$godina}. godina";
                                                } else {
                                                    $godina = $prim_id % 10;
                                                    $q30 = myquery("select s.kratkinaziv, ts.ciklus from studij as s, tipstudija as ts where s.id={$studij} and s.tipstudija=ts.id");
                                                    if (mysql_num_rows($q30) < 1) {
                                                        $primalac = "Nepoznato!?";
                                                        zamgerlog("poruka {$poruka} ima nepoznatog primaoca {$prim_id} (opseg: godina studija)", 3);
                                                        zamgerlog2("poruka ima nepoznatog primaoca (opseg: godina studija)", $poruka, $prim_id);
                                                    } else {
                                                        $primalac = "Svi studenti na: " . mysql_result($q30, 0, 0) . ", {$godina}. godina " . mysql_result($q30, 0, 1) . " ciklus";
                                                    }
                                                }
                                            }
                                        } else {
                                            $primalac = "Nepoznato!?";
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        // Posiljalac
        $q70 = myquery("select ime,prezime from osoba where id={$pos_id}");
        if (mysql_num_rows($q70) < 1) {
            $posiljalac = "Nepoznata osoba!?";
        } else {
            $posiljalac = mysql_result($q70, 0, 0) . " " . mysql_result($q70, 0, 1);
        }
        // Fino vrijeme
        $vr = $vrijeme_poruke[$id];
        $vrijeme = "";
        if (date("d.m.Y", $vr) == date("d.m.Y")) {
            $vrijeme = "<i>danas</i>, ";
        } else {
            if (date("d.m.Y", $vr + 3600 * 24) == date("d.m.Y")) {
                $vrijeme = "<i>juče</i>, ";
            } else {
                $vrijeme .= date("j. ", $vr) . $mjeseci[date("n", $vr)] . ", ";
            }
        }
        $vrijeme .= date("H:i", $vr);
        if ($_REQUEST['poruka'] == $id) {
            $bgcolor = "#EEEECC";
        } else {
            $bgcolor = "#FFFFFF";
        }
        $code_poruke[$id] = "<tr bgcolor=\"{$bgcolor}\" onmouseover=\"this.bgColor='#EEEEEE'\" onmouseout=\"this.bgColor='{$bgcolor}'\"><td>{$vrijeme}</td><td>{$posiljalac}</td><td>{$primalac}</td><td><a href=\"?sta=studentska/obavijest&poruka={$id}&mode=outbox\">{$naslov}</a></td></tr>\n";
    }
    // Sortiramo po vremenu
    arsort($vrijeme_poruke);
    $count = 0;
    foreach ($vrijeme_poruke as $id => $vrijeme) {
        print $code_poruke[$id];
        $count++;
        // if ($count==20) break; // prikazujemo 20 poruka  -- TODO: stranice
    }
    if ($count == 0) {
        print "<li>Nemate nijednu poruku.</li>\n";
    }
    print "</tbody></table>";
    ?>
</td></tr></table></center>
<?php 
}