Esempio n. 1
0
function student_projekti()
{
    require_once "lib/projekti.php";
    //debug mod aktivan
    global $userid, $user_student;
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // Da li student slusa predmet?
    $q10 = 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($q10) < 1) {
        zamgerlog("student ne slusa predmet pp{$predmet}", 3);
        zamgerlog2("student ne slusa predmet", $predmet, $ag);
        biguglyerror("Niste upisani na ovaj predmet");
        return;
    }
    $linkprefix = "?sta=student/projekti&predmet={$predmet}&ag={$ag}";
    $akcija = $_REQUEST['akcija'];
    $id = intval($_REQUEST['id']);
    // KORISNI UPITI
    // Spisak svih projekata
    $q20 = myquery("SELECT id, naziv, opis, vrijeme FROM projekat WHERE predmet={$predmet} AND akademska_godina={$ag} ORDER BY vrijeme DESC");
    $svi_projekti = array();
    while ($r20 = mysql_fetch_assoc($q20)) {
        $svi_projekti[] = $r20;
    }
    // Broj članova po projektu
    $broj_studenata = array();
    $q30 = myquery("select p.id, count(sp.student) FROM projekat as p, student_projekat as sp WHERE p.id=sp.projekat AND p.predmet={$predmet} AND p.akademska_godina={$ag} GROUP BY sp.projekat");
    while ($r30 = mysql_fetch_row($q30)) {
        $broj_studenata[$r30[0]] = $r30[1];
    }
    // Da li je student upisan u neki projekat?
    $clan_projekta = 0;
    $q40 = myquery("SELECT p.id FROM projekat as p, student_projekat as sp WHERE p.id=sp.projekat AND sp.student={$userid} AND p.predmet={$predmet} AND p.akademska_godina={$ag} LIMIT 1");
    if (mysql_num_rows($q40) > 0) {
        $clan_projekta = mysql_result($q40, 0, 0);
    }
    // Parametri projekata na predmetu
    $q50 = myquery("SELECT min_timova, max_timova, min_clanova_tima, max_clanova_tima, zakljucani_projekti FROM predmet_projektni_parametri WHERE predmet='{$predmet}' AND akademska_godina='{$ag}' LIMIT 1");
    if (mysql_num_rows($q50) < 1) {
        niceerror("Predmetni nastavnik nije podesio parametre projekata.");
        print "Prijavljivanje na projekte za sada nije moguće. Obratite se predmetnom nastavniku ili asistentu za dodatne informacije.";
        return;
    }
    $min_timova = mysql_result($q50, 0, 0);
    $max_timova = mysql_result($q50, 0, 1);
    $min_clanova_tima = mysql_result($q50, 0, 2);
    $max_clanova_tima = mysql_result($q50, 0, 3);
    $zakljucani_projekti = mysql_result($q50, 0, 4);
    // Da li je dostignut limit broja timova?
    $brtimova = 0;
    foreach ($svi_projekti as $projekat) {
        if ($broj_studenata[$projekat[id]] > 0) {
            $brtimova++;
        }
    }
    $limit_timova = false;
    if ($brtimova >= $max_timova) {
        $limit_timova = true;
        // No ako je student trenutno član projekta sa samo jednim članom,
        // istupanjem iz tima otvoriće se mogućnost kreiranja novog tima
        if ($clan_projekta > 0 && $broj_studenata[$clan_projekta] == 1) {
            $limit_timova = false;
        }
    }
    // Stylesheet... čemu?
    ?>
	<LINK href="css/projekti.css" rel="stylesheet" type="text/css">
	<?php 
    // Akcije
    if ($akcija == 'prijava') {
        $projekat = intval($_REQUEST['projekat']);
        // Da li je projekat sa ovog predmeta?
        $nasao = false;
        foreach ($svi_projekti as $proj) {
            if ($proj[id] == $projekat) {
                $nasao = true;
                break;
            }
        }
        if ($nasao == false) {
            niceerror("Nepoznat projekat!");
            zamgerlog("prijava na projekat {$projekat} koji nije sa predmeta pp{$predmet}", 3);
            zamgerlog2("projekat i predmet ne odgovaraju", $projekat, $predmet);
        } else {
            if ($zakljucani_projekti) {
                niceerror("Zaključane su prijave na projekte.");
                zamgerlog("prijava na projekat {$projekat} koji je zaključan na predmetu pp{$predmet}", 3);
                zamgerlog2("projekat zakljucan", $projekat);
            } else {
                if ($broj_studenata[$projekat] >= $max_clanova_tima) {
                    niceerror("Dosegnut je limit broja članova po projektu.");
                    zamgerlog("prijava na projekat {$projekat} koji je popunjen", 3);
                    zamgerlog2("projekat popunjen", $projekat);
                } else {
                    if ($broj_studenata[$projekat] == 0 && $limit_timova) {
                        niceerror("Dosegnut je maksimalan broj timova. Ne možete kreirati novi tim.");
                        zamgerlog("dosegnut limit broja timova na predmetu pp{$predmet}", 3);
                        zamgerlog2("dosegnut limit broja timova", $predmet);
                    } else {
                        // Upisujemo u novi projekat
                        $q110 = myquery("INSERT INTO student_projekat SET student={$userid}, projekat={$projekat}");
                        nicemessage("Uspješno ste prijavljeni na projekat");
                        zamgerlog("student upisan na projekat {$projekat} (predmet pp{$predmet})", 2);
                        zamgerlog2("prijavljen na projekat", $projekat);
                        // Ispisujemo studenta sa postojećih projekata
                        if ($clan_projekta > 0) {
                            $q100 = myquery("DELETE FROM student_projekat WHERE student={$userid} AND projekat={$clan_projekta}");
                            nicemessage("Odjavljeni ste sa starog projekta");
                            zamgerlog("student ispisan sa projekta {$projekat} (predmet pp{$predmet})", 2);
                            zamgerlog2("odjavljen sa starog projekta", $projekat);
                        }
                    }
                }
            }
        }
        print '<a href="' . $linkprefix . '">Povratak.</a>';
        return;
    }
    // akcija == prijava
    if ($akcija == 'odjava') {
        $projekat = intval($_REQUEST['projekat']);
        // Da li je projekat sa ovog predmeta?
        $nasao = false;
        foreach ($svi_projekti as $proj) {
            if ($proj[id] == $projekat) {
                $nasao = true;
                break;
            }
        }
        if ($nasao == false) {
            niceerror("Nepoznat projekat!");
            zamgerlog("odjava sa projekta {$projekat} koji nije sa predmeta pp{$predmet}", 3);
            zamgerlog2("projekat i predmet ne odgovaraju (odjava)", $projekat, $predmet);
        } else {
            if ($zakljucani_projekti) {
                niceerror("Zaključane su liste timova za projekte. Odustajanja nisu dozvoljena.");
                zamgerlog("odjava sa projekta {$projekat} koji je zakljucan na predmetu pp{$predmet}", 3);
                zamgerlog2("projekat zakljucan (odjava)", $projekat);
            } else {
                if ($projekat != $clan_projekta) {
                    niceerror("Niste prijavljeni na ovaj projekat");
                    zamgerlog("odjava sa projekta {$projekat} na koji nije prijavljen", 3);
                    zamgerlog2("odjava sa projekta na koji nije prijavljen", $projekat);
                } else {
                    $q120 = myquery("DELETE FROM student_projekat WHERE student={$userid} AND projekat={$projekat}");
                    nicemessage("Uspješno ste odjavljeni sa projekta");
                    zamgerlog("student ispisan sa projekta {$projekat} (predmet pp{$predmet})", 2);
                    zamgerlog2("odjavljen sa projekta", $projekat);
                }
            }
        }
        print '<a href="' . $linkprefix . '">Povratak.</a>';
        return;
    }
    // akcija == odjava
    if ($akcija == 'projektnastranica') {
        require_once 'common/projektneStrane.php';
        common_projektneStrane();
        return;
    }
    //akcija == projektnastranica
    // Glavni ekran
    ?>
	<h2>Projekti</h2>
	<span class="notice">
	Nastavnik je definisao sljedeće parametre svih projekata na ovom predmetu:
	<ul>
		<li>Broj timova: <?php 
    if ($min_timova == $max_timova) {
        print "tačno {$max_timova}";
    } else {
        print "od {$min_timova} do {$max_timova}";
    }
    ?>
