当前位置: 首页>>代码示例>>PHP>>正文


PHP zamgerlog2函数代码示例

本文整理汇总了PHP中zamgerlog2函数的典型用法代码示例。如果您正苦于以下问题:PHP zamgerlog2函数的具体用法?PHP zamgerlog2怎么用?PHP zamgerlog2使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了zamgerlog2函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: greska_u_modulima

function greska_u_modulima()
{
    global $uspjeh, $sta;
    if ($uspjeh == 0) {
        ?>
		<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
		<body>
		<p><font color='red'><b>GREŠKA: U toku su radovi na Zamgeru</b></font></p>
		<p>Molimo Vas da pokušate ponovo za par minuta koristeći dugme <a href="javascript:location.reload(true)">Refresh</a>.</p>
		</body></html>
		<?php 
    }
    if ($uspjeh == 1) {
        if (function_exists('error_get_last')) {
            $err = error_get_last();
            $file = $err['file'];
            $line = $err['line'];
            $msg = $err['message'];
            $file = substr($file, strlen($file) - 20);
            zamgerlog("sintaksna greska u {$sta}, {$line}: '{$msg}'", 2);
            zamgerlog2("sintaksna greska", $line, 0, 0, $msg);
        } else {
            $file = $sta;
            zamgerlog("sintaksna greska u {$sta}", 2);
            zamgerlog2("sintaksna greska");
            $msg = "";
        }
        niceerror("U toku su radovi na modulu {$sta}");
        print "<p>Molimo Vas da pokušate ponovo za par minuta koristeći dugme <a href=\"javascript:location.reload(true)\">Refresh</a>.</p>";
    }
}
开发者ID:msehalic,项目名称:zamger,代码行数:31,代码来源:index.php

示例2: student_moodle

function student_moodle()
{
    global $conf_moodle, $conf_moodle_url;
    if (!$conf_moodle) {
        biguglyerror("Moodle integracija nije uključena.");
        print "Kontaktirajte vašeg administratora.";
        return;
    }
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    $tip = $_REQUEST['tip'];
    $q = myquery("select moodle_id from moodle_predmet_id where predmet={$predmet} and akademska_godina={$ag}");
    if (mysql_num_rows($q) < 1) {
        zamgerlog("ne postoji moodle ID za predmet pp{$predmet}, ag{$ag}", 3);
        zamgerlog2("ne postoji moodle ID za predmet", $predmet, $ag);
        niceerror("Pogrešan predmet/akademska_godina ili za ovaj predmet nije definisan moodle ID.");
        return;
    }
    $moodle_id = mysql_result($q, 0, 0);
    if ($tip == "forum") {
        header("Location: {$conf_moodle_url}" . "mod/forum/index.php?id={$moodle_id}");
    } else {
        header("Location: {$conf_moodle_url}" . "course/view.php?id={$moodle_id}");
    }
}
开发者ID:msehalic,项目名称:zamger,代码行数:25,代码来源:moodle.php

示例3: common_slika

function common_slika()
{
    global $conf_files_path, $user_nastavnik, $user_studentska, $user_siteadmin, $userid;
    // Poslani parametar
    $osoba = intval($_REQUEST['osoba']);
    $promjena = intval($_REQUEST['promjena']);
    // Studenti mogu vidjeti samo svoju sliku
    if (!$user_nastavnik && !$user_studentska && !$user_siteadmin && $osoba != $userid) {
        niceerror("Možete vidjeti samo svoju sliku");
        zamgerlog("pristupa slici za osobu {$osoba} a student je", 3);
        zamgerlog2("pristupa tudjoj slici a student je", $osoba);
        return;
    }
    if ($promjena == 1) {
        $q = myquery("select slika from promjena_podataka where osoba={$osoba}");
    } else {
        $q = myquery("select slika from osoba where id={$osoba}");
    }
    if (mysql_num_rows($q) < 1) {
        // Ova poruka se neće vidjeti iz <img> taga, ali neko može otvoriti sliku u posebnom prozoru/tabu
        niceerror("Nepostojeća osoba {$osoba}");
        zamgerlog("slika: nepostojeca osoba {$osoba}", 3);
        zamgerlog2("nepostojeca osoba", $osoba);
        return;
    }
    $slika = mysql_result($q, 0, 0);
    if ($slika == "") {
        niceerror("Osoba {$osoba} nema sliku");
        zamgerlog("osoba u{$osoba} nema sliku", 3);
        zamgerlog2("osoba nema sliku", $osoba);
        return;
    }
    $lokacija_slike = "{$conf_files_path}/slike/{$slika}";
    if (!file_exists($lokacija_slike)) {
        niceerror("Slika za osobu {$osoba} je definisana, ali datoteka ne postoji");
        zamgerlog("nema datoteke za sliku osobe u{$osoba}", 3);
        zamgerlog2("nema datoteke za sliku", $osoba);
        return;
    }
    // Odredjujemo mimetype
    $podaci = getimagesize($lokacija_slike);
    $mimetype = image_type_to_mime_type($podaci[2]);
    if ($mimetype == "") {
        niceerror("Nepoznat tip slike za osobu {$osoba}");
        zamgerlog("nepoznat tip slike za osobu u{$osoba}", 3);
        zamgerlog2("nepoznat tip slike", $osoba);
        return;
    }
    header("Content-Type: {$mimetype}");
    $k = readfile($lokacija_slike, false);
    if ($k == false) {
        //print "Otvaranje slike nije uspjelo! Kontaktirajte administratora";
        // Pošto je header već poslan, nema smisla ispisivati grešku
        zamgerlog("citanje fajla za sliku nije uspjelo u{$osoba}", 3);
        zamgerlog2("citanje fajla za sliku nije uspjelo", $osoba);
    }
    exit;
}
开发者ID:msehalic,项目名称:zamger,代码行数:58,代码来源:slika.php

示例4: common_savjet_dana

