function student_intro() { global $userid, $registry; // 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>"; } // Sakrij module ako ih nema u registry-ju $modul_raspored = $modul_anketa = 0; foreach ($registry as $r) { if ($r[0] == "common/raspored1") { $modul_raspored = 1; } if ($r[0] == "student/anketa") { $modul_anketa = 1; } } // Prikazujem raspored if ($modul_raspored == 1) { require "common/raspored1.php"; common_raspored1("student"); } // AKTUELNO // TODO: dodati prijave ispita i druge module... ?> <table border="0" width="100%"><tr> <td width="30%" valign="top" style="padding: 10px; padding-right:30px;"> <h2><img src="images/32x32/aktuelno.png" align="absmiddle"> <font color="#666699">AKTUELNO</font></h2> <?php $vrijeme_poruke = array(); $code_poruke = array(); // Rokovi za slanje zadaća $q10 = myquery("select z.id, z.naziv, UNIX_TIMESTAMP(z.rok), p.naziv, pk.id, UNIX_TIMESTAMP(z.vrijemeobjave), p.id, pk.akademska_godina from zadaca as z, student_predmet as sp, ponudakursa as pk, predmet as p where z.predmet=pk.predmet and z.akademska_godina=pk.akademska_godina and z.rok>curdate() and sp.predmet=pk.id and sp.student={$userid} and pk.predmet=p.id and z.aktivna=1 order by rok limit 5"); while ($r10 = mysql_fetch_row($q10)) { // Da li je aktivan modul za zadaće? $q12 = myquery("select count(*) from studentski_modul as sm, studentski_modul_predmet as smp where sm.modul='student/zadaca' and sm.id=smp.studentski_modul and smp.predmet={$r10['6']} and smp.akademska_godina={$r10['7']}"); if (mysql_result($q12, 0, 0) == 0) { continue; } $code_poruke["z" . $r10[0]] = "<b>{$r10['3']}:</b> Rok za slanje <a href=\"?sta=student/zadaca&zadaca={$r10['0']}&predmet={$r10['6']}&ag={$r10['7']}\">zadaće " . $r10[1] . "</a> je " . date("d. m. Y. \\u H:i", $r10[2]) . ".<br/><br/>\n"; $vrijeme_poruke["z" . $r10[0]] = $r10[5]; } // Objavljeni rezultati ispita $q15 = myquery("select i.id, pk.id, k.gui_naziv, UNIX_TIMESTAMP(i.vrijemeobjave), p.naziv, UNIX_TIMESTAMP(i.datum), true, k.prolaz, p.id, pk.akademska_godina from ispit as i, komponenta as k, ponudakursa as pk, predmet as p, student_predmet as sp where i.komponenta=k.id and i.predmet=pk.predmet and i.akademska_godina=pk.akademska_godina and pk.predmet=p.id and sp.student={$userid} and sp.predmet=pk.id"); while ($r15 = mysql_fetch_row($q15)) { if ($r15[3] < time() - 60 * 60 * 24 * 30) { continue; } // preskačemo starije od mjesec dana // Da li je student položio predmet? Preskačemo ako jeste $q15a = myquery("select count(*) from konacna_ocjena where predmet={$r15['8']} and ocjena>=6 and student={$userid}"); if (mysql_result($q15a, 0, 0) > 0) { continue; } // Da li je ovaj student izlazio na ispit? $q16 = myquery("select ocjena from ispitocjene where ispit={$r15['0']} and student={$userid}"); if (mysql_num_rows($q16) == 0) { // Ne // Ima li termina na koje se može prijaviti? $q17 = myquery("select count(*) from ispit_termin where ispit={$r15['0']} and datumvrijeme>=NOW()"); if (mysql_result($q17, 0, 0) > 0) { $code_poruke["i" . $r15[0]] = "<b>{$r15['4']}:</b> Objavljeni termini za ispit {$r15['2']}. <a href=\"?sta=student/prijava_ispita&predmet={$r15['8']}&ag={$r15['9']}\">Prijavite se!</a><br /><br />\n"; $vrijeme_poruke["i" . $r15[0]] = $r15[3]; } } else { // Student je dobio $bodova $bodova = mysql_result($q16, 0, 0); if ($bodova >= $r15[7]) { $cestitka = " Čestitamo!"; } else { $cestitka = ""; } $code_poruke["i" . $r15[0]] = "<b>{$r15['4']}:</b> Objavljeni rezultati ispita: <a href=\"?sta=student/predmet&predmet={$r15['8']}&ag={$r15['9']}\">{$r15['2']} (" . date("d. m. Y", $r15[5]) . ")</a>. Dobili ste {$bodova} bodova.{$cestitka}<br /><br />\n"; $vrijeme_poruke["i" . $r15[0]] = $r15[3]; } } // Konačne ocjene $q17 = myquery("select pk.id, ko.ocjena, UNIX_TIMESTAMP(ko.datum), p.naziv, p.id, pk.akademska_godina from konacna_ocjena as ko, student_predmet as sp, ponudakursa as pk, predmet as p where ko.student={$userid} and sp.student={$userid} and ko.predmet=p.id and ko.akademska_godina=pk.akademska_godina and sp.predmet=pk.id and pk.predmet=p.id and ko.ocjena>5"); while ($r17 = mysql_fetch_row($q17)) { if ($r17[2] < time() - 60 * 60 * 24 * 30) { continue; } // preskacemo starije od mjesec dana $code_poruke["k" . $r17[0]] = "<b>{$r17['3']}:</b> Čestitamo! <a href=\"?sta=student/predmet&predmet={$r17['4']}&ag={$r17['5']}\">Dobili ste {$r17['1']}</a><br /><br />\n"; $vrijeme_poruke["k" . $r17[0]] = $r17[2]; } // Anketa // Ima li ovo smisla? Ako natrpamo 5 poruka u obavjestenja, nece se nista drugo prikazati :( /*if ($modul_anketa) { $q19a = myquery("select pk.id, p.naziv, p.id, pk.akademska_godina 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"); $q19b = myquery("select UNIX_TIMESTAMP(datum_otvaranja) from anketa_anketa where aktivna = 1"); // provjeravamo da li postoji aktivna anketa if (mysql_num_rows($q19b)!= 0) { $q19b_vrijeme=mysql_result($q19b,0,0); while ($r19 = mysql_fetch_row($q19a)) { if ($q19b_vrijeme < time()-60*60*24*30) continue; // preskacemo starije od mjesec dana $code_poruke["l".$r19[0]] = "<b>$r19[1]:</b><a href=\"?sta=student/anketa&predmet=$r19[2]\"> Molimo ispunite anketu. </a> <br/><br/>\n"; $vrijeme_poruke["l".$r19[0]] = $q19b_vrijeme; } } }*/ // Kvizovi $q18 = myquery("select k.id, k.naziv, UNIX_TIMESTAMP(k.vrijeme_pocetak), k.labgrupa, k.predmet, k.akademska_godina, p.naziv from kviz as k, student_predmet as sp, ponudakursa as pk, predmet as p where sp.student={$userid} and sp.predmet=pk.id and pk.predmet=k.predmet and pk.predmet=p.id and pk.akademska_godina=k.akademska_godina and k.vrijeme_pocetak<NOW() and k.vrijeme_kraj>NOW() and k.aktivan=1"); while ($r18 = mysql_fetch_row($q18)) { $labgrupa = $r18[3]; $predmet = $r18[4]; $ag = $r18[5]; if ($labgrupa > 0) { // definisana je labgrupa $nasao = false; $q19 = myquery("select sl.labgrupa from student_labgrupa as sl, labgrupa as l where sl.student={$userid} and sl.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag} and l.virtualna=0"); while ($r19 = mysql_fetch_row($q19)) { if ($r19[0] == $labgrupa) { $nasao = true; } } if (!$nasao) { continue; } // nije ta labgrupa } $code_poruke["kv" . $r18[0]] = "<b>{$r18['6']}:</b> Otvoren je kviz <a href=\"?sta=student/kviz&predmet={$predmet}&ag={$ag}\">{$r18['1']}</a><br/><br/>\n"; $vrijeme_poruke["kv" . $r18[0]] = $r18[2]; } // Sortiramo po vremenu arsort($vrijeme_poruke); $count = 0; foreach ($vrijeme_poruke as $id => $vrijeme) { print $code_poruke[$id]; $count++; if ($count == 5) { break; } // prikazujemo 5 poruka } if ($count == 0) { print "Nema aktuelnih informacija."; } print $vijesti; // OBAVJEŠTENJA ?> </td> <td width="30%" valign="top" style="padding: 10px; padding-right:30px;" bgcolor="#f2f2f2"> <h2><img src="images/32x32/info.png" align="absmiddle"> <font color="#666699">OBAVJEŠTENJA</font></h2> <?php // TODO: optimizacija // 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) // 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; $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 = intval(($semestar + 1) / 2); } $q40 = myquery("select id, UNIX_TIMESTAMP(vrijeme), opseg, primalac, naslov, tekst, posiljalac from poruka where tip=1 order by vrijeme desc"); $printed = 0; while ($r40 = mysql_fetch_row($q40)) { if (time() - $r40[1] > 60 * 60 * 24 * 365) { continue; } $opseg = $r40[2]; $primalac = $r40[3]; $posiljalac = $r40[6]; if ($opseg == 2 || $opseg == 3 && $primalac != $studij && $primalac != -$ciklus || $opseg == 4 && $primalac != $ag || $opseg == 7 && $primalac != $userid || $opseg == 8 && $primalac != $studij * 10 + $godina_studija && $primalac != -$ciklus * 10 - $godina_studija) { continue; } if ($opseg == 5) { // Poruke od starih akademskih godina nisu relevantne if ($r40[1] < mktime(0, 0, 0, 9, 1, intval($ag_naziv))) { continue; } // odredjujemo naziv predmeta i da li ga student slusa $q50 = 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={$primalac} and pk.akademska_godina={$ag} and pk.predmet=p.id"); if (mysql_num_rows($q50) < 1) { continue; } $posiljalac = mysql_result($q50, 0, 0); } else { if ($opseg == 6) { // odredjujemo naziv predmeta za labgrupu i da li je student u grupi $q55 = myquery("select p.naziv from student_labgrupa as sl, labgrupa as l, predmet as p where sl.student={$userid} and sl.labgrupa=l.id and l.id={$primalac} and l.predmet=p.id"); if (mysql_num_rows($q55) < 1) { continue; } $posiljalac = mysql_result($q55, 0, 0); } else { // Obavještenja u drugim opsezima može slati samo site admin ili studentska služba $q56 = myquery("select count(*) from privilegije where osoba={$posiljalac} and privilegija='siteadmin'"); if (mysql_result($q56, 0, 0) > 0) { $posiljalac = "Administrator"; } else { $q57 = myquery("select count(*) from privilegije where osoba={$posiljalac} and privilegija='studentska'"); if (mysql_result($q57, 0, 0) > 0) { $posiljalac = "Studentska služba"; } else { $posiljalac = "Neko iz mase"; } } } } // Ako je tekst obavještenja prevelik, skraćujemo $tekst = $r40[4]; $skracen = false; if (strlen($tekst) > 200) { $pos = strpos($tekst, " ", 200); if ($pos > 220) { $pos = 220; } $tekst = substr($tekst, 0, $pos) . "..."; $skracen = true; } ?> <b><?php echo $posiljalac; ?> </b> (<?php echo date("d.m", $r40[1]); ?> )<br/> <?php echo $tekst; if (strlen($r40[5]) > 0 || $skracen) { print " (<a href=\"?sta=common/inbox&poruka={$r40['0']}\">Dalje...</a>)"; } ?> <br/><br/> <?php $printed++; // Maksimalno 5 obavjestenja if ($printed >= 5) { break; } } if ($printed == 0) { print "Nema novih obavještenja."; } // PORUKE (izvadak iz inboxa) ?> </td> <td width="30%" valign="top" style="padding: 10px;"> <h2><img src="images/32x32/poruke.png" align="absmiddle"> <font color="#666699">PORUKE</font></h2><?php $vrijeme_poruke = array(); $code_poruke = array(); $q100 = myquery("select id, UNIX_TIMESTAMP(vrijeme), opseg, primalac, naslov 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) { // odredjujemo 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]; // 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("d.m. ", $vr); } } $vrijeme .= date("H:i", $vr); $naslov = $r100[4]; if (strlen($naslov) > 30) { $naslov = substr($naslov, 0, 28) . "..."; } if (!preg_match("/\\S/", $naslov)) { $naslov = "[Bez naslova]"; } $code_poruke[$id] = "<li><a href=\"?sta=common/inbox&poruka={$id}\">{$naslov}</a><br/>({$vrijeme})</li>\n"; } /* PRESPORO :( // Da pokusamo ubaciti komentare na zadaće u ovo.... $q120 = myquery("select z.id,z.naziv,z.zadataka,z.predmet,p.kratki_naziv from zadaca as z,student_predmet as sp, ponudakursa as pk, predmet as p where sp.student=$userid and sp.predmet=z.predmet and sp.predmet=pk.id and pk.predmet=p.id"); while ($r120 = mysql_fetch_row($q120)) { for ($i=1; $i<=$r120[2]; $i++) { $q130 = myquery("select id,UNIX_TIMESTAMP(vrijeme),komentar from zadatak where student=$userid and zadaca=$r120[0] and redni_broj=$i order by id desc limit 1"); if (mysql_num_rows($q130)<1 || strlen(mysql_result($q130,0,2))<1) continue; $id = mysql_result($q130,0,0); $vrijeme_poruke[$id]=mysql_result($q130,0,1); $naslov = "Komentar na Zadatak $i, $r120[1] ($r120[4])"; if (strlen($naslov)>32) $naslov = substr($naslov,0,30)."..."; $code_poruke[$id]="<li><a href=\"?sta=student/zadaca&predmet=$r120[3]&zadaca=$r120[0]&zadatak=$i\">$naslov</a><br/>(".date("d.m h:i",$vrijeme_poruke[$id]).")</li>\n"; } }*/ // Sortiramo po vremenu arsort($vrijeme_poruke); $count = 0; foreach ($vrijeme_poruke as $id => $vrijeme) { print $code_poruke[$id]; $count++; if ($count == 5) { break; } // prikazujemo 5 poruka } if ($count == 0) { print "<li>Nemate nijednu poruku.</li>\n"; } ?> </td> </tr> </table> <br/><br/> <?php // RSS ID srand(time()); $q200 = myquery("select id from rss where auth={$userid}"); if (mysql_num_rows($q200) < 1) { // kreiramo novi ID do { $rssid = ""; for ($i = 0; $i < 10; $i++) { $slovo = rand() % 62; if ($slovo < 10) { $sslovo = $slovo; } else { if ($slovo < 36) { $sslovo = chr(ord('a') + $slovo - 10); } else { $sslovo = chr(ord('A') + $slovo - 36); } } $rssid .= $sslovo; } $q210 = myquery("select count(*) from rss where id='{$rssid}'"); } while (mysql_result($q210, 0, 0) > 0); $q220 = myquery("insert into rss set id='{$rssid}', auth={$userid}"); } else { $rssid = mysql_result($q200, 0, 0); } ?> <a href="http://zamger.etf.unsa.ba/rss.php?id=<?php echo $rssid; ?> "><img src="images/32x32/rss.png" width="32" height="32" border="0" align="center"> <big>RSS Feed - automatsko obavještenje o novostima!</big></a> <a href="http://feedvalidator.org/check.cgi?url=http%3A//zamger.etf.unsa.ba/rss.php%3Fid%3D<?php echo $rssid; ?> "><img src="images/valid-rss-rogers.png" width="88" height="31" border="0" align="center"></a> <!-- <table border="0" bgcolor="#DDDDDD" width="100%"> <tr><td colspan="4" bgcolor="#CCCCCC" align="center" valign="center" style="font-size: medium"><b>Sa drugih sajtova...</b></td></tr> <tr> <td width="25%" valign="top" style="padding: 10px; padding-right:30px;" bgcolor="#FFFFFF"> <b>ETF.UNSA.BA:</b><br/> * yadayada<br/> * blah<br/> * whocares<br/> * Excel format </td> <td width="25%" valign="top" style="padding: 10px; padding-right:30px;" bgcolor="#FFFFFF"> <b>ra15070@etf.unsa.ba:</b><br/> * prepisana zadaća<br/> * još jedna prepisana zadaća<br/> * pa radil iko išta sam<br/> * Excel format </td> <td width="25%" valign="top" style="padding: 10px; padding-right:30px;" bgcolor="#FFFFFF"> <b>ETF.BA:</b><br/> * Steleks se ugasio<br/> * Teo proglašen za doživotnog počasnog studenta<br/> * šta ja znam </td> <td width="25%" valign="top" style="padding: 10px; padding-right:30px;" bgcolor="#FFFFFF"> <!--FILLER--><!-- </td> </tr></table> --> <?php }
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> </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> </p>\n"; } ?> <?php echo genform("POST"); ?> <input type="hidden" name="osoba" value="<?php echo $osoba; ?> "> <input type="submit" name="akcija" value="Prihvati zahtjev"> <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>"; } }
function saradnik_intro() { global $userid, $user_siteadmin, $registry, $posljednji_pristup; // 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>"; } // Sakrij raspored ako ga nema u registry-ju $nasao = 0; foreach ($registry as $r) { if ($r[0] == "common/raspored1") { $nasao = 1; break; } } if ($nasao == 1) { require "common/raspored1.php"; common_raspored1("nastavnik"); } // Prikaz obavještenja za saradnike $prikaz_sekundi = 600; // Koliko dugo se prikazuje obavještenje $vrijeme = $posljednji_pristup - $prikaz_sekundi; // globalna $q30 = myquery("select id from poruka where tip=1 and (opseg=0 or opseg=2) and UNIX_TIMESTAMP(vrijeme)>{$vrijeme} order by vrijeme desc limit 1"); if (mysql_num_rows($q30) > 0) { ?> <p><a href="?sta=common/inbox&poruka=<?php echo mysql_result($q30, 0, 0); ?> "><div style="color:red; text-decoration: underline">Imate novo sistemsko obavještenje. Kliknite ovdje.</div></a></p><?php } // Spisak grupa po predmetima, predmeti po akademskoj godini ?> <table border="0" cellspacing="5"><tr> <?php if ($_REQUEST['sve']) { $q1a = myquery("select id,naziv from akademska_godina order by naziv desc"); } else { $q1a = myquery("select id,naziv from akademska_godina where aktuelna=1 order by naziv desc limit 1"); } while ($r1a = mysql_fetch_row($q1a)) { $ag = $r1a[0]; $ag_naziv = $r1a[1]; // Prikaži sve predmete siteadminu $uslov = ""; $nppolje = "nastavnik"; $uslov = "np.predmet=p.id and np.akademska_godina={$ag} and np.nastavnik={$userid} and"; $nppolje = "np.nivo_pristupa"; // Upit za spisak predmeta $q10 = myquery("select distinct p.id, {$nppolje}, p.naziv, i.kratki_naziv from predmet as p, nastavnik_predmet as np, institucija as i, ponudakursa as pk where {$uslov} p.institucija=i.id and pk.predmet=p.id and pk.akademska_godina={$ag} order by pk.semestar, pk.studij, p.naziv"); // Format - šest predmeta u jednom redu $nr = mysql_num_rows($q10); if ($nr == 0) { continue; } // sljedeća akademska godina if ($nr > 6) { $nr = 6; } print '<td colspan="' . $nr * 2 . '" align="center" bgcolor="#88BB99">Predmeti (' . $ag_naziv . ')</td></tr><tr>'; $br = 0; while ($r10 = mysql_fetch_row($q10)) { $predmet = $r10[0]; $privilegija = $r10[1]; $naziv_predmeta = $r10[2]; $studij = $r10[3]; // Spacer if ($br > 0) { print '<td bgcolor="#666666" width="1"></td>' . "\n"; } print '<td valign="top">' . "\n"; // Siteadmin moze vidjeti i tudje predmete, pa ih prikazujemo drugom bojom $moj = 1; if ($user_siteadmin) { $q20 = myquery("select count(*) from nastavnik_predmet where nastavnik={$userid} and predmet={$predmet} and akademska_godina={$ag}"); if (mysql_result($q20, 0, 0) < 1) { $moj = 0; } } if ($moj == 0) { print "<b><font color=\"#664444\">{$naziv_predmeta} ({$studij})</font></b>\n"; } else { print "<b>{$naziv_predmeta} ({$studij})</b>\n"; } // Edit link if ($user_siteadmin || $privilegija == "nastavnik" || $privilegija == "super_asistent") { print ' [<b><a href="?sta=nastavnik/predmet&predmet=' . $predmet . '&ag=' . $ag . '"><font color="red">EDIT</font></a></b>]' . "\n"; } // Provjeri limit na prikazivanje labgrupa $limit = array(); $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) { while ($r30 = mysql_fetch_row($q30)) { array_push($limit, $r30[0]); } } // Lab grupe print "<ul>\n"; $q4 = myquery("select id,naziv from labgrupa where predmet={$predmet} and akademska_godina={$ag}"); $result = array(); while ($r4 = mysql_fetch_row($q4)) { $result[$r4[0]] = $r4[1]; } natsort($result); foreach ($result as $gid => $gname) { if (!preg_match("/\\w/", $gname)) { $gname = "[Nema imena]"; } if (count($limit) == 0 || in_array($gid, $limit)) { print "<li><a href=\"?sta=saradnik/grupa&id={$gid}\">{$gname}</a></li>\n"; } } print "</ul>\n"; // Kraj print "</td>\n"; $br++; if ($br == 6) { $br = 0; print "</tr><tr>\n"; } } print '</tr><tr>' . "\n"; } print '</tr></table>'; if (!$_REQUEST['sve']) { print '<a href="' . genuri() . '&sve=1">Prikaži ranije akademske godine</a>'; } }