function student_kviz() { global $userid; // Akcije if ($_REQUEST['akcija'] == "slanje") { akcijaslanje(); } // Poslani parametri $predmet = intval($_REQUEST['predmet']); $ag = intval($_REQUEST['ag']); $q10 = myquery("select naziv from predmet where id={$predmet}"); if (mysql_num_rows($q10) < 1) { zamgerlog("nepoznat predmet {$predmet}", 3); // nivo 3: greska zamgerlog2("nepoznat predmet", $predmet); // nivo 3: greska biguglyerror("Nepoznat predmet"); return; } $q15 = myquery("select naziv from akademska_godina where id={$ag}"); if (mysql_num_rows($q10) < 1) { zamgerlog("nepoznata akademska godina {$ag}", 3); // nivo 3: greska zamgerlog2("nepoznata akademska godina", $ag); // nivo 3: greska biguglyerror("Nepoznata akademska godina"); return; } // Da li student slusa predmet? $q17 = myquery("select sp.predmet from student_predmet as sp, ponudakursa as pk where sp.student={$userid} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag}"); if (mysql_num_rows($q17) < 1) { zamgerlog("student ne slusa predmet pp{$predmet}", 3); zamgerlog2("student ne slusa predmet", $predmet, $ag); biguglyerror("Niste upisani na ovaj predmet"); return; } $ponudakursa = mysql_result($q17, 0, 0); print "<h2>Kvizovi</h2>\n"; // Spisak grupa u kojima je student $upit_labgrupa = ""; $q20 = myquery("select sl.labgrupa from labgrupa as l, student_labgrupa as sl where sl.student={$userid} and sl.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag} and l.virtualna=0"); while ($r20 = mysql_fetch_row($q20)) { $upit_labgrupa .= "or labgrupa={$r20['0']} "; } // Ima li aktivnih kvizova $q30 = myquery("select id, naziv, ip_adrese, prolaz_bodova from kviz where predmet={$predmet} and akademska_godina={$ag} and vrijeme_pocetak<=NOW() and vrijeme_kraj>=NOW() and aktivan=1 and (labgrupa=0 {$upit_labgrupa})"); if (mysql_num_rows($q30) < 1) { print "Trenutno nema aktivnih kvizova za ovaj predmet."; return; } // Spisak kvizova ?> <script language="JavaScript"> function otvoriKviz(k) { if (/*@cc_on!@*/false) { // check for Internet Explorer window.open('index.php?sta=student/popuni_kviz&kviz='+k, 'Kviz', 'fullscreen,scrollbars'); } else { var sir = screen.width; var vis = screen.height; mywindow = window.open('index.php?sta=student/popuni_kviz&kviz='+k, 'Kviz', 'status=0,toolbar=0,location=0,menubar=0,directories=0,resizable=0,scrollbars=1,width='+sir+',height='+vis); mywindow.moveTo(0,0); setTimeout('window.location.reload();', 5000); } } </script> <div id="spisak_kvizova"> <p>Trenutno su aktivni kvizovi:</p> <ul> <?php while ($r30 = mysql_fetch_row($q30)) { // Da li je ip adresa u datom rasponu if ($r30[2] != "") { $moja_ip = getip(); $ispravna = false; $blokovi = explode(",", $r30[2]); foreach ($blokovi as $blok) { if (strstr($blok, "/")) { // adresa u CIDR formatu // Npr. 192.168.0.1/24 // Preuzeto sa: http://pgregg.com/blog/2009/04/php-algorithms-determining-if-an-ip-is-within-a-specific-range.html list($baza, $maska) = explode("/", $blok); $moja_f = ip2float($moja_ip); $baza_f = ip2float($baza); $netmask_dec = bindec(str_pad('', $maska, '1') . str_pad('', 32 - $maska, '0')); $wildcard_dec = pow(2, 32 - $maska) - 1; $netmask_dec = ~$wildcard_dec; if (($moja_f & $netmask_dec) == ($baza_f & $netmask_dec)) { $ispravna = true; break; } } else { if (strstr($blok, "-")) { // Raspon sa crticom // Npr. 10.0.0.1 - 10.0.0.15 list($prva, $zadnja) = explode("-", $blok); $moja_f = ip2float($moja_ip); $prva_f = ip2float($prva); $zadnja_f = ip2float($zadnja); if ($moja_f >= $prva_f && $moja_f <= $zadnja_f) { $ispravna = true; break; } } else { // Pojedinačna adresa if ($moja_ip == $blok) { $ispravna = true; break; } } } } // if ($ispravna == false) { print "<li>{$r30['1']} - kviz je nedostupan sa vaše adrese ({$moja_ip})</li>\n"; continue; } } // Da li je student već popunjavao ovaj kviz $q40 = myquery("select dovrsen, bodova from kviz_student where student={$userid} and kviz={$r30['0']}"); if (mysql_num_rows($q40) > 0) { print "<li>{$r30['1']} - "; if (mysql_result($q40, 0, 0) == 0) { print "nedovršen</li>\n"; } else { $bodova = mysql_result($q40, 0, 1); print "završen, osvojili ste {$bodova} bodova."; if ($bodova >= $r30[3]) { // prolaz print " Čestitamo!"; } print "</li>\n"; } continue; } print "<li><a href=\"#\" onclick=\"otvoriKviz({$r30['0']});\">{$r30['1']}</a></li>\n"; } print "</ul>\n"; ?> <p>Kliknite na naziv kviza da pristupite popunjavanju kviza.</p> <br> <p><b><font color="red">VAŽNA NAPOMENA</font></b>: Kada započnete popunjavanje kviza ne smijete se prebaciti na drugi prozor! Svaki pokušaj da računar koristite za bilo šta osim popunjavanje kviza može izazvati prekid kviza bez mogućnosti kasnijeg ponovnog popunjavanja.</p> <p><a href="#" onclick="window.close();">Zatvorite ovaj prozor</a></p> </div> <!--div id="nema_js"> Za pristup kvizovima potrebno je da aktivirate JavaScript u vašem web pregledniku. </div--> <?php }
function student_zadaca() { global $userid, $conf_files_path; require "lib/autotest.php"; // Akcije if ($_REQUEST['akcija'] == "slanje") { akcijaslanje(); return; } // Poslani parametri $zadaca = intval($_REQUEST['zadaca']); $predmet = intval($_REQUEST['predmet']); $ag = intval($_REQUEST['ag']); $q10 = myquery("select naziv from predmet where id={$predmet}"); if (mysql_num_rows($q10) < 1) { zamgerlog("nepoznat predmet {$predmet}", 3); // nivo 3: greska zamgerlog2("nepoznat predmet", $predmet); biguglyerror("Nepoznat predmet"); return; } $q15 = myquery("select naziv from akademska_godina where id={$ag}"); if (mysql_num_rows($q10) < 1) { zamgerlog("nepoznata akademska godina {$ag}", 3); // nivo 3: greska zamgerlog2("nepoznata akademska godina", $ag); // nivo 3: greska biguglyerror("Nepoznata akademska godina"); return; } // Da li student slusa predmet? $q17 = myquery("select sp.predmet from student_predmet as sp, ponudakursa as pk where sp.student={$userid} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag}"); if (mysql_num_rows($q17) < 1) { zamgerlog("student ne slusa predmet pp{$predmet}", 3); zamgerlog2("student ne slusa predmet", $predmet, $ag); biguglyerror("Niste upisani na ovaj predmet"); return; } $ponudakursa = mysql_result($q17, 0, 0); // IMA LI AKTIVNIH? // TODO: provjeriti da li je aktivan modul... $q10 = myquery("select count(*) from zadaca where predmet={$predmet} and akademska_godina={$ag} and aktivna=1"); if (mysql_result($q10, 0, 0) == 0) { zamgerlog("nijedna zadaća nije aktivna, predmet pp{$predmet}", 3); zamgerlog2("nijedna zadaca nije aktivna", $predmet); niceerror("Nijedna zadaća nije aktivna"); return; } // ODREĐIVANJE ID ZADAĆE // Da li neko pokušava da spoofa zadaću? if ($zadaca != 0) { $q20 = myquery("SELECT count(*) FROM zadaca as z, student_predmet as sp, ponudakursa as pk\n\tWHERE sp.student={$userid} and sp.predmet=pk.id and pk.predmet=z.predmet and pk.akademska_godina=z.akademska_godina and z.id={$zadaca}"); if (mysql_result($q20, 0, 0) == 0) { zamgerlog("student nije upisan na predmet (zadaca z{$zadaca})", 3); zamgerlog2("student ne slusa predmet za zadacu", $zadaca); biguglyerror("Ova zadaća nije iz vašeg predmeta"); return; } } // Ili predmet if ($ponudakursa != 0) { $q25 = myquery("select count(*) from student_predmet where student={$userid} and predmet={$ponudakursa}"); if (mysql_result($q25, 0, 0) == 0) { zamgerlog("student nije upisan na predmet (predmet p{$ponudakursa})", 3); zamgerlog2("student ne slusa ponudukursa", $ponudakursa); biguglyerror("Niste upisani na ovaj predmet"); return; } // Odgovarajuci predmet i zadaca if ($zadaca != 0) { $q27 = myquery("select count(*) from zadaca where id={$zadaca} and predmet={$predmet} and akademska_godina={$ag}"); if (mysql_result($q27, 0, 0) == 0) { zamgerlog("zadaca i predmet ne odgovaraju (predmet p{$ponudakursa}, zadaca z{$zadaca})", 3); zamgerlog2("zadaca i ponudakursa ne odgovaraju", $ponudakursa, $zadaca); biguglyerror("Ova zadaća nije iz vašeg predmeta"); return; } } } // Nije izabrana konkretna zadaca if ($zadaca == 0) { // Zadnja zadaca na kojoj je radio/la $q30 = myquery("SELECT z.id FROM zadatak as zk, zadaca as z\n\tWHERE z.id=zk.zadaca and z.aktivna=1 and z.rok>curdate() and z.predmet={$predmet} and z.akademska_godina={$ag} and zk.student={$userid}\n\tORDER BY z.id DESC LIMIT 1"); if (mysql_num_rows($q30) > 0) { $zadaca = mysql_result($q30, 0, 0); } else { // Nije radio ni na jednoj od aktivnih zadaca$predmet_id // Daj najstariju aktivnu zadacu $q40 = myquery("select id from zadaca where predmet={$predmet} and akademska_godina={$ag} and rok>curdate() and aktivna=1 order by id limit 1"); if (mysql_num_rows($q40) > 0) { $zadaca = mysql_result($q40, 0, 0); } else { // Ako ni ovdje nema rezultata, znači da je svim // zadaćama istekao rok. Daćemo zadnju zadaću. // Da li ima aktivnih provjerili smo u $q10 $q50 = myquery("select id from zadaca where predmet={$predmet} and akademska_godina={$ag} and aktivna=1 order by id desc limit 1"); $zadaca = mysql_result($q50, 0, 0); } } } // Standardna lokacija zadaca: $lokacijazadaca = "{$conf_files_path}/zadace/{$predmet}-{$ag}/{$userid}/"; // Ove vrijednosti će nam trebati kasnije $q60 = myquery("select naziv,zadataka,UNIX_TIMESTAMP(rok),programskijezik,attachment,dozvoljene_ekstenzije from zadaca where id={$zadaca}"); $naziv = mysql_result($q60, 0, 0); $brojzad = mysql_result($q60, 0, 1); $rok = mysql_result($q60, 0, 2); $jezik = mysql_result($q60, 0, 3); $attachment = mysql_result($q60, 0, 4); $zadaca_dozvoljene_ekstenzije = mysql_result($q60, 0, 5); // ODREĐIVANJE ZADATKA // Poslani parametar: $zadatak = intval($_REQUEST['zadatak']); if ($zadatak == 0) { // Prvi neurađeni zadatak u datoj zadaći // NOTE: subquery $q70 = myquery("select zk.redni_broj from zadatak as zk where zk.student={$userid} and zk.zadaca={$zadaca} and (select count(*) from zadatak as zk2 where zk2.student={$userid} and zk2.zadaca={$zadaca} and zk2.redni_broj=zk.redni_broj)=0 order by zk.redni_broj limit 1"); if (mysql_num_rows($q70) > 0) { $zadatak = mysql_result($q70, 0, 0); } else { $zadatak = $brojzad; } } // Akcije vezane za autotest if ($_REQUEST['akcija'] == "test_detalji") { $test = intval($_REQUEST['test']); // Provjera spoofinga testa $q10 = myquery("SELECT COUNT(*) FROM autotest WHERE id={$test} AND zadaca={$zadaca} AND zadatak={$zadatak}"); if (mysql_result($q10, 0, 0) == 0) { niceerror("Odabrani test nije sa odabrane zadaće."); return; } autotest_detalji($test, $userid, false); return; } if ($_REQUEST['akcija'] == "test_sa_kodom") { if ($attachment) { niceerror("Download zadaće poslane kao attachment sa ugrađenim testnim kodom trenutno nije podržano."); return; } $test = intval($_REQUEST['test']); // Provjera spoofinga testa $q10 = myquery("SELECT COUNT(*) FROM autotest WHERE id={$test} AND zadaca={$zadaca} AND zadatak={$zadatak}"); if (mysql_result($q10, 0, 0) == 0) { niceerror("Odabrani test nije sa odabrane zadaće."); return; } $kod = autotest_sa_kodom($test, $userid, false); ?> <textarea rows="20" cols="80" name="program" wrap="off"><?php echo $kod; ?> </textarea> <?php return; } // NAVIGACIJA print "<br/><br/><center><h1>{$naziv}, Zadatak: {$zadatak}</h1></center>\n"; // Statusne ikone: $stat_icon = array("zad_bug", "zad_preg", "zad_copy", "zad_bug", "zad_preg", "zad_ok"); $stat_tekst = array("Bug u programu", "Pregled u toku", "Zadaća prepisana", "Bug u programu", "Pregled u toku", "Zadaća OK"); ?> <!-- zadace --> <center> <table cellspacing="0" cellpadding="2" border="0" id="zadace"> <thead> <tr> <?php ?> <td> </td> <?php // Zaglavlje tabele - potreban nam je max. broj zadataka u zadaci $q20 = myquery("select zadataka from zadaca where predmet={$predmet} and akademska_godina={$ag} order by zadataka desc limit 1"); $broj_zadataka = mysql_result($q20, 0, 0); for ($i = 1; $i <= $broj_zadataka; $i++) { ?> <td>Zadatak <?php echo $i; ?> .</td><?php } ?> <td>Rok za slanje</td> </tr> </thead> <tbody> <?php // Tijelo tabele // LEGENDA STATUS POLJA: // 0 - nepoznat status // 1 - nova zadaća // 2 - prepisana // 3 - ne može se kompajlirati // 4 - prošla test, predstoji kontrola // 5 - pregledana /* Ovo se sve moglo kroz SQL rijesiti, ali necu iz razloga: 1. PHP je citljiviji 2. MySQL <4.1 ne podrzava subqueries */ $bodova_sve_zadace = 0; $q21 = myquery("select id, naziv, bodova, zadataka, UNIX_TIMESTAMP(rok) from zadaca where predmet={$predmet} and akademska_godina={$ag} order by komponenta, id"); while ($r21 = mysql_fetch_row($q21)) { $m_zadaca = $r21[0]; $m_mogucih += $r21[2]; $m_maxzadataka = $r21[3]; ?> <tr> <th><?php echo $r21[1]; ?> </th> <?php for ($m_zadatak = 1; $m_zadatak <= $broj_zadataka; $m_zadatak++) { // Ako tekuća zadaća nema toliko zadataka, ispisujemo blank polje if ($m_zadatak > $m_maxzadataka) { ?> <td> </td><?php continue; } // Uzmi samo rjesenje sa zadnjim IDom $q22 = myquery("select status,bodova,komentar from zadatak where student={$userid} and zadaca={$m_zadaca} and redni_broj={$m_zadatak} order by id desc limit 1"); if ($m_zadaca == $zadaca && $m_zadatak == $zadatak) { $bgcolor = ' bgcolor="#DDDDFF"'; } else { $bgcolor = ""; } if (mysql_num_rows($q22) < 1) { ?> <td <?php echo $bgcolor; ?> ><a href="?sta=student/zadaca&predmet=<?php echo $predmet; ?> &ag=<?php echo $ag; ?> &zadaca=<?php echo $m_zadaca; ?> &zadatak=<?php echo $m_zadatak; ?> "><img src="images/16x16/zad_novi.png" width="16" height="16" border="0" align="center" title="Novi zadatak" alt="Novi zadatak"></a></td><?php } else { $status = mysql_result($q22, 0, 0); $bodova_zadatak = mysql_result($q22, 0, 1); if (strlen(mysql_result($q22, 0, 2)) > 2) { $imakomentar = "<img src=\"images/16x16/komentar.png\" width=\"15\" height=\"14\" border=\"0\" title=\"Ima komentar\" alt=\"Ima komentar\" align=\"center\">"; } else { $imakomentar = ""; } ?> <td <?php echo $bgcolor; ?> ><a href="?sta=student/zadaca&predmet=<?php echo $predmet; ?> &ag=<?php echo $ag; ?> &zadaca=<?php echo $m_zadaca; ?> &zadatak=<?php echo $m_zadatak; ?> "><img src="images/16x16/<?php echo $stat_icon[$status]; ?> .png" width="16" height="16" border="0" align="center" title="<?php echo $stat_tekst[$status]; ?> " alt="<?php echo $stat_tekst[$status]; ?> "> <?php echo $bodova_zadatak; ?> <?php echo $imakomentar; ?> </a></td> <?php } } ?> <td><?php if ($r21[4] < time()) { print "<font color=\"red\">"; } print date("d. m. Y. H:i:s", $r21[4]); if ($r21[4] < time()) { print "</font>"; } ?> </td> </tr> <?php } ?> </tbody> </table> </center> <?php // PORUKE I KOMENTARI // Upit za izvjestaj skripte i komentar tutora ?> <br/><br/> <center> <table width="600" border="0"><tr><td> <?php $q110 = myquery("select izvjestaj_skripte, komentar, userid, status, bodova from zadatak where student={$userid} and zadaca={$zadaca} and redni_broj={$zadatak} order by id desc limit 1"); if (mysql_num_rows($q110) > 0) { $poruka = mysql_result($q110, 0, 0); $komentar = mysql_result($q110, 0, 1); $tutor = mysql_result($q110, 0, 2); $status_zadace = mysql_result($q110, 0, 3); $bodova = mysql_result($q110, 0, 4); // Statusni ekran autotest_status_display($userid, $zadaca, $zadatak, false); // Vrijeme slanja - to neće biti isti slog kao onaj koji vraća $q110 jer taj je možda status koji je upisao tutor $q113 = myquery("SELECT UNIX_TIMESTAMP(vrijeme) FROM zadatak WHERE student={$userid} AND userid={$userid} AND zadaca={$zadaca} AND redni_broj={$zadatak} ORDER BY id DESC LIMIT 1"); if (mysql_num_rows($q113) > 0) { ?> <p>Zadatak poslan: <?php echo date("d.m.Y. H:i:s", mysql_result($q113, 0, 0)); ?> </p> <?php } else { ?> <p>Zadatak nije poslan (tutor upisao/la bodove)</p> <?php } // Rezultati automatskog testiranja $nalaz_autotesta = autotest_tabela($userid, $zadaca, $zadatak, false); if ($nalaz_autotesta != "") { print "<p>Rezultati testiranja:</p>\n{$nalaz_autotesta}\n"; } // Poruke i komentari tutora if (preg_match("/\\w/", $poruka)) { $poruka = str_replace("\n", "<br/>\n", $poruka); ?> <p>Poruka kod kompajliranja:<br/><b><?php echo $poruka; ?> </b></p><?php } if (preg_match("/\\w/", $komentar)) { $komentar = str_replace("\n", "<br/>\n", $komentar); // Link za odgovor na komentar $link = ""; if ($tutor > 0) { $q115 = myquery("select a.login,o.ime,o.prezime from auth as a, osoba as o where o.id={$tutor} and a.id=o.id"); $naslov = urlencode("Odgovor na komentar ({$naziv}, Zadatak {$zadatak})"); $tekst = urlencode("> {$komentar}"); $primalac = urlencode(mysql_result($q115, 0, 0) . " (" . mysql_result($q115, 0, 1) . " " . mysql_result($q115, 0, 2) . ")"); $link = " (<a href=\"?sta=common/inbox&akcija=compose&naslov={$naslov}&tekst={$tekst}&primalac={$primalac}\">odgovor</a>)"; } ?> <p>Komentar tutora: <b><?php echo $komentar; ?> </b><?php echo $link; } } // Istek roka za slanje zadace if ($rok <= time()) { print "<p><b>Vrijeme za slanje ove zadaće je isteklo.</b></p>"; // Ovo je onemogućavalo copy&paste u Firefoxu :( //$readonly = "DISABLED"; } else { $readonly = ""; } // FORMA ZA SLANJE if ($attachment) { print "</td></tr></table>\n"; // Attachment $q120 = myquery("select filename,UNIX_TIMESTAMP(vrijeme) from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$userid} order by id desc limit 1"); if (mysql_num_rows($q120) > 0) { $filename = mysql_result($q120, 0, 0); $the_file = "{$lokacijazadaca}/{$zadaca}/{$filename}"; if ($filename && file_exists("{$conf_files_path}/zadace/{$predmet}-{$ag}") && file_exists($the_file)) { // Utvrđujemo stvarno vrijeme slanja $q130 = myquery("SELECT UNIX_TIMESTAMP(vrijeme) from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$userid} and userid={$userid} order by id desc limit 1"); if (mysql_num_rows($q130) > 0) { $vrijeme = mysql_result($q130, 0, 0); } else { $vrijeme = mysql_result($q120, 0, 1); } $vrijeme = date("d. m. Y. H:i:s", $vrijeme); $velicina = nicesize(filesize($the_file)); $icon = "images/mimetypes/" . getmimeicon($the_file); $dllink = "index.php?sta=common/attachment&zadaca={$zadaca}&zadatak={$zadatak}"; ?> <center><table width="75%" border="1" cellpadding="6" cellspacing="0" bgcolor="#CCCCCC"><tr><td> <a href="<?php echo $dllink; ?> "><img src="<?php echo $icon; ?> " border="0"></a> </td><td> <p>Poslani fajl: <b><a href="<?php echo $dllink; ?> "><?php echo $filename; ?> </a></b><br/> Datum slanja: <b><?php echo $vrijeme; ?> </b><br/> Veličina: <b><?php echo $velicina; ?> </b></p> </td></tr></table></center> <?php print "<p>Ako želite promijeniti datoteku iznad, izaberite novu i kliknite na dugme za slanje:</p>"; } } else { print "<p>Izaberite datoteku koju želite poslati i kliknite na dugme za slanje."; if ($zadaca_dozvoljene_ekstenzije != "") { print " Dozvoljeni su sljedeći tipovi datoteka: <b>{$zadaca_dozvoljene_ekstenzije}</b>."; } print "</p>\n"; } ?> <form action="index.php" method="POST" enctype="multipart/form-data"> <input type="hidden" name="sta" value="student/zadaca"> <input type="hidden" name="akcija" value="slanje"> <input type="hidden" name="predmet" value="<?php echo $predmet; ?> "> <input type="hidden" name="ag" value="<?php echo $ag; ?> "> <input type="hidden" name="zadaca" value="<?php echo $zadaca; ?> "> <input type="hidden" name="zadatak" value="<?php echo $zadatak; ?> "> <input type="hidden" name="labgrupa" value="<?php echo $labgrupa; ?> "> <input type="file" name="attachment" size="50"> </center> <p> </p> <?php } else { // Forma $q130 = myquery("select ekstenzija from programskijezik where id={$jezik}"); $ekst = mysql_result($q130, 0, 0); if ($status_zadace == 2) { ?> <p>Zadaća je prepisana i ne može se ponovo poslati</p><?php } else { if ($rok > time()) { ?> <p>Kopirajte vaš zadatak u tekstualno polje ispod:</p> </td></tr></table> <?php } } // Moze li se izbaciti labgrupa ispod? ?> </td></tr></table> <center> <?php echo genform("POST"); ?> <input type="hidden" name="zadaca" value="<?php echo $zadaca; ?> "> <input type="hidden" name="zadatak" value="<?php echo $zadatak; ?> "> <input type="hidden" name="akcija" value="slanje"> <input type="hidden" name="labgrupa" value="<?php echo $labgrupa; ?> "> <textarea rows="20" cols="80" name="program" <?php echo $readonly; ?> wrap="off"><?php $the_file = "{$lokacijazadaca}{$zadaca}/{$zadatak}{$ekst}"; $tekst_zadace = ""; if (file_exists("{$conf_files_path}/zadace/{$predmet}-{$ag}") && file_exists($the_file)) { $tekst_zadace = join("", file($the_file)); } $tekst_zadace = htmlspecialchars($tekst_zadace); print $tekst_zadace; ?> </textarea> </center> <?php } ?> <center><input type="submit" value=" Pošalji zadatak! "></center> </form> <?php }