function common_savjet_dana()
{
    global $userid;
    global $user_student, $user_nastavnik, $user_studentska, $user_siteadmin;
    if ($_REQUEST['akcija'] == "ne_prikazuj" && $_REQUEST['ne_prikazuj'] && check_csrf_token()) {
        ?>
	<h2>Da li ste znali...</h2>
	<p>Prozor "Da li ste znali..." više neće biti prikazivan.</p>
	<p>Ako ga kasnije budete željeli reaktivirati, možete to učiniti kroz vaš Profil.</p>
	<?php 
        $q20 = myquery("delete from preference where korisnik={$userid} and preferenca='savjet_dana'");
        $q30 = myquery("insert into preference set korisnik={$userid}, preferenca='savjet_dana', vrijednost=0");
        zamgerlog("iskljucio savjet dana", 2);
        zamgerlog2("iskljucio savjet dana");
        return;
    }
    if ($user_nastavnik) {
        $upit .= "vrsta_korisnika='nastavnik' or ";
    }
    if ($user_student) {
        $upit .= "vrsta_korisnika='student' or ";
    }
    if ($user_siteadmin) {
        $upit .= "vrsta_korisnika='siteadmin' or ";
    }
    if ($user_studentska) {
        $upit .= "vrsta_korisnika='studentska' or ";
    }
    $q10 = myquery("select tekst from savjet_dana where {$upit} 0 order by rand() limit 1");
    // 0 zbog zadnjeg or
    ?>
<h2>Da li ste znali...</h2>

<img src="images/savjet_dana.gif" align="left" width="92" height="150" style="margin: 0px 20px">

<?php 
    echo mysql_result($q10, 0, 0);
    ?>

<hr>

<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="akcija" value="ne_prikazuj">
<input type="checkbox" name="ne_prikazuj">
Ne prikazuj više savjet dana 
<input type="submit" value="Potvrda" class="default"> <input type="button" onclick="window.close()" value="Zatvori" class="default">
<input type="button" onclick="window.location.reload(true)" value="Novi savjet" class="default">
</form>
<?php 
}
开发者ID:msehalic,项目名称:zamger,代码行数:52,代码来源:savjet_dana.php

示例5: common_cron

function common_cron()
{
    global $conf_files_path, $user_siteadmin;
    $force = intval($_GET['force']);
    if ($force > 0) {
        if (!$user_siteadmin) {
            niceerror("Nemate dozvolu da ovo izvršite.");
            zamgerlog("forsira cron a nije admin", 3);
            zamgerlog2("forsira cron a nije admin");
            return;
        }
        $upit = "id={$force}";
    } else {
        $upit = "aktivan=1 AND sljedece_izvrsenje<NOW()";
    }
    $q10 = myquery("SELECT id, path, UNIX_TIMESTAMP(zadnje_izvrsenje), godina, mjesec, dan, sat, minuta, sekunda FROM cron WHERE {$upit}");
    if (mysql_num_rows($q10) == 0 && $force > 0) {
        niceerror("Nije pronađen zadatak koji odgovara upitu.");
        return;
    }
    while ($r10 = mysql_fetch_row($q10)) {
        // Određujemo sljedeće vrijeme izvršenja
        $localtime = localtime();
        $localtime = cron_find($localtime, 0, $r10[8]);
        $localtime = cron_find($localtime, 1, $r10[7]);
        $localtime = cron_find($localtime, 2, $r10[6]);
        $localtime = cron_find($localtime, 3, $r10[5]);
        $localtime = cron_find($localtime, 4, $r10[4]);
        $localtime = cron_find($localtime, 5, $r10[3]);
        $nexttime = mktime($localtime[2], $localtime[1], $localtime[0], $localtime[4] + 1, $localtime[3], $localtime[5] + 1900);
        // Ažuriramo bazu
        $q20 = myquery("UPDATE cron SET zadnje_izvrsenje=NOW(), sljedece_izvrsenje=FROM_UNIXTIME({$nexttime}) WHERE id={$r10['0']}");
        $q30 = myquery("INSERT INTO cron_rezultat SET cron={$r10['0']}, izlaz='(Nije završeno)', return_value=0, vrijeme=NOW()");
        $id = mysql_insert_id();
        // Pripremamo za izvršenje
        $exec = str_replace("---LASTTIME---", $r10[2], $r10[1]);
        $exec = "php {$conf_files_path}/{$exec}";
        $return = 0;
        $blah = array();
        // Izvršavamo skriptu
        $k = exec($exec, $blah, $return);
        // Stavljamo izlaz u bazu
        $izlaz = my_escape(iconv("UTF-8", "UTF-8//IGNORE", join("\n", $blah)));
        $q40 = myquery("UPDATE cron_rezultat SET return_value={$return}, izlaz='{$izlaz}' WHERE id={$id}");
        if ($force > 0) {
            nicemessage("Uspješno izvršena skripta.");
            $izlaz = str_replace("\\n", "\n", $izlaz);
            print "<p>Izlaz:</p>\n<pre>{$izlaz}</pre>\n";
        }
    }
}
开发者ID:msehalic,项目名称:zamger,代码行数:51,代码来源:cron.php

示例6: common_articleImageDownload

function common_articleImageDownload()
{
    global $userid, $user_nastavnik, $user_student, $conf_files_path, $user_siteadmin;
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    $projekat = intval($_REQUEST['projekat']);
    $articleID = intval($_REQUEST['a']);
    $authorID = intval($_REQUEST['u']);
    $imageName = $_GET['i'];
    if ($predmet <= 0 || $projekat <= 0 || $authorID <= 0 || $ag <= 0 || $articleID <= 0) {
        //hijack attempt?
        zamgerlog("korisnik u{$userid} pokusao pristupiti modulu common/articleImageDownload sa ID predmeta  ili ID projekta ili ID autora slike ili ag ili clanak koji nije integer ili je <=0", 3);
        zamgerlog2("neispravni parametri", $predmet, $ag, $projekat, "{$authorID}, {$articleID}");
        return;
    }
    if ($user_nastavnik && !$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) < 1) {
            zamgerlog("common/projektneStrane privilegije (predmet pp{$predmet})", 3);
            zamgerlog2("nije saradnik na predmetu", $predmet, $ag);
            biguglyerror("Nemate pravo ulaska u ovu grupu!");
            return;
        }
    }
    require_once "lib/projekti.php";
    if ($user_student && !$user_siteadmin) {
        $actualProject = getActualProjectForUserInPredmet($userid, $predmet, $ag);
        if ($actualProject[id] != $projekat) {
            //user is not in this project in this predmet...hijack attempt?
            zamgerlog("korisnik u{$userid} pokusao pristupiti modulu common/articleImageDownload i projektu na kojem nije prijavljen ID={$projekat} na predmetu p{$predmet}", 3);
            zamgerlog2("nije na projektu", $projekat);
            biguglyerror("Nemate pravo ulaska u ovu grupu!");
            return;
        }
    }
    $imageName = strip_tags($imageName);
    $imageName = trim($imageName);
    $article = getArticle($articleID);
    if (empty($article) || ($article['osoba'] != $authorID || $article['slika'] != $imageName || $article['projekat'] != $projekat)) {
        zamgerlog("korisnik u{$userid} pokusao pristupiti modulu common/articleImageDownload sa losim authorID, imageName, projekat ili ID clanka", 3);
        zamgerlog2("clanak se ne poklapa sa projektom", $articleID, $projekat);
        return;
    }
    $lokacijaclanaka = "{$conf_files_path}/projekti/clanci/{$projekat}/" . $article['osoba'] . "/";
    $filepath = $lokacijaclanaka . $article['slika'];
    $type = `file -bi '{$filepath}'`;
    header("Content-Type: {$type}");
    header('Content-Length: ' . filesize($filepath));
    echo file_get_contents($filepath);
}
开发者ID:msehalic,项目名称:zamger,代码行数:50,代码来源:articleImageDownload.php

