function izvjestaj_index2() { global $userid, $user_studentska, $user_siteadmin; // Ulazni parametri $student = intval($_REQUEST['student']); $param_ciklus = intval($_REQUEST['ciklus']); // Prava pristupa if (!$user_studentska && !$user_siteadmin && $userid != $student) { biguglyerror("Nemate pravo pristupa ovom izvještaju"); zamgerlog("nije studentska, a pristupa tudjem izvjestaju ({$student})", 3); zamgerlog2("nije studentska, a pristupa tudjem izvjestaju", $student); return; } // Deklaracije nizova $imena_semestara = array("", "prvi", "drugi", "treći", "četvrti", "peti", "šesti"); $rimski_brojevi = array("", "I", "II", "III", "IV", "V", "VI"); $imena_ocjena = array("", "", "", "", "", "5 (pet)", "6 (šest)", "7 (sedam)", "8 (osam)", "9 (devet)", "10 (deset)", "ispunio/la obaveze"); $ects_ocjene = array("", "", "", "", "", "F", "E", "D", "C", "B", "A", "IO"); // Podaci o studentu $q100 = myquery("select ime, prezime, brindexa, jmbg, spol from osoba where id={$student}"); if (!($r100 = mysql_fetch_row($q100))) { biguglyerror("Student se ne nalazi u bazi podataka."); zamgerlog("nepoznat ID {$student}", 3); // 3 = greska zamgerlog2("nepoznat id korisnika", $student); // 3 = greska return; } $ime_prezime = "{$r100['0']} {$r100['1']}"; $brindexa = $r100[2]; $jmbg = $r100[3]; if ($param_ciklus != 0) { $upit_dodaj = " AND ts.ciklus={$param_ciklus}"; } $q110 = myquery("SELECT s.naziv, ag.naziv, ss.semestar, ns.naziv, ss.ponovac, s.id, ts.ciklus, s.institucija, ts.trajanje, ts.ects \nFROM student_studij as ss, studij as s, nacin_studiranja as ns, akademska_godina as ag, tipstudija as ts \nWHERE ss.student={$student} and ss.studij=s.id and ss.akademska_godina=ag.id and ss.nacin_studiranja=ns.id and s.tipstudija=ts.id {$upit_dodaj}\nORDER BY ag.id desc, ss.semestar DESC LIMIT 1"); if (!($r110 = mysql_fetch_row($q110))) { niceerror("Nemamo podataka o studiju za studenta " . $r100[0] . " " . $r100[1]); zamgerlog("student u{$student} nikada nije studirao", 3); zamgerlog2("korisnik nikada nije studirao", $student); return; } $naziv_studija = $r110[0]; $naziv_ag = $r110[1]; $trenutno_semestar = $r110[2]; $nacin_studiranja = $r110[3]; $ponovac = $r110[4]; $studij_ciklus = $r110[6]; $studij_trajanje = $r110[8]; $studij_ects = $r110[9]; if ($ponovac == 1) { $q120 = myquery("select count(*) from student_studij where student={$student} and studij={$r110['5']} and semestar={$r110['2']}"); $koji_put = mysql_result($q120, 0, 0); } else { $koji_put = "1"; } // Kod izvještaja za sve cikluse sumiramo ECTS bodove na svim studijima koje je student slušao if ($studij_ciklus == 2 && $param_ciklus == 0) { $q115 = myquery("select ts.ects from student_studij as ss, studij as s, tipstudija as ts where ss.student={$student} and ss.studij=s.id and s.tipstudija=ts.id and ts.ciklus=1 and ss.semestar=ts.trajanje order by ss.akademska_godina desc limit 1"); if (mysql_num_rows($q115) > 0) { $studij_ects += mysql_result($q115, 0, 0); } } ?> <img src="images/content/ETF-memorandum.png"> <p> </p> <p>Na osnovu člana 169. Zakona o upravnom postupku FBiH (Službene novine FBiH, broj 2/98, 48/99), člana 147. (4) Zakona o visokom obrazovanju Kantona Sarajevo (Službene novine Kantona Sarajevo, broj 22/10, 15/13) i člana 198. stav (1) Statuta Univerziteta u Sarajevu, Elektrotehnički fakultet u Sarajevu izdaje</p> <h2>Uvjerenje o prepisu ocjena</h2> <p> <br /> <table border="0"> <tr> <td>Ime i prezime studenta:</td> <td><b><?php echo $ime_prezime; ?> </b></td> </tr> <tr> <td>Broj dosijea:</td> <td><b><?php echo $brindexa; ?> </b></td> </tr> <tr> <td>JMBG:</td> <td><b><?php echo $jmbg; ?> </b></td> </tr> </table> <?php $spol = $r100[4]; if ($spol == "") { $spol = spol($r100[0]); } // Da li je student završio/la studij? $q88 = myquery("SELECT COUNT(*), SUM(p.ects) \nFROM konacna_ocjena as ko, ponudakursa as pk, predmet as p, student_predmet as sp, studij as s, tipstudija as ts\nWHERE ko.student={$student} and ko.predmet=p.id and ko.predmet=pk.predmet and ko.akademska_godina=pk.akademska_godina and pk.id=sp.predmet \nand sp.student={$student} and pk.studij=s.id and s.tipstudija=ts.id and ko.ocjena>5 {$upit_dodaj}"); $broj_polozenih_predmeta = mysql_result($q88, 0, 0); $suma_ects = mysql_result($q88, 0, 1); // Određujemo na osnovu sume ECTS kredita if ($suma_ects >= $studij_ects && $trenutno_semestar == $studij_trajanje) { $q89 = myquery("SELECT UNIX_TIMESTAMP(ko.datum_u_indeksu) \n\tFROM konacna_ocjena as ko, predmet as p, ponudakursa as pk, student_predmet as sp, studij as s, tipstudija as ts, akademska_godina_predmet as agp\n\tWHERE ko.student={$student} and ko.predmet=p.id and ko.predmet=pk.predmet and ko.akademska_godina=pk.akademska_godina and pk.id=sp.predmet and sp.student={$student} and pk.studij=s.id and s.tipstudija=ts.id and agp.predmet=p.id and agp.akademska_godina=pk.akademska_godina and agp.tippredmeta=1000 {$upit_dodaj}\n\tORDER BY ko.datum_u_indeksu desc"); // 1000 = tip predmeta "Završni rad" if (mysql_num_rows($q89) == 0) { niceerror("Greška! Ne može se generisati izvještaj."); print "Student je završio studij jer trenutno nije upisan, ima sve potrebne ECTS kredite, ali nije unesena ocjena za Završni rad tako da se ne može odrediti datum diplomiranja. Nešto nije u redu sa podacima vezanim za ovog studenta (suma ECTS kredita ne bi trebala biti ispravna) STUDIJ: {$studij_ects} SUMA {$suma_ects}."; return; } $datum_diplomiranja = date("d. m. Y.", mysql_result($q89, 0, 0)); if ($spol == "Z") { ?> <p>Studentica <?php echo $ime_prezime; ?> je završila <?php echo $studij_ciklus; ?> . ciklus studija dana <?php echo $datum_diplomiranja; ?> kao <?php echo $nacin_studiranja; ?> student, studij "<?php echo $naziv_studija; ?> " , pri čemu je položila sljedeće predmete:</p> <?php } else { ?> <p>Student <?php echo $ime_prezime; ?> je završio <?php echo $studij_ciklus; ?> . ciklus studija dana <?php echo $datum_diplomiranja; ?> kao <?php echo $nacin_studiranja; ?> student, studij "<?php echo $naziv_studija; ?> ", pri čemu je položio sljedeće predmete:</p> <?php } } else { if ($spol == "Z") { ?> <p>Studentica <?php echo $ime_prezime; ?> je upisana u akademskoj <?php echo $naziv_ag; ?> . godini u <?php echo $rimski_brojevi[$trenutno_semestar]; ?> (<?php echo $imena_semestara[$trenutno_semestar]; ?> ) semestar <?php echo $koji_put; ?> . put kao <?php echo $nacin_studiranja; ?> student, studij "<?php echo $naziv_studija; ?> " (<?php echo $studij_ciklus; ?> . ciklus), pri čemu je položila sljedeće predmete:</p> <?php } else { ?> <p>Student <?php echo $ime_prezime; ?> je upisan u akademskoj <?php echo $naziv_ag; ?> . godini u <?php echo $rimski_brojevi[$trenutno_semestar]; ?> (<?php echo $imena_semestara[$trenutno_semestar]; ?> ) semestar <?php echo $koji_put; ?> . put kao <?php echo $nacin_studiranja; ?> student, studij "<?php echo $naziv_studija; ?> " (<?php echo $studij_ciklus; ?> . ciklus), pri čemu je položio sljedeće predmete:</p> <?php } } $sumagodine = $brojgodine = $sumauk = $brojuk = $sumaects = 0; // Ocjene po odluci: $q105 = myquery("select ko.ocjena, p.naziv, UNIX_TIMESTAMP(o.datum), o.broj_protokola, p.ects from konacna_ocjena as ko, odluka as o, predmet as p where ko.odluka=o.id and ko.predmet=p.id and ko.student={$student}"); if (mysql_num_rows($q105) > 0) { ?> <p><b>Ocjene donesene odlukom (nostrifikacija, promjena studija itd.):</b><br/><ul> <?php } while ($r105 = mysql_fetch_row($q105)) { print "<li><b>{$r105['1']}</b> - ocjena: " . $imena_ocjena[$r105[0]] . "<br/>(odluka br. {$r105['3']} od " . date("d. m. Y.", $r105[2]) . ")</li>\n"; $sumauk += $r105[0]; $brojuk++; $sumaects += $r105[4]; } if (mysql_num_rows($q105) > 0) { print "</ul></p><p> </p>\n"; } // Ocjene priznavanje if ($param_ciklus != 0) { $dod_priznavanje = " and ciklus={$param_ciklus}"; } else { $dod_priznavanje = ""; } $q125 = myquery("select naziv_predmeta, sifra_predmeta, ects, ocjena, odluka, akademska_godina, strana_institucija from priznavanje where student={$student} {$dod_priznavanje} order by odluka, akademska_godina, naziv_predmeta"); if (mysql_num_rows($q125) > 0) { ?> <p><b>Priznavanje ocjena ostvarenih na drugoj instituciji po osnovu mobilnosti studenata:</b></p> <table width="700" border="1" cellspacing="0" cellpadding="3"><tr bgcolor="#AAAAAA"> <td width="20"><b>R.br.</b></td> <td width="60"><b>Šifra</b></td> <td width="280"><b>Naziv predmeta</b></td> <td width="30"><b>ECTS bodovi</b></td> <td width="60"><b>Konačna ocjena</b></td> <td width="40"><b>ECTS ocjena</b></td> </tr> <?php } $i = 1; $stara_odluka = $stara_ag = $stara_inst = 0; while ($r125 = mysql_fetch_row($q125)) { if ($r125[4] != $stara_odluka || $r125[5] != $stara_ag || $r125[6] != $stara_inst) { $stara_odluka = $r125[4]; $stara_ag = $r125[5]; $stara_inst = $r125[6]; $q115 = myquery("select UNIX_TIMESTAMP(datum), broj_protokola from odluka where id={$stara_odluka}"); if (mysql_num_rows($q115) > 0) { $odluka_ispis = " (odluka br. " . mysql_result($q115, 0, 1) . " od " . date("d. m. Y.", mysql_result($q115, 0, 0)) . ")"; } $q127 = myquery("SELECT naziv FROM akademska_godina WHERE id={$stara_ag}"); ?> <tr bgcolor="#CCCCCC"> <td colspan="6"><b><?php echo $stara_inst; ?> , akademska <?php echo mysql_result($q127, 0, 0); ?> . godina <?php echo $odluka_ispis; ?> :</b></td> </tr> <?php } ?> <tr> <td><?php echo $i++; ?> </td><td><?php echo $r125[1]; ?> </td><td><?php echo $r125[0]; ?> </td> <td><?php echo $r125[2]; ?> </td> <td><?php echo $imena_ocjena[$r125[3]]; ?> </td> <td align="center"><?php echo $ects_ocjene[$r125[3]]; ?> </td> </tr> <?php $sumauk += $r125[3]; $brojuk++; $sumaects += $r125[2]; } if (mysql_num_rows($q125) > 0) { print "</table><p> </p><p><b>Ocjene ostvarene na matičnoj instituciji:</b></p>\n"; } ?> <table width="700" border="1" cellspacing="0" cellpadding="3"><tr bgcolor="#AAAAAA"> <td width="20"><b>R.br.</b></td> <td width="60"><b>Šifra</b></td> <td width="280"><b>Naziv predmeta</b></td> <td width="30"><b>ECTS bodovi</b></td> <td width="60"><b>Konačna ocjena</b></td> <td width="40"><b>ECTS ocjena</b></td> <td width="80"><b>Datum polaganja</b></td> </tr> <?php function nuliraj($broj) { if ($broj == round($broj)) { $broj .= ",0"; } else { $broj = str_replace(".", ",", $broj); } return $broj; } $upisanagodina = round($r110[2] / 2); $oldgodina = 0; $i = 1; $q130 = myquery("SELECT p.sifra, p.naziv, p.ects, ko.ocjena, UNIX_TIMESTAMP(ko.datum_u_indeksu), UNIX_TIMESTAMP(ko.datum), pk.semestar, ts.ciklus\nFROM konacna_ocjena as ko, ponudakursa as pk, predmet as p, student_predmet as sp, studij as s, tipstudija as ts\nWHERE ko.student={$student} and ko.predmet=p.id and ko.predmet=pk.predmet and ko.akademska_godina=pk.akademska_godina and pk.id=sp.predmet \nand sp.student={$student} and pk.studij=s.id and s.tipstudija=ts.id and ko.ocjena>5 {$upit_dodaj}\nORDER BY ts.ciklus, pk.semestar, p.naziv"); while ($r130 = mysql_fetch_row($q130)) { $godina = round($r130[6] / 2); if ($oldgodina != $godina) { // Koliziju preskačemo if ($godina > $upisanagodina && $r130[7] == $r110[6]) { break; } if ($oldgodina != 0 && $brojgodine != 0) { ?> <tr bgcolor="#DDDDDD"> <td colspan="7"><b>Prosjek godine: <?php echo nuliraj(round($sumagodine / $brojgodine, 2)); ?> </b></td> </tr> <?php $sumagodine = $brojgodine = 0; } ?> <tr bgcolor="#CCCCCC"> <td colspan="7"><b><?php echo $godina; ?> . GODINA <?php echo $r130[7]; ?> . CIKLUSA STUDIJA</b></td> </tr> <?php $oldgodina = $godina; } $datum = $r130[4]; if ($datum == 0) { $datum = $r130[5]; } ?> <tr> <td><?php echo $i++; ?> .</td> <td><?php echo $r130[0]; ?> </td> <td><?php echo $r130[1]; ?> </td> <td align="center"><?php echo nuliraj($r130[2]); ?> </td> <td align="center"><?php echo $imena_ocjena[$r130[3]]; ?> </td> <td align="center"><?php echo $ects_ocjene[$r130[3]]; ?> </td> <td align="center"><?php echo date("d. m. Y", $datum); ?> </td> </tr> <?php $sumagodine += $r130[3]; $sumauk += $r130[3]; $brojgodine++; $brojuk++; $sumaects += $r130[2]; } if ($oldgodina != 0 && $brojgodine != 0) { ?> <tr bgcolor="#DDDDDD"> <td colspan="7"><b>Prosjek godine: <?php echo nuliraj(round($sumagodine / $brojgodine, 2)); ?> </b></td> </tr> <?php } if ($brojuk == 0) { $prosjek = 0; } else { $prosjek = $sumauk / $brojuk; } ?> </table> <p> </p> <table border="1" cellspacing="0" cellpadding="3"> <tr> <td>Ukupan broj položenih predmeta:</td> <td><b><?php echo $brojuk; ?> </b></td> </tr> <tr> <td>Prosječna ocjena položenih predmeta:</td> <td><b><?php echo nuliraj(round($prosjek, 2)); ?> </b></td> </tr> <tr> <td>Ukupan broj ECTS bodova:</td> <td><b><?php echo nuliraj($sumaects); ?> </b></td> </tr> </table> <?php // Određivanje dekana i broja protokola $institucija = $r110[7]; do { $q140 = myquery("select tipinstitucije, roditelj, dekan, broj_protokola from institucija where id={$institucija}"); if (!($r140 = mysql_fetch_row($q140))) { return; } if ($r140[0] == 1 && $r140[2] != 0) { $dekan = $r140[2]; if ($r140[3] !== "") { $dodaj_broj_protokola = "<p>Broj protokola: {$r140['3']}</p>"; } else { $dodaj_broj_protokola = ""; } break; } $institucija = $r140[1]; } while (true); ?> <p> </p> <p>Sarajevo, <?php echo date("d. m. Y."); ?> godine</p> <?php echo $dodaj_broj_protokola; ?> <table border="0" width="100%"> <tr> <td width="60%"> </td> <td width="40%" align="center"><p>DEKAN<br /><br /><br /><?php echo tituliraj($dekan); ?> </p></td> </tr> </table> <?php // Označi izvještaj kao obrađen - FIXME: ovo treba biti event na klik u studentska/intro if ($user_studentska) { $q200 = myquery("SELECT id, status FROM zahtjev_za_potvrdu WHERE student={$student} AND svrha_potvrde=1"); while ($r200 = mysql_fetch_row($q200)) { if ($r200[1] == 1) { $q210 = myquery("UPDATE zahtjev_za_potvrdu SET status=2 WHERE id={$r200['0']}"); } } } }
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> </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> <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> <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> <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: </td> <td align="center"><?php echo $uk_prijavljeno; ?> </td> <td colspan="2"> </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); ?> <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"); ?> <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; ?> "><<< Nazad</a><br/> </form> <?php }