function student_kolizijapdf() { global $userid; require_once 'lib/tcpdf/tcpdf.php'; $semestar = intval($_REQUEST['semestar']); if ($semestar == 1) { $tekst_semestar = "zimskom"; } else { $tekst_semestar = "ljetnjem"; } // Prikupljam podatke iz baze // Za koju godinu se prijavljuje? $q1 = myquery("select id, naziv from akademska_godina where aktuelna=1"); $q2 = myquery("select id, naziv from akademska_godina where id>" . mysql_result($q1, 0, 0) . " order by id limit 1"); if (mysql_num_rows($q2) < 1) { // nicemessage("U ovom trenutku nije aktiviran upis u sljedeću akademsku godinu."); // return; // Pretpostavljamo da se upisuje u aktuelnu? $zagodinu = mysql_result($q1, 0, 0); $agnaziv = mysql_result($q1, 0, 1); $q3 = myquery("select id from akademska_godina where id<{$zagodinu} order by id desc limit 1"); $proslagodina = mysql_result($q3, 0, 0); } else { $proslagodina = mysql_result($q1, 0, 0); $zagodinu = mysql_result($q2, 0, 0); $agnaziv = mysql_result($q2, 0, 1); } // Koji je odsjek? $q4 = myquery("select s.id, s.naziv, i.naziv, ss.semestar from studij as s, student_studij as ss, institucija as i where ss.student={$userid} and ss.studij=s.id and s.institucija=i.id and ss.akademska_godina={$proslagodina} order by semestar desc limit 1"); if (mysql_num_rows($q4) < 1) { // Očito da su aktuelna i prošla godina loše određene $q4 = myquery("select s.id, s.naziv, i.naziv, ss.semestar, ss.akademska_godina from studij as s, student_studij as ss, institucija as i where ss.student={$userid} and ss.studij=s.id and s.institucija=i.id order by akademska_godina desc, semestar desc limit 1"); if (mysql_num_rows($q4) < 1) { biguglyerror("Nikada niste bili nas student!"); return; } $proslagodina = mysql_result($q4, 0, 4); if (mysql_num_rows($q2) < 1) { biguglyerror("Nije kreirana nova akademska godina u koju se upisujete."); print "Kontaktirajte administratora."; return; } $q2 = myquery("select id, naziv from akademska_godina where id>{$proslagodina} order by id limit 1"); $zagodinu = mysql_result($q2, 0, 0); $agnaziv = mysql_result($q2, 0, 1); } $studij = mysql_result($q4, 0, 0); $studij_naziv = mysql_result($q4, 0, 1); $institucija_naziv = mysql_result($q4, 0, 2); $godina_studija = ceil(mysql_result($q4, 0, 3) / 2); // Da li je student popunio ugovor za drugi odsjek? $tekst_mijenja = ""; $q7 = myquery("select s.id, s.naziv, i.naziv from studij as s, ugovoroucenju as uou, institucija as i where uou.student={$userid} and uou.studij=s.id and s.institucija=i.id and uou.akademska_godina={$zagodinu}"); if (mysql_num_rows($q7) > 1 && $studij != mysql_result($q7, 0, 0)) { $institucija_naziv = mysql_result($q7, 0, 2); $tekst_mijenja = "predao sam zahtjev za promjenu studija na " . mysql_result($q7, 0, 1) . ". S tim u vezi, "; } // Zapis u tabeli kolizija $predmeti_kolizija = $predmeti_ects = array(); $q10 = myquery("select p.id, p.naziv, p.ects from kolizija as k, predmet as p where k.student={$userid} and k.akademska_godina={$zagodinu} and k.semestar={$semestar} and k.predmet=p.id"); if (mysql_num_rows($q10) < 1) { biguglyerror("Vi niste popunili Zahtjev za koliziju za {$agnaziv} godinu!"); print "Ako je ovo greska, kontaktirajte administratora."; return; } while ($r10 = mysql_fetch_row($q10)) { $predmeti_kolizija[$r10[0]] = $r10[1]; $predmeti_ects[$r10[0]] = $r10[2]; } if ($semestar == 1) { $s2 = 1; } else { $s2 = 0; } // Predmeti koje nije polozio $predmeti_prenos = array(); $q20 = myquery("select p.id, p.naziv, p.ects from student_predmet as sp, ponudakursa as pk, predmet as p where sp.student={$userid} and sp.predmet=pk.id and pk.predmet=p.id and pk.akademska_godina={$proslagodina} and pk.semestar MOD 2={$s2} and pk.semestar<{$godina_studija}*2+1 and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id and ko.ocjena != 5)=0"); while ($r20 = mysql_fetch_row($q20)) { if (array_key_exists($r20[0], $predmeti_kolizija)) { continue; } $predmeti_prenos[$r20[0]] = $r20[1]; $predmeti_ects[$r20[0]] = $r20[2]; } // Podaci o studentu $q30 = myquery("select ime, prezime, brindexa, spol from osoba where id={$userid}"); $ime = mysql_result($q30, 0, 0); $prezime = mysql_result($q30, 0, 1); $brindexa = mysql_result($q30, 0, 2); $spol = mysql_result($q30, 0, 3); if ($spol == "") { $spol = spol(mysql_result($q30, 0, 0)); } if ($spol == "M") { $student = "student"; $polozio = "položio"; } else { $student = "studentica"; $polozio = "položila"; } ?> <html> <head> <title>Zahtjev za koliziju</title> </head> <body> <p>Univerzitet u Sarajevu<br> Elektrotehnički fakultet Sarajevo<br> <?php echo $institucija_naziv; ?> </p> <p> </p> <p>Student: <?php echo "{$ime} {$prezime} ({$brindexa})"; ?> </p> <p> </p> <p><b>Predmet: ZAHTJEV ZA KOLIZIJU</b></p> <p> </p> <p>Ja, <?php echo "{$ime} {$prezime}"; ?> , <?php echo $student; ?> studija <?php echo $studij_naziv; ?> , <?php echo $godina_studija; ?> . godina, broj indexa <?php echo $brindexa; ?> , <?php echo $tekst_mijenja; ?> molim Vas da mi u skladu sa Zakonom o visokom obrazovanju Kantona Sarajevo, u <?php echo $tekst_semestar; ?> semestru akademske <?php echo $agnaziv; ?> godine odobrite slušanje sljedećih predmeta sa <?php echo $godina_studija + 1; ?> . godine studija u koliziji:</p> <ul> <?php foreach ($predmeti_kolizija as $id => $predmet) { print "<li>{$predmet} (" . $predmeti_ects[$id] . " ECTS)</li>\n"; } ?> </ul> <p> </p> <p>Obzirom da sa <?php echo $godina_studija; ?> . godine studija nisam <?php echo $polozio; ?> sljedeće predmete:</p> <ul> <?php foreach ($predmeti_prenos as $id => $predmet) { print "<li>{$predmet} (" . $predmeti_ects[$id] . " ECTS)</li>\n"; } ?> </ul> te da se jedan predmet prenosi, nije prekoračen maksimalan broj od 30 ECTS kredita po semestru.</p> <p> </p> <p>U nadi da ćete udovoljiti mom zahtjevu,</p> <p> </p> <table border="0"><tr><td width="100%"> </td><td align="right"><p> </p><p>_____________________________________</p></td></tr> <tr><td width="100%"> </td><td align="center"><?php echo "{$ime} {$prezime}"; ?> </td></tr></table> </body> </html> <?php return; $q5 = myquery("select uu.id, s.id, s.naziv, s.naziv_en, uu.semestar, s.tipstudija from ugovoroucenju as uu, studij as s where uu.student={$userid} and uu.akademska_godina={$zagodinu} and uu.studij=s.id order by semestar desc limit 1"); if (mysql_num_rows($q5) < 1) { niceerror("Nije kreiran ugovor o učenju za studenta."); return; } $ugovorid = mysql_result($q5, 0, 0); $studij = mysql_result($q5, 0, 1); $studijbos = mysql_result($q5, 0, 2); $studijbos = substr($studijbos, 0, strpos($studijbos, "(") - 1); $studijeng = mysql_result($q5, 0, 3); $sem2 = mysql_result($q5, 0, 4); $tipstudija = mysql_result($q5, 0, 5); $sem1 = $sem2 - 1; $godina = $sem2 / 2; // Ostali podaci o osobi $q10 = myquery("select ime, prezime, brindexa from osoba where id={$userid}"); $imeprezime = mysql_result($q10, 0, 0) . " " . mysql_result($q10, 0, 1); $brindexa = mysql_result($q10, 0, 2); // Najnoviji plan za odabrani studij $q6 = myquery("select godina_vazenja from plan_studija where studij={$studij} order by godina_vazenja desc limit 1"); if (mysql_num_rows($q6) < 1) { niceerror("Nepostojeći studij"); return; } $najnoviji_plan = mysql_result($q6, 0, 0); // Da li je ponovac? $q20 = myquery("select semestar from student_studij where student={$userid} and studij={$studij} and akademska_godina={$proslagodina} order by semestar desc limit 1"); if ($sem1 > mysql_result($q20, 0, 0)) { $ponovac = 0; } else { $ponovac = 1; } // Odredjujemo da li ima prenesenih predmeta // TODO: ovo sada ne radi za izborne predmete $q20 = myquery("select p.sifra, p.naziv, p.ects, ps.semestar from predmet as p, plan_studija as ps where ps.godina_vazenja={$najnoviji_plan} and ps.studij={$studij} and (ps.semestar=" . ($sem1 - 1) . " or ps.semestar=" . ($sem1 - 2) . ") and ps.obavezan=1 and ps.predmet=p.id and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id)=0"); if (mysql_num_rows($q20) > 1) { niceerror("Nemate uslove za upis {$godina}. godine studija"); print "Sačekajte da prikupite uslov ili popunite Ugovor za prethodnu godinu studija."; return; } if (mysql_num_rows($q20) == 1) { $ima_preneseni = 1; $preneseni_sifra = mysql_result($q20, 0, 0); $preneseni_naziv = mysql_result($q20, 0, 1); $preneseni_ects = mysql_result($q20, 0, 2); $preneseni_semestar = mysql_result($q20, 0, 3); } else { $ima_preneseni = 0; } // Privremeni hack za master if ($tipstudija == 3) { $mscfile = "-msc"; } else { if ($tipstudija == 2) { $mscfile = ""; } } // Ako čovjek upisuje prvu godinu nečeka (mastera), broj indexa je netačan! if ($godina == 1) { $brindexa = ""; } // ----- Pravljenje PDF dokumenta $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); // set document information $pdf->SetCreator("Zamger"); $pdf->SetTitle('Domestic Learning Agreement / Ugovor o ucenju'); // set default monospaced font $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); //set margins $pdf->SetMargins(0, 0, 0); //set auto page breaks $pdf->SetAutoPageBreak(false); //set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); //$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO*2.083333); $pdf->setJPEGQuality(100); //set some language-dependent strings $pdf->setLanguageArray($l); // --------------------------------------------------------- // set font $pdf->SetFont('freesans', 'B', 9); $pdf->SetHeaderData("", 0, "", ""); $pdf->SetPrintHeader(false); $pdf->SetPrintFooter(false); // add a page $pdf->AddPage(); // $pdf->Image("images/content/150dpi/ETF-Domestic-contract-PGS-ALL-0.png",210,297,0,0,'','','',true,150); $pdf->Image("images/content/150dpi/domestic-contract{$mscfile}-0.png", 0, 0, 210, 0, '', '', '', true, 150); $pdf->SetXY(175, 34); $pdf->Cell(23, 0, $agnaziv, 0, 0, 'C'); $pdf->SetXY(175, 42); $pdf->Cell(23, 0, $godina . ".", 0, 0, 'C'); $pdf->SetXY(175, 50); $pdf->Cell(23, 0, $sem1 . ". & " . $sem2, 0, 0, 'C'); $pdf->SetXY(70, 48); $pdf->Cell(100, 0, $studijeng, 0, 0); $pdf->SetXY(70, 52); $pdf->Cell(100, 0, $studijbos, 0, 0); $pdf->SetXY(70, 62); $pdf->Cell(100, 0, $imeprezime); $pdf->SetXY(70, 69); $pdf->Cell(100, 0, $brindexa); // PRVI SEMESTAR $pdf->AddPage(); $pdf->Image("images/content/150dpi/domestic-contract{$mscfile}-1.png", 0, 0, 210); $pdf->SetXY(175, 34); $pdf->Cell(23, 0, $agnaziv, 0, 0, 'C'); $pdf->SetXY(175, 42); $pdf->Cell(23, 0, $godina . ".", 0, 0, 'C'); $pdf->SetXY(175, 50); $pdf->Cell(23, 0, $sem1 . ".", 0, 0, 'C'); $pdf->SetXY(70, 48); $pdf->Cell(100, 0, $studijeng, 0, 0); $pdf->SetXY(70, 52); $pdf->Cell(100, 0, $studijbos, 0, 0); $pdf->SetXY(70, 62); $pdf->Cell(100, 0, $imeprezime); $pdf->SetXY(70, 69); $pdf->Cell(100, 0, $brindexa); // Spisak obaveznih predmeta na neparnom semestru // Ako je ponovac, ne prikazujemo predmete koje je polozio if ($ponovac == 1) { $q100 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, plan_studija as ps where ps.godina_vazenja={$najnoviji_plan} and ps.studij={$studij} and ps.semestar={$sem1} and ps.obavezan=1 and ps.predmet=p.id and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id)=0"); } else { // Ako nije, trebamo prikazati one koje je položio u koliziji $q100 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, plan_studija as ps where ps.godina_vazenja={$najnoviji_plan} and ps.studij={$studij} and ps.semestar={$sem1} and ps.obavezan=1 and ps.predmet=p.id"); } $ykoord = 95; $ects = 0; while ($r100 = mysql_fetch_row($q100)) { $pdf->SetXY(13, $ykoord); $pdf->Cell(100, 0, $r100[0]); $pdf->SetXY(50, $ykoord); $pdf->Cell(100, 0, $r100[1]); $e = "{$r100['2']}"; if (!strchr($e, ".")) { $e .= ".0"; } $pdf->SetXY(170, $ykoord); $pdf->Cell(100, 0, $e); $ykoord += 4; $ects += $r100[2]; } // Da li je prenesen predmet na neparnom semestru? if ($ima_preneseni && $preneseni_semestar % 2 == 1) { $pdf->SetXY(13, $ykoord); $pdf->Cell(100, 0, $preneseni_sifra); $pdf->SetXY(50, $ykoord); $pdf->Cell(100, 0, $preneseni_naziv); $e = "{$preneseni_ects}"; if (!strchr($e, ".")) { $e .= ".0"; } $pdf->SetXY(170, $ykoord); $pdf->Cell(100, 0, $e); $ykoord += 4; $ects += $preneseni_ects; } // Spisak izbornih predmeta if ($ponovac == 1) { $q110 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, ugovoroucenju_izborni as uoui, ugovoroucenju as uu where uoui.ugovoroucenju=uu.id and uu.student={$userid} and uu.akademska_godina={$zagodinu} and uoui.predmet=p.id and uu.semestar={$sem1} and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id)=0"); } else { $q110 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, ugovoroucenju_izborni as uoui, ugovoroucenju as uu where uoui.ugovoroucenju=uu.id and uu.student={$userid} and uu.akademska_godina={$zagodinu} and uoui.predmet=p.id and uu.semestar={$sem1}"); } $ykoord = 123; while ($r110 = mysql_fetch_row($q110)) { $pdf->SetXY(13, $ykoord); $pdf->Cell(100, 0, $r110[0]); $pdf->SetXY(50, $ykoord); $pdf->Cell(100, 0, $r110[1]); $e = "{$r110['2']}"; if (!strchr($e, ".")) { $e .= ".0"; } $pdf->SetXY(170, $ykoord); $pdf->Cell(100, 0, $e); $ykoord += 4; $ects += $r110[2]; } // Suma ects if (!strchr($ects, ".")) { $ects .= ".0"; } $pdf->SetXY(170, 135); $pdf->Cell(100, 0, $ects); // DRUGI SEMESTAR $pdf->AddPage(); $pdf->Image("images/content/150dpi/domestic-contract{$mscfile}-2.png", 0, 0, 210); $pdf->SetXY(175, 34); $pdf->Cell(23, 0, $agnaziv, 0, 0, 'C'); $pdf->SetXY(175, 42); $pdf->Cell(23, 0, $godina . ".", 0, 0, 'C'); $pdf->SetXY(175, 50); $pdf->Cell(23, 0, $sem2 . ".", 0, 0, 'C'); $pdf->SetXY(70, 48); $pdf->Cell(100, 0, $studijeng, 0, 0); $pdf->SetXY(70, 52); $pdf->Cell(100, 0, $studijbos, 0, 0); $pdf->SetXY(70, 62); $pdf->Cell(100, 0, $imeprezime); $pdf->SetXY(70, 69); $pdf->Cell(100, 0, $brindexa); // Spisak obaveznih predmeta na parnom semestru if ($ponovac == 1) { $q100 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, plan_studija as ps where ps.godina_vazenja={$najnoviji_plan} and ps.studij={$studij} and ps.semestar={$sem2} and ps.obavezan=1 and ps.predmet=p.id and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id)=0"); } else { $q100 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, plan_studija as ps where ps.godina_vazenja={$najnoviji_plan} and ps.studij={$studij} and ps.semestar={$sem2} and ps.obavezan=1 and ps.predmet=p.id"); } $ykoord = 95; $ects = 0; while ($r100 = mysql_fetch_row($q100)) { $pdf->SetXY(13, $ykoord); $pdf->Cell(100, 0, $r100[0]); $pdf->SetXY(50, $ykoord); $pdf->Cell(100, 0, $r100[1]); $e = "{$r100['2']}"; if (!strchr($e, ".")) { $e .= ".0"; } $pdf->SetXY(170, $ykoord); $pdf->Cell(100, 0, $e); $ykoord += 4; $ects += $r100[2]; } // Da li je prenesen predmet na parnom semestru? if ($ima_preneseni && $preneseni_semestar % 2 == 0) { $pdf->SetXY(13, $ykoord); $pdf->Cell(100, 0, $preneseni_sifra); $pdf->SetXY(50, $ykoord); $pdf->Cell(100, 0, $preneseni_naziv); $e = "{$preneseni_ects}"; if (!strchr($e, ".")) { $e .= ".0"; } $pdf->SetXY(170, $ykoord); $pdf->Cell(100, 0, $e); $ykoord += 4; $ects += $preneseni_ects; } // Spisak izbornih predmeta if ($ponovac == 1) { $q110 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, ugovoroucenju_izborni as uoui, ugovoroucenju as uu where uoui.ugovoroucenju=uu.id and uu.student={$userid} and uu.akademska_godina={$zagodinu} and uoui.predmet=p.id and uu.semestar={$sem2} and (select count(*) from konacna_ocjena as ko where ko.student={$userid} and ko.predmet=p.id)=0"); } else { $q110 = myquery("select p.sifra, p.naziv, p.ects from predmet as p, ugovoroucenju_izborni as uoui, ugovoroucenju as uu where uoui.ugovoroucenju=uu.id and uu.student={$userid} and uu.akademska_godina={$zagodinu} and uoui.predmet=p.id and uu.semestar={$sem2}"); } $ykoord = 123; while ($r110 = mysql_fetch_row($q110)) { $pdf->SetXY(13, $ykoord); $pdf->Cell(100, 0, $r110[0]); $pdf->SetXY(50, $ykoord); $pdf->Cell(100, 0, $r110[1]); $e = "{$r110['2']}"; if (!strchr($e, ".")) { $e .= ".0"; } $pdf->SetXY(170, $ykoord); $pdf->Cell(100, 0, $e); $ykoord += 4; $ects += $r110[2]; } // Suma ects if (!strchr($ects, ".")) { $ects .= ".0"; } $pdf->SetXY(170, 135); $pdf->Cell(100, 0, $ects); // --------------------------------------------------------- //Close and output PDF document $pdf->Output('ugovor_o_ucenju.pdf', 'I'); //============================================================+ // END OF FILE //============================================================+ }
//dobavljanje liste profesora koji su angazovani sa njihovim ID-om i EMAILom $result = mysql_query('SELECT DISTINCT o.id, o.ime, o.prezime, o.email, o.spol FROM osoba AS o, angazman AS a, akademska_godina AS ag WHERE a.osoba = o.id AND a.angazman_status=1 AND a.akademska_godina=ag.id AND ag.aktuelna=1'); if (!$result) { die('Invalid query: ' . mysql_error()); } while ($row = mysql_fetch_assoc($result)) { //otvori while($row) print "Prof. " . $row['ime'] . " " . $row['prezime'] . ": "; // Da li je za prof definisan email? if ($row['email'] == "") { print "nema email - preskacem\n"; continue; } $biloOcjena = false; // Zaglavlje maila if ($row['spol'] == 'Z' || $row['spol'] == '' && spol($row['ime']) == "Z") { $message = "Postovana prof. {$row['prezime']}, \n"; } else { $message = "Postovani prof. {$row['prezime']}, \n"; } if ($intervalDana == 1) { $intervalTekst = "prethodna 24 sata"; } else { $intervalTekst = "prethodnih {$intervalDana} dana"; } $message .= "U nastavku maila se nalazi spisak unesenih ocjena na predmetima koje Vi predajete, a unesene su unutar {$intervalTekst}. U zagradi pored svake ocjene dat je tačan datum i vrijeme unosa te osoba pod čijim korisničkim nalogom je ocjena unijeta.\n"; // Spisak predmeta na kojima je prof. angazovan u tekucoj a.g. $q100 = mysql_query("SELECT p.id, p.naziv, ag.id\r\nFROM predmet AS p, angazman AS a, akademska_godina AS ag\r\nWHERE a.osoba = {$row['id']} AND a.predmet=p.id AND a.akademska_godina=ag.id AND ag.aktuelna=1 AND a.angazman_status=1 ORDER BY p.naziv") or die("SQL greska: " . mysql_error()); while ($r100 = mysql_fetch_row($q100)) { // Preskačemo završni rad FIXME $nazivPredmeta = $r100[1];
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 izvjestaj_potvrda() { global $userid, $user_studentska, $user_siteadmin; $imena_semestara = array("", "prvi", "drugi", "treći", "četvrti", "peti", "šesti"); $rimski_brojevi = array("", "I", "II", "III", "IV", "V", "VI"); // Ulazni parametar $student = intval($_REQUEST['student']); $svrha = intval($_REQUEST['svrha']); // Prava pristupa if (!$user_studentska && !$user_siteadmin && $userid != $student) { biguglyerror("Nemate pravo pristupa ovom izvještaju"); zamgerlog("nije studentska, a pristupa tudjem izvjestaju ({$student})", 3); zamgerlog2("nije studentska, a pristupa tudjem izvjestaju", $student); return; } $q100 = myquery("SELECT ime, prezime, brindexa, jmbg, UNIX_TIMESTAMP(datum_rodjenja), mjesto_rodjenja, spol FROM osoba WHERE id={$student}"); if (mysql_num_rows($q100) < 1) { biguglyerror("Nepoznat student"); return; } $r100 = mysql_fetch_row($q100); $q110 = myquery("SELECT m.naziv, o.naziv, d.naziv FROM mjesto as m, opcina as o, drzava as d WHERE m.id={$r100['5']} AND m.opcina=o.id and m.drzava=d.id"); $r110 = mysql_fetch_row($q110); if ($r100[5] == 1) { // Sarajevo $r110[0] = "Sarajevo"; $r110[1] = "Centar Sarajevo"; $r110[2] = "Bosna i Hercegovina"; } $q120 = myquery("SELECT naziv FROM svrha_potvrde WHERE id={$svrha}"); if (mysql_num_rows($q120) < 1) { biguglyerror("Nepoznata svrha"); return; } $r120 = mysql_fetch_row($q120); // Treba nam ID aktuelne godine $q200 = myquery("SELECT id, naziv FROM akademska_godina WHERE aktuelna=1"); $id_ak_god = mysql_result($q200, 0, 0); $naziv_ak_god = mysql_result($q200, 0, 1); // Trenutno upisan na semestar: $q220 = myquery("SELECT s.naziv, ss.semestar, ss.akademska_godina, ag.naziv, s.id, ts.trajanje, ns.naziv, ts.ciklus, s.institucija from student_studij as ss, studij as s, akademska_godina as ag, tipstudija as ts, nacin_studiranja as ns where ss.student={$student} and ss.studij=s.id and ag.id=ss.akademska_godina and s.tipstudija=ts.id and ss.nacin_studiranja=ns.id order by ag.naziv desc"); $studij = "0"; $studij_id = $semestar = 0; $puta = 1; // Da li je ikada slusao nesto? $ikad_studij = $ikad_studij_id = $ikad_semestar = $ikad_ak_god = $institucija = 0; while ($r220 = mysql_fetch_row($q220)) { if ($r220[2] == $id_ak_god && $r220[1] > $semestar) { //trenutna akademska godina $studij = $r220[0]; $semestar = $r220[1]; $studij_id = $r220[4]; $studij_trajanje = $r220[5]; $nacin_studiranja = "kao {$r220['6']}"; $ciklus = $r220[7]; $institucija = $r220[8]; } else { if ($r220[0] == $studij && $r220[1] == $semestar) { // ponovljeni semestri $puta++; } else { if ($r220[2] > $ikad_ak_god || $r220[2] == $ikad_ak_god && $r220[1] > $ikad_semestar) { $ikad_studij = $r220[0]; $ikad_semestar = $r220[1]; $ikad_ak_god = $r220[2]; $ikad_ak_god_naziv = $r220[3]; $ikad_studij_id = $r220[4]; $ikad_studij_trajanje = $r220[5]; } } } } if ($institucija == 0) { niceerror("Trenutno niste upisani na studij."); print "Ako je ovo greška, hitno kontaktirajte Studentsku službu."; return 0; } // Određivanje institucije do { $q140 = myquery("select tipinstitucije, roditelj, dekan, broj_protokola from institucija where id={$institucija}"); if (!($r140 = mysql_fetch_row($q140))) { return; } if ($r140[0] == 1 && $r140[2] != 0) { $dekan = $r140[2]; if ($r140[3] !== "") { $dodaj_broj_protokola = "<p>Broj protokola: {$r140['3']}</p>"; } else { $dodaj_broj_protokola = ""; } break; } $institucija = $r140[1]; } while (true); $spol = $r100[6]; if ($spol == "") { $spol = spol($r100[0]); } if ($spol == "Z") { $upisana = "upisana"; } else { $upisana = "upisan"; } ?> <img src="images/content/ETF-memorandum.png"> <p> </p> <p>Na osnovu člana 169. Zakona o upravnom postupku FBiH (Službene novine FBiH, broj 2/98, 48/99) izdaje se:</p> <center><h2>P O T V R D A</h2></center> <p> <br /> <table border="0"> <tr> <td>Ime i prezime studenta:</td> <td><b><?php echo $r100[0] . " " . $r100[1]; ?> </b></td> </tr> <tr> <td>Broj dosijea:</td> <td><b><?php echo $r100[2]; ?> </b></td> </tr> <tr> <td>Datum rođenja:</td> <td><b><?php echo date("d. m. Y", $r100[4]); ?> </b></td> </tr> <tr> <td>Mjesto rođenja:</td> <td><b><?php echo $r110[0]; ?> </b></td> </tr> <tr> <td>Općina rođenja:</td> <td><b><?php echo $r110[1]; ?> </b></td> </tr> <tr> <td>Država rođenja:</td> <td><b><?php echo $r110[2]; ?> </b></td> </tr> </table> <p> </p> <p>Potvrđuje se da je <?php echo $r100[0] . " " . $r100[1]; ?> <?php echo $upisana; ?> <?php echo $puta; ?> . put u akademskoj <?php echo $naziv_ak_god; ?> godini u <?php echo $rimski_brojevi[$semestar]; ?> (<?php echo $imena_semestara[$semestar]; ?> ) semestar - <?php echo $imena_semestara[$ciklus]; ?> ciklus <?php echo $nacin_studiranja; ?> student, na studiju <?php echo $studij; ?> .</p> <p>Ova potvrda se izdaje u svrhu <b><?php echo $r120[0]; ?> </b>, te se u druge svrhe ne može koristiti.</p> <p> </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 if ($user_studentska) { require "gcm/push_message.php"; $q200 = myquery("SELECT id, status FROM zahtjev_za_potvrdu WHERE student={$student} AND svrha_potvrde={$svrha}"); while ($r200 = mysql_fetch_row($q200)) { if ($r200[1] == 1) { $q210 = myquery("UPDATE zahtjev_za_potvrdu SET status=2 WHERE id={$r200['0']}"); // Slanje GCM poruke push_message(array($student), "Potvrde", "Vaša potvrda/uvjerenje je spremno"); } } } }
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 izvjestaj_historija() { // Ulazni parametar $student = intval($_REQUEST['student']); ?> <p>Univerzitet u Sarajevu<br/> Elektrotehnički fakultet Sarajevo</p> <p>Datum i vrijeme izvještaja: <?php echo date("d. m. Y. H:i"); ?> </p> <?php // Podaci o studentu $q100 = myquery("select ime,prezime,brindexa 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; } /*if ($r100[3] != 1) { biguglyerror("Nepoznat student"); zamgerlog("korisnik u$student nema status studenta",3); return; }*/ ?> <p> </br> Student:</br> <h1><?php echo $r100[0] . " " . $r100[1]; ?> </h1> Broj indeksa: <?php echo $r100[2]; ?> <br/></p> <h2>Historija studenta</h2> <?php // Spol if (spol($r100[0]) == "Z") { $upisa = "Upisala"; $polozi = "položila"; $ppolozi = "Položila"; $izasa = "Izašla"; } else { $upisa = "Upisao"; $polozi = "položio"; $ppolozi = "Položio"; $izasa = "Izašao"; } // Glavni upit su akademske godine $q10 = myquery("select id,naziv from akademska_godina order by id"); while ($r10 = mysql_fetch_row($q10)) { $ag = $r10[0]; $agnaziv = $r10[1]; // Prijemni ispit $q15 = myquery("SELECT s.naziv, uus.opci_uspjeh, uus.kljucni_predmeti, uus.dodatni_bodovi, pp.rezultat, UNIX_TIMESTAMP(pt.datum)\n\tFROM prijemni_prijava as pp, uspjeh_u_srednjoj as uus, studij as s, prijemni_termin as pt \n\tWHERE pp.osoba={$student} and uus.osoba={$student} and pp.studij_prvi=s.id AND pp.prijemni_termin=pt.id AND pt.akademska_godina={$ag}\n\tORDER BY pp.prijemni_termin"); while ($r15 = mysql_fetch_row($q15)) { $total = $r15[1] + $r15[2] + $r15[3] + $r15[4]; $datum = date("d. m. Y.", $r15[5]); print "<p><b>{$agnaziv}</b>: {$izasa} na prijemni ispit {$datum} (za {$r15['0']}): ukupno {$total} bodova ({$r15['4']} bodova na prijemnom ispitu)</p>"; } // Upisi u studije $q20 = myquery("select s.naziv, ss.semestar, ns.naziv, ss.ponovac, ss.odluka from studij as s, student_studij as ss, nacin_studiranja as ns where s.id=ss.studij and ns.id=ss.nacin_studiranja and ss.student={$student} and ss.akademska_godina={$ag} order by ss.akademska_godina,ss.semestar"); while ($r20 = mysql_fetch_row($q20)) { $semestar = $r20[1]; $parni = $semestar % 2; print "<p><b>{$agnaziv}</b>: {$upisa} studij \"{$r20['0']}\", {$semestar}. semestar, kao {$r20['2']} student"; if ($r20[3] > 0) { print " (ponovac)"; } if ($r20[4] > 0) { $q25 = myquery("select UNIX_TIMESTAMP(datum), broj_protokola from odluka where id={$r20['4']}"); print " na osnovu odluke " . mysql_result($q25, 0, 1) . " od " . date("d. m. Y", mysql_result($q25, 0, 0)); } print ".<br />\n"; $q30 = myquery("select p.id, p.naziv from student_predmet as sp, ponudakursa as pk, predmet as p where sp.student={$student} and sp.predmet=pk.id and pk.akademska_godina={$ag} and pk.semestar mod 2 = {$parni} and pk.predmet=p.id order by p.naziv"); if (mysql_num_rows($q30) > 0) { print "<ul>\n"; } while ($r30 = mysql_fetch_row($q30)) { $q40 = myquery("select ocjena from konacna_ocjena where student={$student} and predmet={$r30['0']} and akademska_godina={$ag}"); if (mysql_num_rows($q40) < 1) { print "NIJE {$polozi} predmet {$r30['1']}<br />\n"; } else { $ocjena = mysql_result($q40, 0, 0); if ($ocjena == 11) { $ocjena = "ispunio/la obaveze"; } else { $ocjena = "ocjena {$ocjena}"; } print "{$ppolozi} predmet {$r30['1']}, {$ocjena}<br />\n"; } } if (mysql_num_rows($q30) > 0) { print "</ul></p>\n"; } } } }
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 izvjestaj_zavrsni_zapisnik() { ?> <p>Univerzitet u Sarajevu<br/> Elektrotehnički fakultet Sarajevo</p> <p>Datum i vrijeme izvještaja: <?php echo date("d. m. Y. H:i"); ?> </p> <?php $id_zavrsni = intval($_REQUEST['zavrsni']); $q10 = myquery("select z.naslov as naslov, i.naziv as odsjek, z.student as student_id, z.mentor as mentor_id, z.predsjednik_komisije as predsjednik_id, z.clan_komisije as clan_id, UNIX_TIMESTAMP(z.termin_odbrane) as termin_odbrane, z.rad_na_predmetu as id_rad_na_predmetu, ts.ciklus as ciklus, z.sala as sala, z.odluka as odluka, s.institucija as institucija\nfrom zavrsni as z, predmet as p, institucija as i, ponudakursa as pk, studij as s, tipstudija as ts\nwhere z.id={$id_zavrsni} and z.predmet=p.id and p.institucija=i.id and " . "pk.predmet=p.id and pk.akademska_godina=z.akademska_godina and pk.studij=s.id and s.tipstudija=ts.id"); if (mysql_num_rows($q10) > 0) { $r10 = mysql_fetch_assoc($q10); } if (mysql_num_rows($q10) < 1 || $r10["mentor_id"] == 0 || $r10["predsjednik_id"] == 0 || $r10["clan_id"] == 0 || $r10["termin_odbrane"] == 0) { niceerror("Zapisnik se ne može odštampati jer nisu unijeta sva obavezna polja"); ?> <p>Da biste mogli štampati zapisnik, morate popuniti sva polja koja se nalaze na zapisniku, a to su: naslov teme, kandidat, mentor i oba člana komisije i termin odbrane.</p> <?php nicemessage("<a href=\"javascript:history.go(-1);\">Nazad</a>"); return; } $q20 = myquery("select o.prezime as prezime, o.imeoca as imeoca, o.ime as ime, o.brindexa as brindexa, o.spol as spol, UNIX_TIMESTAMP(o.datum_rodjenja) as datum_rodjenja, o.telefon as telefon, o.mjesto_rodjenja as mjesto_rodjenja, o.adresa as adresa, o.adresa_mjesto as adresa_mjesto_id\nfrom osoba as o\nwhere o.id=" . $r10["student_id"]); $r20 = mysql_fetch_assoc($q20); $mentor = tituliraj($r10["mentor_id"], true); $predsjednik = tituliraj($r10["predsjednik_id"], true); $clan = tituliraj($r10["clan_id"], true); $q25 = myquery("select naziv, opcina from mjesto where id=" . $r20["mjesto_rodjenja"]); $r25 = mysql_fetch_assoc($q25); $q27 = myquery("select naziv from opcina where id=" . $r25["opcina"]); $r27 = mysql_fetch_assoc($q27); $q30 = myquery("select naziv from mjesto where id=" . intval($r20["adresa_mjesto_id"])); $r30 = mysql_fetch_assoc($q30); $spol = $r20["spol"]; if ($spol == "") { $spol = spol($r20["ime"]); } // ZAPISNIK ZA PRVI CIKLUS if ($r10['ciklus'] == 1) { // Određivanje dekana i broja protokola $institucija = $r10['institucija']; do { $q140 = myquery("select tipinstitucije, roditelj, dekan, broj_protokola from institucija where id={$institucija}"); if (!($r140 = mysql_fetch_row($q140))) { break; } if ($r140[0] == 1 && $r140[2] != 0) { $dekan = $r140[2]; $broj_protokola = $r140[3]; break; } $institucija = $r140[1]; } while (true); if ($r10["id_rad_na_predmetu"] == 0) { niceerror("Zapisnik se ne može odštampati jer nisu unijeta sva obavezna polja"); ?> <p>Na zapisniku za prvi ciklus nalaze se još i obavezna polja: rad iz kojeg je predmet. Morate popuniti i ta polja.</p> <?php nicemessage("<a href=\"javascript:history.go(-1);\">Nazad</a>"); return; } // Potreban nam je predmet iz kojeg je rad $q35 = myquery("SELECT naziv FROM predmet WHERE id=" . $r10["id_rad_na_predmetu"]); $rad_na_predmetu = mysql_result($q35, 0, 0); ?> <p><?php echo $r10["odsjek"]; ?> </p> <h2>Zapisnik o odbrani završnog rada</h2> <p>Dana <?php echo date("d. m. Y.", $r10["termin_odbrane"]); ?> godine kandidat <?php echo $r20["prezime"]; ?> (<?php echo $r20["imeoca"]; ?> ) <?php echo $r20["ime"]; ?> , broj indeksa <?php echo $r20["brindexa"]; ?> <?php if ($spol == "Z") { print "odbranila"; } else { print "odbranio"; } ?> je završni rad pod naslovom:</p> <p><b>"<?php echo $r10["naslov"]; ?> "</b></p> <p>U okviru predmeta: "<?php echo $rad_na_predmetu; ?> "</p> <p>KOMISIJA U SASTAVU</p> <p> 1. <?php echo $predsjednik; ?> - Predsjednik<br> 2. <?php echo $mentor; ?> - Mentor<br> 3. <?php echo $clan; ?> - Član</p> <table border="0"> <tr><td valign="bottom">Ocijenila je odbranu i rad sa ocjenom:</td> <td> <table border="1" cellspacing="0" cellpadding="0" width="200" height="50"><tr><td><img src="images/fnord.gif" width="200" height="50"></td></tr></table> </td></tr></table> <p>POTPISI ČLANOVA KOMISIJE:</p> <table border="0"> <tr><td style="border-bottom: 1px solid black; width: 400px; height: 50px"> </td></tr> <tr><td style="border-bottom: 1px solid black; width: 400px; height: 50px"> </td></tr> <tr><td style="border-bottom: 1px solid black; width: 400px; height: 50px"> </td></tr> </table> <table border="0" width="600px"> <tr><td>Prosječna ocjena položenih ispita</td> <td style="border: 1px solid black;"> </td></tr> <tr><td>Broj ECTS bodova</td> <td style="border: 1px solid black;">180</td></tr> <tr><td>Ukupan broj položenih ispita</td> <td style="border: 1px solid black;">33</td></tr> </table> <p>Datum rođenja <?php echo date("d. m. Y.", $r20["datum_rodjenja"]); ?> u mjestu <?php echo $r25["naziv"]; ?> , općina <?php echo $r27["naziv"]; ?> .</p> <p>Adresa na koju se dostavlja obavijest o promociji: <?php echo $r20["adresa"]; ?> , <?php echo $r30["naziv"]; ?> </p> <p>Broj PROTOKOLA IZDATIH UVJERENJA: <?php echo $broj_protokola; ?> </p> <p>Tel: <?php echo $r20["telefon"]; ?> </p> <p>Sarajevo, <?php echo date("d. m. Y.", $r10["termin_odbrane"]); ?> godine</p> <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 // ZAPISNIK ZA DRUGI CIKLUS } else { if ($r10["sala"] == "" || $r10["odluka"] == 0) { niceerror("Zapisnik se ne može odštampati jer nisu unijeta sva obavezna polja"); ?> <p>Na zapisniku za drugi ciklus nalaze se još i obavezna polja: sala u kojoj se vrši odbrana, odluka o imenovanju komisije (broj odluke i datum). Morate popuniti i ta polja.</p> <?php nicemessage("<a href=\"javascript:history.go(-1);\">Nazad</a>"); return; } $ciklusi = array("", "prvog", "drugog", "trećeg"); $ciklusi_rimski = array("", "I", "II", "III"); // Podaci o odluci $q50 = myquery("SELECT UNIX_TIMESTAMP(datum), broj_protokola FROM odluka WHERE id=" . $r10["odluka"]); $datum_odluke = date("d.m.Y.", mysql_result($q50, 0, 0)); $broj_odluke = mysql_result($q50, 0, 1); ?> <style> h2 { text-align:center; } @media print { h2.nextpage {page-break-before: always;} body { font-size: 11pt; line-height: 120%; } } </style> <p>U skladu sa članom 31. Pravila studiranja za drugi (II) ciklus studija na Univerzitetu u Sarajevu, sačinjava se</p> <h2>Z A P I S N I K</h2> <p>sa odbrane završnog rada <?php echo $r20["prezime"]; ?> <?php echo genitiv($r20["ime"]); ?> studenta <?php echo $ciklusi[$r10['ciklus']]; ?> (<?php echo $ciklusi_rimski[$r10['ciklus']]; ?> ) ciklusa studija na Elektrotehničkom fakultetu u Sarajevu na temu "<?php echo $r10["naslov"]; ?> ", održane dana <?php echo date("d. m. Y.", $r10["termin_odbrane"]); ?> godine u <?php echo date("h:i", $r10["termin_odbrane"]); ?> sati u sali <?php echo $r10["sala"]; ?> .</p> <p>Prisutni:<br> Student <?php echo $r20["prezime"]; ?> <?php echo $r20["ime"]; ?> ,<br> Komisija imenovana Odlukom NNV-a Fakulteta broj: <?php echo $broj_odluke; ?> od <?php echo $datum_odluke; ?> godine u sastavu:<br> 1. Predsjednik <?php echo $predsjednik; ?> ,<br> 2. Mentor, <?php echo $mentor; ?> , i<br> 3. Član, <?php echo $clan; ?> </p> <!--p>Ostali prisutni: publika.</p--> <p>Predsjednik Komisije otvorio je postupak odbrane završnog rada i konstatovao da su se stekli uslovi za odbranu, te pozvao kandidata da izloži sadržaj rada, uz obrazloženje cilja, zadataka, metoda izrade i dobivenih rezultata.</p> <!--p>Izlaganje je trajalo od <?php echo date("h:i", $r10["termin_odbrane"]); ?> do _______sati.</p--> <p>Pitanja koja su postavljali članovi komisije poslije izlaganja: <p>Mentor/Član - <?php echo $mentor; ?> , <p>Pitanja 1.</p> <p>2.</p> <p>3.</p> <p> </p> <p>Član - <?php echo $clan; ?> , </p> <p>Pitanja 1.</p> <p>2.</p> <p> </p> <p>Predsjednik - <?php echo $predsjednik; ?> ,</p> <p>Pitanja 1.</p> <p>2.</p> <p> </p> <!--p>Nakon odgovora kandidata, predsjednik Komisije je dozvolio prisutnima da postavljaju pitanja i da komentarišu završni rad. Komisija se zatim povukla radi donošenja Odluke.</p--> <p>Predsjednik Komisije nakon provedenog cjelokupnog postupka saopštio je</p> <h2 class="nextpage">O D L U K U </h2> <p>Kandidat <?php echo $r20["prezime"]; ?> <?php echo $r20["ime"]; ?> s uspjehom je <?php if ($spol == "Z") { print "odbranila"; } else { print "odbranio"; } ?> završni rad na drugom (II) ciklusu studija na Elektrotehničkom fakultetu u Sarajevu i shodno Pravilniku o korištenju akademskih titula i sticanju naučnih i stručnih zvanja na visokoškolskim ustanovama u Kantonu Sarajevo ("Službene novine" br. 34/08) <?php if ($spol == "Z") { print "stekla"; } else { print "stekao"; } ?> je pravo na akademsku titulu i zvanje</p> <h2>Magistar elektrotehnike – diplomirani inženjer elektrotehnike<br> <?php echo $r10["odsjek"]; ?> </h2> <p>Komisija za ocjenu i odbranu završnog rada ocjenjuju rad i odbranu rada jedinstvenom ocjenom _______.</p> <table border="0" width="100%"><tr><td> </td><td> <p>KOMISIJA:</p> <p>1. ______________________ , predsjednik</p> <p>2. ______________________ , mentor/član</p> <p>3. ______________________ , član</p> </td></tr></table> <?php } }
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>'; } }