示例7: nastavnik_ocjena

function nastavnik_ocjena()
{
    global $userid, $user_siteadmin;
    require "lib/manip.php";
    global $mass_rezultat;
    // za masovni unos studenata u grupe
    // Parametri
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // Naziv predmeta
    $q10 = myquery("select naziv from predmet where id={$predmet}");
    if (mysql_num_rows($q10) < 1) {
        biguglyerror("Nepoznat predmet");
        zamgerlog("ilegalan predmet {$predmet}", 3);
        //nivo 3: greska
        zamgerlog2("nepoznat predmet", $predmet);
        return;
    }
    $predmet_naziv = mysql_result($q10, 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) != "nastavnik") {
            zamgerlog("nastavnik/ispiti privilegije (predmet pp{$predmet})", 3);
            zamgerlog2("nije nastavnik na predmetu", $predmet, $ag);
            biguglyerror("Nemate pravo pristupa ovoj opciji");
            return;
        }
    }
    ?>

<p>&nbsp;</p>

<p><h3><?php 
    echo $predmet_naziv;
    ?>
 - Konačna ocjena</h3></p>

<p><a href="?sta=nastavnik/unos_ocjene&predmet=<?php 
    echo $predmet;
    ?>
&ag=<?php 
    echo $ag;
    ?>
">Pojedinačni unos konačnih ocjena</a></p>

