function nastavnik_zadace() { global $userid, $user_siteadmin, $conf_files_path; require "lib/manip.php"; require "lib/autotest.php"; global $mass_rezultat; // za masovni unos studenata u grupe global $_lv_; // radi autogenerisanih formi // Parametri potrebni za Moodle integraciju global $conf_moodle, $conf_moodle_url, $conf_moodle_db, $conf_moodle_prefix, $conf_moodle_reuse_connection, $conf_moodle_dbhost, $conf_moodle_dbuser, $conf_moodle_dbpass; global $__lv_connection, $conf_use_mysql_utf8; // Parametri $predmet = intval($_REQUEST['predmet']); $ag = intval($_REQUEST['ag']); // Naziv predmeta $q5 = myquery("select naziv from predmet where id={$predmet}"); if (mysql_num_rows($q5) < 1) { biguglyerror("Nepoznat predmet"); zamgerlog("ilegalan predmet {$predmet}", 3); //nivo 3: greska zamgerlog2("nepoznat predmet", $predmet); return; } $predmet_naziv = mysql_result($q5, 0, 0); // Da li korisnik ima pravo ući u modul? if (!$user_siteadmin) { $q10 = myquery("select nivo_pristupa from nastavnik_predmet where nastavnik={$userid} and predmet={$predmet} and akademska_godina={$ag}"); if (mysql_num_rows($q10) < 1 || mysql_result($q10, 0, 0) == "asistent") { zamgerlog("nastavnik/ispiti privilegije (predmet pp{$predmet})", 3); zamgerlog2("nije nastavnik na predmetu", $predmet, $ag); biguglyerror("Nemate pravo pristupa ovoj opciji"); return; } } // Dozvoljene ekstenzije $q13 = myquery("select naziv from ekstenzije"); $dozvoljene_ekstenzije = array(); while ($r13 = mysql_fetch_row($q13)) { array_push($dozvoljene_ekstenzije, $r13[0]); } // Da li predmet posjeduje komponente za zadaće? $q15 = myquery("select k.id, k.naziv from komponenta as k, tippredmeta_komponenta as tpk, akademska_godina_predmet as agp where agp.akademska_godina={$ag} and agp.predmet={$predmet} and agp.tippredmeta=tpk.tippredmeta and tpk.komponenta=k.id and k.tipkomponente=4"); if (mysql_num_rows($q15) < 1) { zamgerlog("ne postoji komponenta za zadace na predmetu pp{$predmet} ag{$ag}", 3); zamgerlog2("ne postoji komponenta za zadace", $predmet, $ag); niceerror("U sistemu bodovanja za ovaj predmet nije definisana nijedna komponenta zadaće."); print "<p>Da biste nastavili, promijenite <a href=\"?sta=nastavnik/tip?predmet={$predmet}&ag={$ag}\">sistem bodovanja</a> za ovaj predmet.</p>\n"; return; } if (mysql_num_rows($q15) > 1) { niceerror("U sistemu bodovanja za ovaj predmet je definisano više od jedne komponente za zadaće."); print "<p>Ovaj modul trenutno podržava samo jednu komponentu zadaća. Ako imate potrebu za rad sa više od jedne komponente zadaća istovremeno, kontaktirajte administratora Zamgera. U suprotnom, provjerite <a href=\"?sta=nastavnik/tip?predmet={$predmet}&ag={$ag}\">sistem bodovanja</a> za ovaj predmet za slučaj da je ova situacija posljedica greške.</p>\n"; print "<p>Koristićemo komponentu označenu nazivom: <b>" . mysql_result($q15, 0, 1) . "</b></p>"; } $komponenta_za_zadace = mysql_result($q15, 0, 0); ?> <p> </p> <p><h3><?php echo $predmet_naziv; ?> - Zadaće</h3></p> <?php # Masovni unos zadaća if ($_POST['akcija'] == "massinput" && strlen($_POST['nazad']) < 1 && check_csrf_token()) { if ($_POST['fakatradi'] != 1) { $ispis = 1; } else { $ispis = 0; } // Provjera ostalih parametara $zadaca = intval($_REQUEST['_lv_column_zadaca']); $zadatak = intval($_REQUEST['zadatak']); $q20 = myquery("select naziv,zadataka,bodova,komponenta,predmet,akademska_godina from zadaca where id={$zadaca}"); if (mysql_num_rows($q20) < 1) { zamgerlog("nepostojeca zadaca {$zadaca}", 3); // 3 = greška zamgerlog2("nepostojeca zadaca", $zadaca); niceerror("Morate najprije kreirati zadaću"); print "\n<p>Koristite formular "Kreiranje zadaće" koji se nalazi na prethodnoj stranici. Ukoliko ne vidite nijednu zadaću na spisku "Postojeće zadaće", koristite dugme Refresh vašeg web preglednika.</p>\n"; return; } if (mysql_result($q20, 0, 1) < $zadatak) { zamgerlog("zadaca {$zadaca} nema {$zadatak} zadataka", 3); zamgerlog2("zadaca nema toliko zadataka", $zadaca, $zadatak); niceerror("Zadaća \"" . mysql_result($q20, 0, 0) . "\" nema {$zadatak} zadataka."); return; } $maxbodova = mysql_result($q20, 0, 2); $komponenta = mysql_result($q20, 0, 3); // Provjera spoofanja zadaće if ($predmet != mysql_result($q20, 0, 4) || $ag != mysql_result($q20, 0, 5)) { zamgerlog("zadaca z{$zadaca} nije u predmetu pp{$predmet}", 3); zamgerlog2("id zadace i predmeta se ne poklapaju", $zadaca, $predmet, $ag); niceerror("Pogresan ID zadace!"); return; } if ($ispis) { ?> Akcije koje će biti urađene:<br/><br/> <?php echo genform("POST"); ?> <input type="hidden" name="fakatradi" value="1"> <input type="hidden" name="_lv_column_zadaca" value="<?php echo $zadaca; ?> "> <table border="0" cellspacing="1" cellpadding="2"> <!-- FIXME: prebaciti stilove u CSS? --> <thead> <tr bgcolor="#999999"> <td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Prezime</font></td> <td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Ime</font></td> <td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Bodovi / Komentar</font></td> </tr> </thead> <tbody> <?php } $greska = mass_input($ispis); // Funkcija koja parsira podatke if (count($mass_rezultat) == 0) { niceerror("Niste unijeli ništa."); return; } foreach ($mass_rezultat['ime'] as $student => $ime) { $prezime = $mass_rezultat['prezime'][$student]; $bodova = $mass_rezultat['podatak1'][$student]; $bodova = str_replace(",", ".", $bodova); // Student neocijenjen (prazno mjesto za ocjenu) if (floatval($bodova) == 0 && strpos($bodova, "0") === FALSE) { if ($ispis) { print "Student '{$prezime} {$ime}' - nema zadaću (nije unesen broj bodova {$bodova})<br/>"; } continue; } // Bodovi moraju biti manji od maximalnih borova $bodova = floatval($bodova); if ($bodova > $maxbodova) { if ($ispis) { print "-- Studenta '{$prezime} {$ime}' ima {$bodova} bodova što je više od maksimalnih {$maxbodova}<br/>"; //$greska=1; continue; } } // Zaključak if ($ispis) { print "Student '{$prezime} {$ime}' - zadaća {$zadaca}, bodova {$bodova}<br/>"; } else { // Odredjujemo zadnji filename $q25 = myquery("select filename from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$student} order by id desc limit 1"); if (mysql_num_rows($q25) > 0) { $filename = mysql_result($q25, 0, 0); } else { $filename = ''; } $status_pregledana = 5; // status 5: pregledana $q30 = myquery("insert into zadatak set zadaca={$zadaca}, redni_broj={$zadatak}, student={$student}, status={$status_pregledana}, bodova={$bodova}, vrijeme=NOW(), filename='{$filename}', userid={$userid}"); zamgerlog2("bodovanje zadace", $student, $zadaca, $zadatak, $bodova); // Treba nam ponudakursa za update komponente $q35 = myquery("select sp.predmet from student_predmet as sp, ponudakursa as pk where sp.student={$student} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag}"); $ponudakursa = mysql_result($q35, 0, 0); update_komponente($student, $ponudakursa, $komponenta); // update statistike } } if ($ispis) { if ($greska == 0) { ?> </tbody></table> <p>Potvrdite upis ispita i bodova ili se vratite na prethodni ekran.</p> <p><input type="submit" name="nazad" value=" Nazad "> <input type="submit" value=" Potvrda"></p> </form> <?php } else { ?> </tbody></table> <p>U unesenim podacima ima grešaka. Da li ste izabrali ispravan format ("Prezime[TAB]Ime" vs. "Prezime Ime")? Vratite se nazad kako biste ovo popravili.</p> <p><input type="submit" name="nazad" value=" Nazad "></p> </form> <?php } return; } else { zamgerlog("masovno upisane zadaće na predmet pp{$predmet}, zadaća z{$zadaca}, zadatak {$zadatak}", 2); // 2 = edit ?> Bodovi iz zadaća su upisani. <script language="JavaScript"> location.href='?sta=nastavnik/zadace&predmet=<?php echo $predmet; ?> &ag=<?php echo $ag; ?> '; </script> <?php } } // Akcija za kreiranje nove, promjenu postojeće ili brisanje zadaće if ($_POST['akcija'] == "edit" && $_POST['potvrdabrisanja'] != " Nazad " && check_csrf_token()) { $edit_zadaca = intval($_POST['zadaca']); // Prava pristupa if ($edit_zadaca > 0) { $q86 = myquery("select predmet, akademska_godina from zadaca where id={$edit_zadaca}"); if (mysql_num_rows($q86) < 1) { niceerror("Nepostojeća zadaća sa IDom {$edit_zadaca}"); zamgerlog("promjena nepostojece zadace {$edit_zadaca}", 3); zamgerlog2("nepostojeca zadaca", $edit_zadaca); return 0; } if (mysql_result($q86, 0, 0) != $predmet || mysql_result($q86, 0, 1) != $ag) { niceerror("Zadaća nije sa izabranog predmeta"); zamgerlog("promjena zadace: zadaca {$edit_zadaca} nije sa predmeta pp{$predmet}", 3); zamgerlog2("id zadace i predmeta se ne poklapaju", $edit_zadaca, $predmet, $ag); return 0; } } // Brisanje postavke zadaće (a ne čitave zadaće!) if ($_POST['dugmeobrisi'] == "Obriši") { $q100 = myquery("select postavka_zadace from zadaca where id={$edit_zadaca}"); $filepath = "{$conf_files_path}/zadace/{$predmet}-{$ag}/postavke/" . mysql_result($q100, 0, 0); unlink($filepath); $q110 = myquery("update zadaca set postavka_zadace='' where id={$edit_zadaca}"); nicemessage("Postavka zadaće obrisana"); print "<a href=\"?sta=nastavnik/zadace&predmet={$predmet}&ag={$ag}&_lv_nav_id={$edit_zadaca}\">Nazad</a>\n"; zamgerlog("obrisana postavka zadace z{$edit_zadaca}", 2); zamgerlog2("obrisana postavka zadace", $edit_zadaca); return; } // Brisanje zadaće if ($_POST['brisanje'] == " Obriši ") { if ($edit_zadaca <= 0) { return; } // Ne bi se smjelo desiti $q86 = myquery("select predmet, akademska_godina from zadaca where id={$edit_zadaca}"); if (mysql_num_rows($q86) < 1) { niceerror("Nepostojeća zadaća sa IDom {$edit_zadaca}"); zamgerlog("brisanje nepostojece zadace {$edit_zadaca}", 3); zamgerlog2("nepostojeca zadaca", $edit_zadaca); return 0; } if (mysql_result($q86, 0, 0) != $predmet || mysql_result($q86, 0, 1) != $ag) { niceerror("Zadaća nije sa izabranog predmeta"); zamgerlog("brisanje zadace: zadaca {$edit_zadaca} nije sa predmeta pp{$predmet}", 3); zamgerlog2("id zadace i predmeta se ne poklapaju", $edit_zadaca, $predmet, $ag); return 0; } if ($_POST['potvrdabrisanja'] == " Briši ") { // Brišemo srodne testove $q84 = myquery("delete from autotest_replace where zadaca={$edit_zadaca}"); $q85 = myquery("delete from autotest_rezultat where autotest in (select id from autotest where zadaca={$edit_zadaca})"); $q86 = myquery("delete from autotest where zadaca={$edit_zadaca}"); // Brišemo zadaću $q87 = myquery("delete from zadatak where zadaca={$edit_zadaca}"); $q88 = myquery("delete from zadaca where id={$edit_zadaca}"); zamgerlog("obrisana zadaca {$edit_zadaca} sa predmeta pp{$predmet}", 4); zamgerlog2("obrisana zadaca", $edit_zadaca); nicemessage("Zadaća uspješno obrisana"); ?> <script language="JavaScript"> location.href='?sta=nastavnik/zadace&predmet=<?php echo $predmet; ?> &ag=<?php echo $ag; ?> '; </script> <?php return; } else { $q96 = myquery("select count(*) from zadatak where zadaca={$edit_zadaca}"); $broj_zadataka = mysql_result($q96, 0, 0); $q97 = myquery("select count(*) from autotest where zadaca={$edit_zadaca}"); $broj_testova = mysql_result($q97, 0, 0); print genform("POST"); ?> Brisanjem zadaće obrisaćete i sve do sada unesene ocjene i poslane zadatke! Da li ste sigurni da to želite?<br> U pitanju je <b><?php echo $broj_zadataka; ?> </b> jedinstvenih slogova u bazi!<br><br> <?php if ($broj_testova > 0) { ?> Također ćete obrisati i <b><?php echo $broj_testova; ?> </b> testova.<br><br> <?php } ?> <input type="submit" name="potvrdabrisanja" value=" Briši "> <input type="submit" name="potvrdabrisanja" value=" Nazad "> <?php return; } } // Kreiranje ili izmjena zadaće $naziv = trim(my_escape($_POST['naziv'])); $zadataka = intval($_POST['zadataka']); $bodova = floatval(str_replace(",", ".", $_POST['bodova'])); $dan = intval($_POST['day']); $mjesec = intval($_POST['month']); $godina = intval($_POST['year']); $sat = intval($_POST['sat']); $minuta = intval($_POST['minuta']); $sekunda = intval($_POST['sekunda']); if ($_POST['aktivna']) { $aktivna = 1; } else { $aktivna = 0; } if ($_POST['attachment']) { $attachment = 1; } else { $attachment = 0; } $programskijezik = intval($_POST['_lv_column_programskijezik']); if ($_POST['automatsko_testiranje']) { $automatsko_testiranje = 1; } else { $automatsko_testiranje = 0; } $postavka_file = $_FILES['postavka_zadace_file']['name']; if ($postavka_file != "") { if (!file_exists("{$conf_files_path}/zadace/{$predmet}-{$ag}/postavke")) { mkdir("{$conf_files_path}/zadace/{$predmet}-{$ag}/postavke", 0755, true); } copy($_FILES['postavka_zadace_file']['tmp_name'], "{$conf_files_path}/zadace/{$predmet}-{$ag}/postavke/{$postavka_file}"); $sql_add_postavka_file = ", postavka_zadace = '{$postavka_file}'"; } else { $sql_add_postavka_file = ""; } if (intval($_POST['attachment']) == 1 && isset($_POST['dozvoljene_eks'])) { $ekstenzije = array_unique($_POST['dozvoljene_eks']); $dozvoljene_ekstenzije_selected = implode(',', $ekstenzije); } else { $dozvoljene_ekstenzije_selected = null; } // Provjera ispravnosti if (!preg_match("/\\w/", $naziv)) { niceerror("Naziv zadaće nije dobar."); return 0; } if ($zadataka <= 0 || $bodova < 0 || $zadataka > 100 || $bodova > 100) { niceerror("Broj zadataka ili broj bodova nije dobar"); return 0; } if (!checkdate($mjesec, $dan, $godina)) { niceerror("Odabrani datum je nemoguć"); return 0; } if ($sat < 0 || $sat > 24 || $minuta < 0 || $minuta > 60 || $sekunda < 0 || $sekunda > 60) { niceerror("Vrijeme nije dobro"); return 0; } $mysqlvrijeme = time2mysql(mktime($sat, $minuta, $sekunda, $mjesec, $dan, $godina)); // Provjera duplog imena zadace $q90 = myquery("select count(*) from zadaca where naziv like '{$naziv}' and predmet={$predmet} and akademska_godina={$ag} and id!={$edit_zadaca}"); if (mysql_result($q90, 0, 0) > 0) { niceerror("Zadaća pod imenom '{$naziv}' već postoji! Izaberite neko drugo ime."); zamgerlog("zadaca sa nazivom '{$naziv}' vec postoji", 3); return 0; } // Kreiranje nove if ($edit_zadaca == 0) { // $komponenta_za_zadace određena na početku fajla $q92 = myquery("insert into zadaca set predmet={$predmet}, akademska_godina={$ag}, naziv='{$naziv}', zadataka={$zadataka}, bodova={$bodova}, rok='{$mysqlvrijeme}', aktivna={$aktivna}, attachment={$attachment}, programskijezik={$programskijezik}, automatsko_testiranje={$automatsko_testiranje}, dozvoljene_ekstenzije = '{$dozvoljene_ekstenzije_selected}', komponenta={$komponenta_za_zadace} {$sql_add_postavka_file}"); $edit_zadaca = mysql_insert_id(); if ($edit_zadaca == 0) { niceerror("Dodavanje zadaće nije uspjelo"); zamgerlog("dodavanje zadace nije uspjelo pp{$predmet}, naziv '{$naziv}'", 3); zamgerlog2("dodavanje zadace nije uspjelo", $predmet, $zadataka, $bodova, $naziv); } else { nicemessage("Kreirana nova zadaća '{$naziv}'"); zamgerlog("kreirana nova zadaca z{$edit_zadaca}", 2); zamgerlog2("kreirana nova zadaca", $edit_zadaca); } // Izmjena postojece zadace } else { // Ako se smanjuje broj zadataka, moraju se obrisati bodovi $q94 = myquery("select zadataka, komponenta from zadaca where id={$edit_zadaca}"); $oldzadataka = mysql_result($q94, 0, 0); if ($zadataka < $oldzadataka) { // Prilikom brisanja svakog zadatka updatujemo komponentu studenta $komponenta = mysql_result($q94, 0, 1); $q96 = myquery("select id,student from zadatak where zadaca={$edit_zadaca} and redni_broj>{$zadataka} and redni_broj<={$oldzadataka} order by student"); $oldstudent = 0; while ($r96 = mysql_fetch_row($q96)) { $q97 = myquery("delete from zadatak where id={$r96['0']}"); if ($oldstudent != 0 && $oldstudent != $r96[1]) { update_komponente($oldstudent, $predmet, $komponenta); } $oldstudent = $r96[1]; } if ($oldstudent != 0) { // log samo ako je bilo nesto zamgerlog("Smanjen broj zadataka u zadaci z{$edit_zadaca}", 4); zamgerlog2("smanjen broj zadataka u zadaci", $edit_zadaca); } // Brišemo i relevantne testove $q84 = myquery("delete from autotest_replace where zadaca={$edit_zadaca} and zadatak>{$zadataka}"); $q85 = myquery("delete from autotest_rezultat where autotest in (select id from autotest where zadaca={$edit_zadaca} and zadatak>{$zadataka})"); $q86 = myquery("delete from autotest where zadaca={$edit_zadaca} and zadatak>{$zadataka}"); } $q94 = myquery("update zadaca set naziv='{$naziv}', zadataka={$zadataka}, bodova={$bodova}, rok='{$mysqlvrijeme}', aktivna={$aktivna}, attachment={$attachment}, programskijezik={$programskijezik}, automatsko_testiranje={$automatsko_testiranje}, dozvoljene_ekstenzije='{$dozvoljene_ekstenzije_selected}' {$sql_add_postavka_file} where id={$edit_zadaca}"); nicemessage("Ažurirana zadaća '{$naziv}'"); zamgerlog("azurirana zadaca z{$edit_zadaca}", 2); zamgerlog2("azurirana zadaca", $edit_zadaca); } } // Akcija: AUTOTESTOVI if ($_REQUEST['akcija'] == "autotestovi") { $zadaca = intval($_REQUEST['zadaca']); $backLink = "?sta=nastavnik/zadace&predmet={$predmet}&ag={$ag}"; $linkPrefix = "{$backLink}&zadaca={$zadaca}&akcija=autotestovi"; $backLink = "<a href=\"?{$backLink}&_lv_nav_id={$zadaca}\">Nazad na popis zadaća</a>"; // Provjera spoofinga zadaće $q10 = myquery("SELECT COUNT(*) FROM zadaca WHERE id={$zadaca} AND predmet={$predmet} AND akademska_godina={$ag}"); if (mysql_result($q10, 0, 0) == 0) { nicemessage("Nepoznat ID zadaće {$zadaca}."); return; } autotest_admin($zadaca, $linkPrefix, $backLink); return; } // Spisak postojećih zadaća $_lv_["where:predmet"] = $predmet; $_lv_["where:akademska_godina"] = $ag; $_lv_["where:komponenta"] = $komponenta_za_zadace; // određena na početku fajla print "Postojeće zadaće:<br/>\n"; print db_list("zadaca"); // Kreiranje nove zadace ili izmjena postojeće $izabrana = intval($_REQUEST['_lv_nav_id']); if ($izabrana == 0) { $izabrana = intval($edit_zadaca); } if ($izabrana == 0) { ?> <p><hr/></p> <p><b>Kreiranje zadaće</b><br/> <?php $znaziv = $zaktivna = $zattachment = $zjezik = ""; $zzadataka = 0; $zbodova = 0; $tmpvrijeme = time(); } else { ?> <p><hr/></p> <p><b>Izmjena zadaće</b></p> <?php $q100 = myquery("select predmet, akademska_godina, naziv, zadataka, bodova, rok, aktivna, programskijezik, attachment, dozvoljene_ekstenzije, postavka_zadace, automatsko_testiranje from zadaca where id={$izabrana}"); if ($predmet != mysql_result($q100, 0, 0) || $ag != mysql_result($q100, 0, 1)) { niceerror("Zadaća ne pripada vašem predmetu"); zamgerlog("zadaca {$izabrana} ne pripada predmetu pp{$predmet}", 3); zamgerlog2("id zadace i predmeta se ne poklapaju", $izabrana, $predmet, $ag); return; } $znaziv = mysql_result($q100, 0, 2); $zzadataka = intval(mysql_result($q100, 0, 3)); $zbodova = floatval(mysql_result($q100, 0, 4)); $tmpvrijeme = mysql2time(mysql_result($q100, 0, 5)); if (mysql_result($q100, 0, 6) == 1) { $zaktivna = "CHECKED"; } else { $zaktivna = ""; } $zjezik = mysql_result($q100, 0, 7); if (mysql_result($q100, 0, 8) == 1) { $zattachment = "CHECKED"; } else { $zattachment = ""; } $dozvoljene_ekstenzije_selected = mysql_result($q100, 0, 9); $postavka_zadace = mysql_result($q100, 0, 10); $automatsko_testiranje = mysql_result($q100, 0, 11); } $zdan = date('d', $tmpvrijeme); $zmjesec = date('m', $tmpvrijeme); $zgodina = date('Y', $tmpvrijeme); $zsat = date('H', $tmpvrijeme); $zminuta = date('i', $tmpvrijeme); $zsekunda = date('s', $tmpvrijeme); // JavaScript za provjeru validnosti forme ?> <script language="JavaScript"> function IsNumeric(sText) { var ValidChars = "0123456789."; var IsNumber=true; var Char; for (i = 0; i < sText.length && IsNumber == true; i++) { Char = sText.charAt(i); if (ValidChars.indexOf(Char) == -1) { IsNumber = false; } } return IsNumber;0 } function provjera() { // var forma=document.getElementById("kreiranje_zadace"); var naziv=document.getElementById("naziv"); if (parseInt(naziv.value.length)<1) { alert("Niste unijeli naziv"); naziv.style.border=1; naziv.style.backgroundColor="#FF9999"; naziv.focus(); return false; } var zadataka=document.getElementById("zadataka"); if (!IsNumeric(zadataka.value)) { alert("Neispravan broj zadataka!"); zadataka.style.border=1; zadataka.style.backgroundColor="#FF9999"; zadataka.focus(); return false; } if (parseInt(zadataka.value)<=0) { alert("Broj zadataka u zadaći mora biti veći od nule, npr. 1"); zadataka.style.border=1; zadataka.style.backgroundColor="#FF9999"; zadataka.focus(); return false; } var bodova=document.getElementById("bodova"); if (!IsNumeric(bodova.value)) { alert("Neispravan broj bodova!"); bodova.style.border=1; bodova.style.backgroundColor="#FF9999"; bodova.focus(); return false; } if (parseFloat(bodova.value)<0) { alert("Broj bodova koje nosi zadaća mora biti veći ili jednak nuli, npr. 2 boda"); bodova.style.border=1; bodova.style.backgroundColor="#FF9999"; bodova.focus(); return false; } return true; } function onemoguci_ekstenzije(chk) { var attachment = document.getElementById("attachment"); var dozvoljene_ekstenzije = document.getElementById("dozvoljene_ekstenzije"); var jezik = document.getElementById("_lv_column_programskijezik"); if (attachment.checked) { dozvoljene_ekstenzije.style.display = ''; } else { dozvoljene_ekstenzije.style.display = 'none'; for (i = 0; i < chk.length; i++) chk[i].checked = false; } } </script> <?php // Forma za kreiranje zadaće unset($_REQUEST['aktivna']); unset($_REQUEST['attachment']); unset($_REQUEST['automatsko_testiranje']); print genform("POST", "kreiranje_zadace\" enctype=\"multipart/form-data\" onsubmit=\"return provjera();"); ?> <input type="hidden" name="akcija" value="edit"> <input type="hidden" name="zadaca" value="<?php echo $izabrana; ?> "> Naziv: <input type="text" name="naziv" id="naziv" size="30" value="<?php echo $znaziv; ?> "><br><br> Broj zadataka: <input type="text" name="zadataka" id="zadataka" size="4" value="<?php echo $zzadataka; ?> "> Max. broj bodova: <input type="text" name="bodova" id="bodova" size="3" value="<?php echo $zbodova; ?> "><br><br> Rok za slanje: <?php echo datectrl($zdan, $zmjesec, $zgodina); ?> <input type="text" name="sat" size="1" value="<?php echo $zsat; ?> "> <b>:</b> <input type="text" name="minuta" size="1" value="<?php echo $zminuta; ?> "> <b>:</b> <input type="text" name="sekunda" size="1" value="<?php echo $zsekunda; ?> "> <br><br> <input type="checkbox" name="aktivna" <?php echo $zaktivna; ?> > Aktivna <input type="checkbox" value="1" id="attachment" onclick="onemoguci_ekstenzije(this.form.dozvoljene_eks)" name="attachment" <?php echo $zattachment; ?> > Slanje zadatka u formi attachmenta<br><br> <span id="dozvoljene_ekstenzije" style="display:none" title="Oznacite željene ekstenzije"> Dozvoljene ekstenzije (Napomena: Ukoliko ne odaberete nijednu ekstenziju sve ekstenzije postaju dozvoljene): <?php $dozvoljene_ekstenzije_selected = explode(',', $dozvoljene_ekstenzije_selected); foreach ($dozvoljene_ekstenzije as $doz_ext) { ?> <input type="checkbox" name="dozvoljene_eks[]" <?php if (in_array($doz_ext, $dozvoljene_ekstenzije_selected)) { echo 'checked="checked"'; } ?> value="<?php echo $doz_ext; ?> " /> <?php echo $doz_ext; } ?> <br><br> </span> Programski jezik: <?php echo db_dropdown("programskijezik", $zjezik); ?> <br><br> <?php if ($zjezik != 0) { // Ako nije definisan programski jezik, nećemo ni nuditi automatsko testiranje... ? if ($automatsko_testiranje == 1) { $add_testiranje = "CHECKED"; } else { $add_testiranje = ""; } ?> <input type="checkbox" name="automatsko_testiranje" <?php echo $add_testiranje; ?> > Automatsko testiranje<br> <a href="?sta=nastavnik/zadace&predmet=<?php echo $predmet; ?> &ag=<?php echo $ag; ?> &zadaca=<?php echo $izabrana; ?> &akcija=autotestovi">Kliknite ovdje da definišete testove</a><br><br> <?php } ?> Postavka zadaće: <?php if ($postavka_zadace == "") { ?> <input type="file" name="postavka_zadace_file" size="45"><?php } else { ?> <a href="?sta=common/attachment&zadaca=<?php echo $izabrana; ?> &tip=postavka"><img src="images/16x16/preuzmi.png" width="16" height="16" border="0"> <?php echo $postavka_zadace; ?> </a> <input type="submit" name="dugmeobrisi" value="Obriši"> <?php } ?> <br><br> <input type="submit" value=" Pošalji "> <input type="reset" value=" Poništi "> <?php if ($izabrana > 0) { ?> <input type="submit" name="brisanje" value=" Obriši "><?php } echo "<script> onemoguci_ekstenzije('');</script>"; ?> </form> <?php /* $_lv_["label:programskijezik"] = "Programski jezik"; $_lv_["label:zadataka"] = "Broj zadataka"; $_lv_["label:bodova"] = "Max. broj bodova"; $_lv_["label:attachment"] = "Slanje zadatka u formi attachmenta"; $_lv_["label:rok"] = "Rok za slanje"; $_lv_["hidden:vrijemeobjave"] = 1; print db_form("zadaca");*/ // Formular za masovni unos zadaća $format = intval($_POST['format']); if (!$_POST['format']) { $q110 = myquery("select vrijednost from preference where korisnik={$userid} and preferenca='mass-input-format'"); if (mysql_num_rows($q110) > 0) { $format = mysql_result($q110, 0, 0); } else { //default vrijednost $format = 0; } } $separator = intval($_POST['separator']); if (!$_POST['separator']) { $q120 = myquery("select vrijednost from preference where korisnik={$userid} and preferenca='mass-input-separator'"); if (mysql_num_rows($q120) > 0) { $separator = mysql_result($q120, 0, 0); } else { //default vrijednost $separator = 0; } } $q130 = myquery("select count(*) from zadaca where predmet={$predmet} and akademska_godina={$ag}"); if (mysql_result($q130, 0, 0) > 0) { ?> <p><hr/></p> <p><b>Masovni unos zadaća</b><br/> <?php print genform("POST"); if (strlen($_POST['nazad']) > 1) { $izabrana = $_POST['_lv_column_zadaca']; } else { $izabrana = -1; } ?> <input type="hidden" name="fakatradi" value="0"> <input type="hidden" name="akcija" value="massinput"> <input type="hidden" name="nazad" value=""> <input type="hidden" name="brpodataka" value="1"> <input type="hidden" name="duplikati" value="0"> Izaberite zadaću: <?php echo db_dropdown("zadaca", $izabrana); ?> Izaberite zadatak: <select name="zadatak"><?php $q112 = myquery("select zadataka from zadaca where predmet={$predmet} and akademska_godina={$ag} order by zadataka desc limit 1"); for ($i = 1; $i <= mysql_result($q112, 0, 0); $i++) { print "<option value=\"{$i}\">{$i}</option>\n"; } ?> </select><br/><br/> <textarea name="massinput" cols="50" rows="10"><?php if (strlen($_POST['nazad']) > 1) { print $_POST['massinput']; } ?> </textarea><br/> <br/>Format imena i prezimena: <select name="format" class="default"> <option value="0" <?php if ($format == 0) { print "SELECTED"; } ?> >Prezime[TAB]Ime</option> <option value="1" <?php if ($format == 1) { print "SELECTED"; } ?> >Ime[TAB]Prezime</option> <option value="2" <?php if ($format == 2) { print "SELECTED"; } ?> >Prezime Ime</option> <option value="3" <?php if ($format == 3) { print "SELECTED"; } ?> >Ime Prezime</option></select> Separator: <select name="separator" class="default"> <option value="0" <?php if ($separator == 0) { print "SELECTED"; } ?> >Tab</option> <option value="1" <?php if ($separator == 1) { print "SELECTED"; } ?> >Zarez</option></select><br/><br/> <input type="submit" value=" Dodaj "> </form></p> <?php } else { ?> <p><hr/></p> <p><b>Masovni unos zadaća NIJE MOGUĆ</b><br/> Najprije kreirajte zadaću koristeći formular iznad</p> <?php } /* // IMPORT ZADAĆA IZ MOODLA //Prikupljanje id-a moodle predmeta iz zamger baze radi poredjenja $q200 = myquery("SELECT moodle_id FROM moodle_predmet_id WHERE predmet='$predmet'"); if ($conf_moodle && mysql_num_rows($q200)>0) { $id_predmeta_value = mysql_result($q200,0,0); // Ima li zadaća u Moodlu? $moodle_con = $__lv_connection; if (!$conf_moodle_reuse_connection) { // Pravimo novu konekciju za moodle, kod iz dbconnect2() u libvedran if (!($moodle_con = mysql_connect($conf_moodle_dbhost, $conf_moodle_dbuser, $conf_moodle_dbpass))) { biguglyerror(mysql_error()); exit; } if (!mysql_select_db($conf_moodle_db, $moodle_con)) { biguglyerror(mysql_error()); exit; } if ($conf_use_mysql_utf8) { mysql_set_charset("utf8",$moodle_con); } } $q300 = mysql_query("SELECT itemname FROM $conf_moodle_db.$conf_moodle_prefix"."grade_items WHERE itemmodule='assignment' AND itemtype='mod'", $moodle_con) or die ("Greska u upitu 300: " .mysql_error()); // Ako nema, ne ispisujemo ništa if (mysql_num_rows($q300)<1) return; $za_value = mysql_fetch_array($q300); print genform("POST"); ?> <p><hr/></p> <h4>Import svih zadaća iz Moodle-a</h4> <p>Klikom na import importuju se sve zadaće za sve studente</p> <p><br/><b>Napomena:</b> Sve zadaće moraju imati ista imena kao u Moodle-u!</p> <input type="hidden" name="akcija" value="import_svih"> <? //Import svih zadaca if ($_POST['akcija'] == "import_svih" && check_csrf_token()) { //Prikupljanje imena zadaca iz Zamger baze $q210 = myquery("SELECT naziv FROM zadaca WHERE predmet='$predmet' AND akademska_godina='$ag'"); if (mysql_num_rows($q210)<1) { niceerror("Nema zadaća u zamgeru"); zamgerlog("predmet pp$predmet ne sadrzi niti jednu zadacu u zamgeru",3); return; } while ($r210 = mysql_fetch_array($q210)) { //Prikupljanje podataka iz Moodle tabele //Prikupljaju se id predmeta, ime zadace i JMBG svih studenata //Posto se pri prikupljanju zadace porede po imenu trebaju imati isti naziv u Moodle-u kao i u Zamgeru $q220 = mysql_query("SELECT c.id, gi.itemname, u.firstname, u.lastname FROM $conf_moodle_db.$conf_moodle_prefix"."grade_grades gg, $conf_moodle_db.$conf_moodle_prefix"."user u, $conf_moodle_db.$conf_moodle_prefix"."grade_items gi, $conf_moodle_db.$conf_moodle_prefix"."course c WHERE gi.itemname = '$r210[0]' AND c.id = '$id_predmeta_value' AND gg.userid=u.id AND gg.itemid=gi.id AND gi.courseid=c.id", $moodle_con) or die ("Greska u upitu 220: " .mysql_error()); if (mysql_num_rows($q220)<1) { niceerror("Nema podataka u Moodle-u"); zamgerlog("Nema podataka u Moodle-u za zadacu $r210[0]",3); return; } //Ubacivanje podataka u zamger tabelu while ($r220 = mysql_fetch_array($q220)) { //$bodovi sadrzi vrijednost zadace iz $row1 za date vrijednosti (trenutni student, trenutna zadaca i trenutni predmet) $q230 = mysql_query("SELECT gg.finalgrade FROM $conf_moodle_db.$conf_moodle_prefix"."grade_grades gg, $conf_moodle_db.$conf_moodle_prefix"."user u, $conf_moodle_db.$conf_moodle_prefix"."grade_items gi, $conf_moodle_db.$conf_moodle_prefix"."course c WHERE gi.itemname='$r220[1]' AND c.id='$r220[0]' AND u.firstname='$r220[2]' AND u.lastname='$r220[3]' AND gg.userid=u.id AND gg.itemid=gi.id AND gi.courseid=c.id", $moodle_con) or die ("Greska u upitu 230: " .mysql_error()); if (mysql_num_rows($q230)<1) { niceerror("Zadaća nema bodova u Moodle-u"); zamgerlog("Zadaca: $r210[0] nema bodova",3); return; } $bodovi_value = mysql_fetch_array($q230); //zadaca_id sadrzi id zadace trenutne vrijednosti u $row1 $q240 = myquery("SELECT z.id FROM zadaca z, moodle_predmet_id p WHERE z.naziv='$r220[1]' AND p.moodle_id='$r220[0]' AND p.predmet=z.predmet"); if (mysql_num_rows($q240)<1) { niceerror("Nema zadaća u zamgeru"); zamgerlog("Predmet $predmet ne sadrzi niti jednu zadacu u zamgeru",3); return; } $zadaca_id_value = mysql_fetch_array($q240); //$student_id vraca id studenta koji se trenutno cita iz $row1 $q250 = myquery("SELECT id FROM osoba WHERE ime='$r220[2]' AND prezime='$r220[3]'"); if (mysql_num_rows($q250)<1) { niceerror("Student ne postoji zamgeru"); zamgerlog("Student $r220[2] $r220[3] ne postoji u zamgeru",3); return; } $student_id_value = mysql_fetch_array($q250); $q260 = "INSERT INTO zadatak (zadaca, redni_broj, student, status, bodova, vrijeme, userid) VALUES ('$zadaca_id_value[0]', '1', '$student_id_value[0]', '5', '$bodovi_value[0]', 'SYSDATE()', '$userid')"; myquery($q260); //upit za dobijanje komponente za zadace $q270 = myquery ("SELECT komponenta FROM zadaca WHERE id=$zadaca_id_value[0]"); if (mysql_num_rows($q270)<1) { niceerror("Nema komponente"); zamgerlog("Nema komponenti u zamgeru",3); return; } $komponenta_value = mysql_fetch_array($q270); // Treba nam ponudakursa za update komponente $q280 = myquery("SELECT sp.predmet FROM student_predmet as sp, ponudakursa as pk WHERE sp.student='$student_id_value[0]' and sp.predmet=pk.id and pk.predmet=$predmet and pk.akademska_godina='$ag'"); $pk_value = mysql_result($q280,0,0); update_komponente($student_id_value[0],$pk_value,$komponenta_value[0]); } } nicemessage("Import uspješan"); zamgerlog("zadace su importovane iz Moodle-a", 2); } ?> <table> <tr> <td><input type="submit" name="sve_zadace" value="Import"><br/></td> </tr> </table> </form> <? // Import pojedinačnih zadaća iz Moodla print genform("POST"); ?> <h4></br>Import zadaća iz Moodle-a sa advanced upload-a</h4> <input type="hidden" name="akcija" value="import_selected"> <input type="hidden" name="moodle_zadace" value="<?=$za_value?>"> <? if ($_POST['akcija'] == "import_selected" && check_csrf_token()) { $q310 = mysql_query("SELECT u.firstname, u.lastname, gi.itemname, gi.grademax FROM $conf_moodle_db.$conf_moodle_prefix"."grade_grades gg, $conf_moodle_db.$conf_moodle_prefix"."user u, $conf_moodle_db.$conf_moodle_prefix"."grade_items gi, $conf_moodle_db.$conf_moodle_prefix"."course c WHERE gi.itemmodule='assignment' AND gi.itemtype='mod' AND c.id = '$id_predmeta_value' AND gg.userid=u.id AND gg.itemid=gi.id AND gi.courseid=c.id", $moodle_con) or die ("Greska u upitu 310: " .mysql_error()); while ($r310 = mysql_fetch_array($q310)) { $q320 = mysql_query("SELECT gg.finalgrade FROM $conf_moodle_db.$conf_moodle_prefix"."grade_grades gg, $conf_moodle_db.$conf_moodle_prefix"."user u, $conf_moodle_db.$conf_moodle_prefix"."grade_items gi, $conf_moodle_db.$conf_moodle_prefix"."course c WHERE gi.itemmodule='assignment' AND c.id='$id_predmeta_value' AND u.firstname='$r310[0]' AND u.lastname='$r310[1]' AND gg.userid=u.id AND gg.itemid=gi.id AND gi.courseid=c.id", $moodle_con) or die ("Greska u upitu 320: " .mysql_error()); if (mysql_num_rows($q320)<1) { niceerror("Zadaća nema bodova u Moodle-u"); zamgerlog("Zadaca: $r310[2] nema bodova",3); return; } $bodovi_value = mysql_fetch_array($q320); $q330 = myquery ("SELECT id FROM komponenta WHERE naziv='Zadace (ETF BSc)'"); if (mysql_num_rows($q330)<1) { niceerror("Nema komponente"); zamgerlog("Nema komponenti u zamgeru",3); return; } $komponenta_value = mysql_fetch_array($q330); $q340 = myquery("SELECT z.id FROM zadaca z, moodle_predmet_id p WHERE z.naziv='$za_value' AND p.moodle_id='$id_predmeta_value' AND p.predmet=z.predmet"); if (mysql_num_rows($q340)<1) { $q350 = myquery ("INSERT INTO zadaca (naziv, predmet, akademska_godina, zadataka, bodova, rok, aktivna, programskijezik, attachment, komponenta, vrijemeobjave) VALUES ('$row1[2]', '$predmet', '$ag', 1, '$r310[3]', 'SYSDATE()', 1, 0, 0, '$komponenta_value[0]', 'SYSDATE()')"); nicemessage("Kreirana nova zadaća '$naziv'"); zamgerlog("kreirana nova zadaca z$edit_zadaca prilikom importa iz Moodla", 2); $q340 = myquery("SELECT z.id FROM zadaca z, moodle_predmet_id p WHERE z.naziv='$za_value' AND p.moodle_id='$id_predmeta_value' AND p.predmet=z.predmet"); } $zadaca_id_value = mysql_fetch_array($q340); $q360 = myquery("SELECT id FROM osoba WHERE ime='$row1[0]' AND prezime='$row1[1]'"); if (mysql_num_rows($q360)<1) { niceerror("Student ne postoji zamgeru"); zamgerlog("Student $row1[2] $row1[3] ne postoji u zamgeru",3); return; } $student_id_value = mysql_fetch_array($q360); $q370 = "INSERT INTO zadatak (zadaca, redni_broj, student, status, bodova, vrijeme, userid) VALUES ('$zadaca_id_value[0]', '1', '$student_id_value[0]', '5', '$bodovi_value[0]', 'SYSDATE()', '$userid')"; myquery($q370); $q380 = myquery("SELECT sp.predmet FROM student_predmet as sp, ponudakursa as pk WHERE sp.student='$student_id_value[0]' and sp.predmet=pk.id and pk.predmet=$predmet and pk.akademska_godina='$ag'"); $pk_value = mysql_result($q380,0,0); update_komponente($student_id_value[0],$pk_value,$komponenta_value[0]); } nicemessage("Import uspješan"); zamgerlog("Zadace su importovane iz Moodle-a", 2); } ?> <table> <tr> <td>Izaberite zadaću: <select name="moodle_zadaca"><? foreach ($za_value as $zaneki) { print "<option value=\"$zaneki\">$zaneki</option>\n"; } ?> </select></td></tr> <tr> <td><input type="submit" name="advanced_zadace" value="Import"><br/></td> </tr> </table> </form> <? // Diskonektujemo moodle if (!$conf_moodle_reuse_connection) { mysql_close($moodle_con); } }*/ }
function db_submit() { global $__lv_cn, $__lv_ct, $__lv_cs, $__lv_showcreate; global $__lv_submitted; // Prevent executing twice if ($__lv_submitted == 1) { return; } $__lv_submitted = 1; // Check if submitted data is ok (we only use POST) $action = $_POST['_lv_action']; $table = my_escape($_POST['_lv_table']); if (!$table) { return; } if ($action != "add" && $action != "edit" && $action != "delete") { return; } // This enables us to have custom names for buttons if ($_POST['_lv_action_delete']) { $action = "delete"; } // Get list of table columns __lv_parsetable($table); // Construct SQL query (later we will decide between insert and update) $sql = ""; for ($i = 0; $i < count($__lv_cn); $i++) { $name = $__lv_cn[$i]; $type = $__lv_ct[$i]; $data = $_POST["_lv_column_" . $name]; // FIXME: do not submit empty values //if ($_POST['_lv_where_'.$name]) continue; if ($type == "timestamp" && $data == "") { continue; // Do not resubmit timestamps, since they have to be updated } if ($sql != "") { $sql .= ", "; } // Dates parsing... we are splitting dates into separate fields if ($type == "date") { $d = $_POST["_lv_column_" . $name . "_day"]; $m = $_POST["_lv_column_" . $name . "_month"]; $y = $_POST["_lv_column_" . $name . "_year"]; $sql .= "{$name}='" . time2mysql(mktime(0, 0, 0, $m, $d, $y)) . "'"; } else { if ($type == "datetime") { $d = $_POST["_lv_column_" . $name . "_day"]; $m = $_POST["_lv_column_" . $name . "_month"]; $y = $_POST["_lv_column_" . $name . "_year"]; $h = $_POST["_lv_column_" . $name . "_hour"]; $mi = $_POST["_lv_column_" . $name . "_minute"]; $se = $_POST["_lv_column_" . $name . "_second"]; $sql .= "{$name}='" . time2mysql(mktime($h, $mi, $se, $m, $d, $y)) . "'"; } else { if ($data == "on" && $type == "tinyint") { $sql .= "{$name}=1"; } else { if ($type == "tinyint" || $type == "int" || $type == "smallint" || $type == "mediumint" || $type == "bigint") { $sql .= "{$name}=" . intval($data); } else { if ($type == "float" || $type == "double" || $type == "decimal") { $sql .= "{$name}=" . floatval(str_replace(",", ".", $data)); } else { $sql .= "{$name}='" . my_escape($data) . "'"; } } } } } } // Insert or update? if ($action == "add") { $sql = "insert into {$table} set {$sql}"; } else { // Generate query if ($action == "delete") { $sql = "delete from {$table} where "; } else { $sql = "update {$table} set {$sql} where "; } $n = 0; foreach ($_POST as $key => $value) { if (substr($key, 0, 10) == "_lv_where_") { if ($n > 0) { $sql .= "and "; } $sql .= my_escape(substr($key, 10)) . "='" . my_escape($value) . "'"; $n++; } } if ($n == 0) { niceerror("Ne mogu izvršiti upit jer nema nijedne WHERE vrijednosti..."); return; } } //print "submit SQL: $sql<br/>"; // Do the update myquery($sql); }
function studentska_anketa() { global $userid, $user_siteadmin, $user_studentska, $conf_site_url; global $_lv_; // Potrebno za genform() iz libvedran // Provjera privilegija if (!$user_studentska && !$user_siteadmin) { zamgerlog("nije studentska", 3); // 3: error zamgerlog2("nije studentska"); // 3: error biguglyerror("Pristup nije dozvoljen."); return; } // JavaScript ?> <script type="text/javascript"> function setVal(){ document.getElementById('tekst_novo_pitanje').value = pitanje_array[document.getElementById('pitanja').selectedIndex]; document.getElementById('tip_novo_pitanja').selectedIndex = tip_array[document.getElementById('pitanja').selectedIndex]; } var pitanje_array = new Array(); var tip_array = new Array(); var par=1; function switch_poredjenje(){ if (par==1){ document.getElementById('poredjenje_1').style.display = ''; par=0; } else { document.getElementById('poredjenje_1').style.display = 'none'; par=1; } } var help=1; function switch_izvjestaj(){ if (help==1) { document.getElementById('semestralni').style.display = ''; help=0; } else { document.getElementById('semestralni').style.display = 'none'; help=1; } } var help2=1; function switch_izvjestaj2() { if (help2==1) { document.getElementById('po_smjerovima').style.display = ''; help2=0; } else { document.getElementById('po_smjerovima').style.display = 'none'; help2=1; } } </script> <?php // Određujemo akciju $akcija = $_REQUEST['akcija']; $anketa = intval($_REQUEST['anketa']); $id = intval($_REQUEST['anketa']); // Deaktivacija ankete if ($_REQUEST['akcija'] == "deaktivacija") { $q500 = myquery("update anketa_anketa set aktivna=0 where id={$id}"); $q510 = myquery("update anketa_predmet set aktivna=0 where anketa={$id}"); zamgerlog("deaktivirana anketa {$id}", 4); // nivo 4 = audit zamgerlog2("deaktivirana anketa", $id); } // Aktivacija ankete if ($_REQUEST['akcija'] == "aktivacija") { // Prvo sve ankete postavimo na neaktivne $q520 = myquery("update anketa_anketa set aktivna=0"); $q530 = myquery("update anketa_predmet set aktivna=0 where anketa={$id}"); // ...a zatim datu postavimo kao aktivnu jer u datom trenutku samo jedna anketa može biti aktivna. // Automatski postavljamo i to da vise nije moguće editovati pitanja date ankete pošto je postala aktivna $q540 = myquery("update anketa_anketa set aktivna=1, editable=0 where id={$id}"); $q550 = myquery("update anketa_predmet set aktivna=1 where anketa={$id}"); print "<center><span style='color:#009900'>Anketa je postavljena kao aktivna!</span></center>"; zamgerlog("aktivirana anketa {$id}", 4); zamgerlog2("aktivirana anketa", $id); } // Promjena podataka o anketi if ($akcija == "podaci") { if ($_POST['subakcija'] == "potvrda" && check_csrf_token()) { $naziv = my_escape($_REQUEST['naziv']); $opis = my_escape($_REQUEST['opis']); $dan = intval($_POST['1day']); $mjesec = intval($_POST['1month']); $godina = intval($_POST['1year']); $sat = intval($_POST['sat1']); $minuta = intval($_POST['minuta1']); $sekunda = intval($_POST['sekunda1']); $dan2 = intval($_POST['2day']); $mjesec2 = intval($_POST['2month']); $godina2 = intval($_POST['2year']); $sat2 = intval($_POST['sat2']); $minuta2 = intval($_POST['minuta2']); $sekunda2 = intval($_POST['sekunda2']); if (!checkdate($mjesec, $dan, $godina)) { niceerror("Odabrani datum je nemoguć"); return 0; } if (!checkdate($mjesec2, $dan2, $godina2)) { niceerror("Odabrani datum je nemoguć"); return 0; } if ($sat < 0 || $sat > 24 || $minuta < 0 || $minuta > 60 || $sekunda < 0 || $sekunda > 60) { niceerror("Vrijeme nije dobro"); return 0; } $mysqlvrijeme1 = time2mysql(mktime($sat, $minuta, $sekunda, $mjesec, $dan, $godina)); $mysqlvrijeme2 = time2mysql(mktime($sat2, $minuta2, $sekunda2, $mjesec2, $dan2, $godina2)); $q560 = myquery("update anketa_anketa set naziv='{$naziv}', datum_otvaranja='{$mysqlvrijeme1}', datum_zatvaranja='{$mysqlvrijeme2}', opis='{$opis}' where id={$anketa}"); zamgerlog("promijenjeni podaci za anketu {$anketa}", 2); zamgerlog2("promijenjeni podaci za anketu", $anketa); ?> <script language="JavaScript"> location.href='?sta=studentska/anketa&anketa=<?php echo $anketa; ?> &akcija=edit'; </script> <?php return; } print "<a href='?sta=studentska/anketa&akcija=edit&anketa={$anketa}'>Povratak nazad</a>"; $q580 = myquery("select id,UNIX_TIMESTAMP(datum_otvaranja),UNIX_TIMESTAMP(datum_zatvaranja),naziv,opis from anketa_anketa where id={$id}"); $datum_otvaranja = mysql_result($q580, 0, 1); $datum_zatvaranja = mysql_result($q580, 0, 2); $naziv = mysql_result($q580, 0, 3); ?> <center> <h2> <?php echo $naziv; ?> - izmjena podataka </h2> <?php $odan = date('d', $datum_otvaranja); $omjesec = date('m', $datum_otvaranja); $ogodina = date('Y', $datum_otvaranja); $osat = date('H', $datum_otvaranja); $ominuta = date('i', $datum_otvaranja); $osekunda = date('s', $datum_otvaranja); $zdan = date('d', $datum_zatvaranja); $zmjesec = date('m', $datum_zatvaranja); $zgodina = date('Y', $datum_zatvaranja); $zsat = date('H', $datum_zatvaranja); $zminuta = date('i', $datum_zatvaranja); $zsekunda = date('s', $datum_zatvaranja); ?> <?php echo genform("POST"); ?> <input type="hidden" name="subakcija" value="potvrda"> <table border="0" width="600"> <tr> <td valign="top" align="right" > Naziv: </td> <td valign="top"> <b><input type="text" name="naziv" value="<?php echo $naziv; ?> " class="default"></b><br/> </td> </tr> <tr> <td valign="top" align="right"> Datum otvaranja: </td> <td valign="top"> <b> <?php echo datectrl($odan, $omjesec, $ogodina, "1"); ?> <input type="text" name="sat1" size="1" value="<?php echo $osat; ?> "> <b>:</b> <input type="text" name="minuta1" size="1" value="<?php echo $ominuta; ?> "> <b>:</b> <input type="text" name="sekunda1" size="1" value="<?php echo $osekunda; ?> "> <br></b><br/> </td> </tr> <tr> <td valign="top" align="right"> Datum zatvaranja: </td> <td valign="top"> <b><b><?php echo datectrl($zdan, $zmjesec, $zgodina, "2"); ?> <input type="text" name="sat2" size="1" value="<?php echo $zsat; ?> "> <b>:</b> <input type="text" name="minuta2" size="1" value="<?php echo $zminuta; ?> "> <b>:</b> <input type="text" name="sekunda2" size="1" value="<?php echo $zsekunda; ?> "> <br></b><br/> </td> </tr> <tr> <td valign="top" align="right"> Opis: </td> <td valign="top"> <b><b><textarea name="opis" cols="50" rows="15" class="default"><?php echo mysql_result($q580, 0, 4); ?> </textarea></b><br/> </td> </tr> </table> <p> <input type="Submit" value=" Izmijeni "></form> </p> </center> <?php } else { if ($_POST['akcija'] == "novi" && check_csrf_token()) { // TODO dodati provjeru naziva $ak_godina = intval($_POST['akademska_godina']); $naziv = my_escape(substr($_POST['naziv'], 0, 100)); $prethodna_anketa = intval($_POST['prethodna_anketa']); print "Nova anketa je kreirana. Molimo sačekajte.<br/><br/>"; $q393 = myquery("insert into anketa_anketa set naziv='{$naziv}', datum_otvaranja=NOW(), datum_zatvaranja=NOW(), opis='', aktivna=0, editable=1, akademska_godina={$ak_godina}"); $anketa = mysql_insert_id(); $r394 = myquery("insert into anketa_predmet set anketa={$anketa}, predmet=NULL, akademska_godina={$ak_godina}, aktivna=0"); // FIXME Ovim je kreirana anketa za sve predmete... zamgerlog("kreirana nova anketa '{$naziv}' sa id-om {$anketa}", 4); zamgerlog2("kreirana nova anketa", $anketa); // Da li ćemo prekopirati pitanja od prošlogodišnje ankete ? if ($prethodna_anketa != 0) { // Ubaci pitanja od izabrane ankete za ponavljanje $q377 = myquery("insert into anketa_pitanje (anketa,tip_pitanja,tekst) select {$anketa},tip_pitanja,tekst from anketa_pitanje where anketa={$prethodna_anketa}"); } ?> <script language="JavaScript"> location.href='<?php echo genuri(); ?> &akcija=edit&anketa=<?php echo $anketa; ?> '; </script> <?php } else { if ($_REQUEST['akcija'] == "edit") { print "<a href='?sta=studentska/anketa'>Povratak nazad</a>"; // Subakcija koja se izvrsava kada se edituje neko od pitanja if ($_POST['subakcija'] == "edit_pitanje" && check_csrf_token()) { $pitanje = intval($_REQUEST['column_id']); if (isset($_REQUEST['obrisi'])) { $q800 = myquery("delete from anketa_pitanje where id={$pitanje}"); print " <center> <span style='color:#009900'> Pitanje uspješno obrisano! </span> </center>"; zamgerlog("obrisano pitanje na anketi {$anketa}", 2); zamgerlog2("obrisano pitanje na anketi", $anketa); } else { $tekst_pitanja = $_REQUEST['tekst_pitanja']; $tip_pitanja = $_REQUEST['tip_pitanja']; $q810 = myquery("update anketa_pitanje set tip_pitanja={$tip_pitanja}, tekst='{$tekst_pitanja}' where id={$pitanje}"); print " <center> <span style='color:#009900'> Pitanje uspješno izmjenjeno! </span> </center>"; zamgerlog("izmijenjeno pitanje na anketi {$anketa}", 2); zamgerlog2("izmijenjeno pitanje na anketi", $anketa); } } // subakcija koja se izvrsava kada se dodaje novo pitanje if ($_POST['subakcija'] == "novo_pitanje" && check_csrf_token()) { $tekst_pitanja = my_escape($_REQUEST['tekst_novo_pitanje']); $tip_pitanja = intval($_REQUEST['tip_novo_pitanja']); $q891 = myquery("select id from anketa_pitanje ORDER BY id desc limit 1"); $id_pitanja = mysql_result($q891, 0, 0) + 1; $q800 = myquery("insert into anketa_pitanje (anketa,tip_pitanja,tekst) values ({$anketa},{$tip_pitanja},'{$tekst_pitanja}')"); print " <center> <span style='color:#009900'> Pitanje uspješno dodano! </span> </center>"; zamgerlog("dodano pitanje na anketi {$anketa}", 2); zamgerlog2("dodano pitanje na anketi", $anketa); } // Osnovni podaci $id_ankete = intval($_REQUEST['anketa']); $q201 = myquery("select datum_otvaranja,datum_zatvaranja,naziv,opis,editable,akademska_godina from anketa_anketa where id={$id_ankete}"); $datum_otvaranja = mysql_result($q201, 0, 0); $datum_zatvaranja = mysql_result($q201, 0, 1); $naziv = mysql_result($q201, 0, 2); $opis = mysql_result($q201, 0, 3); $editable = mysql_result($q201, 0, 4); $ak_godina_ankete = mysql_result($q201, 0, 5); // broj pitanja $q203 = myquery("SELECT count(*) FROM anketa_pitanje WHERE anketa={$id_ankete}"); $broj_pitanja = mysql_result($q203, 0, 0); //kupimo pitanja $q202 = myquery("SELECT p.id, p.tekst,t.tip FROM anketa_pitanje p,anketa_tip_pitanja t WHERE p.tip_pitanja = t.id and p.anketa = {$id_ankete} order by p.id"); // id aktelne akademske godine $q010 = myquery("select id,naziv from akademska_godina where aktuelna=1"); $aktuelna_ak_god = mysql_result($q010, 0, 0); $q125 = myquery("select naziv from akademska_godina where id={$ak_godina_ankete}"); $naziv_ak_godina_ankete = mysql_result($q125, 0, 0); ?> <center> <table border="0" width="600" > <tr> <td valign="top" colspan="2" align="center"> <h2><?php echo $naziv; ?> za godinu <?php echo $naziv_ak_godina_ankete; ?> </h2> </td> </tr> <?php if ($ak_godina_ankete == $aktuelna_ak_god) { ?> <tr> <td valign="top" align="right" > Naziv: </td> <td valign="top"> <b><?php echo $naziv; ?> </b><br/> </td> </tr> <tr> <td valign="top" align="right"> Datum otvaranja: </td> <td valign="top"> <b><?php echo $datum_otvaranja; ?> </b><br/> </td> </tr> <tr> <td valign="top" align="right"> Datum zatvaranja: </td> <td valign="top"> <b><?php echo $datum_zatvaranja; ?> </b><br/> </td> </tr> <tr> <td valign="top" align="right"> Opis: </td> <td valign="top"> <b><?php echo $opis; ?> </b><br/></td> </tr> <tr> <td valign="top" align="right"> </td> <td valign="top"> <br /> <a href="?sta=izvjestaj/anketa_sumarno&anketa=<?php echo $id_ankete; ?> ">Sumarni izvještaj za anketu</a><br/></td> </tr> <tr> <td valign="top" colspan="2" align="center"> <hr/></td> </tr> <tr> <td valign="top" colspan="2" align="center"> <?php echo genform("POST"); ?> <input type="hidden" name="akcija" value="podaci"> <input type="button" value=" Pregled " onclick="javascript:window.open('<?php echo $conf_site_url; ?> /index.php?sta=public/anketa&akcija=preview&anketa=<?php echo $id_ankete; ?> ');"> <input type="Submit" value=" Izmijeni "></form> </td> </tr> </table> <?php } else { print "</table>"; } // podaci o pitanjima koja pripadaju toj anketi function dropdown_anketa($tip) { $q283 = myquery("SELECT id, tip from anketa_tip_pitanja"); if ($tip == 1) { $lista = "<select id='tip_novo_pitanja' name='tip_novo_pitanja'>"; } else { $lista = "<select name='tip_pitanja'>"; } while ($r283 = mysql_fetch_row($q283)) { $lista .= "<option value='{$r283['0']}'"; if ($r283[1] == $tip) { $lista .= " selected"; } $lista .= ">{$r283['1']}</option>"; } $lista .= "</select>"; return $lista; } ?> <br/> <table width="800" border="0"> <tr bgcolor='#00AAFF'> <td><strong>Tekst pitanja</strong></td> <td><strong>Tip pitanja</strong></td> <?php // Da li se mogu dodavati nova pitanja ili mijenjati postojeća if ($editable == 0) { print "</tr>"; $i = 1; while ($r202 = mysql_fetch_row($q202)) { ?> <tr> <td colspan='2'><hr/></td> </tr> <tr <?php if ($i % 2 == 0) { print "bgcolor=\"#EEEEEE\""; } ?> > <td><?php echo $i; ?> . <?php echo $r202[1]; ?> </td> <td width='150'><?php echo $r202[2]; ?> </td> </tr> <?php $i++; } } else { print "<td> </td></tr>"; $i = 1; while ($r202 = mysql_fetch_row($q202)) { print genform("POST"); ?> <tr> <td colspan='3'> <hr/> </td> </tr> <input type='hidden' name='subakcija' value='edit_pitanje'> <tr <?php if ($i % 2 == 0) { print "bgcolor=\"#EEEEEE\""; } ?> > <input type='hidden' name='column_id' value='<?php echo $r202[0]; ?> '> <td><input name ='tekst_pitanja' size='100' value='<?php echo $r202[1]; ?> '/> </td> <td><?php echo dropdown_anketa($r202[2]); ?> </td> <td><input type='submit' value='Pošalji '><input type='submit' name='obrisi' value=' Obriši '></td> </tr> </form> <?php $i++; } $q284 = myquery("SELECT id, tekst, tip_pitanja FROM anketa_pitanje"); $lista_pitanja = "<select id = 'pitanja' name='pitanja' onChange=\"javascript:setVal();\">"; $Counter = 0; /* while ($r283=mysql_fetch_row($q284)) { $lista_pitanja.="<option value='$r283[0]'>$r283[1]</option>"; $lista_pitanja.="<script>pitanje_array[$Counter]='$r283[1]'; tip_array[$Counter]=$r283[2]-1; </script>"; $Counter++; }*/ $lista_pitanja .= "</select>"; ?> <tr><td colspan='3'><hr/><br> </td> </tr> <tr><td colspan='3'>Dodajte novo pitanje: </td> </tr> <tr><td colspan='3'>Odaberite postojeće pitanje za izmjenu: </td> </tr> <tr><td colspan='3'><?php echo $lista_pitanja; ?> </td> </tr> <tr><td colspan='3'>Novo pitanje: </td> </tr> <form name='' action="<?php echo genuri(); ?> &akcija=edit&anketa=<?php echo $anketa; ?> " method='POST'> <input type='hidden' name='subakcija' value='novo_pitanje'> <tr > <td>Tekst: <input name='tekst_novo_pitanje' id = 'tekst_novo_pitanje' size='100' /> </td> <td> Tip: <?php echo dropdown_anketa(1); ?> </td> <td><input type='submit' value=' Dodaj '><input type='reset' value='Poništi'></td> </tr> </form> <?php } print "</table>"; ?> </center> <?php } else { $q10 = myquery("select id,naziv from akademska_godina where aktuelna=1"); $ag = mysql_result($q10, 0, 0); ?> <center> <table width="600" border="0"> <tr><td align="left"> <p><h3>Studentska služba - Anketa</h3></p> <div class="anketa_naslov"> <p><h4>Aktuelna akademska godina</h4></p> </div> <?php // Gledamo da li je za ovu akademsku godinu kreirana ijedna anketa $q199 = myquery("select id,naziv,opis,aktivna from anketa_anketa where akademska_godina={$ag}"); if (mysql_num_rows($q199) == 0) { print "Za ovu akademsku godinu nije kreirana nijedna anketa"; } else { ?> <table width="100%" border="0"><?php while ($anketa_row = mysql_fetch_row($q199)) { ?> <tr><td width='50%'><?php echo $anketa_row[1]; ?> </td> <td><?php if ($anketa_row[3] == 0) { print "<a href='" . genuri() . "&akcija=aktivacija&anketa={$anketa_row['0']}'>Aktiviraj</a>"; } else { print "<a href='" . genuri() . "&akcija=deaktivacija&anketa={$anketa_row['0']}'>Deaktiviraj</a>"; } ?> </td> <td><a href="<?php echo genuri(); ?> &akcija=edit&anketa=<?php echo $anketa_row[0]; ?> ">Detalji</a></td></tr> <?php } print "</table>"; } // Forma za kreiranje ankete // Spisak anketa od prošlih godina, radi ponavljanja pitanja $q199b = myquery("select a.id, a.naziv, ak.naziv from anketa_anketa a, akademska_godina ak where a.akademska_godina = ak.id order by a.akademska_godina desc"); ?> <hr> <?php echo genform("POST"); ?> <input type="hidden" name="akcija" value="novi"> <input type="hidden" name="akademska_godina" value="<?php echo $ag; ?> "> <p><br><b>Nova anketa</b><br/><br/> Naziv ankete:<br/> <input type="text" name="naziv" size="50"> <input type="submit" value=" Dodaj "> <br />Ponovi pitanja od: <select title="Ponovi pitanja od" name="prethodna_anketa" id="prethodna_anketa"> <option value='0'> Bez ponavljanja </option> <?php while ($r199b = mysql_fetch_row($q199b)) { print "<option value='{$r199b['0']}'> {$r199b['1']} ({$r199b['2']})</option>"; } ?> </select> </form> <?php // Spisak anketa u prethodnim akademskim godinama ?> <hr /> <div class="anketa_naslov"> <p><h4>Prethodne akademske godine</h4></p> </div> <?php $q200 = myquery("select a.id, a.datum_otvaranja, a.datum_zatvaranja, a.naziv, a.opis, a.aktivna, ak.naziv from anketa_anketa a, akademska_godina ak where a.akademska_godina = ak.id and akademska_godina!={$ag}"); print '<table width="100%" border="0">'; if (mysql_num_rows($q200) == 0) { ?> <tr><td>Prethodnih akademskih godina nije bila definisana nijedna anketa</td></tr><?php } else { while ($r200 = mysql_fetch_row($q200)) { ?> <tr> <td width="50%"><?php echo $r200[3]; ?> (<?php echo $r200[6]; ?> )</td> <td><a href="<?php echo genuri(); ?> &akcija=edit&anketa=<?php echo $r200[0]; ?> ">Detalji</a></td> </tr> <?php } } ?> </table> <!-- ------------------------------- REZULTATI --------------------------------------------------> <hr /> <div class="anketa_naslov"> <p><h4>Rezultati ankete </h4></p> </div> <a onclick="switch_poredjenje()" style="cursor:pointer">Sumarni izvještaji</a> <div id="poredjenje_1" style="display:none" class="izvjestaji"> <ul> <li> <a onclick="switch_izvjestaj()" style="cursor:pointer"> Semestralni izvještaj </a> </li> <div id="semestralni" style="display:none"> <form method="GET" action="index.php"> <input type="hidden" name="sta" value="izvjestaj/anketa_semestralni"> <table width="450" align="center"> <tr> <td width="200">Odaberite akademsku godinu:</td> <td> <select name="akademska_godina"> <?php $q295 = myquery("select id,naziv, aktuelna from akademska_godina order by naziv"); while ($r295 = mysql_fetch_row($q295)) { ?> <option value="<?php echo $r295[0]; ?> "<?php if ($r295[0] == $ag) { print " selected"; } ?> ><?php echo $r295[1]; ?> </option> <?php } ?> </select><br/> </td> </tr> <tr> <td>Odaberite studij:</td> <td> <select name="studij" id="studij"> <option value="-1">--- Prva godina studija ---</option> <?php $q295 = myquery("select s.id, s.naziv, ts.trajanje from studij as s, tipstudija as ts where s.tipstudija=ts.id and s.moguc_upis=1 order by s.tipstudija, s.naziv"); $maxsemestara = 0; while ($r295 = mysql_fetch_row($q295)) { ?> <option value="<?php echo $r295[0]; ?> "><?php echo $r295[1]; ?> </option> <?php if ($r295[2] > $maxsemestara) { $maxsemestara = $r295[2]; } } ?> </select><br/> </td> </tr> <tr> <td> Odaberite semestar:</td> <td> <div id="pgs"> <select name="semestar" id="semestar"> <?php for ($sem = 1; $sem <= $maxsemestara; $sem++) { ?> <option value="<?php echo $sem; ?> "> <?php echo $sem; ?> </option> <?php } ?> </select> </div> </td> </tr> <tr> <td colspan="2"> <input type="hidden" name="akcija" value="semestralni"> <input size="100px" type="submit" value="Kreiraj izvještaj"> </td> </tr> </table> </form> </div> <li> <a onclick="switch_izvjestaj2()" style="cursor:pointer"> Izvještaj po smjerovima</a> </li> <div id="po_smjerovima" style="display:none"> <form method="post" action="?sta=izvjestaj/anketa_semestralni"> <table width="450" align="center" > <tr> <td width="200"> Odaberite akademsku godinu: </td> <td align="left"> <select name="akademska_godina"> <?php $q295 = myquery("select id,naziv, aktuelna from akademska_godina order by naziv"); while ($r295 = mysql_fetch_row($q295)) { ?> <option value="<?php echo $r295[0]; ?> "<?php if ($r295[0] == $ag) { print " selected"; } ?> ><?php echo $r295[1]; ?> </option> <?php } ?> </select><br/> </td> </tr> <tr> <td>Odaberite semestar:</td> <td> <div id="semestar"> <select name="semestar" id="semestar"> <option value="1"> Zimski</option> <option value="2"> Ljetni</option> <option value="3"> Cijela godina </option> </select> </div> </td> </tr> <tr> <td colspan="2"> <input type="hidden" name="akcija" value="po_smjerovima"> <input size="100px" type="submit" value="Kreiraj izvjestaj"> </td> </tr> </table> </form> </div> </ul> </div> <hr /> <?php $src = my_escape($_REQUEST["search"]); $limit = 20; $offset = intval($_REQUEST["offset"]); $ak_god = intval($_REQUEST["akademska_godina"]); if ($ak_god == 0) { $q299 = myquery("select id from akademska_godina where aktuelna=1 order by naziv desc limit 1"); $ak_god = mysql_result($q299, 0, 0); } ?> <table width="100%" border="0"> <tr> <td align="left"> <p>Pregled izvjestaja po predmetu :<br/> <small>Za prikaz svih predmeta na akademskoj godini, ostavite polje za pretragu prazno.</small> </br> <?php echo genform("GET"); ?> <input type="hidden" name="offset" value="0"> <?php /*resetujem offset*/ ?> <select name="akademska_godina"> <option value="-1">Sve akademske godine</option> <?php $q295 = myquery("select id,naziv, aktuelna from akademska_godina order by naziv"); while ($r295 = mysql_fetch_row($q295)) { ?> <option value="<?php echo $r295[0]; ?> "<?php if ($r295[0] == $ak_god) { print " selected"; } ?> ><?php echo $r295[1]; ?> </option> <?php } ?> </select><br/> <input type="text" size="50" name="search" value="<?php if ($src != "") { print $src; } ?> "> <input type="Submit" value=" Pretrazi "> </form> <br/> <?php if ($ak_god > 0 && $src != "") { $q300 = myquery("select count( distinct predmet) from ponudakursa as pk, predmet as p where pk.akademska_godina={$ak_god} and \r\n\t\t\t\t\t\tp.naziv like '%{$src}%' and pk.predmet=p.id "); } else { if ($ak_god > 0) { $q300 = myquery("select count(distinct predmet) from ponudakursa where akademska_godina={$ak_god}"); } else { if ($src != "") { $q300 = myquery("select sum(br) from (select count(distinct predmet) as br from ponudakursa as pk, predmet as p where pk.predmet=p.id and p.naziv like \r\n\t\t\t\t\t\t'%{$src}%' GROUP BY pk.akademska_godina) as tb1"); } else { $q300 = myquery("select sum(br) from (select count(distinct predmet) as br from ponudakursa GROUP BY akademska_godina ) as tb1"); } } } $rezultata = mysql_result($q300, 0, 0); if ($rezultata == 0) { print "Nema rezultata!"; } else { if ($rezultata > $limit) { print "Prikazujem rezultate " . ($offset + 1) . "-" . ($offset + 20) . " od {$rezultata}. Stranica: "; for ($i = 0; $i < $rezultata; $i += $limit) { $br = intval($i / $limit) + 1; if ($i == $offset) { print "<b>{$br}</b> "; } else { print "<a href=\"?sta=studentska/anketa&offset={$i}&_lv_column_akademska_godina={$ak_god}\">{$br}</a> "; } } print "<br/>"; } if ($ak_god > 0 && $src != "") { $q301 = myquery("select p.id, p.naziv, ag.naziv, i.kratki_naziv, ag.id from predmet as p, ponudakursa as pk, akademska_godina as ag, institucija as i where pk.akademska_godina=ag.id and ag.id={$ak_god} and p.naziv like '%{$src}%' and pk.predmet=p.id and p.institucija=i.id GROUP BY p.id, ag.id order by ag.naziv desc, p.naziv limit {$offset},{$limit}"); } else { if ($ak_god > 0) { $q301 = myquery("select p.id, p.naziv, ag.naziv, i.kratki_naziv, ag.id from predmet as p, ponudakursa as pk, akademska_godina as ag, institucija as i where pk.akademska_godina=ag.id and ag.id={$ak_god} and pk.predmet=p.id and p.institucija=i.id GROUP BY p.id, ag.id order by ag.naziv desc, p.naziv limit {$offset},{$limit}"); } else { if ($src != "") { $q301 = myquery("select p.id, p.naziv, ag.naziv, i.kratki_naziv, ag.id from predmet as p, ponudakursa as pk, akademska_godina as ag, institucija as i where pk.akademska_godina=ag.id and p.naziv like '%{$src}%' and pk.predmet=p.id and p.institucija=i.id GROUP BY p.id, ag.id order by ag.naziv desc, p.naziv limit {$offset},{$limit}"); } else { $q301 = myquery("select p.id, p.naziv, ag.naziv, i.kratki_naziv, ag.id from predmet as p, ponudakursa as pk, akademska_godina as ag, institucija as i where pk.akademska_godina=ag.id and pk.predmet=p.id and p.institucija=i.id GROUP BY p.id, ag.id order by ag.naziv desc,p.naziv limit {$offset},{$limit}"); } } } print '<table width="100%" border="0">'; $i = $offset + 1; while ($r301 = mysql_fetch_row($q301)) { if ($ak_god > 0) { if ($r301[5] == 1 || $r301[5] == 2) { print "<tr><td>{$i}. {$r301['1']} (PGS)</td>\n"; } else { print "<tr><td>{$i}. {$r301['1']} ({$r301['3']})</td>\n"; } } else { if ($r301[5] == 1 || $r301[5] == 2) { print "<tr><td>{$i}. {$r301['1']} (PGS) - {$r301['2']}</td>\n"; } else { print "<tr><td>{$i}. {$r301['1']} ({$r301['3']}) - {$r301['2']}</td>\n"; } } print "<td align='right'><a href= '?sta=izvjestaj/anketa&predmet={$r301['0']}&ag={$r301['4']}&rank=da'>Izvjestaj rank</a></td>\n"; print "<td align='right' ><a href='?sta=izvjestaj/anketa&predmet={$r301['0']}&ag={$r301['4']}&komentar=da'>Izvjestaj komentari</a></td>\n"; $i++; } print "</table>"; } ?> <br/> </table> </td> </tr> </table> </center> <?php } } } }