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


PHP check_csrf_token函数代码示例

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


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

示例1: 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

示例2: nastavnik_prijava_ispita


//.........这里部分代码省略.........
            biguglyerror("Ispitni termin ne pripada datom ispitu");
            return;
        }
    }
    // AKCIJE
    // Akcija koja briše ispitni termin
    if ($_REQUEST['akcija'] == "obrisi") {
        $q70 = myquery("select count(*) from student_ispit_termin where ispit_termin={$termin}");
        $broj_studenata = mysql_result($q70, 0, 0);
        $q80 = myquery("select UNIX_TIMESTAMP(datumvrijeme) from ispit_termin where id={$termin}");
        $datumvrijeme = date("d. m. Y. h:i:s", mysql_result($q80, 0, 0));
        ?>
	<h4>Brisanje ispitnog termina <?php 
        echo $datumvrijeme;
        ?>
</h4>
	<p>Za ovaj termin se do sada prijavilo <b><?php 
        echo $broj_studenata;
        ?>
</b> studenata.<br />
	Da li ste sigurni da ga želite obrisati?</p>

	<?php 
        echo genform("POST");
        ?>
	<input type="hidden" name="akcija" value="obrisi_potvrda">
	<input type="submit" value=" Briši ">
	<input type="submit" name="povratak" value=" Nazad ">
	</form>
	<?php 
        return;
    }
    // Potvrda brisanja
    if ($_REQUEST["akcija"] == "obrisi_potvrda" && $_REQUEST['povratak'] != " Nazad " && check_csrf_token()) {
        $q90 = myquery("DELETE FROM student_ispit_termin WHERE ispit_termin={$termin}");
        $q95 = myquery("DELETE FROM ispit_termin WHERE id={$termin}");
        zamgerlog("izbrisan ispitni termin {$termin} (pp{$predmet}, ag{$ag})", 2);
        zamgerlog2("izbrisan ispitni termin", $termin, $predmet, $ag);
        nicemessage("Termin uspješno obrisan ");
    }
    // Tabela studenata koji su se prijavili za ovaj ispitni termin
    if ($_REQUEST["akcija"] == "studenti") {
        if ($_REQUEST['subakcija'] == "dodaj_studenta" && check_csrf_token()) {
            $student = intval($_REQUEST['student']);
            $q215 = myquery("select count(*) from student_ispit_termin where student={$student} and ispit_termin={$termin}");
            if (mysql_result($q215, 0, 0) > 0) {
                nicemessage("Student je već prijavljen na ovaj termin!");
            } else {
                $q220 = myquery("insert into student_ispit_termin set student={$student}, ispit_termin={$termin}");
            }
        }
        if ($_REQUEST['subakcija'] == "izbaci_studenta" && check_csrf_token()) {
            $student = intval($_REQUEST['student']);
            $q225 = myquery("delete from student_ispit_termin where student={$student} and ispit_termin={$termin}");
        }
        $q200 = myquery("select UNIX_TIMESTAMP(datumvrijeme) from ispit_termin where id={$termin}");
        $datumvrijeme = date("d. m. Y. H:i:s", mysql_result($q200, 0, 0));
        $q200 = myquery("SELECT o.ime, o.prezime, o.brindexa, o.id FROM osoba as o, student_ispit_termin as si WHERE o.id=si.student AND si.ispit_termin={$termin} order by o.prezime, o.ime");
        ?>
	<p><b>Tabela prijavljenih za: <?php 
        echo $datumvrijeme;
        ?>
</b></p>

	<table border="0" cellspacing="1" cellpadding="2">
	<thead>
开发者ID:msehalic,项目名称:zamger,代码行数:67,代码来源:prijava_ispita.php

示例3: studentska_prodsjeka

function studentska_prodsjeka()
{
    global $userid, $user_siteadmin, $user_studentska;
    // Provjera privilegija
    if (!$user_studentska && !$user_siteadmin) {
        zamgerlog("nije studentska", 3);
        // 3: error
        zamgerlog2("nije studentska");
        // 3: error
        biguglyerror("Pristup nije dozvoljen.");
        return;
    }
    // Odredjujemo akademsku godinu
    $ak_god = intval($_REQUEST['ak_god']);
    if ($ak_god == 0) {
        // Aktuelna
        $q1 = myquery("select id, naziv from akademska_godina where aktuelna=1");
        $ak_god = mysql_result($q1, 0, 0);
        $ak_god_naziv = mysql_result($q1, 0, 1);
        // Da li postoji godina iza aktuelne?
        $q2 = myquery("select id, naziv from akademska_godina where id>{$ak_god} order by id limit 1");
        if (mysql_num_rows($q2) > 0) {
            $ak_god = mysql_result($q2, 0, 0);
            $ak_god_naziv = mysql_result($q2, 0, 1);
        }
    } else {
        $q3 = myquery("select naziv from akademska_godina where id={$ak_god}");
        $ak_god_naziv = mysql_result($q3, 0, 0);
    }
    ?>
<h3>Studentska služba - Zahtjevi za promjenu odsjeka</h3>
<?php 
    // Akcija: brisanje zahtjeva
    if ($_REQUEST['akcija'] == "obrisi") {
        $id = intval($_REQUEST['id']);
        $q5 = myquery("delete from promjena_odsjeka where id={$id}");
        zamgerlog("obrisan zahtjev za promjenu odsjeka sa IDom {$id}", 2);
        // 2 = edit
        zamgerlog2("obrisan zahtjev za promjenu odsjeka", $id);
    }
    // Akcija: dodavanje zahtjeva
    if ($_POST['akcija'] == "dodaj" && check_csrf_token()) {
        $prezime = trim(malaslova(my_escape($_REQUEST['prezime'])));
        $ime = trim(malaslova(my_escape($_REQUEST['ime'])));
        $iz_odsjeka = intval($_REQUEST['iz_odsjeka']);
        $u_odsjek = intval($_REQUEST['u_odsjek']);
        $q100 = myquery("select id from osoba where ime='{$ime}' and prezime='{$prezime}'");
        if (mysql_num_rows($q100) < 1) {
            niceerror("Nepoznat student pod imenom: \"{$ime} {$prezime}\"");
        } else {
            if ($iz_odsjeka == 0 || $u_odsjek == 0) {
                niceerror("Niste odabrali odsjek");
            } else {
                $osoba = mysql_result($q100, 0, 0);
                $q105 = myquery("select count(*) from promjena_odsjeka where osoba={$osoba} and akademska_godina={$ak_god}");
                if (mysql_result($q105, 0, 0) > 0) {
                    niceerror("Već postoji zahtjev za promjenu odsjeka za studenta \"{$ime} {$prezime}\"");
                } else {
                    $q110 = myquery("insert into promjena_odsjeka set osoba={$osoba}, iz_odsjeka={$iz_odsjeka}, u_odsjek={$u_odsjek}, akademska_godina={$ak_god}");
                    $q115 = myquery("select id from promjena_odsjeka where osoba={$osoba} and iz_odsjeka={$iz_odsjeka} and u_odsjek={$u_odsjek} and akademska_godina={$ak_god}");
                    zamgerlog("dodan zahtjev za promjenu odsjeka za osobu u{$osoba} (iz {$iz_odsjeka} u {$u_odsjek})", 2);
                    zamgerlog2("dodan zahtjev za promjenu odsjeka", intval($osoba), $iz_odsjeka, $u_odsjek);
                }
            }
        }
    }
    // Akcija: prihvatanje zahtjeva
    // Ustvari ćemo samo dati linkove na modul studentska/osobe
    if ($_REQUEST['akcija'] == "prihvati") {
        $id = intval($_REQUEST['id']);
        $potvrda = intval($_REQUEST['potvrda']);
        $q500 = myquery("select osoba, iz_odsjeka, u_odsjek from promjena_odsjeka where id={$id} and akademska_godina={$ak_god}");
        if (mysql_num_rows($q500) < 1) {
            niceerror("Nepoznat zahtjev ID");
            return;
        }
        $osoba = mysql_result($q500, 0, 0);
        $iz_odsjeka = mysql_result($q500, 0, 1);
        $u_odsjek = mysql_result($q500, 0, 2);
        // Da li trenutno studira
        $q510 = myquery("select s.id, s.naziv, ss.semestar from studij as s, student_studij as ss where ss.student={$osoba} and ss.studij=s.id and ss.akademska_godina={$ak_god} order by ss.semestar desc");
        if (mysql_num_rows($q510) > 0) {
            $studij = mysql_result($q510, 0, 0);
            $naziv_studija = mysql_result($q510, 0, 1);
            $semestar = mysql_result($q510, 0, 2);
            if ($studij == $u_odsjek) {
                nicemessage("Student je već upisan na studij {$naziv_studija}");
                return;
            }
            if ($studij != $iz_odsjeka) {
                niceerror("Student je trenutno upisan na studij {$naziv_studija} a ne na izabrani studij!");
                print "Vaš zahtjev nije ispravan. Obrišite ga i napravite novi.";
                return;
            }
            // Ispis sa studija
            ?>
		<p>Najprije morate ispisati studenta sa studija <?php 
            echo $naziv_studija;
            ?>
. <a href="?sta=studentska/osobe&osoba=<?php 
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:prodsjeka.php

示例4: update_user_password

                update_user_password($selected_id, $_POST['user_id'], md5($_POST['password']));
            }
            display_notification_centered(_("The selected user has been updated."));
        } else {
            add_user($_POST['user_id'], $_POST['real_name'], md5($_POST['password']), $_POST['phone'], $_POST['email'], $_POST['role_id'], $_POST['language'], $_POST['print_profile'], check_value('rep_popup'), $_POST['pos']);
            $id = db_insert_id();
            // use current user display preferences as start point for new user
            $prefs = $_SESSION['wa_current_user']->prefs->get_all();
            update_user_prefs($id, array_merge($prefs, get_post(array('print_profile', 'rep_popup' => 0, 'language'))));
            display_notification_centered(_("A new user has been added."));
        }
        $Mode = 'RESET';
    }
}
//-------------------------------------------------------------------------------------------------
if ($Mode == 'Delete' && check_csrf_token()) {
    $cancel_delete = 0;
    if (key_in_foreign_table($selected_id, 'audit_trail', 'user')) {
        $cancel_delete = 1;
        display_error(_("Cannot delete this user because entries are associated with this user."));
    }
    if ($cancel_delete == 0) {
        delete_user($selected_id);
        display_notification_centered(_("User has been deleted."));
    }
    //end if Delete group
    $Mode = 'RESET';
}
//-------------------------------------------------------------------------------------------------
if ($Mode == 'RESET') {
    $selected_id = -1;
开发者ID:knjy24,项目名称:FrontAccounting,代码行数:31,代码来源:users.php

示例5: set_focus

        set_focus('password');
        return false;
    }
    if (strstr($_POST['password'], $_SESSION["wa_current_user"]->username) != false) {
        display_error(_("The password cannot contain the user login."));
        set_focus('password');
        return false;
    }
    if ($_POST['password'] != $_POST['passwordConfirm']) {
        display_error(_("The passwords entered are not the same."));
        set_focus('password');
        return false;
    }
    return true;
}
if (isset($_POST['UPDATE_ITEM']) && check_csrf_token()) {
    if (can_process()) {
        if ($allow_demo_mode) {
            display_warning(_("Password cannot be changed in demo mode."));
        } else {
            update_user_password($_SESSION["wa_current_user"]->user, $_SESSION["wa_current_user"]->username, md5($_POST['password']));
            display_notification(_("Your password has been updated."));
        }
        $Ajax->activate('_page_body');
    }
}
start_form();
start_table(TABLESTYLE);
$myrow = get_user($_SESSION["wa_current_user"]->user);
label_row(_("User login:"), $myrow['user_id']);
$_POST['password'] = "";
开发者ID:pthdnq,项目名称:ivalley-svn,代码行数:31,代码来源:change_current_user_password.php