</li>
		<li>Broj članova tima: <?php 
    if ($min_clanova_tima == $max_clanova_tima) {
        print "tačno {$max_clanova_tima}";
    } else {
        print "od {$min_clanova_tima} do {$max_clanova_tima}";
    }
    ?>
</li>
	</ul>
	Prijavite se na projekat i automatski se učlanjujete u projektni tim ili kreirate novi tim. Da biste promijenili tim, prijavite se u drugi tim.
	</span><br /><?php 
    // Ispis - zakljucani projekti
    if ($zakljucani_projekti == 1) {
        ?>
		<span class="notice">Onemogućene su prijave u projektne timove. Otvorene su projektne stranice.</span>	
		<?php 
    } else {
        ?>
		<span class="noticeGreen">Moguće su prijave u projetne timove. Nastavnik još uvijek nije kompletirao prijave.</span>	
		<?php 
    }
    // Ako je upisivanje zaključano, ispisaćemo samo onaj projekat u koji je student upisan
    $projekti_za_ispis = array();
    if ($zakljucani_projekti == 1 && $clan_projekta > 0) {
        foreach ($svi_projekti as $projekat) {
            if ($projekat[id] == $clan_projekta) {
                $projekti_za_ispis[] = $projekat;
            }
        }
    } else {
        $projekti_za_ispis = $svi_projekti;
    }
    // Nema projekata
    if (count($svi_projekti) == 0) {
        nicemessage("Predmetni nastavnik još uvijek nije definisao projekte na ovom predmetu. Imajte strpljenja.");
    }
    // Ispis projektnih kocki
    foreach ($projekti_za_ispis as $projekat) {
        ?>
		<h3><?php 
        echo $projekat['naziv'];
        ?>
</h3>
		<div class="links">
			<ul class="clearfix">
		<?php 
        if ($zakljucani_projekti == 0) {
            if ($projekat[id] == $clan_projekta) {
                ?>
				<li class="last"><a href="<?php 
                echo $linkprefix . "&projekat=" . $projekat[id] . "&akcija=odjava";
                ?>
">Odustani od prijave na ovom projektu</a></li>	
				<?php 
            } else {
                if ($broj_studenata[$projekat[id]] >= $max_clanova_tima) {
                    ?>
				<li style="color:red" class="last">Projekat je popunjen i ne prima prijave.</li>
				<?php 
                } else {
                    if ($broj_studenata[$projekat[id]] == 0 && $limit_timova) {
                        ?>
				<div style="color:red; margin-top: 10px;">Limit za broj timova dostignut. Ne možete kreirati novi tim. Prijavite se na projekte u kojima ima mjesta.</div>	
				<?php 
                    } else {
                        if ($clan_projekta == 0) {
                            ?>
				<li class="last"><a href="<?php 
                            echo $linkprefix . "&projekat=" . $projekat[id] . "&akcija=prijava";
                            ?>
">Prijavi se na ovaj projekat</a></li>
				<?php 
                        } else {
                            ?>
	
				<li class="last"><a href="<?php 
                            echo $linkprefix . "&projekat=" . $projekat[id] . "&akcija=prijava";
                            ?>
">Prijavi se na ovaj projekat / Promijeni članstvo</a></li>   	
				<?php 
                        }
                    }
                }
            }
        } else {
            // Projekti su zaključani
            ?>
			<li class="last"><a href="<?php 
            echo $linkprefix . "&projekat=" . $projekat[id] . "&akcija=projektnastranica";
            ?>
">Projektna stranica</a></li>
			<?php 
        }
        // Ispis ostalih podataka o projektu
        ?>
			</ul>
		</div>	
		<table class="projekti" border="0" cellspacing="0" cellpadding="2">
			<tr>
				<th width="200" align="left" valign="top" scope="row">Naziv</th>
				<td width="490" align="left" valign="top"><?php 
        echo $projekat['naziv'];
        ?>
</td>
			</tr>
			<tr>
				<th width="200" align="left" valign="top" scope="row">Prijavljeni tim / student</th>
				<td width="490" align="left" valign="top">
					<?php 
        // Spisak članova projekta
        $q200 = myquery("select o.ime, o.prezime, o.brindexa from osoba as o, student_projekat as sp where sp.student=o.id and sp.projekat=" . $projekat[id] . " order by o.prezime, o.ime");
        if (mysql_num_rows($q200) < 1) {
            print 'Nema prijavljenih studenata.';
        } else {
            print "<ul>\n";
        }
        while ($r200 = mysql_fetch_row($q200)) {
            ?>
						<li><?php 
            echo $r200[1] . ' ' . $r200[0] . ', ' . $r200[2];
            ?>
</li>
						<?php 
        }
        if (mysql_num_rows($q200) > 0) {
            print "</ul>\n";
        }
        ?>
				</td>
			</tr>
			<tr>
				<th width="200" align="left" valign="top" scope="row">Opis</th>
				<td width="490" align="left" valign="top"><?php 
        echo nl2br($projekat['opis']);
        ?>
</td>
			</tr>
		</table>
		<?php 
    }
    // foreach ($projekti_za_ispis...
}
Esempio n. 2
0
function nastavnik_projekti()
{
    require_once 'lib/projekti.php';
    global $userid, $user_nastavnik, $user_siteadmin;
    global $conf_files_path;
    $predmet = intval($_REQUEST['predmet']);
    $ag = intval($_REQUEST['ag']);
    // 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/projekti privilegije (predmet pp{$predmet})", 3);
            zamgerlog2("nije nastavnik na predmetu", $predmet, $ag);
            biguglyerror("Nemate pravo pristupa ovoj opciji");
            return;
        }
    }
    $linkPrefix = "?sta=nastavnik/projekti&predmet={$predmet}&ag={$ag}";
    $akcija = $_REQUEST['akcija'];
    $id = intval($_REQUEST['id']);
    ?>
	<LINK href="css/projekti.css" rel="stylesheet" type="text/css">
	<h2>Projekti</h2>
	<?php 
    // Preuzimanje projektnih parametara
    $q10 = myquery("SELECT min_timova, max_timova, min_clanova_tima, max_clanova_tima, zakljucani_projekti FROM predmet_projektni_parametri WHERE predmet={$predmet} AND akademska_godina={$ag}");
    if (mysql_num_rows($q10) < 1) {
        $nema_parametara = true;
    } else {
        $nema_parametara = false;
        $param_min_timova = mysql_result($q10, 0, 0);
        $param_max_timova = mysql_result($q10, 0, 1);
        $param_min_clanova_tima = mysql_result($q10, 0, 2);
        $param_max_clanova_tima = mysql_result($q10, 0, 3);
        $param_zakljucan = mysql_result($q10, 0, 4);
    }
    // Glavni meni
    if ($akcija != 'projektna_stranica') {
        ?>
		<div class="links">
			<ul class="clearfix">
				<li><a href="<?php 
        echo $linkPrefix . "&akcija=param";
        ?>
">Parametri projekata</a></li>
				<li><a href="<?php 
        echo $linkPrefix;
        ?>
">Lista projekata</a></li>
				<li><a href="<?php 
        echo $linkPrefix . "&akcija=dodaj_projekat";
        ?>
">Novi projekat</a></li>
				<li class="last"><a href="<?php 
        echo $linkPrefix . "&akcija=dodjela_studenata";
        ?>
">Dodjela projekata studentima</a></li>
			</ul>
		</div>	
		<?php 
    }
    // Default akcija - LISTA PROJEKATA
    if (!isset($akcija)) {
        ?>
		<h2>Lista projekata</h2>
		<?php 
        // Početne informacije
        $q100 = myquery("SELECT id, naziv, opis FROM projekat WHERE predmet={$predmet} AND akademska_godina={$ag} ORDER BY naziv");
        $broj_projekata = mysql_num_rows($q100);
        if ($broj_projekata > 0) {
            if ($param_zakljucan == 1) {
                ?>
				<span class="notice">Onemogućene su prijave u projektne timove. Otvorene su projektne stranice.</span>	
				<?php 
            } else {
                ?>
				<span class="noticeGreen">Studenti se još uvijek mogu prijaviti u projektne timove. Niste zaključali spiskove u parametrima prijekata.</span>	
				<?php 
            }
            $q460 = myquery("select distinct p.id from student_projekat as sp, projekat as p where sp.projekat=p.id and p.predmet={$predmet} and p.akademska_godina={$ag}");
            $broj_nepraznih = mysql_num_rows($q460);
            if ($broj_nepraznih < $param_min_timova) {
                ?>
				<span class="notice">Trenutni broj timova sa barem jednim studentom (<?php 
                echo $broj_nepraznih;
                ?>
) je ispod minimalnog broj timova koji ste definisali za ovaj predmet (<?php 
                echo $param_min_timova;
                ?>
).</span>
				<?php 
            }
        } else {
            ?>
			<span class="notice">Nema kreiranih projekata na ovom predmetu.</span>	
			<?php 
        }
        while ($r100 = mysql_fetch_row($q100)) {
            $id_projekta = $r100[0];
            $naziv_projekta = $r100[1];
            ?>
			<h3><?php 
            echo $naziv_projekta;
            ?>
</h3>
			<div class="links">
				<ul class="clearfix" style="margin-bottom: 10px;">
					<li><a href="<?php 
            echo $linkPrefix . "&akcija=izmjena_projekta&id={$id_projekta}";
            ?>
">Izmijeni projekat</a></li>
					<li><a href="<?php 
            echo $linkPrefix . "&akcija=dodaj_biljesku&id={$id_projekta}";
            ?>
">Dodaj bilješku</a></li>
					<li <?php 
            if ($param_zakljucan == 0) {
                print 'class="last"';
            }
            ?>
><a href="<?php 
            echo $linkPrefix . "&akcija=obrisi_projekat&id={$id_projekta}";
            ?>
">Obriši projekat</a></li>
					<?php 
            if ($param_zakljucan == 1) {
                ?>
						<li class="last"><a href="<?php 
                echo $linkPrefix . "&akcija=projektna_stranica&projekat={$id_projekta}";
                ?>
">Projektna stranica</a></li>
						<?php 
            }
            ?>
				</ul> 
				<?php 
            $q110 = myquery("SELECT COUNT(id) FROM osoba as o, student_projekat as sp where o.id=sp.student and sp.projekat={$id_projekta}");
            $broj_clanova = mysql_result($q110, 0, 0);
            if ($broj_clanova < $param_min_clanova_tima) {
                ?>
					<span class="notice">Broj prijavljenih studenata (<?php 
                echo $broj_clanova;
                ?>
) je ispod minimuma koji ste definisali za ovaj predmet (<?php 
                echo $param_min_clanova_tima;
                ?>
).</span>	
					<?php 
            }
            ?>
			</div>

			<table class="projekti" border="0" cellspacing="0" cellpadding="2">
				<tr>
					<th width="200" align="left" valign="top" scope="row">Naziv</th>
					<td width="490" align="left" valign="top"><?php 
            echo $naziv_projekta;
            ?>
</td>
				</tr>
				<tr>
					<th width="200" align="left" valign="top" scope="row">Prijavljeni studenti</th>
					<td width="490" align="left" valign="top">
					<?php 
            // Spisak studenata
            $q120 = myquery("SELECT o.id, o.prezime, o.ime, o.brindexa FROM osoba as o, student_projekat as sp WHERE sp.student=o.id and sp.projekat={$id_projekta} ORDER BY o.prezime, o.ime");
            if (mysql_num_rows($q120) < 1) {
                print 'Nema prijavljenih studenata.';
            } else {
                print "<ul>\n";
                while ($r120 = mysql_fetch_row($q120)) {
                    print "<li>{$r120['1']} {$r120['2']} ({$r120['3']})";
                    if ($param_zakljucan == 0) {
                        print ' - (<a href="' . $linkPrefix . "&akcija=izbaci_studenta&student={$r120['0']}&projekat={$id_projekta}" . '">izbaci</a>)';
                    }
                    print "</li>\n";
                }
                print "</ul>\n";
            }
            ?>
					</td>
				</tr>
				<tr>
					<th width="200" align="left" valign="top" scope="row">Opis</th>
					<td width="490" align="left" valign="top"><?php 
            echo $r100[2];
            ?>
</td>
				</tr>
			</table>
			<?php 
        }
        // while ($r100...
    }
    // if (!isset($akcija)
    // Akcija PARAMETRI PROJEKATA
    if ($akcija == 'param') {
        if ($_REQUEST['subakcija'] == "potvrda" && check_csrf_token()) {
            // Poslana forma za promjenu
            $min_timova = intval($_REQUEST['min_timova']);
            $max_timova = intval($_REQUEST['max_timova']);
            $min_clanova_tima = intval($_REQUEST['min_clanova_tima']);
            $max_clanova_tima = intval($_REQUEST['max_clanova_tima']);
            $zakljucani_projekti = 0;
            if (isset($_REQUEST['lock'])) {
                $zakljucani_projekti = 1;
            }
            if ($min_timova <= 0 || $max_timova <= 0 || $min_clanova_tima <= 0 || $max_clanova_tima <= 0) {
                niceerror("Morate unijeti ispravne vrijednosti u sva polja");
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            $q200 = myquery("REPLACE predmet_projektni_parametri SET predmet={$predmet}, akademska_godina={$ag}, min_timova={$min_timova}, max_timova={$max_timova}, min_clanova_tima={$min_clanova_tima}, max_clanova_tima={$max_clanova_tima}, zakljucani_projekti={$zakljucani_projekti}");
            nicemessage('Uspješno ste uredili parametre projekata.');
            zamgerlog("izmijenio parametre projekata na predmetu pp{$_REQUEST['predmet']}", 2);
            zamgerlog2("izmijenjeni parametri projekata na predmetu", $predmet, $ag);
            nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
            return;
        }
        ?>
		<h2>Parametri projekata</h2>

		<?php 
        echo genform("POST", "editForm");
        ?>
		<input type="hidden" name="subakcija" value="potvrda">
		<div id="formDiv">
			Polja sa * su obavezna. <br />
			<div class="row">
				<span class="label">Zaključaj stanje projekata i timova</span>
				<span class="formw"><input name="lock" type="checkbox" id="lock" <?php 
        if ($param_zakljucan == 1) {
            print 'checked';
        }
        ?>
 /></span> 
				<br /><br /> Ova opcija će onemogućiti prijavljivanje na projekte i pokrenuti projektne stranice.
			</div>
			<div class="row">
				<span class="label">MIN timova *</span>
				<span class="formw"><input name="min_timova" type="text" id="min_timova" size="10" value="<?php 
        echo $param_min_timova;
        ?>
" /></span> 
			</div>
			<div class="row">
				<span class="label">MAX timova *</span>
				<span class="formw"><input name="max_timova" type="text" id="max_timova" size="10" value="<?php 
        echo $param_max_timova;
        ?>
" /></span> 
			</div>
			<div class="row">
				<span class="label">MIN članova tima *</span>
				<span class="formw"><input name="min_clanova_tima" type="text" id="min_clanova_tima" size="10" value="<?php 
        echo $param_min_clanova_tima;
        ?>
" /></span> 
			</div>
			<div class="row">
				<span class="label">MAX članova tima *</span>
				<span class="formw"><input name="max_clanova_tima" type="text" id="max_clanova_tima" size="10" value="<?php 
        echo $param_max_clanova_tima;
        ?>
" /></span> 
			</div>
			<div class="row">	
				<span class="formw" style="margin-left:150px;"><input type="submit" id="submit" value="Potvrdi"/></span>
			</div>
		</div><!--formDiv-->
		</form>
		<?php 
    } elseif ($akcija == 'dodaj_projekat') {
        if ($nema_parametara && !isset($_REQUEST['submit'])) {
            nicemessage("Prvo podesite parametre projekata.");
            nicemessage('<a href="' . $linkPrefix . '&akcija=param">Parametri projekata</a>');
            return;
        }
        if ($param_zakljucan == 1) {
            niceerror("Zaključali ste stanje projekata na ovom predmetu. Nije moguće napraviti novi projekat.");
            nicemessage('<a href="' . $linkPrefix . '&akcija=param">Parametri projekata</a>');
            return;
        }
        if ($_REQUEST['subakcija'] == "potvrda" && check_csrf_token()) {
            // Poslana forma za dodavanje projekta
            $naziv = my_escape(trim($_REQUEST['naziv']));
            $opis = my_escape(trim($_REQUEST['opis']));
            $id = intval($_REQUEST['id']);
            if (empty($naziv) || empty($opis)) {
                niceerror('Unesite sva obavezna polja.');
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            // Generišemo jedinstven ID
            $qnesta = myquery("select id from projekat order by id desc limit 1");
            if (mysql_num_rows($qnesta) < 1) {
                $id = 1;
            } else {
                $id = mysql_result($qnesta, 0, 0) + 1;
            }
            $q210 = myquery("INSERT INTO projekat (id, naziv, opis, predmet, akademska_godina) VALUES ({$id}, '{$naziv}', '{$opis}', '{$predmet}', '{$ag}')");
            nicemessage('Novi projekat uspješno dodan.');
            zamgerlog("dodao novi projekat na predmetu pp{$predmet}", 2);
            zamgerlog2("dodao projekat", mysql_insert_id(), $predmet, $ag);
            nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
            return;
        }
        ?>
	
		<h2>Novi projekat</h2>
		<?php 
        echo genform("POST", "addForm");
        ?>
		<input type="hidden" name="subakcija" value="potvrda">
			<div id="formDiv">
				Polja sa * su obavezna. <br />
			
				<div class="row">
					<span class="label">Naziv *</span>
					<span class="formw"><input name="naziv" type="text" id="naziv" size="70" /></span> 
				</div>
				<div class="row">
					<span class="label">Opis *</span>
					<span class="formw"><textarea name="opis" cols="60" rows="15" wrap="physical" id="opis"></textarea></span>
				</div> 
				<div class="row">	
					<span class="formw" style="margin-left:150px;"><input type="submit" id="submit" value="Potvrdi"/></span>
				</div>
			</div><!--formDiv-->
		</form>
		<?php 
    } elseif ($akcija == 'izmjena_projekta') {
        if ($_REQUEST['subakcija'] == "potvrda" && check_csrf_token()) {
            // Poslana forma za izmjenu projekta
            $naziv = my_escape(trim($_REQUEST['naziv']));
            $opis = my_escape(trim($_REQUEST['opis']));
            if (empty($naziv) || empty($opis)) {
                niceerror('Unesite sva obavezna polja.');
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            $q220 = myquery("select count(*) from projekat where id={$id}");
            if (mysql_result($q220, 0, 0) == 0) {
                niceerror("Projekat sa IDom {$id} ne postoji.");
                nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
                return;
            }
            $q230 = myquery("UPDATE projekat SET naziv='{$naziv}', opis='{$opis}' WHERE id='{$id}'");
            nicemessage('Uspješno ste izmijenili projekat.');
            zamgerlog("izmijenio projekat {$id} na predmetu pp{$predmet}", 2);
            zamgerlog2("izmijenio projekat", $id);
            nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
            return;
        }
        // Prikaz forme
        $q240 = myquery("SELECT naziv, opis FROM projekat WHERE id={$id}");
        ?>
		<h1>Izmijeni projekat</h1>
		<?php 
        echo genform("POST", "editForm");
        ?>
		<input type="hidden" name="subakcija" value="potvrda">
			<div id="formDiv">
				Polja sa * su obavezna. <br />
			
				<div class="row">
					<span class="label">Naziv *</span>
					<span class="formw"><input name="naziv" type="text" id="naziv" size="70" value="<?php 
        echo mysql_result($q10, 0, 0);
        ?>
" /></span> 
				</div>
				<div class="row">
					<span class="label">Opis *</span>
					<span class="formw"><textarea name="opis" cols="60" rows="15" wrap="physical" id="opis"><?php 
        echo mysql_result($q10, 0, 1);
        ?>
</textarea></span>
				</div> 
				
				<div class="row">	
					<span class="formw" style="margin-left:150px;"><input type="submit" id="submit" value="Potvrdi"/></span>
				</div>
			
			</div><!--formDiv-->
		</form>
		<?php 
    } elseif ($akcija == 'dodaj_biljesku') {
        if ($_REQUEST['subakcija'] == "potvrda" && check_csrf_token()) {
            // Poslana forma za dodavanje bilješke
            $biljeska = my_escape($_REQUEST['biljeska']);
            $q250 = myquery("UPDATE projekat SET biljeska='{$biljeska}' WHERE id={$id}");
            nicemessage('Uspješno ste dodali bilješku.');
            zamgerlog("dodao biljesku na projekat {$id} na predmetu pp{$predmet}", 2);
            zamgerlog2("dodao biljesku na projekat", $id);
            nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
            return;
        }
        // Forma za izmjenu/dodavanje bilješke
        $q260 = myquery("SELECT biljeska FROM projekat WHERE id={$id}");
        ?>
		<h3>Dodaj bilješku za projekat</h3>	
		<?php 
        echo genform('POST', 'addNote');
        ?>
			
		<input type="hidden" name="subakcija" value="potvrda">
			<div class="row">
				<span class="label">Bilješka:</span>
				<span class="formw"><textarea name="biljeska" cols="60" rows="15" wrap="physical" id="opis"><?php 
        echo mysql_result($q260, 0, 0);
        ?>
</textarea></span>
			</div> 
					
			<div class="row">	
				<span class="formw" style="margin-left:150px;"><input type="submit" id="submit" value="Potvrdi"/></span>
			</div>
		</form>
		<?php 
    } elseif ($akcija == 'obrisi_projekat') {
        if ($_REQUEST['subakcija'] == "potvrda" && check_csrf_token()) {
            // Brisanje projekta
            // Brisanje fajlova
            $lokacijafajlova = "{$conf_files_path}/projekti/fajlovi/";
            if (!rmdir_recursive($lokacijafajlova . $id)) {
                // Ignorišemo greške jer šta ako fajlovi nisu ni postojali??
                //niceerror("Greška prilikom brisanja direktorija sa člancima!");
                //zamgerlog("greška prilikom brisanja direktorija fajlovi za projekat $id", 3);
                //return;
            }
            // Brisanje članaka
            $lokacijaclanaka = "{$conf_files_path}/projekti/clanci/";
            if (!rmdir_recursive($lokacijaclanaka . $id)) {
                // Ignorišemo greške jer šta ako fajlovi nisu ni postojali??
                //niceerror("Greška prilikom brisanja direktorija sa člancima!");
                //zamgerlog("greška prilikom brisanja direktorija clanci za projekat $id", 3);
                //return;
            }
            $q300 = myquery("DELETE FROM bl_clanak WHERE projekat={$id}");
            // Brisanje linkova
            $q310 = myquery("DELETE FROM projekat_link WHERE projekat={$id}");
            // Brisanje RSSa
            $q320 = myquery("DELETE FROM projekat_rss WHERE projekat={$id}");
            // Brisanje foruma
            $q330 = myquery("DELETE FROM bb_post_text WHERE post IN (SELECT id FROM bb_post WHERE tema IN (SELECT id FROM bb_tema WHERE projekat={$id}) )");
            $q340 = myquery("DELETE FROM bb_post WHERE tema IN (SELECT id FROM bb_tema WHERE projekat={$id})");
            $q350 = sprintf("DELETE FROM bb_tema WHERE projekat={$id}");
            // Ispis studenata sa projekta
            $q360 = myquery("DELETE FROM student_projekat WHERE projekat={$id}");
            // Brisanje samog projekta
            $q370 = myquery("DELETE FROM projekat WHERE id={$id}");
            nicemessage('Uspješno ste obrisali projekat.');
            zamgerlog("izbrisan projekat {$id} na predmetu pp{$predmet}", 4);
            zamgerlog2("izbrisan projekat", $id, $predmet, $ag);
            nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
            return;
        }
        ?>
		Da li ste sigurni da želite obrisati ovaj projekat? Svi podaci vezani za aktivnosti na ovom projektu će biti nepovratno izgubljeni.<br />
		<?php 
        echo genform('POST');
        ?>
		<input type="hidden" name="subakcija" value="potvrda">
		<input type="submit" value="Potvrda brisanja">
		<input type="button" onclick="location.replace('<?php 
        echo $linkPrefix;
        ?>
');" value="Odustani">
		</form>
		<?php 
    } elseif ($akcija == 'projektna_stranica') {
        require_once 'common/projektneStrane.php';
        common_projektneStrane();
    } elseif ($akcija == 'dodjela_studenata') {
        if ($_REQUEST['subakcija'] == "dodaj" && check_csrf_token()) {
            // Dodavanje studenta na projekat
            $student = intval($_REQUEST['student']);
            $projekat = intval($_REQUEST['projekat']);
            if ($param_zakljucan) {
                // Ne bi se smjelo desiti
                niceerror("Zaključane su prijave na projekte.");
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            // Da li je projekat popunjen?
            $q430 = myquery("select count(*) from student_projekat where projekat={$projekat}");
            if (mysql_result($q430, 0, 0) >= $param_max_clanova_tima) {
                // Ne bi se smjelo desiti
                niceerror("Projekat je popunjen.");
                nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                return;
            }
            // Da li je student već na nekom projektu?
            $stari_projekat = 0;
            $q440 = myquery("select p.id FROM projekat as p, student_projekat as sp WHERE p.id=sp.projekat AND sp.student={$student} AND p.predmet={$predmet} AND p.akademska_godina={$ag}");
            while ($r440 = mysql_fetch_row($q440)) {
                $stari_projekat = $r440[0];
            }
            // Da li je prekoračen maksimalan broj nepraznih projekata?
            $q460 = myquery("select distinct p.id from student_projekat as sp, projekat as p where sp.projekat=p.id and p.predmet={$predmet} and p.akademska_godina={$ag}");
            $broj_nepraznih = mysql_num_rows($q460);
            if ($broj_nepraznih >= $param_max_timova) {
                // No ako studenta ispisujemo iz projekta koji će postati prazan onda je sve ok
                $prekoracenje = true;
                if ($stari_projekat != 0) {
                    $q470 = myquery("select count(*) from student_projekat where projekat={$stari_projekat}");
                    if (mysql_result($q470, 0, 0) == 1) {
                        $prekoracenje = false;
                    }
                }
                if ($prekoracenje) {
                    niceerror("Ne mogu upisati studenta na ovaj projekat jer bi time bio prekoračen maksimalan broj timova. {$broj_nepraznih}");
                    print "<p>Koristite <a href='{$linkPrefix}&akcija=param'>Parametre projekata</a> da biste povećali ograničenje broja timova.</p>";
                    nicemessage('<a href="javascript:history.back();">Povratak.</a>');
                    return;
                }
            }
            // Potvrđujemo prijavu
            $q450 = myquery("delete from student_projekat where student={$student} and projekat={$stari_projekat}");
            $q480 = myquery("INSERT INTO student_projekat (student, projekat) VALUES ({$student}, {$projekat})");
            nicemessage('Student je uspješno prijavljen na projekat!');
            if ($stari_projekat == 0) {
                zamgerlog("student u{$student} prijavljen na projekat {$projekat} (predmet pp{$predmet}", 2);
                zamgerlog2("student prijavljen na projekat", $student, $projekat);
            } else {
                zamgerlog("student u{$student} prebacen sa projekta {$stari_projekat} na {$projekat} (predmet pp{$predmet}", 2);
                zamgerlog2("student prebacen na projekat", $student, $projekat, 0, $stari_projekat);
            }
            nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
        }
        $opcije = "";
        ?>
		<!-- Ako je prvi put ucitano, dohvati predmete i dohvati sve studente na predmetu, prikazi formu. -->

		</br>
		<b>LISTA STUDENATA BEZ PROJEKTA:</b>
		<?php 
        $q400 = myquery("SELECT o.id, o.ime, o.prezime, o.brindexa FROM student_predmet as sp, osoba as o, ponudakursa as pk where sp.student=o.id and sp.predmet=pk.id and pk.predmet={$predmet} and pk.akademska_godina={$ag} order by o.prezime, o.ime");
        if (mysql_num_rows($q400) == 0) {
            nicemessage('Svim studentima je dodijeljen projekat!');
        } else {
            $cnt = 0;
            while ($r400 = mysql_fetch_row($q400)) {
                // Odmah kreiramo i opcije za selektovanje studenta
                $opcije .= "<option value='{$r400['0']}'>{$r400['2']} {$r400['1']}</option>\n";
                $q410 = myquery("select count(*) from student_projekat as sp, projekat as p where sp.student={$r400['0']} and sp.projekat=p.id and p.predmet={$predmet} and p.akademska_godina={$ag}");
                if (mysql_result($q410, 0, 0) > 0) {
                    continue;
                }
                $cnt = $cnt + 1;
                print "</br>";
                print "<span id=\"noProjectStudent\">{$cnt}. {$r400['2']} {$r400['1']}</span>";
            }
        }
        ?>
		<br><br><br>
		<b>DODAVANJE STUDENTA NA PROJEKAT</b><br>
		<span class="napomena">*Uputa:</span> Izaberite studenta, a zatim projekat i konačno kliknite Upiši!<br>
		<?php 
        echo genform("POST");
        ?>
		<input type="hidden" name="subakcija" value="dodaj">
			Student: <select name="student"><?php 
        echo $opcije;
        ?>
</select><br/>
			Projekat: <select name="projekat"><?php 
        $cnt2 = 0;
        $q420 = myquery("SELECT id, naziv FROM projekat WHERE predmet={$predmet} AND akademska_godina={$ag} ORDER BY naziv");
        $rowcounter = 0;
        while ($r420 = mysql_fetch_row($q420)) {
            $cnt2 = $cnt2 + 1;
            ?>
				<option value="<?php 
            echo $r420[0];
            ?>
"><?php 
            echo $r420[1];
            ?>
</option>
				<?php 
        }
        ?>
</select>
			<br />
			<input name="dodaj" type="submit" value="Upiši"/>
		</form>

		<p>Za ispisivanje studenta sa projekta, koristite listu projekata.</p>
		<?php 
    } elseif ($akcija == 'izbaci_studenta') {
        $student = intval($_REQUEST['student']);
        $projekat = intval($_REQUEST['projekat']);
        if ($param_zakljucan == 1) {
            niceerror('Zaključane su prijave na projekte. Odjave nisu dozvoljene.');
            return;
        }
        $q500 = myquery("select naziv from projekat where id={$projekat}");
        if (mysql_num_rows($q500) < 1) {
            niceerror("Nepostojeći projekat {$projekat}");
            return;
        }
        $naziv_projekta = mysql_result($q500, 0, 0);
        $q505 = myquery("select ime, prezime from osoba where id={$student}");
        if (mysql_num_rows($q505) < 1) {
            niceerror("Nepostojeći student {$student}");
            return;
        }
        $imeprezime = mysql_result($q505, 0, 0) . " " . mysql_result($q505, 0, 1);
        if ($_REQUEST['subakcija'] == "potvrda" && check_csrf_token()) {
            $q510 = myquery("select p.id FROM projekat as p, student_projekat as sp WHERE p.id=sp.projekat AND sp.student={$student} AND p.predmet={$predmet} AND p.akademska_godina={$ag}");
            if (mysql_num_rows($q510) > 0) {
                $student_projekat = mysql_result($q510, 0, 0);
                if ($projekat != $student_projekat) {
                    niceerror("Student uopšte nije prijavljen na projekat {$naziv_projekta}.");
                } else {
                    $q520 = myquery("DELETE FROM student_projekat WHERE student={$student} AND projekat={$student_projekat}");
                    print "Student {$imeprezime} uspješno odjavljen sa projekta {$naziv_projekta}";
                    zamgerlog("student u{$student} odjavljen sa projekta {$projekat} (pp{$predmet})", 2);
                    zamgerlog2("student odjavljen sa projekta", $student, $projekat);
                    nicemessage('<a href="' . $linkPrefix . '">Povratak.</a>');
                }
            } else {
                //Greska - student nije nigdje upisan
                niceerror("Student nije prijavljen niti na jedan projekat.");
            }
            return;
        }
        ?>
		<?php 
        echo genform("POST");
        ?>
		<input type="hidden" name="subakcija" value="potvrda">
		Da li ste sigurni da želite ispisati studenta <?php 
        echo $imeprezime;
        ?>
 sa projekta <?php 
        echo $naziv_projekta;
        ?>
?<br>
		<input type="submit" value="Potvrda ispisa">
		<input type="button" onclick="location.replace('<?php 
        echo $linkPrefix;
        ?>
');" value="Odustani">
		</form>
		<?php 
    }
}