<?php 
    # Masovni unos konačnih ocjena
    if ($_POST['akcija'] == "massinput" && strlen($_POST['nazad']) < 1 && check_csrf_token()) {
        if ($_POST['fakatradi'] != 1) {
            $ispis = 1;
        } else {
            $ispis = 0;
        }
        // fakatradi=0 --> ispis=1
        if ($_REQUEST['datum']) {
            $uneseni_datumi = true;
            $_REQUEST['brpodataka'] = 2;
        } else {
            $uneseni_datumi = false;
            $_REQUEST['brpodataka'] = 1;
        }
        if ($ispis) {
            ?>
Akcije koje će biti urađene:<br/><br/>
		<?php 
            echo genform("POST");
            ?>
		<input type="hidden" name="fakatradi" value="1">
		<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;">Ocjena / Komentar</font></td>
			<td><font style="font-family:DejaVu Sans,Verdana,Arial,sans-serif;font-size:11px;color:white;">Datum</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;
            print "Niste unijeli nijedan upotrebljiv podatak<br/><br/>\n";
            $greska = 1;
        }
        // Obrada rezultata
        $boja1 = "#EEEEEE";
        $boja2 = "#DDDDDD";
        $boja = $boja1;
        $bojae = "#FFE3DD";
        foreach ($mass_rezultat['ime'] as $student => $ime) {
            $prezime = $mass_rezultat['prezime'][$student];
            $ocjena = $mass_rezultat['podatak1'][$student];
            // Student neocijenjen (prazno mjesto za ocjenu)
            if (intval($ocjena) == 0 && strpos($ocjena, "0") === FALSE) {
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:ocjena.php

示例8: nastavnik_obavjestenja

function nastavnik_obavjestenja()
{
    global $userid, $user_siteadmin, $conf_ldap_domain;
    // Parametri
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // Naziv predmeta
    $q10 = myquery("select naziv from predmet where id={$predmet}");
    if (mysql_num_rows($q10) < 1) {
        biguglyerror("Nepoznat predmet");
        zamgerlog("ilegalan predmet {$predmet}", 3);
        //nivo 3: greska
        zamgerlog2("nepoznat predmet", $predmet);
        return;
    }
    $predmet_naziv = mysql_result($q10, 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;
        }
    }
    ?>

<p>&nbsp;</p>

<p><h3><?php 
    echo $predmet_naziv;
    ?>
 - Obavještenja za studente</h3></p>

<script language="JavaScript">
function upozorenje(obavjest) {
	var a = confirm("Želite li obrisati ovo obavještenje? Ako ste odabrali opciju Slanje maila, ne možete poništiti njen efekat!");
	if (a) {
		document.brisanjeobavjestenja.obavjestenje.value=obavjest;
		document.brisanjeobavjestenja.submit();
	}
}
</script>
<?php 
    echo genform("POST", "brisanjeobavjestenja");
    ?>
<input type="hidden" name="akcija" value="obrisi_obavjestenje">
<input type="hidden" name="obavjestenje" value=""></form>

<?php 
    // 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 - korisnik (primalac - user id)
    // Parametri
    $naslov = $tekst = "";
    $citava = intval($_REQUEST['citava']);
    $izmijeni = intval($_REQUEST['izmijeni']);
    // Brisanje obavjestenja
    if ($_POST['akcija'] == "obrisi_obavjestenje" && check_csrf_token()) {
        $obavjestenje = intval($_POST['obavjestenje']);
        // Provjera predmeta
        $q15 = myquery("select primalac, opseg from poruka where id={$obavjestenje}");
        if (mysql_num_rows($q15) < 1) {
            zamgerlog("poruka {$obavjestenje} ne postoji", 3);
            zamgerlog2("nepostojeca poruka", $obavjestenje);
            nicemessage("Pogrešan ID poruke! Poruka nije obrisana");
        } else {
            // Provjeravamo prava za brisanje
            $primalac = mysql_result($q15, 0, 0);
            $opseg = mysql_result($q15, 0, 1);
            if ($opseg == 5 && $primalac != $predmet) {
                zamgerlog("poruka {$obavjestenje} nije za predmet pp{$predmet} nego pp{$primalac}", 3);
                zamgerlog2("primalac poruke ne odgovara predmetu", $obavjestenje, $predmet, $ag);
                nicemessage("Pogrešan ID poruke! Poruka nije obrisana");
                return;
            } else {
                if ($opseg == 6) {
                    $q17 = myquery("select predmet, akademska_godina from labgrupa where id={$primalac}");
                    if (mysql_result($q17, 0, 0) != $predmet || mysql_result($q17, 0, 1) != $ag) {
                        zamgerlog("poruka {$obavjestenje} je za labgrupu {$primalac} koja nije sa pp{$predmet}", 3);
                        zamgerlog2("primalac poruke ne odgovara labgrupi", $obavjestenje, $predmet, $ag);
                        nicemessage("Pogrešan ID poruke! Poruka nije obrisana");
                        return;
                    }
                }
            }
            $q20 = myquery("delete from poruka where id={$obavjestenje}");
            zamgerlog("obrisano obavjestenje (id {$obavjestenje} )", 2);
            zamgerlog2("obrisana poruka", $obavjestenje);
        }
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:obavjestenja.php

示例9: akcijaslanje

function akcijaslanje()
{
    global $userid, $conf_files_path;
    require "lib/manip.php";
    // update komponente nakon slanja
    // Parametri
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    $zadaca = intval($_POST['zadaca']);
    $zadatak = intval($_POST['zadatak']);
    $program = $_POST['program'];
    $povratak_url = "?sta=student/zadaca&predmet={$predmet}&ag={$ag}&zadaca={$zadaca}&zadatak={$zadatak}";
    $povratak_html = "<a href=\"{$povratak_url}\">Nastavak</a>";
    $povratak_js = "<script>window.onload = function() { setTimeout('redirekcija()', 3000); }\nfunction redirekcija() { window.location='{$povratak_url}'; } </script>\n";
    // Da li student slusa predmet?
    $q195 = 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($q195) < 1) {
        biguglyeerror("Ova zadaća nije iz vašeg predmeta");
        return;
    }
    $ponudakursa = mysql_result($q195, 0, 0);
    // Standardna lokacija zadaca
    $lokacijazadaca = "{$conf_files_path}/zadace/{$predmet}-{$ag}/{$userid}/";
    if (!file_exists("{$conf_files_path}/zadace/{$predmet}-{$ag}")) {
        mkdir("{$conf_files_path}/zadace/{$predmet}-{$ag}", 0777, true);
    }
    // Da li neko pokušava da spoofa zadaću?
    $q200 = 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($q200, 0, 0) == 0) {
        biguglyeerror("Ova zadaća nije iz vašeg predmeta");
        return;
    }
    // Ovo je potrebno radi pravljenja diff-a
    if (get_magic_quotes_gpc()) {
        $program = stripslashes($program);
    }
    // Podaci o zadaći
    $q210 = myquery("select programskijezik, UNIX_TIMESTAMP(rok), attachment, naziv, komponenta, dozvoljene_ekstenzije, automatsko_testiranje from zadaca where id={$zadaca}");
    $jezik = mysql_result($q210, 0, 0);
    $rok = mysql_result($q210, 0, 1);
    $attach = mysql_result($q210, 0, 2);
    $naziv_zadace = mysql_result($q210, 0, 3);
    $komponenta = mysql_result($q210, 0, 4);
    $zadaca_dozvoljene_ekstenzije = mysql_result($q210, 0, 5);
    $automatsko_testiranje = mysql_result($q210, 0, 6);
    // Ako je aktivno automatsko testiranje, postavi status na 1 (automatska kontrola), inace na 4 (ceka pregled)
    if ($automatsko_testiranje == 1) {
        $prvi_status = 1;
    } else {
        $prvi_status = 4;
    }
    // Provjera roka
    if ($rok <= time()) {
        niceerror("Vrijeme za slanje zadaće je isteklo!");
        zamgerlog("isteklo vrijeme za slanje zadaće z{$zadaca}", 3);
        // nivo 3 - greska
        zamgerlog2("isteklo vrijeme za slanje zadace", $zadaca);
        // nivo 3 - greska
        print $povratak_html;
        return;
    }
    // Prepisane zadaće se ne mogu ponovo slati
    $q240 = myquery("select status from zadatak where zadaca={$zadaca} and redni_broj={$zadatak} and student={$userid} order by id desc limit 1");
    if (mysql_num_rows($q240) > 0 && mysql_result($q240, 0, 0) == 2) {
        // status = 2 - prepisana zadaća
        niceerror("Zadaća je prepisana i ne može se ponovo poslati.");
        print $povratak_html;
        return;
    }
    // Pravimo potrebne puteve
    if (!file_exists($lokacijazadaca)) {
        mkdir($lokacijazadaca, 0777);
    }
    if ($zadaca > 0 && !file_exists("{$lokacijazadaca}{$zadaca}")) {
        mkdir("{$lokacijazadaca}{$zadaca}", 0777);
    }
    // Temp fajl radi određivanja diff-a
    if (file_exists("{$lokacijazadaca}{$zadaca}/difftemp")) {
        unlink("{$lokacijazadaca}{$zadaca}/difftemp");
    }
    // Vrsta zadaće: textarea ili attachment
    if ($attach == 0) {
        // textarea
        if (!check_csrf_token()) {
            niceerror("Forma za slanje zadaće je istekla.");
            print "<p>Kada otvorite prozor za unos zadaće, imate određeno vrijeme (npr. 15 minuta) da pošaljete zadaću, u suprotnom zahtjev neće biti prihvaćen iz sigurnosnih razloga. Preporučujemo da zadaću ne radite direktno u prozoru za slanje zadaće nego u nekom drugom programu (npr. CodeBlocks) iz kojeg kopirate u Zamger.</p>";
            print $povratak_html;
            return;
        }
        // Određivanje ekstenzije iz jezika
        $q220 = myquery("select ekstenzija from programskijezik where id={$jezik}");
        $ekst = mysql_result($q220, 0, 0);
        $filename = "{$lokacijazadaca}{$zadaca}/{$zadatak}{$ekst}";
        // Kreiranje datoteke
        if (strlen($program) <= 10) {
            niceerror("Pokušali ste poslati praznu zadaću!");
            print "<p>Vjerovatno ste zaboravili kopirati kod u prozor za slanje.</p>";
            zamgerlog("poslao praznu zadacu z{$zadaca} zadatak {$zadatak}", 3);
            // nivo 3 - greska
            zamgerlog2("poslao praznu zadacu", $zadaca, $zadatak);
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:zadaca.php

示例10: studentska_prijemni

function studentska_prijemni()
{
    global $_lv_;
    // Default akcija je unos novog studenta
    if ($_REQUEST['akcija'] == "") {
        $_REQUEST['akcija'] = "unos";
    }
    ?>
<center>
<table border="0" width="100%">


<?php 
    // ODREDJIVANJE TERMINA I NASLOVA
    $termin = intval($_REQUEST['termin']);
    if ($termin == 0) {
        // Daj najskoriji ispit
        $q10 = myquery("select pt.id, ag.naziv, UNIX_TIMESTAMP(pt.datum), pt.ciklus_studija from prijemni_termin as pt, akademska_godina as ag where pt.akademska_godina=ag.id order by pt.datum desc limit 1");
        if (mysql_num_rows($q10) < 1) {
            $_REQUEST['akcija'] = "novi_ispit";
            $termin = 0;
        } else {
            $termin = mysql_result($q10, 0, 0);
        }
    } else {
        $q10 = myquery("select pt.id, ag.naziv, UNIX_TIMESTAMP(pt.datum), pt.ciklus_studija from prijemni_termin as pt, akademska_godina as ag where pt.id={$termin} and pt.akademska_godina=ag.id");
        if (mysql_num_rows($q10) < 1) {
            niceerror("Nepostojeći termin.");
            zamgerlog("nepostojeci termin {$termin}", 3);
            zamgerlog2("nepostojeci termin prijemnog ispita", $termin);
            return;
        }
    }
    if (mysql_num_rows($q10) < 1) {
        // Ovo će se desiti samo ako nije kreiran niti jedan termin
        $datum = "/";
        $ciklus_studija = 1;
    } else {
        $datum = date("d. m. Y.", mysql_result($q10, 0, 2));
        $ciklus_studija = mysql_result($q10, 0, 3);
        $naziv = " za " . mysql_result($q10, 0, 1) . " akademsku godinu (" . mysql_result($q10, 0, 3) . " ciklus studija), {$datum}";
    }
    // MENI S LIJEVE STRANE
    // (ne prikazuje se ako je akcija "pregled")
    if ($_REQUEST['akcija'] != "pregled") {
        ?>
<tr><td valign="top" width="220">

<!-- Termini prijemnog ispita -->
* <a href="?sta=studentska/prijemni&akcija=novi_ispit">Novi prijemni ispit</a><br />
* <a href="?sta=studentska/prijemni&akcija=arhiva_ispita">Arhiva prijemnih ispita</a><br /><br /><br />


<!-- Tabela za linkove koji otvaraju ostale stranice vezane za modul -->
<?php 
        echo $datum;
        ?>
:<br />
<table bgcolor="" style="border:1px;border-style:solid;border-color:black">
	<tr>
		<td align="left"><a href="?sta=studentska/prijemni&akcija=unos&termin=<?php 
        echo $termin;
        ?>
">Unos kandidata</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td align="left"><a href="?sta=studentska/prijemni&akcija=brzi_unos&termin=<?php 
        echo $termin;
        ?>
">Brzi unos</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td align="left"><a href="?sta=studentska/prijemni&akcija=pregled&termin=<?php 
        echo $termin;
        ?>
">Tabelarni pregled kandidata</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td><a href="?sta=studentska/prijemni&akcija=prijemni&termin=<?php 
        echo $termin;
        ?>
">Unos bodova sa prijemnog ispita</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td align="left"><a href="?sta=studentska/prijemni&akcija=prijemni_sifre&termin=<?php 
        echo $termin;
        ?>
">Unos bodova po šiframa</a></td>
	</tr>
	<tr>&nbsp;</tr>
	<tr>
		<td><a href="?sta=studentska/prijemni&akcija=upis_kriterij&termin=<?php 
        echo $termin;
        ?>
">Kriteriji za upis</a></td>
	</tr>
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:prijemni.php

示例11: nastavnik_raspored

function nastavnik_raspored()
{
    ?>
<link href="css/raspored1.css" rel="stylesheet" type="text/css">
<?php 
    function vrijemeZaIspis($vrijeme)
    {
        $vrijemeS = floor(($vrijeme - 1) / 4 + 8);
        $vrijemeMin = $vrijeme % 4;
        if ($vrijemeMin == 1) {
            $vrijemeM = "00";
        } elseif ($vrijemeMin == 2) {
            $vrijemeM = "15";
        } elseif ($vrijemeMin == 3) {
            $vrijemeM = "30";
        } elseif ($vrijemeMin == 0) {
            $vrijemeM = "45";
        }
        $vrijemeIspis = "{$vrijemeS}:{$vrijemeM}";
        return $vrijemeIspis;
    }
    global $userid, $user_siteadmin;
    // Parametri
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // Naziv predmeta
    $q10 = myquery("select naziv from predmet where id={$predmet}");
    if (mysql_num_rows($q10) < 1) {
        biguglyerror("Nepoznat predmet");
        zamgerlog("ilegalan predmet {$predmet}", 3);
        //nivo 3: greska
        zamgerlog2("nepoznat predmet", $predmet);
        return;
    }
    $predmet_naziv = mysql_result($q10, 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 ulaska u ovu grupu!");
            return;
        }
    }
    if ($_POST['akcija'] == "promjena_grupe" && check_csrf_token()) {
        $novagrupa = intval($_POST['grupa']);
        $id_stavke = intval($_POST['stavka_rasporeda']);
        $q01 = myquery("update raspored_stavka set labgrupa={$novagrupa} where id={$id_stavke}");
        $q02 = myquery("update raspored_stavka set labgrupa={$novagrupa} where dupla={$id_stavke}");
        $uspjesno_promijenjena_grupa = 1;
        zamgerlog("promijenjena grupa za stavku rasporeda na predmetu {$predmet_naziv}", 2);
        zamgerlog2("promijenjena grupa za stavku rasporeda", $novagrupa, $id_stavke);
    }
    if ($_POST['akcija'] == "sjeckanje termina" && check_csrf_token()) {
        $presjek = intval($_POST['presjek']);
        $id_stavke = intval($_POST['stavka_rasp']);
        $q0 = myquery("select raspored,dan_u_sedmici,predmet,vrijeme_pocetak,vrijeme_kraj,sala,tip,labgrupa,dupla,isjeckana from raspored_stavka where id={$id_stavke}");
        $raspored = mysql_result($q0, 0, 0);
        $dan_u_sedmici = mysql_result($q0, 0, 1);
        $predmet = mysql_result($q0, 0, 2);
        $pocetak = mysql_result($q0, 0, 3);
        $kraj = mysql_result($q0, 0, 4);
        $sala = mysql_result($q0, 0, 5);
        $tip = mysql_result($q0, 0, 6);
        $labgrupa = mysql_result($q0, 0, 7);
        $dupla = mysql_result($q0, 0, 8);
        $isjeckana = mysql_result($q0, 0, 9);
        // $isjeckana=0 znaci da stavka nije nikako isjeckana i prikazuje se u rasporedu
        // $isjeckana=1 znači da je stavka izrezana i ne prikazuje se u rasporedu, a cuva sa u bazi radi vracanja na pocetne casove prije nego sto je nastavnik ista mijenjao
        // $isjeckana=2 predstavlja dijelove od isjeckane stavke
        $q1 = myquery("update raspored_stavka set isjeckana=1 where id={$id_stavke}");
        $q2 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored}, dan_u_sedmici={$dan_u_sedmici}, predmet={$predmet},\n\t\t\t\t\t\tvrijeme_pocetak={$pocetak},vrijeme_kraj={$presjek},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$dupla},isjeckana=2");
        $q21 = myquery("select max(id) from raspored_stavka");
        $id_prve_stavke = mysql_result($q21, 0, 0);
        $q3 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored}, dan_u_sedmici={$dan_u_sedmici}, predmet={$predmet},\n\t\t\t\t\t\tvrijeme_pocetak={$presjek},vrijeme_kraj={$kraj},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$dupla},isjeckana=2");
        $q31 = myquery("select max(id) from raspored_stavka");
        $id_druge_stavke = mysql_result($q31, 0, 0);
        $q0 = myquery("select raspored,dan_u_sedmici,predmet,vrijeme_pocetak,vrijeme_kraj,sala,tip,labgrupa,dupla,isjeckana,id from raspored_stavka where dupla={$id_stavke}");
        for ($i = 0; $i < mysql_num_rows($q0); $i++) {
            $raspored = mysql_result($q0, $i, 0);
            $dan_u_sedmici = mysql_result($q0, $i, 1);
            $predmet = mysql_result($q0, $i, 2);
            $pocetak = mysql_result($q0, $i, 3);
            $kraj = mysql_result($q0, $i, 4);
            $sala = mysql_result($q0, $i, 5);
            $tip = mysql_result($q0, $i, 6);
            $labgrupa = mysql_result($q0, $i, 7);
            $dupla = mysql_result($q0, $i, 8);
            $isjeckana = mysql_result($q0, $i, 9);
            $id_duple_stavke = mysql_result($q0, $i, 10);
            $q1 = myquery("update raspored_stavka set isjeckana=1 where id={$id_duple_stavke}");
            $q2 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored}, dan_u_sedmici={$dan_u_sedmici}, predmet={$predmet},\n\t\t\t\t\t\t\tvrijeme_pocetak={$pocetak},vrijeme_kraj={$presjek},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$id_prve_stavke},isjeckana=2");
            $q3 = myquery("insert into raspored_stavka set id='NULL', raspored={$raspored}, dan_u_sedmici={$dan_u_sedmici}, predmet={$predmet},\n\t\t\t\t\t\t\tvrijeme_pocetak={$presjek},vrijeme_kraj={$kraj},sala={$sala},tip='{$tip}',labgrupa={$labgrupa},dupla={$id_druge_stavke},isjeckana=2");
        }
        $uspjesno_razdvojena_stavka = 1;
        zamgerlog("Isjeckana stavka rasporeda", 2);
        zamgerlog2("isjeckana stavka rasporeda", $id_stavke);
    }
    ?>
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:raspored.php

示例12: studentska_predmeti

function studentska_predmeti()
{
    global $userid, $user_siteadmin, $user_studentska;
    global $_lv_;
    // Potrebno za genform() iz libvedran
    require "lib/manip.php";
    // radi ispisa studenata sa predmeta
    // Provjera privilegija
    if (!$user_studentska && !$user_siteadmin) {
        zamgerlog("nije studentska", 3);
        // 3: error
        zamgerlog2("nije studentska");
        biguglyerror("Pristup nije dozvoljen.");
        return;
    }
    ?>
<center>
<table border="0"><tr><td>

<?php 
    $akcija = $_REQUEST['akcija'];
    // AKCIJA: Ogranicenje nastavnika na odredjene grupe
    if ($akcija == "ogranicenja") {
        $nastavnik = intval($_REQUEST['nastavnik']);
        $predmet = intval($_REQUEST['predmet']);
        $ag = intval($_REQUEST['ag']);
        // akademska godina
        // Imena stvari
        $q370 = myquery("select ime,prezime from osoba where id={$nastavnik}");
        if (mysql_num_rows($q370) < 1) {
            zamgerlog("nepoznat nastavnik u{$nastavnik}", 3);
            zamgerlog2("nepoznat nastavnik", $nastavnik);
            niceerror("Nepoznat nastavnik");
            return;
        }
        $ime = mysql_result($q370, 0, 0);
        $prezime = mysql_result($q370, 0, 1);
        $q371 = myquery("select naziv from predmet where id={$predmet}");
        if (mysql_num_rows($q371) < 1) {
            zamgerlog("nepoznat predmet pp{$predmet}", 3);
            zamgerlog2("nepoznat predmet", $predmet);
            niceerror("Nepoznat predmet");
            return;
        }
        $naziv_predmeta = mysql_result($q371, 0, 0);
        ?>
<ul><p>
	<b>Ograničenja za nastavnika <?php 
        echo $ime . " " . $prezime;
        ?>
 na predmetu <?php 
        echo $naziv_predmeta;
        ?>
</b></p><?php 
        // Subakcija
        if ($_POST['subakcija'] == "izmjena" && check_csrf_token()) {
            // Provjera podataka...
            $q374 = myquery("select id from labgrupa where predmet={$predmet} and akademska_godina={$ag}");
            $izabrane = 0;
            $grupe = 0;
            $upitdodaj = $upitbrisi = $upitbrisisve = "";
            while ($r374 = mysql_fetch_row($q374)) {
                $labgrupa = $r374[0];
                if ($_REQUEST['lg' . $labgrupa]) {
                    $izabrane++;
                    if ($upitdodaj) {
                        $upitdodaj .= ",";
                    }
                    $upitdodaj .= "({$nastavnik},{$labgrupa})";
                } else {
                    if ($upitbrisi) {
                        $upitbrisi .= " OR ";
                    }
                    $upitbrisi .= "(nastavnik={$nastavnik} AND labgrupa={$labgrupa})";
                }
                if ($upitbrisisve) {
                    $upitbrisisve .= " OR ";
                }
                $upitbrisisve .= "(nastavnik={$nastavnik} AND labgrupa={$labgrupa})";
                $grupe++;
            }
            if ($upitdodaj == "") {
                zamgerlog("pokusao ograniciti sve grupe nastavniku u{$nastavnik}, predmet pp{$predmet}, ag{$ag}", 3);
                zamgerlog2("pokusao ograniciti sve grupe nastavniku", $nastavnik, $predmet, $ag);
                niceerror("Nastavnik mora imati pristup barem jednoj grupi");
                print "<br/>Ako ne želite da ima pristup, odjavite ga/je sa predmeta.";
            } else {
                if ($grupe == $izabrane) {
                    // Sve izabrano
                    $q375 = myquery("delete from ogranicenje where {$upitbrisisve}");
                } else {
                    $q376 = myquery("delete from ogranicenje where {$upitbrisisve}");
                    $q377 = myquery("insert into ogranicenje values {$upitdodaj}");
                }
                nicemessage("Postavljena nova ograničenja.");
                zamgerlog("izmijenjena ogranicenja nastavniku u{$nastavnik}, predmet pp{$predmet}, ag{$ag}", 4);
                zamgerlog2("izmijenjena ogranicenja nastavniku", $nastavnik, $predmet, $ag);
            }
        }
        // Skripta za (de)selektovanje svih checkboxa
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:predmeti.php

示例13: common_attachment

function common_attachment()
{
    global $userid, $conf_files_path, $user_student, $user_nastavnik, $user_siteadmin;
    // Kakav fajl se downloaduje?
    $tip = $_REQUEST['tip'];
    if ($tip == "") {
        $tip = "zadaca";
    }
    // privremeno
    // PROVJERA PRIVILEGIJA I ODREĐIVANJE LOKACIJE FAJLA NA SERVERU
    // Tip: zadaća
    if ($tip == "zadaca") {
        // Poslani parametri
        $zadaca = intval($_REQUEST['zadaca']);
        $zadatak = intval($_REQUEST['zadatak']);
        $student = intval($_REQUEST['student']);
        $q5 = myquery("select predmet, akademska_godina from zadaca where id={$zadaca}");
        if (mysql_num_rows($q5) < 1) {
            zamgerlog("nepostojeca zadaca {$zadaca}", 3);
            zamgerlog2("nepostojeca zadaca", $zadaca);
            niceerror("Nepostojeća zadaća");
            return;
        }
        $predmet = mysql_result($q5, 0, 0);
        $ag = mysql_result($q5, 0, 1);
        if ($student == 0) {
            // student otvara vlastitu zadaću
            if ($user_student) {
                $student = $userid;
            } else {
                zamgerlog("pokusao otvoriti attachment bez ID studenta, a sam nije student", 3);
                zamgerlog2("pokusao otvoriti attachment bez ID studenta, a sam nije student");
                niceerror("Čiju zadaću pokušavate otvoriti?");
                return;
            }
        } else {
            // student je odredjen kao parametar
            if (!$user_nastavnik && !$user_siteadmin) {
                zamgerlog("attachment: nije nastavnik (student u{$student} zadaca z{$zadaca})", 3);
                zamgerlog2("nije nastavnik");
                niceerror("Nemate pravo pregleda ove zadaće");
                return;
            }
            if (!$user_siteadmin) {
                $q10 = myquery("select count(*) from nastavnik_predmet where predmet={$predmet} and akademska_godina={$ag} and nastavnik={$userid}");
                if (mysql_result($q10, 0, 0) < 1) {
                    zamgerlog("attachment: nije nastavnik na predmetu (student u{$student} zadaca z{$zadaca})", 3);
                    zamgerlog2("nije nastavnik na predmetu za zadacu", $zadaca);
                    niceerror("Nemate pravo pregleda ove zadaće");
                    return;
                }
                // Provjera ograničenja
                $q20 = 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($q20) > 0) {
                    // Ako ograničenja postoje, dozvoljavamo korisniku da otvori zadaće samo studenata u labgrupama kojima inače može pristupiti
                    $nasao = 0;
                    while ($r20 = mysql_fetch_row($q20)) {
                        $q25 = myquery("select count(*) from student_labgrupa where student={$student} and labgrupa={$r20['0']}");
                        if (mysql_result($q25, 0, 0) > 0) {
                            $nasao = 1;
                            break;
                        }
                    }
                    if ($nasao == 0) {
                        zamgerlog("ogranicenje na predmet (student u{$student} predmet p{$ponudakursa})", 3);
                        zamgerlog2("ogranicenje na predmet za zadacu", $zadaca);
                        niceerror("Nemate pravo pregleda ove zadaće");
                        return;
                    }
                }
            }
        }
        // Da li neko pokušava da spoofa zadaću?
        $q30 = myquery("SELECT count(*) 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}");
        if (mysql_result($q30, 0, 0) < 1) {
            zamgerlog("student nije upisan na predmet (student u{$student} zadaca z{$zadaca})", 3);
            zamgerlog2("student ne slusa predmet za zadacu", $zadaca);
            niceerror("Student nije upisan na predmet");
            return;
        }
        // Lokacija zadaće
        $lokacijazadaca = "{$conf_files_path}/zadace/{$predmet}-{$ag}/{$student}/{$zadaca}/";
        $q40 = 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($q40) < 1) {
            zamgerlog("ne postoji attachment (zadaca {$zadaca} zadatak {$zadatak} student {$student})", 3);
            zamgerlog2("ne postoji attachment", intval($student), $zadaca, $zadatak);
            niceerror("Ne postoji attachment");
            return;
        }
        $filename = mysql_result($q40, 0, 0);
        $filepath = $lokacijazadaca . $filename;
    }
    // Tip: postavka zadaće
    if ($tip == "postavka") {
        $zadaca = intval($_REQUEST['zadaca']);
        $q100 = myquery("select predmet, akademska_godina, postavka_zadace from zadaca where id={$zadaca}");
        if (mysql_num_rows($q100) < 1) {
            zamgerlog("nepostojeca zadaca {$zadaca}", 3);
            zamgerlog2("nepostojeca zadaca", $zadaca);
            niceerror("Nepostojeća zadaća");
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:attachment.php

示例14: student_ugovoroucenju

function student_ugovoroucenju()
{
    global $userid;
    require "lib/manip.php";
    // Naslov
    ?>
	<h3>Ugovor o učenju</h3>

	<?php 
    // 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);
        $zagodinunaziv = 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);
        $zagodinunaziv = mysql_result($q2, 0, 1);
    }
    ?>
	<p>Za akademsku <?php 
    echo $zagodinunaziv;
    ?>
 godinu.</p>
	<?php 
    // Ulazni podaci
    $studij = intval($_REQUEST['studij']);
    $godina = intval($_REQUEST['godina']);
    // Provjera ispravnosti podataka
    if ($studij != 0) {
        $q5 = myquery("select zavrsni_semestar from studij where id={$studij}");
        if (mysql_num_rows($q5) < 1) {
            niceerror("Neispravan studij");
            $studij = 0;
            unset($_POST['akcija']);
        } else {
            if ($godina < 1 || $godina > mysql_result($q5, 0, 0) / 2) {
                $godina = 1;
            }
        }
    } else {
        unset($_POST['akcija']);
    }
    // Odabir plana studija
    $plan_studija = 0;
    if ($studij > 0) {
        $q5a = myquery("SELECT studij, plan_studija FROM student_studij WHERE student={$userid} AND akademska_godina<={$zagodinu} ORDER BY akademska_godina DESC LIMIT 1");
        if (mysql_num_rows($q5a) > 0 && $studij == mysql_result($q5a, 0, 0)) {
            $plan_studija = mysql_result($q5a, 0, 1);
        }
        if ($plan_studija == 0) {
            // Student nije prethodno studirao na istom studiju ili plan studija nije bio definisan
            // Uzimamo 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;
            }
            $plan_studija = mysql_result($q6, 0, 0);
        }
    }
    // Akcija - kreiranje ugovora
    if ($_POST['akcija'] == "kreiraj_ugovor") {
        // Provjera da li student ima minimalno 30 ECTS kredita po semestru
        // Ako je ovaj uslov ispunjen za oba semestra, slijedi i da ima minimalno
        // 60 ECTS kredita po godini
        $s1predmeti = $s2predmeti = array();
        // Ujedno punimo nizove izbornih predmeta
        for ($sem = $godina * 2 - 1; $sem <= $godina * 2; $sem++) {
            $semestar_ects = 0;
            $q100 = myquery("select p.ects, p.naziv from predmet as p, plan_studija as ps where ps.godina_vazenja={$plan_studija} and ps.studij={$studij} and ps.semestar={$sem} and ps.obavezan=1 and ps.predmet=p.id");
            while ($r100 = mysql_fetch_row($q100)) {
                $semestar_ects += $r100[0];
            }
            $q110 = myquery("select distinct predmet from plan_studija where godina_vazenja={$plan_studija} and studij={$studij} and semestar={$sem} and obavezan=0");
            while ($r110 = mysql_fetch_row($q110)) {
                $izabran = $_REQUEST["is{$r110['0']}"];
                if ($izabran == "odsjek{$sem}") {
                    // izborni predmet sa drugog odsjeka
                    $izabran = intval($_REQUEST["odsjek-{$r110['0']}"]);
                } else {
                    $izabran = intval($izabran);
                }
                if ($izabran > 0) {
                    $q120 = myquery("select ects, naziv from predmet where id={$izabran}");
                    if (mysql_num_rows($q120) < 1) {
                        niceerror("Ilegalan izborni predmet");
                        return;
                    }
                    if (provjeri_kapacitet($izabran, $zagodinu, $plan_studija) == 0) {
                        niceerror("Predmet " . mysql_result($q120, 0, 1) . " se ne može izabrati jer su dostupni kapaciteti za taj predmet popunjeni");
                        zamgerlog2("popunjen kapacitet za predmet", $izabran);
                        return;
                    }
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:ugovoroucenju.php

示例15: student_popuni_kviz

function student_popuni_kviz()
{
    global $userid;
    $kviz = intval($_REQUEST['kviz']);
    if ($_REQUEST['akcija'] == "salji") {
        // Ako je akcija salji, dodajemo vrijeme aktivacije
        $q5 = myquery("select vrijeme_aktivacije from kviz_student where student={$userid} and kviz={$kviz}");
        if (mysql_num_rows($q5) < 1) {
            niceerror("Molimo ponovite kviz");
            zamgerlog("poslao popunjen kviz {$kviz} a nema stavke u student_kviz", 3);
            zamgerlog2("poslao popunjen kviz a nema stavke u student_kviz", $kviz);
            return;
        }
        $vrijeme_kraja = "'" . mysql_result($q5, 0, 0) . "' + INTERVAL (trajanje_kviza+60) SECOND";
        // Dodajemo 60 sekundi na trajanje, zbog evt. problema sa konekcijom
    } else {
        $vrijeme_kraja = "vrijeme_kraj";
    }
    $q10 = myquery("select naziv, predmet, akademska_godina, aktivan, vrijeme_pocetak<NOW(), {$vrijeme_kraja} > NOW(), labgrupa, ip_adrese, broj_pitanja, trajanje_kviza, prolaz_bodova FROM kviz where id={$kviz}");
    if (mysql_num_rows($q10) < 1) {
        // Postoji li kviz
        niceerror("Kviz ne postoji");
        zamgerlog("pristup nepostojecem kvizu {$kviz}", 3);
        zamgerlog2("pristup nepostojecem kvizu", $kviz);
        return;
    }
    $naziv_ankete = mysql_result($q10, 0, 0);
    $predmet = mysql_result($q10, 0, 1);
    $ag = mysql_result($q10, 0, 2);
    $broj_pitanja = mysql_result($q10, 0, 8);
    $trajanje_kviza = mysql_result($q10, 0, 9);
    // u sekundama
    $prolaz_bodova = mysql_result($q10, 0, 10);
    // Da li student sluša predmet? Ujedno i naziv predmeta
    $q20 = 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=p.id and p.id={$predmet} and pk.akademska_godina={$ag}");
    if (mysql_num_rows($q20) < 1) {
        niceerror("Nemate pristup ovom kvizu");
        zamgerlog("student nije na predmetu za kviz {$kviz}", 3);
        zamgerlog2("student nije na predmetu", $kviz);
        return;
    }
    $naziv_predmeta = mysql_result($q20, 0, 0);
    // Da li je aktivan kviz
    if (mysql_result($q10, 0, 3) != 1) {
        niceerror("Kviz nije aktivan");
        zamgerlog("kviz nije aktivan {$kviz}", 3);
        zamgerlog2("kviz nije aktivan", $kviz);
        return;
    }
    // Da li je vrijeme za kviz
    if (mysql_result($q10, 0, 4) != 1 || mysql_result($q10, 0, 5) != 1) {
        niceerror("Vrijeme za ovaj kviz je isteklo " . mysql_result($q10, 0, 4));
        zamgerlog("vrijeme isteklo za kviz {$kviz}", 3);
        zamgerlog2("vrijeme isteklo", $kviz);
        return;
    }
    // Da li je u labgrupi?
    $labgrupa = mysql_result($q10, 0, 6);
    if ($labgrupa > 0) {
        $q30 = myquery("select count(*) from student_labgrupa where student={$userid} and labgrupa={$labgrupa}");
        if (mysql_result($q30, 0, 0) == 0) {
            niceerror("Nemate pristup ovom kvizu");
            zamgerlog("student nije u labgrupi {$labgrupa} za kviz {$kviz}", 3);
            zamgerlog2("student nije u odgovarajucoj labgrupi", intval($labgrupa), intval($kviz));
            return;
        }
    }
    // Provjera IP adrese
    if (mysql_result($q10, 0, 7) != "") {
        $moja_ip = getip();
        $ispravna = false;
        $blokovi = explode(",", mysql_result($q10, 0, 7));
        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 {
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:popuni_kviz.php


注:本文中的zamgerlog2函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。