示例6: 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

示例7: studentska_prijemni


//.........这里部分代码省略.........
	</tr>
        <tr>&nbsp;</tr> 	 
	<tr>
		<td><a href="?sta=izvjestaj/prijemni_top10posto&termin=<?php 
        echo $termin;
        ?>
">Najboljih 10% po školama</a></td>
	</tr>
        <tr>&nbsp;</tr> 	 
	<tr> 	 
		<td><a href="?sta=studentska/prijemni&akcija=rang_liste&termin=<?php 
        echo $termin;
        ?>
">Rang liste kandidata</a></td>
	</tr> 	 
</table>




</td><td width="10">&nbsp;</td>


<?php 
    }
    // if ($_REQUEST['akcija'] != "pregled" )
    // NASLOV
    ?>
<td valign="top">

<h1>Prijemni ispit</h1>
<?php 
    // NOVI PRIJEMNI ISPIT
    if ($_POST['akcija'] == "novi_ispit_potvrda" && check_csrf_token()) {
        $ciklus = intval($_REQUEST['ciklus']);
        if ($ciklus != 1 && $ciklus != 2 && $ciklus != 3) {
            biguglyerror("Neispravan ciklus studija");
            return;
        }
        $ag = intval($_REQUEST['_lv_column_akademska_godina']);
        if (preg_match("/(\\d+).*?(\\d+).*?(\\d+)/", $_REQUEST['datum'], $matches)) {
            $dan = $matches[1];
            $mjesec = $matches[2];
            $godina = $matches[3];
            if ($godina < 100) {
                if ($godina < 50) {
                    $godina += 2000;
                } else {
                    $godina += 1900;
                }
            }
            if ($godina < 1000) {
                if ($godina < 900) {
                    $godina += 2000;
                } else {
                    $godina += 1000;
                }
            }
        } else {
            biguglyerror("Neispravan datum");
            return;
        }
        $q20 = myquery("insert into prijemni_termin set akademska_godina={$ag}, datum='{$godina}-{$mjesec}-{$dan}', ciklus_studija={$ciklus}");
        zamgerlog("kreiran novi termin za prijemni ispit", 4);
        // 4 = audit
        zamgerlog2("kreiran novi termin za prijemni ispit", mysql_insert_id());
开发者ID:msehalic,项目名称:zamger,代码行数:67,代码来源:prijemni.php

示例8: saradnik_izmjena_studenta

function saradnik_izmjena_studenta()
{
    print "Ne radi";
    return;
    global $userid, $user_siteadmin, $user_studentska;
    require "lib/manip.php";
    // radi ispisa studenta sa predmeta
    ?>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" bgcolor="#FFFFFF">
<?php 
    $student = intval($_REQUEST['student']);
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // Necemo provjeravati prava pristupa jer je osnovna provjera vec napravljena kroz registry, a prikaz readonly podataka nastavniku koji nije angazovan na predmetu je IMHO ok
    // Podaci o studentu...
    $q140 = myquery("select ime,prezime,brindexa from osoba where id={$student}");
    if (mysql_num_rows($q140) < 1) {
        zamgerlog("nepostojeci student (student {$student})", 3);
        biguglyerror("Nepoznat student");
        return;
    }
    // Podaci o predmetu
    $q160 = myquery("select naziv from predmet where id={$predmet}");
    if (mysql_num_rows($q160) < 1) {
        zamgerlog("nepostojeci predmet (predmet {$predmet})", 3);
        biguglyerror("Nepoznat predmet");
        return;
    }
    $naziv_predmeta = mysql_result($q160, 0, 0);
    // Aktuelna akademska godina
    $q170 = myquery("select naziv from akademska_godina where id={$ag}");
    if (mysql_num_rows($q170) < 1) {
        zamgerlog("nepostojeca ag {$ag}", 3);
        biguglyerror("Nepoznat predmet");
        return;
    }
    $agnaziv = mysql_result($q170, 0, 0);
    // Studij koji student trenutno sluša
    $q180 = myquery("select s.naziv from student_studij as ss, studij as s where s.id=ss.studij and ss.akademska_godina={$ag} and ss.student={$student}");
    if (mysql_num_rows($q180) < 1) {
        $studij = "Nije upisan niti na jedan studij! ({$agnaziv})";
    } else {
        $studij = mysql_result($q180, 0, 0) . " ({$agnaziv})";
    }
    // Provjera ogranicenja
    /*$q10 = myquery("select sl.labgrupa from student_labgrupa as sl,labgrupa where sl.student=$student and sl.labgrupa=labgrupa.id and labgrupa.predmet=$predmet");
    if (mysql_num_rows($q10)>0) {
    	$labgrupa = mysql_result($q10,0,0);
    } else {
    	$labgrupa=0;
    }
    
    
    // Limit...
    $q20 = myquery("select ogranicenje.labgrupa from ogranicenje, labgrupa where ogranicenje.nastavnik=$userid and ogranicenje.labgrupa=labgrupa.id and labgrupa.predmet=$predmet_id");
    if (mysql_num_rows($q20)>0) {
    	$nasao=0;
    	while ($r20 = mysql_fetch_row($q20)) {
    		if ($r20[0] == $labgrupa) { $nasao=1; break; }
    	}
    	if ($nasao == 0) {
    		zamgerlog("ogranicenje (student u$stud_id predmet pp$predmet_id)",3);
    		niceerror("Nemate pravo pristupa labgrupi u kojoj se nalazi ovaj student");
    		return;
    	}
    }*/
    // Onemogući izmjenu ako prijavljeni korisnik nije nastavnik na predmetu ili siteadmin
    $izmjena_moguca = 0;
    if ($user_siteadmin || $user_studentska) {
        $izmjena_moguca = 1;
    } else {
        $q30 = myquery("select count(*) from nastavnik_predmet where nastavnik={$userid} and predmet={$predmet} and akademska_godina={$ag}");
        if (mysql_result($q30, 0, 0) > 0) {
            $izmjena_moguca = 1;
        }
    }
    // TODO: prikaži read-only podatke o studentu
    if ($izmjena_moguca == 0) {
        zamgerlog("saradnik/izmjena_studenta: nije moguca izmjena (student u{$student} predmet pp{$predmet})", 3);
        niceerror("Nemate pravo pristupa ovom studentu!");
        return;
    }
    // Poziv funkcije za izmjenu
    if ($_POST['akcija'] == "izmjena" && $izmjena_moguca == 1 && check_csrf_token()) {
        $labgrupa = _izmijeni_profil($student, $predmet);
    }
    // Ispis studenta sa predmeta
    if ($_GET['akcija'] == "ispis" && $user_siteadmin) {
        ispis_studenta_sa_predmeta($student, $predmet, $ag);
        zamgerlog("student ispisan sa predmeta (student u{$student} predmet pp{$predmet})", 4);
        // nivo 4: audit
        nicemessage("Studen ispisan sa predmeta.");
        return;
    }
    ?>
<center><h2>Izmjena ličnih podataka</h2></center>

<?php 
    echo genform("POST");
    ?>
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:izmjena_studenta.php

示例9: common_inbox

function common_inbox()
{
    global $userid, $user_student, $user_nastavnik;
    // LEGENDA tabele poruke
    // Tip:
    //    1 - obavjestenja
    //    2 - lične poruke
    // Opseg:
    //    0 - svi korisnici Zamgera
    //    1 - svi studenti
    //    2 - svi nastavnici
    //    3 - svi studenti na studiju (primalac - id studija)
    //    4 - svi studenti na godini (primalac - id akademske godine)
    //    5 - svi studenti na predmetu (primalac - id predmeta)
    //    6 - svi studenti na labgrupi (primalac - id labgrupe)
    //    7 - korisnik (primalac - user id)
    //    8 - svi studenti na godini studija (primalac - idstudija*10+godina_studija)
    // Podaci potrebni kasnije
    // Zadnja akademska godina
    $q20 = myquery("select id,naziv from akademska_godina where aktuelna=1");
    $ag = mysql_result($q20, 0, 0);
    // Studij koji student trenutno sluša
    $studij = 0;
    if ($user_student) {
        $q30 = myquery("select ss.studij,ss.semestar,ts.ciklus from student_studij as ss, studij as s, tipstudija as ts where ss.student={$userid} and ss.akademska_godina={$ag} and ss.studij=s.id and s.tipstudija=ts.id order by ss.semestar desc limit 1");
        if (mysql_num_rows($q30) > 0) {
            $studij = mysql_result($q30, 0, 0);
            $semestar = mysql_result($q30, 0, 1);
            $ciklus = mysql_result($q30, 0, 2);
            $godina_studija = ($semestar + 1) / 2;
        }
    }
    // Pravimo neki okvir za sajt
    ?>
<center>
<table width="80%" border="0"><tr><td>

<h1>Lične poruke</h1>

<?php 
    //////////////////////
    // Slanje poruke
    //////////////////////
    if ($_POST['akcija'] == 'send' && check_csrf_token()) {
        // Ko je primalac
        $primalac = my_escape($_REQUEST['primalac']);
        $primalac = preg_replace("/\\(.*?\\)/", "", $primalac);
        $q300 = myquery("select id from auth where login='{$primalac}'");
        if (mysql_num_rows($q300) < 1) {
            niceerror("Nepoznat primalac");
            return;
            // FIXME
        }
        $prim_id = mysql_result($q300, 0, 0);
        // Samo slanje licnih poruka je dozvoljeno...
        $q310 = myquery("insert into poruka set tip=2, opseg=7, primalac={$prim_id}, posiljalac={$userid}, vrijeme=NOW(), ref=" . intval($_REQUEST['ref']) . ", naslov='" . my_escape($_REQUEST['naslov']) . "', tekst='" . my_escape($_REQUEST['tekst']) . "'");
        nicemessage("Poruka uspješno poslana");
        zamgerlog("poslana poruka za u{$prim_id}", 2);
        zamgerlog2("poslana poruka", intval($prim_id));
    }
    if ($_REQUEST['akcija'] == 'compose' || $_REQUEST['akcija'] == 'odgovor') {
        if ($_REQUEST['akcija'] == 'odgovor') {
            $poruka = intval($_REQUEST['poruka']);
            $q200 = myquery("select posiljalac, naslov, tekst, primalac from poruka where id={$poruka}");
            if (mysql_num_rows($q200) < 1) {
                niceerror("Poruka ne postoji");
                zamgerlog("pokusaj odgovora na nepostojecu poruku {$poruka}", 3);
                zamgerlog2("pokusaj odgovora na nepostojecu poruku", $poruka);
                return;
            }
            // Ko je poslao originalnu poruku (tj. kome odgovaramo)
            $prim_id = mysql_result($q200, 0, 0);
            if ($prim_id == $userid) {
                // U slučaju odgovora na poslanu poruku, ponovo šaljemo poruku istoj osobi
                $prim_id = mysql_result($q200, 0, 3);
            }
            $q210 = myquery("select a.login,o.ime,o.prezime from auth as a, osoba as o where a.id=o.id and o.id={$prim_id}");
            if (mysql_num_rows($q210) < 1) {
                niceerror("Nepoznat pošiljalac");
                zamgerlog("poruka {$poruka} ima nepoznatog posiljaoca {$prim_id} (prilikom odgovora na poruku)", 3);
                zamgerlog2("poruka ima nepoznatog posiljaoca (prilikom odgovora na poruku)", $poruka, $prim_id);
                return;
            } else {
                $primalac = mysql_result($q210, 0, 0) . " (" . mysql_result($q210, 0, 1) . " " . mysql_result($q210, 0, 2) . ")";
            }
            // Prepravka naslova i teksta
            $naslov = mysql_result($q200, 0, 1);
            if (substr($naslov, 0, 3) != "Re:") {
                $naslov = "Re: " . $naslov;
            }
            $tekst = mysql_result($q200, 0, 2);
            for ($i = 80; $i < strlen($tekst); $i += 81) {
                $k = $i - 80;
                while ($k < $i && $k !== false) {
                    $oldk = $k;
                    $k = strpos($tekst, " ", $k + 1);
                }
                if ($oldk == $i - 80) {
                    $tekst = substr($tekst, 0, $i) . "\n" . substr($tekst, $i);
                } else {
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:inbox.php

示例10: saradnik_zadaca

function saradnik_zadaca()
{
    global $conf_files_path, $userid, $user_siteadmin;
    require "lib/autotest.php";
    require "lib/manip.php";
    // radi update_komponente
    // --------------------
    // Standardni ulazni podaci i potrebne varijable
    $stud_id = intval($_REQUEST['student']);
    $zadaca = intval($_REQUEST['zadaca']);
    $zadatak = intval($_REQUEST['zadatak']);
    // Prava pristupa
    if (!$user_siteadmin) {
        // Da li je nastavnik na predmetu?
        $q10 = myquery("select count(*) from nastavnik_predmet as np, zadaca as z where z.id={$zadaca} and z.predmet=np.predmet and z.akademska_godina=np.akademska_godina and np.nastavnik={$userid}");
        if (mysql_result($q10, 0, 0) < 1) {
            zamgerlog("privilegije (student u{$stud_id} zadaca z{$zadaca})", 3);
            // nivo 3: greska
            niceerror("Nemate pravo izmjene ove zadaće");
            return;
        }
        // Ogranicenja (tabela: ogranicenje) ne provjeravamo jer bi to bilo prekomplikovano,
        // a pitanje je da li ima smisla
    }
    // Podaci o zadaci
    $q20 = myquery("select p.geshi, p.ekstenzija, z.attachment, z.naziv, z.zadataka, z.komponenta, z.predmet, z.akademska_godina, z.programskijezik from zadaca as z, programskijezik as p where z.id={$zadaca} and z.programskijezik=p.id");
    if (mysql_num_rows($q20) < 1) {
        zamgerlog("nepostojeca zadaca {$zadaca}", 3);
        niceerror("Neispravna zadaća.");
        exit;
    }
    $jezik = mysql_result($q20, 0, 0);
    $ekst = mysql_result($q20, 0, 1);
    $attach = mysql_result($q20, 0, 2);
    $naziv_zadace = mysql_result($q20, 0, 3);
    $komponenta = mysql_result($q20, 0, 5);
    $predmet = mysql_result($q20, 0, 6);
    $ag = mysql_result($q20, 0, 7);
    $id_jezika = mysql_result($q20, 0, 8);
    if (mysql_result($q20, 0, 4) < $zadatak || $zadatak < 1) {
        zamgerlog("pokusao pristupiti nepostojecem zadatku {$zadatak} u zadaci z{$zadaca}", 3);
        niceerror("Neispravan broj zadatka.");
        exit;
    }
    // Podaci o studentu
    $q50 = myquery("select ime, prezime from osoba where id={$stud_id}");
    if (mysql_num_rows($q50) < 1) {
        zamgerlog("nepostojeci student {$stud_id}", 3);
        niceerror("Neispravan student.");
        exit;
    }
    $ime_studenta = mysql_result($q50, 0, 0);
    $prezime_studenta = mysql_result($q50, 0, 1);
    $lokacijazadaca = "{$conf_files_path}/zadace/{$predmet}-{$ag}/{$stud_id}/";
    // --------------------
    // AKCIJE
    // Akcija: Ispis diffa
    if ($_GET['akcija'] == "diff") {
        $diff_id = intval($_GET['diff_id']);
        $q60 = myquery("select diff from zadatakdiff where zadatak={$diff_id}");
        $diff = mysql_result($q60, 0, 0);
        // Ovo ispod nema potrebe jer je diff već escapovan prilikom
        // inserta u bazu (stud_zadaca.php)
        // $diff = str_replace("\n\n","\n",$diff);
        // $diff = htmlspecialchars($diff);
        print "<pre>{$diff}</pre>\n\n";
        return;
    }
    // Akcija: Izvršenje programa
    if ($_POST['akcija'] == "izvrsi" && check_csrf_token()) {
        // čuvamo poslane podatke u bazi (ako ih nema)
        function izvrsi($stdin, $jezik, $lokacijazadaca, $zadaca, $zadatak, $ekst)
        {
            global $conf_files_path;
            // priprema fajlova
            $tstdin = str_replace('\\n', "\n", $stdin);
            // više nije dvostruki escape
            $tstdin = str_replace('\\N', "\n", $tstdin);
            $tstdin .= "\n";
            $result = file_put_contents("{$conf_files_path}/tmp/zamger-gdb.txt", "run\nbt\n");
            if ($result) {
                $result = file_put_contents("{$conf_files_path}/tmp/zamger-input.txt", $tstdin);
            }
            if (!$result) {
                zamgerlog("nije uspjelo kreiranje datoteka", 3);
                niceerror("Ne mogu kreirati potrebne datoteke u direktoriju /tmp");
                return;
            }
            // kompajliranje - FIXME: nema podrške za jezike?
            if ($jezik == "C++") {
                $kompajler = "g++";
            } else {
                $kompajler = "gcc";
            }
            $the_file = "{$lokacijazadaca}{$zadaca}/{$zadatak}{$ekst}";
            $stdout = array();
            exec("{$kompajler} -lm  -ggdb {$the_file} -o {$conf_files_path}/tmp/zamger.out 2>&1", $stdout, $retvar);
            if ($retvar != 0) {
                niceerror("Kompajliranje nije uspjelo! Slijedi ispis");
                print "<pre>" . join("\n", $stdout) . "</pre>\n\n";
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:zadaca.php

示例11: formProcess_bb

function formProcess_bb($option, $thread, $threadID)
{
    $errorText = '';
    if (!check_csrf_token()) {
        zamgerlog("csrf token nije dobar", 3);
        zamgerlog2("csrf token nije dobar");
        return "Poslani podaci nisu ispravni. Vratite se nazad, ponovo popunite formu i kliknite na dugme Pošalji";
    }
    if (!in_array($option, array('add', 'edit'))) {
        $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
        return $errorText;
    }
    $id = intval($_REQUEST['id']);
    if ($option == 'edit' && $id <= 0) {
        $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
        zamgerlog("pokusao urediti nepostojeci post {$id}, projekat {$projekat} (pp{$predmet})", 3);
        zamgerlog2("pokusao urediti nepostojeci post", $id, $projekat);
        return $errorText;
    }
    if ($thread == true && $threadID <= 0) {
        $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
        zamgerlog("pokusao urediti nepostojeci post {$id}, projekat {$projekat} (pp{$predmet})", 3);
        zamgerlog2("pokusao urediti nepostojeci post", $id, $projekat);
        return $errorText;
    }
    //get variables
    $naslov = $_REQUEST['naslov'];
    $tekst = $_REQUEST['tekst'];
    $projekat = intval($_REQUEST['projekat']);
    $predmet = intval($_REQUEST['predmet']);
    global $userid;
    if (empty($naslov) || empty($tekst)) {
        $errorText = 'Unesite sva obavezna polja.';
        return $errorText;
    }
    $naslov = trim($naslov);
    $tekst = trim($tekst);
    if ($option == 'edit') {
        $entry = getPost($id);
    }
    $data = array('naslov' => $naslov, 'tekst' => $tekst, 'osoba' => $userid, 'projekat' => $projekat, 'threadID' => $threadID);
    if ($option == 'add') {
        if ($thread == false) {
            //new thread inserting
            if (!insertThread($data)) {
                $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
                return $errorText;
            }
        } else {
            //inserting post in thread
            if (!insertReplyForThread($threadID, $data)) {
                $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
                return $errorText;
            }
        }
    } else {
        if (!updatePost($data, $id)) {
            $errorText = 'Doslo je do greske prilikom spasavanja podataka. Molimo kontaktirajte administratora.';
            return $errorText;
        }
    }
    //option == edit
    return $errorText;
}
开发者ID:msehalic,项目名称:zamger,代码行数:64,代码来源:projektneStrane.php

示例12: saradnik_student


//.........这里部分代码省略.........
            zamgerlog("nastavnik nije na predmetu (pp{$predmet} ag{$ag})", 3);
            zamgerlog2("nije saradnik na predmetu", $predmet, $ag);
            return;
        }
        $privilegija = mysql_result($q10, 0, 0);
        // Provjera ogranicenja
        $q30 = myquery("select o.labgrupa from ogranicenje as o, labgrupa as l, student_labgrupa as sl where o.nastavnik={$userid} and o.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag}");
        if (mysql_num_rows($q30) > 0) {
            $nasao = 0;
            while ($r30 = mysql_fetch_row($q30)) {
                if ($r30[0] == $labgrupa) {
                    $nasao = 1;
                    break;
                }
            }
            if ($nasao == 0) {
                biguglyerror("Student je u grupi za koju vam je ograničen pristup");
                zamgerlog("ogranicenje na labgrupu g{$labgrupa}", 3);
                zamgerlog2("ima ogranicenje na labgrupu", intval($labgrupa));
                return;
            }
        }
    }
    // ----  AKCIJE
    // Akcija: ispis studenta sa predmeta
    if ($_GET['akcija'] == "ispis" && $user_siteadmin) {
        ispis_studenta_sa_predmeta($student, $predmet, $ag);
        zamgerlog("student ispisan sa predmeta (student u{$student} predmet pp{$predmet})", 4);
        // nivo 4: audit
        zamgerlog2("student ispisan sa predmeta", $student, $predmet, $ag);
        nicemessage("Student ispisan sa predmeta.");
        return;
    }
    if ($_POST['akcija'] == "promjena_grupe" && check_csrf_token()) {
        $novagrupa = intval($_POST['grupa']);
        $staragrupa = 0;
        // Da li je student u nekoj grupi i u kojoj?
        //   (Ne smijemo se osloniti na vrijednost varijable $labgrupa jer
        //   to može biti virtualna grupa iz koje ga ne smijemo ispisati)
        $q53 = myquery("select l.id, l.naziv from student_labgrupa as sl, labgrupa as l where sl.student={$student} and sl.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag} and l.virtualna=0");
        if (mysql_num_rows($q53) > 0) {
            $staragrupa = mysql_result($q53, 0, 0);
            $naziv_stare_grupe = mysql_result($q53, 0, 1);
            if ($novagrupa == $staragrupa) {
                nicemessage("Student se već nalazi u grupi {$naziv_stare_grupe}!");
                print '<a href="?sta=saradnik/student&student=' . $student . '&predmet=' . $predmet . '&ag=' . $ag . '">Nazad</a>' . "\n";
                return;
            }
            ispis_studenta_sa_labgrupe($student, $staragrupa);
            nicemessage("Student ispisan iz grupe {$naziv_stare_grupe}. Podaci o prisustvu su izgubljeni.");
        }
        if ($novagrupa > 0) {
            $q55 = myquery("insert into student_labgrupa set student={$student}, labgrupa={$novagrupa}");
            $q57 = myquery("select naziv from labgrupa where id={$novagrupa}");
            nicemessage("Student upisan u grupu " . mysql_result($q57, 0, 0) . ". Kreirani su default podaci o prisustvu.");
        }
        // Potrebno je updatovati komponentu za prisustvo jer su podaci sada promijenjeni
        $q4 = myquery("select k.id from tippredmeta_komponenta as tpk,komponenta as k, akademska_godina_predmet as agp where agp.predmet={$predmet} and agp.tippredmeta=tpk.tippredmeta and agp.akademska_godina={$ag} and tpk.komponenta=k.id and k.tipkomponente=3");
        while ($r4 = mysql_fetch_row($q4)) {
            update_komponente($student, $ponudakursa, $r4[0]);
        }
        // Pametni logging
        if ($staragrupa > 0 && $novagrupa > 0) {
            zamgerlog("student u{$student} prebacen iz grupe g{$staragrupa} u g{$novagrupa}", 2);
            // 2 = edit
            zamgerlog2("promijenjena grupa studenta", $student, $novagrupa, 0, $staragrupa);
开发者ID:msehalic,项目名称:zamger,代码行数:67,代码来源:student.php

示例13: common_zavrsniStrane


//.........这里部分代码省略.........
		<?php 
        }
        //foreach thread
        ?>
	</div><!--threadList-->
	<?php 
        $brstranica = ceil($broj_tema / $tema_po_stranici);
        if ($brstranica > 0) {
            echo "<span class=\"newsPages\">";
            if ($stranica > 1) {
                $str = $stranica - 1;
                $prev = " <a href=\"{$linkPrefix}&stranica={$str}\">[Prethodna]</a> ";
                $prva = " <a href=\"{$linkPrefix}&stranica=1\">[Prva]</a> ";
            }
            if ($stranica < $brstranica) {
                $str = $stranica + 1;
                $next = " <a href=\"{$linkPrefix}&stranica={$str}\">[Sljedeća]</a> ";
                $zadnja = " <a href=\"{$linkPrefix}&stranica={$str}\">[Zadnja]</a> ";
            }
            echo $prva . $prev . " Strana <strong>{$stranica}</strong> od ukupno <strong>{$brstranica}</strong> " . $next . $zadnja;
            echo "</span>";
            //newsPages span
        }
        // Kraj foruma
        ?>
	</td></tr></table></center>
	<?php 
    }
    // if (!isset($subakcija))
    // SUBAKCIJE
    // Akcija dodavanje fajla
    if ($subakcija == 'dodaj_fajl') {
        if (isset($_REQUEST['submit'])) {
            if (!check_csrf_token()) {
                zamgerlog("csrf token nije dobar", 3);
                zamgerlog2("csrf token nije dobar");
                niceerror("Poslani podaci nisu ispravni. Vratite se nazad, ponovo popunite formu i kliknite na dugme Pošalji");
                return;
            }
            // ulazni parametri
            $filename = $_FILES['filename'];
            $revizija = 1;
            $file = '';
            $errorText = "";
            $zavrsni = intval($_REQUEST['zavrsni']);
            $predmet = intval($_REQUEST['predmet']);
            if ($filename['error'] == 4) {
                $errorText = 'Unesite sva obavezna polja.';
            } else {
                if ($filename['error'] == 1 || $filename['error'] == 2) {
                    $errorText .= 'Pokušavate poslati fajl koji je veci od dozvoljene velicine. Probajte sa manjim fajlom.<br />';
                } else {
                    if ($filename['error'] > 0) {
                        $errorText .= 'Vaš fajl nije poslan korektno. Molimo pokušajte ponovo.<br />';
                    } else {
                        $uploadFile = trim($filename['name']);
                        $uploadDir = $lokacijafajlova . $uploadFile . "/v{$revizija}/";
                        if (!file_exists($uploadDir)) {
                            mkdir($uploadDir, 0777, true);
                        }
                        if (move_uploaded_file($filename['tmp_name'], $uploadDir . $uploadFile)) {
                            chmod($uploadDir . $uploadFile, 0777);
                        } else {
                            $errorText .= 'Desila se greška prilikom uploada fajla. Molimo kontaktirajte administratora.<br />AA';
                        }
                    }
开发者ID:msehalic,项目名称:zamger,代码行数:67,代码来源:zavrsniStrane.php

示例14: nastavnik_zadace

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>&nbsp;</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 &quot;Kreiranje zadaće&quot; koji se nalazi na prethodnoj stranici. Ukoliko ne vidite nijednu zadaću na spisku &quot;Postojeće zadaće&quot;, 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;
        }
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:zadace.php

示例15: saradnik_komentar

function saradnik_komentar()
{
    global $userid, $user_siteadmin;
    ?>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" bgcolor="#FFFFFF">
<?php 
    $stud_id = intval($_REQUEST['student']);
    $labgrupa = intval($_REQUEST['labgrupa']);
    // Da li neko spoofa predmet/studenta?
    $q10 = myquery("select sl.labgrupa from student_labgrupa as sl where sl.student={$stud_id} and sl.labgrupa={$labgrupa}");
    if (mysql_num_rows($q10) < 1) {
        zamgerlog("student u{$stud_id} nije u labgrupi g{$labgrupa}", 3);
        zamgerlog2("id studenta i labgrupe ne odgovaraju", $stud_id, $labgrupa);
        niceerror("Nemate pravo pristupa ovom studentu!");
        return;
    }
    // Prava pristupa i odredjivanje predmeta
    if ($user_siteadmin) {
        $q20 = myquery("select predmet, akademska_godina from labgrupa where id={$labgrupa}");
        if (mysql_num_rows($q20) < 1) {
            zamgerlog("nepoznata labgrupa (labgrupa {$labgrupa} predmet pp{$predmet})", 3);
            zamgerlog2("nepoznata labgrupa", $labgrupa);
            niceerror("Nepoznata grupa {$labgrupa}");
            return;
        }
    } else {
        $q20 = myquery("select np.predmet, np.akademska_godina from labgrupa as l, nastavnik_predmet as np where l.id={$labgrupa} and l.predmet=np.predmet and l.akademska_godina=np.akademska_godina and np.nastavnik={$userid}");
        if (mysql_num_rows($q20) < 1) {
            zamgerlog("nastavnik nije na predmetu (labgrupa g{$labgrupa})", 3);
            zamgerlog2("nije saradnik na predmetu", $predmet, $ag);
            niceerror("Nemate pravo pristupa ovom studentu!");
            return;
        }
    }
    $predmet = mysql_result($q20, 0, 0);
    $ag = mysql_result($q20, 0, 1);
    // Limit...
    $q30 = myquery("select o.labgrupa from ogranicenje as o, labgrupa as l where o.nastavnik={$userid} and o.labgrupa=l.id and l.predmet={$predmet} and l.akademska_godina={$ag}");
    if (mysql_num_rows($q30) > 0) {
        $nasao = 0;
        while ($r30 = mysql_fetch_row($q30)) {
            if ($r30[0] == $labgrupa) {
                $nasao = 1;
                break;
            }
        }
        if ($nasao == 0) {
            zamgerlog("ogranicenje (labgrupa g{$labgrupa} predmet pp{$predmet})", 3);
            zamgerlog2("ima ogranicenje na labgrupu", $labgrupa);
            niceerror("Nemate pravo pristupa ovom studentu!");
            return;
        }
    }
    $q40 = myquery("select ime, prezime, brindexa from osoba where id={$stud_id}");
    if ($r40 = mysql_fetch_row($q40)) {
        print "<h3>{$r40['0']} {$r40['1']} ({$r40['2']})</h3>\n";
    } else {
        zamgerlog("nepostojeci student {$stud_id}", 3);
        zamgerlog2("nepostojeci student", $stud_id);
        niceerror("Nemate pravo pristupa ovom studentu!");
        return;
    }
    // Odredjujem ponudukursa koju tabela komentar za sada jos uvijek koristi
    $q45 = myquery("select pk.id from ponudakursa as pk, student_predmet as sp where sp.student={$stud_id} and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag}");
    $ponudakursa = mysql_result($q45, 0, 0);
    // ------------------------
    //  Akcije
    // ------------------------
    if ($_POST['akcija'] == "dodaj" && check_csrf_token()) {
        list($h, $m, $s) = explode(":", $_POST['vrijeme']);
        $datum = date("Y-m-d H:i:s", mktime($h, $m, $s, $_POST['month'], $_POST['day'], $_POST['year']));
        $komentar = my_escape($_POST['komentar']);
        $q50 = myquery("insert into komentar set student={$stud_id}, nastavnik={$userid}, labgrupa={$labgrupa}, predmet={$ponudakursa}, datum='{$datum}', komentar='{$komentar}'");
        zamgerlog("dodan komentar na studenta u{$stud_id} labgrupa g{$labgrupa}", 2);
        zamgerlog2("dodan komentar na studenta", $stud_id, $labgrupa);
    }
    if ($_GET['akcija'] == "obrisi") {
        $id = intval($_GET['id']);
        $q60 = myquery("delete from komentar where id={$id}");
        zamgerlog("obrisan komentar {$id}", 2);
        zamgerlog2("obrisan komentar", $id);
    }
    // Spisak komentara
    $q70 = myquery("select k.id, a.ime, a.prezime, UNIX_TIMESTAMP(k.datum), k.komentar from komentar as k, osoba as a where k.student={$stud_id} and k.labgrupa={$labgrupa} and k.nastavnik=a.id");
    if (mysql_num_rows($q70) < 1) {
        print "<ul><li>Nijedan komentar nije unesen.</li></ul>\n";
    }
    while ($r70 = mysql_fetch_row($q70)) {
        $datum = date("d. m. Y. H:i:s", $r70[3]);
        print "<p><b>{$datum} ({$r70['1']} {$r70['2']}):</b> (<a href=\"" . genuri() . "&akcija=obrisi&id={$r70['0']}\">Obriši</a>)<br/>{$r70['4']}<br/></p>\n";
    }
    // Dodaj komentar
    ?>
<p><hr></p>
<p><b>Dodajte komentar:</b><br/>
<?php 
    echo genform("POST");
    ?>
<input type="hidden" name="akcija" value="dodaj">
Trenutni datum i vrijeme:<br/>
//.........这里部分代码省略.........
开发者ID:msehalic,项目名称:zamger,代码行数:101,代码来源:komentar.php


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