Merge branch 'master' into ci

Conflicts:
	composer.json
	composer.lock
	phpci.yml
	system/checksystem.php
	system/dbupdate_3.2.php
	tests/codeception/_data/dump.sql
	tests/codeception/tests/acceptance/CISLoginPage.php
This commit is contained in:
oesi
2017-01-20 11:05:08 +01:00
83 changed files with 5390 additions and 5860 deletions
+4 -2
View File
@@ -103,12 +103,14 @@ ob_start();
if(isset($_GET['content_id']) && $_GET['content_id'] != '')
{
$content_id = $_GET['content_id'];
// Uses urlencode to avoid XSS issues
$content_id = urlencode($_GET['content_id']);
}
else
{
$content_id = CIS_MENU_ENTRY_CONTENT;
} ?>
}
?>
<ul id="menu">
<?php if($content_id != CIS_MENU_ENTRY_CONTENT): ?>
@@ -17,13 +17,13 @@ function makeUploadName($db, $which, $lehreinheit_id=null, $uebung_id=null, $ss=
{
$query = "SELECT nachname, vorname from tbl_person, tbl_benutzer where tbl_benutzer.person_id = tbl_person.person_id and tbl_benutzer.uid = ".$db->db_add_param($uid);
$result = $db->db_query($query);
$row = $db->db_fetch_object($result);
$row = $db->db_fetch_object($result);
$name .= "_".$uebung_id."_".$row->nachname."_".$row->vorname."_".$uid."_".$date;
}
else if ($which == "zip")
{
$name .= "_".$uebung_id."_".$date;
$name .= "_".$uebung_id."_".$date;
}
$name = str_replace(":","-",$name);
return $name;
@@ -24,7 +24,7 @@
// ********************
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
@@ -41,14 +41,13 @@ require_once('../../../../include/zeugnisnote.class.php');
require_once('../../../../include/phrasen.class.php');
include('functions.inc.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$user = get_uid();
//$user = 'if06b172';
//$user = 'if06b144';
$lektorenansicht = 0;
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
@@ -62,12 +61,10 @@ else
$lehreinheit_id = '';
$uid = (isset($_GET['uid'])?$_GET['uid']:''); //Uid
if(check_lektor($user) && (isset($_GET['uid']) && $_GET["uid"] != ""))
{
$rights = new benutzerberechtigung();
$rights->getBerechtigungen($user);
$rights->getBerechtigungen($user);
$lehreinheit=new lehreinheit($_GET["lehreinheit_id"]);
if(!check_lektor_lehrveranstaltung($user, $lehreinheit->lehrveranstaltung_id, $lehreinheit->studiensemester_kurzbz) && !$rights->isBerechtigt('admin',0))
die($p->t('global/keineBerechtigungFuerDieseSeite'));
@@ -94,17 +91,29 @@ $datum_obj = new datum();
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
//Abgabedatei ausliefern
if (isset($_GET["download_abgabe"])){
if (isset($_GET["download_abgabe"]))
{
$file=$_GET["download_abgabe"];
$file = preg_replace('/[^A-Za-z0-9\-_.]/', '',$file);
$uebung_id = $_GET["uebung_id"];
$ueb = new uebung();
$ueb->load_studentuebung($user, $uebung_id);
$ueb->load_abgabe($ueb->abgabe_id);
$filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
exit;
if($ueb->load_studentuebung($user, $uebung_id))
{
if($ueb->load_abgabe($ueb->abgabe_id))
{
$filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
exit;
}
else
{
die($ueb->errormsg);
}
}
else
die($ueb->errormsg);
}
//Angabedatei ausliefern
@@ -162,20 +171,21 @@ if (isset($_POST["abgabe"]))
{
$abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"];
$abgabe_anmerkung = (isset($_POST["abgabe_anmerkung"])?$_POST["abgabe_anmerkung"]:'');
if ($abgabedatei_up)
{
//echo $abgabedatei_up;
$datum = date('Y-m-d H:i:s');
$datumstr = ereg_replace(" ","_",$datum);
$datumstr = str_replace(" ","_",$datum);
$name_up = pathinfo($_FILES["abgabedatei"]["name"]);
$name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$user, $date=$datumstr);
$name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu);
$abgabedatei = $name_neu.".".$name_up["extension"];
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$uebung_obj = new uebung();
$uebung_obj->load_studentuebung($user, $uebung_id);
if ($uebung_obj->errormsg != "")
{
$uebung_obj->student_uid = $user;
@@ -194,12 +204,12 @@ if (isset($_POST["abgabe"]))
$uebung_obj->new = true;
$uebung_obj->studentuebung_save($new=true);
//echo $uebung_obj->errormsg;
}
if ($uebung_obj->abgabe_id != null)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
$uebung_obj->abgabedatei = $abgabedatei;
$uebung_obj->abgabezeit = $datum;
$uebung_obj->abgabe_anmerkung = $abgabe_anmerkung;
@@ -213,10 +223,10 @@ if (isset($_POST["abgabe"]))
$uebung_obj->abgabe_save(true);
}
$uebung_obj->studentuebung_save(false);
//Abgabedatei ablegen
//Abgabedatei ablegen
move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad);
}
else
{
$abgabe_anmerkung = $_POST["abgabe_anmerkung"];
@@ -225,7 +235,7 @@ if (isset($_POST["abgabe"]))
if ($uebung_obj2->errormsg == "")
{
if ($uebung_obj2->abgabe_id != null)
{
{
$uebung_obj2->load_abgabe($uebung_obj2->abgabe_id);
$uebung_obj2->abgabe_anmerkung = $abgabe_anmerkung;
$uebung_obj2->abgabe_save(false);
@@ -259,11 +269,11 @@ $qry = "SELECT distinct lehreinheit_id, lehrfach.kurzbz FROM lehre.tbl_lehreinhe
SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id)
WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem).")
UNION
SELECT
lehreinheit_id
FROM
SELECT
lehreinheit_id
FROM
public.tbl_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband
WHERE
WHERE
tbl_student.student_uid=".$db->db_add_param($user)." AND
tbl_studentlehrverband.student_uid=tbl_student.student_uid AND
tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND
@@ -370,7 +380,7 @@ echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td width='100%'>\n";
echo "<table width='100%'><tr><td><b>".$lv_obj->bezeichnung_arr[$sprache]."</b></td><td align='right'><a href='../../../../documents/".strtolower($stg_obj->kuerzel)."/$lv_obj->semester/$lv_obj->lehreverzeichnis/download/' target='_blank' class='Item'>".$p->t('benotungstool/downloadverzeichnisAnzeigen')."</a></td></tr></table><br>";
if($lehreinheit_id=='')
if($lehreinheit_id=='')
die($p->t('benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung'));
$qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid=".$db->db_add_param($user);
@@ -383,7 +393,7 @@ if($result = $db->db_query($qry))
if (!isset($_GET["notenuebersicht"]))
{
$l = 0;
$l = 0;
$ueb_check = new uebung();
$ueb_check->load_uebung($lehreinheit_id,1);
if (count($ueb_check->uebungen > 0))
@@ -396,7 +406,7 @@ if (!isset($_GET["notenuebersicht"]))
$l = 1;
}
}
if ($l > 0)
{
echo "<br><b>".$p->t('lehre/leistungsuebersicht')." / <a href='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&notenuebersicht=1&uid=$user'>".$p->t('benotungstool/notenuebersichtFuer')." $name</b><br><br>";
@@ -409,12 +419,12 @@ if (!isset($_GET["notenuebersicht"]))
echo "<option value='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uid=$user' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
$selected = '';
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
@@ -427,41 +437,41 @@ if (!isset($_GET["notenuebersicht"]))
}
else
$disabled = '';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$user' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo '</td>';
echo "<td>
<table>
<tr>
@@ -482,21 +492,21 @@ if (!isset($_GET["notenuebersicht"]))
else
{
$callURL="studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&notenuebersicht=1&uid=$user";
#header("Location:$callURL");
#header("Location:$callURL");
echo "<script language=\"JavaScript\">";
echo "window.location.href ='$callURL'";
echo "</script>";
exit;
//echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt";
exit;
//echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt";
}
//******SPEICHERN DER DATEN*************
if(isset($_POST['submit']))
{
$error=false;
$ueb_hlp_obj = new uebung();
$ueb_hlp_obj->load($uebung_id);
//Wenn Kreuzerlliste Freigegeben ist
@@ -504,21 +514,21 @@ if (!isset($_GET["notenuebersicht"]))
$datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time())
{
$bsp_obj = new beispiel();
if($bsp_obj->load_beispiel($uebung_id))
{
$anzahl_solved = 0;
$anzahl_solved = 0;
foreach ($bsp_obj->beispiele as $row)
{
if (isset($_POST['solved_'.$row->beispiel_id]) && ($_POST['solved_'.$row->beispiel_id]==1))
$anzahl_solved++;
}
if (($anzahl_solved <= $ueb_hlp_obj->maxbsp) || ($ueb_hlp_obj->maxbsp == 0))
{
{
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel();
if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id))
{
$stud_bsp_obj->new=false;
@@ -530,18 +540,18 @@ if (!isset($_GET["notenuebersicht"]))
$stud_bsp_obj->insertvon = $user;
$stud_bsp_obj->vorbereitet = false;
}
if (isset($_POST['solved_'.$row->beispiel_id]))
if (isset($_POST['solved_'.$row->beispiel_id]))
$stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false);
$stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false);
$stud_bsp_obj->updateamum = date('Y-m-d H:i:s');
$stud_bsp_obj->updatevon = $user;
$stud_bsp_obj->student_uid = $user;
$stud_bsp_obj->beispiel_id = $row->beispiel_id;
if(!$row->check_anzahl_studentbeispiel($row->beispiel_id))
die('<span class="error">Fehler beim Ermitteln der Beispiele</span>');
if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new ||
if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new ||
{
$hlp = new beispiel();
if($hlp->load_studentbeispiel($user, $row->beispiel_id))
@@ -552,7 +562,7 @@ if (!isset($_GET["notenuebersicht"]))
$error = true;
}
}
}
}
else
{
if(!$stud_bsp_obj->studentbeispiel_save())
@@ -565,11 +575,11 @@ if (!isset($_GET["notenuebersicht"]))
}
else
{
$error=true;
$error=true;
echo $p->t('benotungstool/zuVieleBeispieleAngekreuzt')."!<br>";
}
}
if($error)
echo "<span class='error'>".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden')."</span><br>";
else
@@ -578,19 +588,20 @@ if (!isset($_GET["notenuebersicht"]))
else
echo "<span class='error'>".$p->t('benotungstool/nichtGespeichertKreuzerllisteNichtFreigegeben')."!</span>";
}
//********ANZEIGE DER EINGETRAGENEN KREUZERL***********
if ($l > 0)
{
{
$uebung_obj = new uebung();
$uebung_obj->load($uebung_id);
$downloadname = mb_ereg_replace($uebung_id,mb_ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei);
$downloadname = preg_replace('/[^A-Za-z0-9\-_.]/', '',$downloadname);
echo $p->t('benotungstool/freigegebenVon')." ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." ".$p->t('global/bis')." ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis));
echo "<br><br><h3><u>$uebung_obj->bezeichnung</u></h3>";
if ($uebung_obj->angabedatei)
echo $p->t('benotungstool/angabe').": <a href='studentenansicht.php?uid=$user&lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&download=".$downloadname."'>".$downloadname."</a><br><br>";
$ueb_obj = new uebung();
if($ueb_obj->load_studentuebung($user, $uebung_id))
{
@@ -608,39 +619,39 @@ if (!isset($_GET["notenuebersicht"]))
$anmerkung = mb_str_replace("\n", "<br>", $anmerkung);
if ($uebung_obj->beispiele)
{
$qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id IN (SELECT beispiel_id from campus.tbl_beispiel where uebung_id =".$db->db_add_param($uebung_id, FHC_INTEGER).") AND vorbereitet=true and student_uid = ".$db->db_add_param($user);
if($result_cnt = $db->db_query($qry_cnt))
if($row_cnt = $db->db_fetch_object($result_cnt))
$anzahl = $row_cnt->anzahl;
echo "<script type='text/javascript'>";
if ($uebung_obj->maxbsp)
echo "maxbsp = ".$uebung_obj->maxbsp.";";
else
echo "maxbsp = 9999;";
echo "maxbsp = 9999;";
echo "aktbsp = ".$anzahl.";";
echo "function plus1(id)
{
aktbsp++;
if (aktbsp > maxbsp)
{
{
document.bspform.reset();
alert('Sie dürfen maximal '+maxbsp+' Beispiele markieren!');
aktbsp = ".$anzahl.";
alert('Sie dürfen maximal '+maxbsp+' Beispiele markieren!');
aktbsp = ".$anzahl.";
}
}
function minus1()
{
aktbsp--;
}
aktbsp--;
}
";
echo "</script>";
$bsp_obj = new beispiel();
$bsp_obj->load_beispiel($uebung_id);
$bsp_obj->load_beispiel($uebung_id);
if ($bsp_obj->beispiele)
{
echo " <table>";
@@ -648,7 +659,7 @@ if (!isset($_GET["notenuebersicht"]))
echo "<tr><td>".$p->t('benotungstool/maxBeispieleStudent').":</td><td><b>".$uebung_obj->maxbsp."</b></td></tr>";
if ($uebung_obj->maxstd > 0)
echo "<tr><td>".$p->t('benotungstool/maxStudentenBeispiel').":</td><td style='background-color:#dddddd;'><b>".$uebung_obj->maxstd."</b></td></tr>";
echo "</table>";
echo "</table>";
echo "
<form accept-charset='UTF-8' method='POST' name='bspform' action='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&uid=$user'>
<table width='100%'>
@@ -664,12 +675,12 @@ if (!isset($_GET["notenuebersicht"]))
<td class='ContentHeader2'>".$p->t('benotungstool/probleme')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/punkte')."</td>
</tr>";
foreach ($bsp_obj->beispiele as $row)
{
$bsp_voll = false;
$bsp_voll = false;
$stud_bsp_obj = new beispiel();
if ($uebung_obj->maxstd > 0)
{
@@ -690,7 +701,7 @@ if (!isset($_GET["notenuebersicht"]))
if ($bsp_voll)
{
$ro = " disabled";
$markiert = " style='background-color:#dddddd;'";
$markiert = " style='background-color:#dddddd;'";
}
else
{
@@ -704,64 +715,64 @@ if (!isset($_GET["notenuebersicht"]))
<td align='center'><input type='checkbox' name='problem_$row->beispiel_id' ".($probleme?'checked':'')."$ro></td>
<td align='center'>$row->punkte</td>
</tr>";
}
//Speichern button nur Anzeigen wenn die Uebung Freigegeben ist
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
echo "<tr><td align='right' colspan=5><input type='submit' value='".$p->t('global/speichern')."' name='submit'></td></form></tr>";
echo "</table>";
}
else
echo "<table><tr><td>".$p->t('benotungstool/keineBeispieleAngelegt')."</td></tr></table><table width='100%'><tr><td width='70%'></div><table><tr><td>&nbsp;</td></tr></table>";
if ($uebung_obj->abgabe)
{
echo "<br><table><tr><td>".$p->t('benotungstool/abgabedatei').":</td></tr>\n";
$uebung_obj->load_studentuebung($user, $uebung_id);
if ($uebung_obj->abgabe_id)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
echo " <tr>";
echo" <td><a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&download_abgabe=".$uebung_obj->abgabedatei."'>".$uebung_obj->abgabedatei."</a>";
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
echo " <a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&deleteabgabe=1'>[del]</a></td>";
echo "</tr>";
}
}
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
{
echo " <tr>\n";
echo " <form accept-charset='UTF-8' method='POST' action='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem' enctype='multipart/form-data' name='kl_angabe'>\n";
echo " <td>\n";
echo " <input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
echo " </td>\n";
echo " </td>\n";
echo " </form>\n";
echo "</tr>\n";
}
echo "</table>";
}
echo "</td><td valign='top' algin='right'>";
//Gesamtpunkte diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER);
$punkte_gesamt=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt = $row->punktegesamt;
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user)." AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
//Gesamtpunkte alle Kreuzerllisten in dieser Übung
$ueb_help = new uebung($uebung_id);
$liste_id = $ueb_help->liste_id;
@@ -772,19 +783,19 @@ if (!isset($_GET["notenuebersicht"]))
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt_alle = $row->punktegesamt_alle;
//Eingetragen alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung
WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." AND
tbl_studentbeispiel.student_uid=".$db->db_add_param($user)." AND vorbereitet=true";
$punkte_eingetragen_alle=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0);
//Mitarbeitspunkte
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user)." AND liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER);
@@ -792,7 +803,7 @@ if (!isset($_GET["notenuebersicht"]))
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
//Mitarbeitspunkte
$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user);
@@ -801,7 +812,7 @@ if (!isset($_GET["notenuebersicht"]))
if($row = $db->db_fetch_object($result))
$mitarbeit = $row->mitarbeitspunkte;
echo "
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>".$p->t('benotungstool/dieseKreuzerlliste').":</td>
@@ -844,16 +855,16 @@ if (!isset($_GET["notenuebersicht"]))
</tr>
</table>
";
echo "
</td></tr>
</table>
</form>
";
//**********STATISTIK***************
if($uebung_obj->statistik)
{
@@ -878,7 +889,7 @@ if (!isset($_GET["notenuebersicht"]))
$qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id)." GROUP BY student_uid";
if($result_cnt = $db->db_query($qry_cnt))
$gesamt=$db->db_num_rows($result_cnt);
foreach ($beispiel_obj->beispiele as $row)
{
$i++;
@@ -888,12 +899,12 @@ if (!isset($_GET["notenuebersicht"]))
if($result_cnt = $db->db_query($qry_cnt))
if($row_cnt = $db->db_fetch_object($result_cnt))
$solved = $row_cnt->anzahl;
if($solved>0)
$psolved = $solved/$gesamt*100;
echo '<tr>
<td '.($i%2?'class="MarkLine"':'').' valign="top" height="10" width="200"><font size="2" face="Arial, Helvetica, sans-serif">
'.$row->bezeichnung.'
@@ -928,24 +939,24 @@ if (!isset($_GET["notenuebersicht"]))
}
else if ($uebung_obj->abgabe)
{
echo "<table width='100%'>\n";
echo "<tr><td>".($note!=''?'<b>'.$p->t('benotungstool/note').': </b>'.$note.'<br><br>':'')."</td></tr>\n";
echo"
echo"
<tr>
<td valign='top'>
".($anmerkung!=''?'<b>'.$p->t('global/anmerkungen').':</b><br> '.$anmerkung.'<br><br>':'')."
</td>";
echo "</tr>\n";
echo "<tr><td><hr></td></tr>\n";
$uebung_obj->load_studentuebung($user, $uebung_id);
if ($uebung_obj->abgabe_id)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
echo " <tr>";
echo" <td>".$p->t('benotungstool/abgabedatei').": <a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&download_abgabe=".$uebung_obj->abgabedatei."'>".$uebung_obj->abgabedatei."</a>";
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
echo " <a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&deleteabgabe=1'>[del]</a><br></td>";
echo "</tr>";
}
@@ -954,14 +965,14 @@ if (!isset($_GET["notenuebersicht"]))
echo " <tr>\n";
echo " <form accept-charset='UTF-8' method='POST' action='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem' enctype='multipart/form-data'>\n";
echo " <td>\n";
echo " <br>".$p->t('global/anmerkung').":<br><textarea name='abgabe_anmerkung' rows='3' cols='50'>".$uebung_obj->abgabe_anmerkung."</textarea><br>";
echo " <br>".$p->t('global/anmerkung').":<br><textarea name='abgabe_anmerkung' rows='3' cols='50'>".$uebung_obj->abgabe_anmerkung."</textarea><br>";
echo " <br>".$p->t('global/datei').":<br><input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
echo " </td>\n";
echo " </td>\n";
echo " </form>\n";
echo "</tr>\n";
}
echo "</table>\n";
}
}
@@ -974,7 +985,7 @@ else
$uid_arr = Array();
$vorname_arr = Array();
$nachname_arr = Array();
$qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
if($result_stud_dd = $db->db_query($qry_stud_dd))
{
@@ -983,43 +994,43 @@ else
{
$uid_arr[] = $row_stud_dd->uid;
$vorname_arr[] = $row_stud_dd->vorname;
$nachname_arr[] = $row_stud_dd->nachname;
$nachname_arr[] = $row_stud_dd->nachname;
}
}
echo "<br><hr><br>";
echo "<br><hr><br>";
echo $p->t('benotungstool/studentenAuswaehlen').": ";
$key = array_search($uid,$uid_arr);
$prev = $key-1;
$next = $key+1;
if ($key > 0)
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem&notenuebersicht=1'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem&notenuebersicht=1'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
for ($j = 0; $j < count($uid_arr); $j++)
{
{
if ($uid_arr[$j] == $uid)
$selected = " selected";
else
$selected = "";
echo "<option value='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$j]&stsem=$stsem&notenuebersicht=1'$selected>$vorname_arr[$j] $nachname_arr[$j]</option>";
}
echo "</select>";
if ($key < count($uid_arr)-1)
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem&notenuebersicht=1'> &gt;&gt; </a>";
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem&notenuebersicht=1'> &gt;&gt; </a>";
echo "<br><hr><br>";
}
echo "<br><b><a href='studentenansicht.php?uid=$user&lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leistungsuebersichtNotenuebersichtFuer')." $name</b><br><br>";
echo "<br><b><a href='studentenansicht.php?uid=$user&lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leistungsuebersichtNotenuebersichtFuer')." $name</b><br><br>";
echo "<table><tr><td>";
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
if(count($uebung_obj->uebungen)>0)
{
echo "<table style='border: 1px #dddddd solid'>";
echo " <tr>\n";
echo " <th colspan='2'>".$p->t('benotungstool/aufgabe')."</th>\n";
@@ -1029,21 +1040,21 @@ else
echo " <th>".$p->t('benotungstool/note')."</th>";
echo " </tr>\n";
foreach ($uebung_obj->uebungen as $row)
{
{
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
$l1note = new studentnote();
if(count($subuebung_obj->uebungen) >= 0)
{
$l1note->calc_l1_note($row->uebung_id, $user, $lehreinheit_id);
if ($l1note->negativ)
$l1_note = 5;
else
$l1_note = $l1note->l1_note;
echo " <tr>\n";
$l1_note = $l1note->l1_note;
echo " <tr>\n";
echo " <td colspan='2'>";
echo $row->bezeichnung;
if ($row->positiv)
@@ -1051,23 +1062,23 @@ else
echo " </td>\n";
echo " <td align='center'>".$row->gewicht."</td>\n";
echo " <td align='center'>";
if ($l1note->punkte_gesamt_l1 >0)
if ($l1note->punkte_gesamt_l1 >0)
echo $l1note->punkte_gesamt_l1;
echo "</td>\n";
echo "<td align='center'></td>";
echo "<td align='center'>".$l1_note."</td>\n";
echo " </tr>\n";
}
if(count($subuebung_obj->uebungen) > 0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
echo " <tr>\n";
echo " <td>- </td>";
echo " <td>- </td>";
echo " <td>\n";
echo $subrow->bezeichnung;
if ($subrow->positiv)
@@ -1081,15 +1092,15 @@ else
{
$l1note->calc_punkte($subrow->uebung_id, $user);
echo " <td align='center'>".$l1note->punkte_gesamt."</td>";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
}
else if ($subrow->abgabe)
{
$l1note->calc_note($subrow->uebung_id, $user);
echo " <td align='center'></td>\n";
echo " <td align='center'>".$l1note->note."</td>";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
echo " <td align='center'>".$l1note->note."</td>";
echo " <td align='center'></td>\n";
}
echo " </tr>\n"; /*
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
@@ -1097,9 +1108,9 @@ else
else
echo ' - ';
*/
}
}
}
$l1note->calc_gesamtnote($lehreinheit_id, $stsem, $user);
@@ -1108,24 +1119,24 @@ else
else
$gesamtnote = $l1note->studentgesamtnote;
echo "<tr style='background-color:#dddddd;'><td colspan='5'>".$p->t('benotungstool/errechneteGesamtnote').": </td><td align='center'>".$gesamtnote."</td></tr>";
echo "</table>";
echo "<span style='font-size:8pt;'>".$p->t('benotungstool/mussPositivSein')."</span>";
}
echo "</td><td valign='top'>";
$legesamtnote = new legesamtnote($lehreinheit_id);
if (!$legesamtnote->load($user, $lehreinheit_id))
{
{
$lenote = null;
}
else
{
$lenote = $legesamtnote->note;
}
}
if ($lvgesamtnote = new lvgesamtnote($lvid,$user,$stsem))
{
$lvnote = $lvgesamtnote->note;
@@ -1138,7 +1149,7 @@ else
}
else
$znote = null;
echo "<table style='border: 1px #dddddd solid'>\n";
echo " <tr><th colspan='2'>".$p->t('benotungstool/eingetrageneNoten')."</th></tr>";
echo "<tr>\n";
@@ -1154,7 +1165,7 @@ else
echo "<td>".$znote."</td>";
echo "</tr>\n";
echo "</table>";
echo "</td></tr></table>";
}
?>
@@ -21,7 +21,7 @@
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
@@ -34,9 +34,9 @@ require_once('../../../../include/studentnote.class.php');
require_once('../../../../include/datum.class.php');
require_once('functions.inc.php');
require_once('../../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$user = get_uid();
@@ -102,9 +102,9 @@ if (isset($_GET["handbuch"])){
if (isset($_FILES["abgabedatei"]))
{
//echo $_FILES["abgabedatei"];
//echo $_FILES["abgabedatei"];
$abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"];
if ($abgabedatei_up)
{
$student_uid = $uid;
@@ -112,13 +112,14 @@ if (isset($_FILES["abgabedatei"]))
$datumstr = ereg_replace(" ","_",$datum);
$name_up = pathinfo($_FILES["abgabedatei"]["name"]);
$name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$student_uid, $date=$datumstr);
$name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu);
$abgabedatei = $name_neu.".".$name_up["extension"];
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$uebung_obj = new uebung();
$uebung_obj->load_studentuebung($student_uid, $uebung_id);
if ($uebung_obj->errormsg != "")
{
$uebung_obj->student_uid = $student_uid;
@@ -137,12 +138,12 @@ if (isset($_FILES["abgabedatei"]))
$uebung_obj->new = true;
$uebung_obj->studentuebung_save($new=true);
echo $uebung_obj->errormsg;
}
if ($uebung_obj->abgabe_id != null)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
$uebung_obj->abgabedatei = $abgabedatei;
$uebung_obj->abgabezeit = $datum;
$uebung_obj->abgabe_anmerkung = "";
@@ -156,7 +157,7 @@ if (isset($_FILES["abgabedatei"]))
$uebung_obj->abgabe_save(true);
}
$uebung_obj->studentuebung_save(false);
//Abgabedatei ablegen
//Abgabedatei ablegen
move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad);
}
}
@@ -217,11 +218,11 @@ $stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -229,11 +230,11 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -440,14 +441,14 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
die($p->t('benotungstool/studentWurdeNichtGefunden'));
//echo "<b>$row_stud->vorname $row_stud->nachname</b><br>\n";
$uid_arr = Array();
$vorname_arr = Array();
$nachname_arr = Array();
// studentenquery
// studentenquery
$qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
if($result_stud_dd = $db->db_query($qry_stud_dd))
{
@@ -456,7 +457,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
{
$uid_arr[] = $row_stud_dd->uid;
$vorname_arr[] = $row_stud_dd->vorname;
$nachname_arr[] = $row_stud_dd->nachname;
$nachname_arr[] = $row_stud_dd->nachname;
}
}
@@ -467,22 +468,22 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
$prev = $key-1;
$next = $key+1;
if ($key > 0)
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
for ($j = 0; $j < count($uid_arr); $j++)
{
{
if ($uid_arr[$j] == $uid)
$selected = " selected";
else
$selected = "";
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$j]&stsem=$stsem'$selected>$vorname_arr[$j] $nachname_arr[$j]</option>";
}
echo "</select>";
if ($key < count($uid_arr)-1)
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem'> &gt;&gt; </a>";
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem'> &gt;&gt; </a>";
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
if(count($uebung_obj->uebungen)>0)
@@ -492,15 +493,15 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
@@ -510,46 +511,46 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
}
else
$disabled = '';
echo "<OPTION style='background-color:#cccccc;' value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected $disabled>";
echo $row->bezeichnung;
echo '</OPTION>';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$uid' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo '</td>';
echo "<td>
<table>
<tr>
@@ -581,7 +582,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
$mitarbeit = 0;
$note = '';
}
if ($ueb_obj->beispiele && is_numeric($_GET['uebung_id']))
{
echo "
@@ -598,10 +599,10 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<td class='ContentHeader2'>".$p->t('benotungstool/probleme')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/punkte')."</td>
</tr>";
$bsp_obj = new beispiel();
$bsp_obj->load_beispiel($uebung_id);
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel();
@@ -623,14 +624,14 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<td align='center'>$row->punkte</td>
</tr>";
}
echo "</table>";
$ueb_obj->load_studentuebung($uid, $uebung_id);
if ($ueb_obj->abgabe_id)
{
if ($ueb_obj->abgabe_id)
{
$ueb_obj->load_abgabe($ueb_obj->abgabe_id);
$filename = $ueb_obj->abgabedatei;
}
@@ -639,27 +640,27 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
if ($filename != '')
echo "<br>".$p->t('benotungstool/abgabedatei').": <a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid&download_abgabe=$filename'>".$filename."</a><br><br>";
echo "
</td><td valign='top' algin='right'>";
//Gesamtpunkte diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER);
$punkte_gesamt=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt = $row->punktegesamt;
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
//Gesamtpunkte alle Kreuzerllisten in dieser Übung
$ueb_help = new uebung($uebung_id);
$liste_id = $ueb_help->liste_id;
@@ -670,19 +671,19 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt_alle = $row->punktegesamt_alle;
//Eingetragen alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung
WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND
tbl_studentbeispiel.student_uid=".$db->db_add_param($uid)." AND vorbereitet=true";
$punkte_eingetragen_alle=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0);
//Mitarbeitspunkte
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." and liste_id=".$db->db_add_param($liste_id);
@@ -690,7 +691,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
//Mitarbeitspunkte
$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid);
@@ -742,8 +743,8 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
</tr>
</table>
";
echo "
</td></tr>
<tr>
@@ -752,18 +753,18 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<input type='button' value='".$p->t('global/zurueck')."' onclick='history.back();'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
</td>
</tr>
</table>
</form>
";
}
else if (is_numeric($_GET['uebung_id']))
{
$ueb_obj->load_studentuebung($uid, $uebung_id);
if ($ueb_obj->abgabe_id)
{
if ($ueb_obj->abgabe_id)
{
$ueb_obj->load_abgabe($ueb_obj->abgabe_id);
$filename = $ueb_obj->abgabedatei;
}
@@ -790,28 +791,28 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<tr>
<td colspan='2'>
<input type='button' value='".$p->t('global/zurueck')."' onclick='history.back();'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
</td>
</tr>
</table>
</form>";
}
echo "</td></tr></table>";
echo "<table>\n";
echo "</td></tr></table>";
echo "<table>\n";
echo " <tr>\n";
echo " <form accept-charset='UTF-8' method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&uid=$uid' enctype='multipart/form-data'>\n";
echo " <td>\n";
echo " <b>".$p->t('benotungstool/studentenabgabedatei').":</b><br><input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
echo " </td>\n";
echo " </td>\n";
echo " </form>\n";
echo "</tr>\n";
echo "</table>";
}
else
{
//Übungen benoten
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
@@ -822,15 +823,15 @@ else
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
@@ -840,61 +841,62 @@ else
}
else
$disabled = '';
echo "<OPTION style='background-color:#cccccc;' value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected $disabled>";
echo $row->bezeichnung;
echo '</OPTION>';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$uid' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo "<a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem' target='_blank'> [".$p->t('benotungstool/benoten')."]</a>";
$abgabe_obj = new uebung($uebung_id);
if ($abgabe_obj->abgabe && glob(BENOTUNGSTOOL_PATH."abgabe/*_[WS]S[0-9][0-9][0-9][0-9]_".$uebung_id."_*"))
{
$date = date('Y-m-d_H:i:s');
$date = date('Y-m-d_H:i:s');
$downloadname = makeUploadName($db, $which="zip", $lehreinheit_id, $uebung_id, $stsem, $uid=null, $date);
$downloadname = mb_ereg_replace($uebung_id, ereg_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname);
$downloadname = str_replace($uebung_id, str_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname);
$downloadname = preg_replace('/[^A-Za-z0-9\-_]/', '',$downloadname);
echo "<a href='zipdownload_benotungstool.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&downloadname=$downloadname'> [".$p->t('benotungstool/abgabenDownloaden')."]</a>";
}
else
echo "[".$p->t('benotungstool/keineAbgabenVerfuegbar')."]";
echo '</td></tr></table>';
}
echo "<br><hr><br>";
//Studentenliste
echo $p->t('benotungstool/bitteWaehlenSieDenStudentenAus')."<br>";
@@ -907,14 +909,14 @@ else
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class='ContentHeader2'>".$p->t('global/uid')."</td>
<td class='ContentHeader2'>".$p->t('global/nachname')."</td>
<td class='ContentHeader2'>".$p->t('global/vorname')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/studentenansicht')."</td>
</tr>
<tr>
<td>&nbsp;</td>
@@ -922,7 +924,7 @@ else
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>";
/*
/*
if($row_grp->gruppe_kurzbz!='')
{
echo "
@@ -945,16 +947,16 @@ else
" ORDER BY nachname, vorname";
}
*/
// studentenquery
// studentenquery
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname";
if($result_stud = $db->db_query($qry_stud))
{
$i=1;
while($row_stud = $db->db_fetch_object($result_stud))
{
echo "
<tr class='liste".($i%2)."'>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->uid</a></td>
@@ -36,11 +36,11 @@ require_once('functions.inc.php');
require_once('../../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
@@ -64,7 +64,7 @@ if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehr
$lehreinheit_id = $_GET['lehreinheit_id'];
else
$lehreinheit_id = '';
//Angabedatei ausliefern
if (isset($_GET["download"])){
$file=$_GET["download"];
@@ -100,7 +100,7 @@ if (isset($_GET["download"])){
{
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
}
function set_notenschluessel_prozent()
{
document.ns.schluessel_punkte_1.value=89;
@@ -156,7 +156,7 @@ if (isset($_FILES["angabedatei"]))
$angabedatei_up = $_FILES["angabedatei"]["tmp_name"];
else
$angabedatei_up = null;
$beispiel_id = (isset($_GET['beispiel_id'])?$_GET['beispiel_id']:'');
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
@@ -223,11 +223,11 @@ $stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -235,11 +235,11 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -384,7 +384,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$error_anzahlderbeispiele = "<span class='error'>".$p->t('benotungstool/anzahlDerBeispieleKleiner100')."</span>";
$error=true;
}
if ($maxstd != '')
{
if(!is_numeric($maxstd))
@@ -405,7 +405,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
}
else
$maxstd = null;
if ($maxbsp != '')
{
if(!is_numeric($maxbsp))
@@ -427,7 +427,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
else
$maxbsp = null;
}
$freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon);
$freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis);
@@ -462,7 +462,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav);
if (isset($_POST["uebung_neu"]))
{
if (isset($_POST["kl_abgabe"]))
if (isset($_POST["kl_abgabe"]))
$uebung_obj->abgabe=true;
else
$uebung_obj->abgabe=false;
@@ -487,12 +487,12 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$uebung_obj->maxbsp = $maxbsp;
$uebung_obj->gewicht = $gewicht;
$uebung_obj->get_next_nummer();
$uebung_obj->nummer = $uebung_obj->next_nummer;
$uebung_obj->nummer = $uebung_obj->next_nummer;
if($uebung_obj->save(true))
{
$uebung_id = $uebung_obj->uebung_id;
//Angabedatei ablegen
if ($angabedatei_up)
{
@@ -503,12 +503,12 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
//Find occurence of extensions ending with ".tar."
if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array))
$extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.'));
else
else
$extension = $name_up["extension"];
$name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem);
$angabedatei = $name_neu.".".$extension;
$angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei;
//$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei;
//unlink($angabepfad);
@@ -518,7 +518,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$uebung_obj->save(false);
}
//Beispiele anlegen
$error_msg='';
for($i=0;$i<$anzahlderbeispiele;$i++)
{
@@ -625,7 +625,7 @@ if(isset($_POST['uebung_edit']))
}
else
$maxstd = null;
if ($maxbsp != '')
{
if(!is_numeric($maxbsp))
@@ -646,7 +646,7 @@ if(isset($_POST['uebung_edit']))
}
else
$maxbsp = null;
if($freigabevon_sav>$freigabebis_sav)
{
echo "<span class='error'>".$p->t('benotungstool/vonDatumNichtGroesserAlsBisDatum')."</span>";
@@ -680,7 +680,7 @@ if(isset($_POST['uebung_edit']))
$extension = $name_up["extension"];
$name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem);
$angabedatei_neu = $name_neu.".".$extension;
$angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu;
//$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei;
//unlink($angabepfad);
@@ -690,7 +690,7 @@ if(isset($_POST['uebung_edit']))
move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad);
}
else
{
{
$uebung_akt = new uebung();
$uebung_akt->load($uebung_id);
$angabedatei_neu = $uebung_akt->angabedatei;
@@ -702,7 +702,7 @@ if(isset($_POST['uebung_edit']))
$uebung_obj->angabedatei=$angabedatei_neu;
$uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav);
$uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav);
if ($uebung_obj->beispiele)
if ($uebung_obj->beispiele)
$uebung_obj->abgabe = (isset($_POST['kl_abgabe'])?true:false);
//$uebung_obj->beispiele=true;
$uebung_obj->bezeichnung=$thema;
@@ -749,11 +749,11 @@ if(isset($_POST['liste_edit']))
echo "<span class='error'>".$p->t('benotungstool/gewichtMussEineZahlSein')."</span>";
$error = true;
}
if(!$error)
{
$uebung_obj = new uebung();
$uebung_obj->load($_GET['liste_id']);
$uebung_obj->gewicht=$gewicht;
@@ -804,7 +804,7 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit']))
$beispiel_obj = new beispiel();
if(isset($_POST['beispiel_edit']))
{
$beispiel_obj->load($beispiel_id);
$beispiel_obj->load($beispiel_id);
$beispiel_obj->beispiel_id= $beispiel_id;
$beispiel_obj->new=false;
}
@@ -845,7 +845,7 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit']))
//Uebersichtstabelle
if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
{
echo "<table><tr><td valign='top'>";
//Bearbeiten der ausgewaehlten Uebung
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&liste_id=$liste_id' method=POST enctype='multipart/form-data'>\n";
@@ -857,23 +857,24 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
//$downloadname = mb_ereg_replace($uebung_id,ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei);
$downloadname = mb_str_replace(' ', '_', $uebung_obj->bezeichnung);
$downloadname = mb_str_replace($uebung_id, $downloadname, $uebung_obj->angabedatei);
$downloadname = preg_replace('/[^A-Za-z0-9\-_.]/', '',$downloadname);
echo "
<tr><td>".$p->t('benotungstool/thema')."</td><td align='right'><input type='text' name='thema' maxlength='32' value='".htmlentities($uebung_obj->bezeichnung,ENT_QUOTES,'UTF-8')."'></td><td>$error_thema</td></tr>
<tr><td>".$p->t('benotungstool/freigabe')."</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))."'></td></tr>
<tr><td>".$p->t('benotungstool/format')."</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis))."'></td></tr>";
if ($uebung_obj->beispiele){
echo "<tr><td>".$p->t('benotungstool/maxStudentenBeispiel')."</td><td align='right'><input type='text' name='maxstd' value='$uebung_obj->maxstd'></td><td>$error_maxstd</td></tr>
<tr><td>".$p->t('benotungstool/maxBeispieleStudent')."</td><td align='right'><input type='text' name='maxbsp' value='$uebung_obj->maxbsp'></td><td>$error_maxbsp</td></tr>";
echo"<tr><td>".$p->t('benotungstool/abgabe')." </td><td><input type='checkbox' name='kl_abgabe' ".($uebung_obj->abgabe?'checked':'')."></td></tr>";
echo "<input type='hidden' size='16' name='gewicht' value='0'>";
}
}
else if ($uebung_obj->abgabe)
{
echo "<tr><td>".$p->t('benotungstool/gewicht')."</td><td align='right'><input type='text' size='16' name='gewicht' value='$uebung_obj->gewicht'></td><td>$error_gewicht</td></tr>";
echo "<tr><td>".$p->t('benotungstool/positiv')." </td><td><input type='checkbox' name='positiv' ".($uebung_obj->positiv?'checked':'')."></td></tr>";
}
if ($uebung_obj->beispiele)
if ($uebung_obj->beispiele)
echo"<tr><td>".$p->t('benotungstool/statistikFuerStudentenAnzeigen')." </td><td><input type='checkbox' name='statistik' ".($uebung_obj->statistik?'checked':'')."></td></tr>";
echo "<tr>";
echo "<td>".$p->t('benotungstool/angabeidatei')."</td>";
@@ -900,25 +901,25 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&liste_id=$liste_id' method=POST>\n";
echo "<table width='340'><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/neuesBeispielAnlegen')."</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>\n\n";
echo "<tr><td>".$p->t('global/bezeichnung')." <input type='text' name='bezeichnung' maxlength='32' value='".$p->t('benotungstool/beispiel')." ".($anzahl<9?'0'.($anzahl+1):($anzahl+1))."'>";
echo "&nbsp;".$p->t('benotungstool/punkte')." <input type='text' size='2' name='punkte' value='1'></td></tr>";
echo "<tr><td align='right'><input type='submit' name='beispiel_neu' value='".$p->t('benotungstool/anlegen')."'></td></tr>";
echo "</table>
</form>";
}
echo "</td></tr><tr><td valign='top'>";
//Uebersicht der Beispiele
if ($uebung_obj->beispiele)
{
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&liste_id=$liste_id' method=POST>\n";
echo "<table width='340'><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/vorhandeneBeispiele')."</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td><td></td></tr>\n\n";
if($anzahl>0)
{
echo "<tr><th>".$p->t('benotungstool/beispiel')."</th><th>".$p->t('benotungstool/punkte')."</th><th>".$p->t('benotungstool/auswahl')."</th></tr>\n";
@@ -932,7 +933,7 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
}
else
echo "<tr><td colspan='3'>".$p->t('benotungstool/keineBeispieleAngelegt')."</td><td></td></tr>";
echo "</table></form>";
}
echo "</td><td valign='top'>";
@@ -969,10 +970,10 @@ else
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method=POST>\n";
echo "<table><tr><td colspan='2' width='340' class='ContentHeader3'>".$p->t('benotungstool/uebungBearbeiten')."</td><td>&nbsp;</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>";
$liste_obj = new uebung();
$liste_obj->load($liste_id);
echo "
<tr><td>".$p->t('benotungstool/thema')."</td><td align='right'><input type='text' name='thema' maxlength='32' value='".htmlentities($liste_obj->bezeichnung,ENT_QUOTES,'UTF-8')."'></td><td>$error_thema</td></tr><tr><td>".$p->t('benotungstool/gewicht')."</td><td align='right'><input type='text' size='16' name='gewicht' value='$liste_obj->gewicht'></td><td>$error_gewicht</td></tr>
<tr><td>".$p->t('benotungstool/positiv')." </td><td><input type='checkbox' name='positiv' ".($liste_obj->positiv?'checked':'')."></td></tr>
@@ -980,13 +981,13 @@ else
</table>
</form>";
}
//Gesamtuebersicht ueber alle Listen innerhalb der Uebung
echo "<table><tr><td valign='top'>";
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method=POST>";
echo "<table width='440'>";
$studentuebung = new uebung();
if (!$studentuebung->check_studentuebung($liste_id))
if (!$studentuebung->check_studentuebung($liste_id))
echo "<tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/vorhandeneAufgabeBearbeiten')."</td></tr>";
$uebung_obj = new uebung();
@@ -1138,10 +1139,10 @@ else
$maxstudentenprobeispiel = '';
$maxbeispieleprostudent = '';
$gewicht = 1;
}
echo "</td><td valign='top'>";
if ($anzeigen != 'abgabe' && $anzeigen != 'nada')
{
echo "
@@ -1181,27 +1182,27 @@ else
}
}
}
if ($anzeigen != "beide")
{
{
if ($liste_obj->prozent == 't')
{
$einheit = " %";
$einheit_link = $p->t('benotungstool/notenschluesselInProzent')." / <a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id&notenschluessel=punkte'>".$p->t('benotungstool/punkten')."</a>";
}
}
else
{
$einheit=" ".$p->t('benotungstool/punkte');
$einheit_link = $p->t('benotungstool/notenschluesselIn')." <a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id&notenschluessel=prozent'>".$p->t('benotungstool/prozentPunkten');
}
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method='POST' name='ns'>\n";
echo "<table><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/notenschluesselDefinieren')."</td></tr>\n";
echo "<tr>";
echo "<td colspan='3'>";
echo $einheit_link;
echo "</td>";
echo "</tr>";
echo "</td>";
echo "</tr>";
echo "<tr><td colspan='3'>&nbsp;</td></tr>\n";
echo "<tr><td>".$p->t('benotungstool/note')."</td><td>".$p->t('benotungstool/minimum')."</td></tr>";
echo "<tr><td><input type='text' name='schluessel_note_1' maxlength='2' size='2' value='1' readonly></td><td><input type='text' size='4' name='schluessel_punkte_1' value='$notenschluessel[1]'>$einheit</td></tr>";
@@ -1215,14 +1216,14 @@ else
echo "<input type='button' onclick='set_notenschluessel_prozent();' value='".$p->t('benotungstool/standardwerteSetzen')."'><br>";
echo "<input type='submit' name='schluessel' value='".$p->t('global/speichern')."'></td>";
echo "</tr>";
echo "</table>
</form>";
}
}
if(!isset($_POST['uebung_neu']))
$thema = "Abgabe ".($anzahl<9?'0'.($anzahl+1):($anzahl+1));
if ($anzeigen != 'beispiele' && $anzeigen != 'nada')
{
echo "
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <[email protected]>,
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]>
* Rudolf Hangl < [email protected] >
* Gerald Simane-Sequens < [email protected] >
@@ -28,12 +28,12 @@
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
$user = get_uid();
$user = get_uid();
if(!check_lektor($user))
die('Sie haben keine Berechtigung fuer diese Seite');
//Gueltigkeit der Parameter pruefen
//Gueltigkeit der Parameter pruefen
if(!isset($_GET['uebung_id']) || !is_numeric($_GET['uebung_id']))
{
die('Fehler bei der Parameteruebergabe');
@@ -62,24 +62,30 @@ if(mb_strstr($downloadname,'..'))
//Pfade bauen
$pfad = BENOTUNGSTOOL_PATH.'abgabe/';
$filename = 'download_'.$user.'_'.$downloadname.'.zip';
$filename_tmp = 'download_'.$user.'_'.$uebung_id.'.zip';
if(!check_filename($filename))
if(!check_filename($filename) || !check_filename($filename_tmp))
die('Ungueltiger Parameter gefunden');
//Pfad wechseln
chdir($pfad);
if(chdir($pfad))
{
//File loeschen falls es existiert
//if(file_exists("download_".$user."*"))
exec('rm download_'.$user.'*');
//File loeschen falls es existiert
//if(file_exists("download_".$user."*"))
exec('rm download_'.$user.'*');
//Zip File erstellen
exec("zip -r ".escapeshellarg($filename).' *_[WS]S[0-9][0-9][0-9][0-9]_'.$uebung_id.'_*');
//Zip File erstellen
exec("zip -r ".escapeshellarg($filename_tmp).' *_[WS]S[0-9][0-9][0-9][0-9]_'.$uebung_id.'_*');
//Auf Zip File Verweisen
//header("Location: $pfad$filename");
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$filename.'"');
readfile($filename);
unlink($filename);
//Auf Zip File Verweisen
//header("Location: $pfad$filename");
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$filename.'"');
readfile($filename_tmp);
unlink($filename_tmp);
}
else
{
die('Path change failed');
}
?>
+2 -1
View File
@@ -64,7 +64,8 @@ $lv_obj->load($lvid);
$lv=$lv_obj;
if(isset($_GET['studiensemester_kurzbz']))
$studiensemester_kurzbz=$_GET['studiensemester_kurzbz'];
// Uses urlencode to avoid XSS issues
$studiensemester_kurzbz = urlencode($_GET['studiensemester_kurzbz']);
else
$studiensemester_kurzbz='';
+34 -1
View File
@@ -446,6 +446,34 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t
});
$("#studienverpflichtung").html(html);
});
$.ajax({
dataType: 'json',
url: "./pruefungsanmeldung.json.php",
type: "POST",
data: {
method: "getPrestudenten"
},
error: loadError
}).success(function(data)
{
if(data.error !== false)
{
var html = "<select id='prestudent_studiengang' name='studiengang'>";
//show if more than 1 active prestudent exists
if(data.result.length > 1)
{
data.result.forEach(function(v,i){
html += "<option value='"+v.studiengang_kz+"'>"+v.kuerzel+"</option>";
});
}
html += "</select>";
console.log(html);
$("#studiengang").html("<td style='vertical-align: top; font-weight: bold;'><?php echo $p->t('pruefung/AnrechnungInStudiengang'); ?>:</td><td>"+html+"</td>");
}
});
var start = terminVon;
var ende = terminBis;
@@ -487,6 +515,10 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
var studienverpflichtung_id = null;
if($("#studienverpflichtung").length)
studienverpflichtung_id = $("#studienverpflichtung option:selected").val();
var studiengang_kz = null;
if($('#prestudent_studiengang').length)
studiengang_kz = $('#prestudent_studiengang option:selected').val();
$.ajax({
dataType: 'json',
@@ -498,7 +530,8 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
lehrveranstaltung_id: lehrveranstaltung_id,
bemerkung: bemerkungen,
uid: uid,
studienverpflichtung_id: studienverpflichtung_id
studienverpflichtung_id: studienverpflichtung_id,
studiengang_kz: studiengang_kz
},
error: loadError
}).success(function(data){
+74 -3
View File
@@ -491,6 +491,32 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t
$("#studienverpflichtung").html(html);
});
$.ajax({
dataType: 'json',
url: "./pruefungsanmeldung.json.php",
type: "POST",
data: {
method: "getPrestudenten"
},
error: loadError
}).success(function(data)
{
if(data.error !== false)
{
//show if more than 1 active prestudent exists
if(data.result.length > 1)
{
var html = "<select id='prestudent_studiengang' name='studiengang'>";
data.result.forEach(function(v,i){
html += "<option value='"+v.studiengang_kz+"'>"+v.kuerzel+"</option>";
});
html += "</select>";
$("#studiengang").html("<td style='vertical-align: top; font-weight: bold;'><?php echo $p->t('pruefung/AnrechnungInStudiengang'); ?>:</td><td>"+html+"</td>");
}
}
});
var start = terminVon;
var ende = terminBis;
start = start.split(' ');
@@ -532,6 +558,10 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
if($("#studienverpflichtung").length)
studienverpflichtung_id = $("#studienverpflichtung option:selected").val();
var studiengang_kz = null;
if($('#prestudent_studiengang').length)
studiengang_kz = $('#prestudent_studiengang option:selected').val();
$.ajax({
dataType: 'json',
url: "./pruefungsanmeldung.json.php",
@@ -542,7 +572,8 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
lehrveranstaltung_id: lehrveranstaltung_id,
bemerkung: bemerkungen,
uid: uid,
studienverpflichtung_id: studienverpflichtung_id
studienverpflichtung_id: studienverpflichtung_id,
studiengang_kz: studiengang_kz
},
error: loadError
}).success(function(data){
@@ -778,10 +809,10 @@ function writeAnmeldungen(data)
});
liste += "</ul>";
$("#anmeldung_hinzufuegen").html("<input id='anmeldung_hinzufuegen_uid' type='text' placeholder='StudentIn-UID' /><input type='button' value='<?php echo $p->t('global/hinzufuegen'); ?>' onclick='saveAnmeldung(\""+lehrveranstaltung_id+"\",\""+terminId+"\");'/>");
$("#reihungSpeichernButton").html("<input type='button' value='<?php echo $p->t('pruefung/reihungSpeichern'); ?>' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>");
$("#reihungSpeichernButton").html("<input type='button' value='<?php echo $p->t('pruefung/reihungSpeichern'); ?>' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'><input type='button' value='<?php echo $p->t('pruefung/alleBestaetigen'); ?>' onclick='alleBestaetigen(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>");
$("#lvdaten").html(lv_bezeichnung+" ("+prf_termin+")");
$("#anmeldeDaten").html(liste);
$("#listeDrucken").html("<a href='./pruefungsanmeldungen_liste.php?termin_id="+terminId+"&lehrveranstaltung_id="+lehrveranstaltung_id+"&studiensemester="+studiensemester+"' target='_blank'><?php echo $p->t('pruefung/listeDrucken'); ?></a>");
$("#listeDrucken").html("<a href='./pruefungsanmeldungen_liste.pdf.php?termin_id="+terminId+"&lehrveranstaltung_id="+lehrveranstaltung_id+"&studiensemester="+studiensemester+"' target='_blank'><?php echo $p->t('pruefung/listeDrucken'); ?></a>");
if(ort_kurzbz !== null)
{
$("#raumLink").html("<span><?php echo $p->t('pruefung/pruefungsraum'); ?></span>"+ort_kurzbz);
@@ -800,6 +831,8 @@ function writeAnmeldungen(data)
}
else
{
$("#anmeldung_hinzufuegen").empty();
$("#lvdaten").empty();
$("#anmeldeDaten").empty();
$("#reihungSpeichernButton").empty();
$("#kommentar").empty();
@@ -807,6 +840,11 @@ function writeAnmeldungen(data)
$("#raumLink").empty();
$("#listeDrucken").empty();
messageBox("message", data.errormsg, "red", "highlight", 1000);
if (data.lv_bezeichnung)
{
$("#lvdaten").html(data.lv_bezeichnung+" ("+data.termin_datum+")");
$("#anmeldung_hinzufuegen").html("<input id='anmeldung_hinzufuegen_uid' type='text' placeholder='StudentIn-UID' /><input type='button' value='<?php echo $p->t('global/hinzufuegen'); ?>' onclick='saveAnmeldung(\""+data.lv_id+"\",\""+data.termin_id+"\");'/>");
}
}
}
@@ -891,6 +929,39 @@ function anmeldungBestaetigen(pruefungsanmeldung_id, termin_id, lehrveranstaltun
});
}
/**
* Ändert den Status aller Anmeldungen eines Termins auf "bestätigt"
* @param {type} termin_id ID des Prüfungstermines
* @param {type} lehrveranstaltung_id ID der Lehrveranstaltung
* @returns {undefined}
*/
function alleBestaetigen(termin_id, lehrveranstaltung_id)
{
$.ajax({
dataType: 'json',
url: "./pruefungsanmeldung.json.php",
type: "POST",
data: {
method: "alleBestaetigen",
termin_id: termin_id,
lehrveranstaltung_id: lehrveranstaltung_id
},
error: loadError
}).success(function(data){
if(data.error === 'false' && data.result === true)
{
if(termin_id !== 'undefined' && lehrveranstaltung_id !== 'undefined')
{
showAnmeldungen(termin_id, lehrveranstaltung_id);
}
}
else
{
messageBox("message", data.errormsg, "red", "highlight", 1000);
}
});
}
/**
* Anzeige eines DIVs zur Darstellung von Fehlermeldungen, etc.
* @param {type} divId ID des DIVs in dem die Meldung dargestellt werden soll
@@ -97,6 +97,9 @@ switch($method)
case 'anmeldungBestaetigen':
$data = anmeldungBestaetigen($uid);
break;
case 'alleBestaetigen':
$data = alleBestaetigen($uid);
break;
case 'getStudiengaenge':
$data = getStudiengaenge();
break;
@@ -118,8 +121,11 @@ switch($method)
break;
case 'getLvKompatibel':
$lvid = filter_input(INPUT_POST, "lehrveranstaltung_id");
$data = getLvKompatibel($lvid);
$data = getLvKompatibel($lvid, $uid);
break;
case 'getPrestudenten':
$data = getPrestudenten($uid, $aktStudiensemester);
break;
default:
break;
}
@@ -376,6 +382,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$stdsem = $studiensemester->getLastOrAktSemester(0);
$lv_besucht = false;
$studienverpflichtung_id = filter_input(INPUT_POST, "studienverpflichtung_id");
$studiengang_kz = filter_input(INPUT_POST, "studiengang_kz");
//Defaulteinstellung für Anzahlprüfungsversuche (wird durch Addon "ktu" überschrieben)
$maxAnzahlVersuche = 0;
@@ -420,7 +427,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$stdsem_lv_besuch = $stdsem;
}
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$lehrveranstaltung->lehrveranstaltungen = array();
$i++;
@@ -441,7 +448,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
// Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen
if(!isset($pruefungstyp_kurzbzArray))
$pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef");
if(isset($pruefungstyp_kurzbzArray))
{
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
@@ -519,7 +526,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $pruefungsfenster->studiensemester_kurzbz);
if($anmeldungen !== false)
{
$ects_verwendet = 0;
@@ -539,11 +546,20 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$konto = new konto();
$creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $pruefungsfenster->studiensemester_kurzbz);
if(($creditPoints != false) && ($lehrveranstaltung->ects > ($creditPoints - $ects_verwendet)))
if(($creditPoints !== false))
{
$cpVerbleibend = $creditPoints - $ects_verwendet;
if(($lehrveranstaltung->ects > $cpVerbleibend))
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
}
}
elseif($konto->errormsg !== null)
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
$data['errormsg'] = 'Fehler beim Laden der Credit Points.';
}
if(isset($data['error']) && $data['error'] = 'true')
@@ -574,6 +590,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$anrechnung = new anrechnung();
$lv_komp = new lehrveranstaltung($studienverpflichtung_id);
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
$person = new person();
$person->getPersonFromBenutzer($uid);
$prestudent = new prestudent();
@@ -583,39 +600,92 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
if ($aktStudiensemester)
$stdsem = $aktStudiensemester;
if(count($prestudent->result) > 0)
$prestudenten = array();
foreach ($prestudent->result as $ps)
{
$prestudent_id = "";
foreach($prestudent->result as $ps)
{
if($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
else
{
if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
else
{
if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
if ($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
array_push($prestudenten, $ps);
}
}
}
if (count($prestudenten) > 0)
{
$prestudent_id = "";
if (count($prestudenten) != 1)
{
foreach ($prestudenten as $ps)
{
if($ps->studiengang_kz === $studiengang_kz)
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
else
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
else
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
}
}
else
{
foreach ($prestudenten as $ps)
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
else
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
else
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
}
if($prestudent_id != "")
{
$anrechungSaveResult = false;
@@ -809,34 +879,38 @@ function getAnmeldungenTermin()
$pruefungstermin->lv_lehrtyp = $lv->lehrtyp_kurzbz;
$datum = new DateTime($pruefungstermin->von);
$pruefungstermin->datum = $datum->format('d.m.Y');
foreach($pruefungstermin->anmeldungen as $a)
{
$student = new student($a->uid);
$temp = new stdClass();
$temp->vorname = $student->vorname;
$temp->nachname = $student->nachname;
$temp->uid = $student->uid;
$a->student = $temp;
}
if(!empty($pruefungstermin->anmeldungen))
{
$data['result']=$pruefungstermin;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
if($pruefungsanmeldung->errormsg !== null)
foreach($pruefungstermin->anmeldungen as $a)
{
$data['errormsg']=$pruefungsanmeldung->errormsg;
$student = new student($a->uid);
$temp = new stdClass();
$temp->vorname = $student->vorname;
$temp->nachname = $student->nachname;
$temp->uid = $student->uid;
$a->student = $temp;
}
if(!empty($pruefungstermin->anmeldungen))
{
$data['result']=$pruefungstermin;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden');
$data['error']='true';
if($pruefungsanmeldung->errormsg !== null)
{
$data['errormsg']=$pruefungsanmeldung->errormsg;
}
else
{
$data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden');
$data['lv_id'] = $lehrveranstaltung_id;
$data['termin_id'] = $pruefungstermin_id;
$data['termin_datum'] = $pruefungstermin->datum;
$data['lv_bezeichnung'] = $pruefungstermin->lv_bezeichnung;
}
}
}
return $data;
return $data;
}
/**
@@ -861,6 +935,67 @@ function saveReihung()
return $data;
}
/**
* Ändert den Status aller Prüfungsanmeldungen eines Termins/LV auf "bestaetigt"
* @return Array
*/
function alleBestaetigen($uid)
{
global $p;
$lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$pruefungstermin_id = $_REQUEST["termin_id"];
$pruefungstermin = new pruefungstermin($pruefungstermin_id);
$pruefungsanmeldung = new pruefungsanmeldung();
$pranmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id);
foreach($pranmeldungen as $a)
{
$anmeldung = new pruefungsanmeldung($a->pruefungsanmeldung_id);
if ($anmeldung->status_kurzbz == 'angemeldet')
{
if ($anmeldung->changeState($a->pruefungsanmeldung_id, 'bestaetigt', $uid))
{
$anm = new pruefungsanmeldung($a->pruefungsanmeldung_id);
$termin = new pruefungstermin($anm->pruefungstermin_id);
$lv = new lehrveranstaltung($anm->lehrveranstaltung_id);
$ma = new mitarbeiter($uid);
$datum = new datum();
$ort = new ort($termin->ort_kurzbz);
$pruefung = new pruefungCis($termin->pruefung_id);
$to = $anm->uid."@".DOMAIN;
$from = "noreply@".DOMAIN;
$subject = $p->t('pruefung/emailSubjectAnmeldungBestaetigung');
$html = $p->t('pruefung/emailBody1')." ".$ma->vorname." ".$ma->nachname." ".$p->t('pruefung/emailBody2')."<br>";
$html .= "<br>";
$html .= $p->t('pruefung/emailBodyPruefung')." ".$lv->bezeichnung."<br>";
if($pruefung->einzeln)
{
$date = $datum->formatDatum($termin->von, "Y-m-d H:i:s");
$date = strtotime($date);
$date = $date+(60*$pruefung->pruefungsintervall*($anmeldung->reihung-1));
$von = date("H:i",$date);
$html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$von."<br>";
$html .= $p->t('pruefung/emailBodyDauer')." ".$pruefung->pruefungsintervall." ".$p->t('pruefung/emailBodyMinuten')."</br>";
}
else
$html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$datum->formatDatum($termin->von, "H:i")."<br>";
$html .= $p->t('pruefung/anmeldungErfolgreich')." ".$ort->bezeichnung."<br>";
$html .= "<br>";
$html .= "<a href='".APP_ROOT."cis/private/lehre/pruefung/pruefungsanmeldung.php'>".$p->t('pruefung/emailBodyLinkZurAnmeldung')."</a><br>";
$html .= "<br>";
$mail = new mail($to, $from, $subject,$p->t('pruefung/emailBodyBitteHtmlSicht'));
$mail->setHTMLContent($html);
$mail->send();
}
}
}
$data['result']=true;
$data['error']='false';
$data['errormsg']='';
return $data;
}
/**
* Ändert den Status einer Prüfungsanmeldung auf "bestaetigt"
* @return Array
@@ -1153,21 +1288,75 @@ function saveRaum($terminId, $ort_kurzbz, $uid)
return $data;
}
function getLvKompatibel($lvid)
function getLvKompatibel($lvid, $uid)
{
$lv = new lehrveranstaltung();
if($lv->getLVkompatibel($lvid))
$person = new person();
$person->getPersonFromBenutzer($uid);
$prestudent = new prestudent();
$prestudent->getPrestudenten($person->person_id);
$stplIds = array();
foreach ($prestudent->result as $ps)
{
$data['result']=$lv->lehrveranstaltungen;
$data['error']='false';
$data['errormsg']='';
if ($ps->getLaststatus($ps->prestudent_id))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
array_push($stplIds, $ps->studienplan_id);
}
}
}
$lv = new lehrveranstaltung();
if($lv->getLVkompatibelTo($lvid, $stplIds))
{
$data['result']=$lv->lehrveranstaltungen;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['result']="";
$data['error']='true';
$data['errormsg']=$lv->errormsg;
$data['result']="";
$data['error']='true';
$data['errormsg']=$lv->errormsg;
}
return $data;
}
function getPrestudenten($uid, $aktStudiensemester)
{
$person = new person();
$person->getPersonFromBenutzer($uid);
$prestudent = new prestudent();
$prestudent->getPrestudenten($person->person_id);
$result = array();
if (count($prestudent->result) > 0)
{
foreach ($prestudent->result as $key=>$ps)
{
if ($ps->getLaststatus($ps->prestudent_id))
{
if(($ps->status_kurzbz === 'Student') || ($ps->status_kurzbz == 'Unterbrecher'))
{
$studiengang = new studiengang($ps->studiengang_kz);
array_push($result, $studiengang);
}
}
}
$data['result']=$result;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['result']="";
$data['error']='true';
$data['errormsg']=$lv->errormsg;
}
return $data;
}
?>
@@ -40,6 +40,17 @@ $p = new phrasen($sprache);
//TODO
$uid = get_uid();
if(isset($_GET['uid']))
{
// Administratoren duerfen die UID als Parameter uebergeben um den Studienplan
// von anderen Personen anzuzeigen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
$uid=$_GET['uid'];
}
$db = new basis_db();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
@@ -302,6 +313,9 @@ $studiensemester->getAll();
</td>
</tr>
<?php endif; ?>
<tr id="studiengang">
</tr>
<tr>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('global/anmerkung'); ?>: </td>
<td>
@@ -0,0 +1,167 @@
<?php
/* Copyright (C) 2015 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Manfred Kindl <[email protected]>
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/dokument_export.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
require_once('../../../../include/vorlage.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$user=get_uid();
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$berechtigung = new benutzerberechtigung();
$berechtigung->getBerechtigungen($user);
if(isset($_GET['lehrveranstaltung_id']) && is_numeric($_GET['lehrveranstaltung_id']))
$lvid = $_GET['lehrveranstaltung_id'];
else
die('Eine gueltige LvID muss uebergeben werden');
if(isset($_GET['studiensemester']))
$studiensemester = $_GET['studiensemester'];
else
die('Eine Studiensemester muss uebergeben werden');
if(isset($_GET['termin_id']) && is_numeric($_GET['termin_id']))
$termin_id = $_GET['termin_id'];
else
die('Eine Termin-ID muss uebergeben werden');
$vorlagecheck = new vorlage();
if (!$vorlagecheck->loadVorlage('Pruefungslist'))
header('Location: pruefungsanmeldungen_liste.php?termin_id='.$termin_id.'&lehrveranstaltung_id='.$lvid.'&studiensemester='.$studiensemester);
if(!$berechtigung->isBerechtigt('admin') && !$berechtigung->isBerechtigt('assistenz') && !check_lektor_lehrveranstaltung($user,$lvid,$studiensemester))
die('Sie muessen LektorIn der LV oder Admin sein, um diese Seite aufrufen zu koennen');
$output='pdf';
if(isset($_GET['output']) && ($output='odt' || $output='doc'))
$output=$_GET['output'];
$lv = new lehrveranstaltung();
$lv->load($lvid);
$doc = new dokument_export('Pruefungslist');
$stg = new studiengang();
$stg->load($lv->studiengang_kz);
$studiengang_bezeichnung=$stg->bezeichnung;
$stg->getAllTypes();
$datum = new datum();
$stdsem = new studiensemester($studiensemester);
$pruefungsanmeldung = new pruefungsanmeldung();
$anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($termin_id, $lvid, $studiensemester, "bestaetigt");
$lehrveranstaltung = new lehrveranstaltung($lvid);
$einzeln = FALSE;
if(!empty($anmeldungen))
{
$pruefung = new pruefungCis($anmeldungen[0]->pruefung_id);
$pruefungstermin = new pruefungstermin($anmeldungen[0]->pruefungstermin_id);
$mitarbeiter = new mitarbeiter($pruefung->mitarbeiter_uid);
$dozent = $mitarbeiter->getFullName(FALSE);
$termin_datum = $datum->formatDatum($pruefungstermin->von, "d.m.Y - H:i");
$data = array(
'bezeichnung'=>$lv->bezeichnung,
'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id,
'studiengang'=>$studiengang_bezeichnung,
'studiengang_kz'=>$lv->studiengang_kz,
'typ'=>$stg->studiengang_typ_arr[$stg->typ],
'studiensemester'=>$stdsem->bezeichnung,
'semester'=>$lv->semester,
'orgform'=>$lv->orgform_kurzbz,
'dozent'=>$dozent,
'termin_datum'=>$termin_datum
);
$count = 0;
foreach($anmeldungen as $anmeldung)
{
$student = new student($anmeldung->uid);
$prfTermin = new pruefungstermin($anmeldung->pruefungstermin_id);
if($einzeln)
{
$date = $datum->formatDatum($prfTermin->von, "Y-m-d H:i:s");
$date = strtotime($date);
$date = $date+(60*$pruefungsintervall*($count));
$date = $datum->formatDatum($prfTermin->von,"d.m.Y").' - '.date("H:i",$date);
$count++;
}
else
{
$date = $datum->formatDatum($prfTermin->von,"d.m.Y - H:i");
$count++;
}
$date = $datum->formatDatum($prfTermin->von,"d.m.Y");
$data[] = array('student'=>array(
'count' => $count,
'vorname' => $student->vorname,
'nachname' => $student->nachname,
'matr_nr' => $student->matr_nr,
'datum' => $date,
'wuensche' => $anmeldung->wuensche,
'kommentar' => $anmeldung->kommentar
));
}
$doc->addDataArray($data,'pruefungsliste');
//header("Content-type: application/xhtml+xml");
//echo $doc->ConvertArrayToXML($data,'anwesenheitsliste');
//exit;
if(!$doc->create($output))
die($doc->errormsg);
$doc->output();
$doc->close();
}
else {
echo $p->t('pruefung/keineBestaetigtenAnmeldungenVorhanden');
}
?>
+1 -1
View File
@@ -235,7 +235,7 @@ if ($num_rows_stpl>0)
echo '
<tr class="liste'.($i%2).'">
<td>'.$db->convert_html_chars($unr).'</td>
<td><A class="Item" href="mailto:'.$pers_email.'">'.$db->convert_html_chars($titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost).'</A></td>
<td><A class="Item" href="../profile/index.php?uid='.$row->uid.'" target="_self" onClick="window.resizeTo(1200,880)">'.$db->convert_html_chars($titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost).'</A></td>
<td title="'.$db->convert_html_chars($ort->bezeichnung).'">'.(!empty($ortkurzbz)?($ort->content_id!=''?'<a href="../../../cms/content.php?content_id='.$ort->content_id.'" target="_self" onClick="window.resizeTo(1200,880)">'.$db->convert_html_chars($ortkurzbz).'</a>':$db->convert_html_chars($ortkurzbz)):$db->convert_html_chars($ortkurzbz)).'</td>
<td>'.$db->convert_html_chars($lehrfachkurzbz).'</td>
<td>'.$db->convert_html_chars($bezeichnung).'</td>
+3 -2
View File
@@ -55,10 +55,11 @@ if (isset($_GET['datum']))
if (isset($_POST['datum']))
$datum=$_POST['datum'];
// Uses urlencode to avoid XSS issues
if (isset($_GET['ort_kurzbz']))
$ort_kurzbz=$_GET['ort_kurzbz'];
$ort_kurzbz = urlencode($_GET['ort_kurzbz']);
else if (isset($_POST['ort_kurzbz']))
$ort_kurzbz=$_POST['ort_kurzbz'];
$ort_kurzbz = urlencode($_POST['ort_kurzbz']);
else
$ort_kurzbz=null;
+87 -65
View File
@@ -291,9 +291,9 @@ if($zeugnisnote->getZeugnisnoten('',$uid,''))
foreach($zeugnisnote->result as $row_note)
{
if($row_note->note!='')
{
{
$noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note;
}
}
}
}
@@ -447,10 +447,18 @@ function drawTree($tree, $depth)
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
if(!$positiv)
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
//echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
if(count($kompatibleLVs) > 0)
{
checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid, true);
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif($positiv)
{
@@ -458,7 +466,7 @@ function drawTree($tree, $depth)
}
elseif($lvregelExists)
{
if($abgeschlossen && $positiv)
if($abgeschlossen || $positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
@@ -475,66 +483,7 @@ function drawTree($tree, $depth)
//check if compatible course has grade
elseif(count($kompatibleLVs) > 0)
{
$positiv = false;
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
if(count($anrechnung->result) == 1)
{
$lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
if(isset($noten_arr[$lv]))
{
$positiv=false;
foreach($noten_arr[$lv] as $note)
{
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
$found = true;
}
else
{
/* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert
* darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde
*/
if(!$found)
$found = false;
}
}
$i++;
}
}
if($found)
{
if($positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif(!$found)
{
if(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>';
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid);
}
else
{
@@ -709,6 +658,79 @@ function drawTree($tree, $depth)
drawTree($row_tree->childs, $depth+1);
}
}
function checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid, $negativeNote= null)
{
$positiv = false;
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
if(count($anrechnung->result) == 1)
{
$lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
if(isset($noten_arr[$lv]))
{
$positiv=false;
foreach($noten_arr[$lv] as $note)
{
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
$found = true;
}
else
{
/* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert
* darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde
*/
if(!$found)
$found = false;
}
}
$i++;
}
}
if($found)
{
if($positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif(!$found)
{
if(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>';
}
else
{
if(($negativeNote!= null) && ($negativeNote == true))
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
}
}
echo '</table>';
echo '<br><br>'.$p->t('studienplan/legende').':<br>
<table>
+1 -1
View File
@@ -127,7 +127,7 @@ if(!$person->load($uid))
{
if(elem[i].name.match("^wunsch"))
{
if(!elem[i].value.match("[12]"))
if(!elem[i].value.match("^\-?[1-2]\d{0,0}$"))
error=true;
}
}
+72 -76
View File
@@ -22,7 +22,7 @@
*/
/*******************************************************************************************************
* projektabgabe
* projektabgabe ermöglicht den Download aller Abgaben eines Stg.
* projektabgabe ermöglicht den Download aller Abgaben eines Stg.
* fuer Diplom- und Bachelorarbeiten
*******************************************************************************************************/
@@ -53,12 +53,12 @@ if(!is_numeric($stg_kz) && $stg_kz!='')
$abgabetyp=(isset($_REQUEST['abgabetyp'])?$_REQUEST['abgabetyp']:'');
$termin=(isset($_REQUEST['termin'])?$_REQUEST['termin']:'');
$htmlstr='';
$datum_obj = new datum();
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$rechte->getBerechtigungen($user);
$berechtigung_kurzbz = 'lehre/abgabetool:download';
if(isset($_GET['id']) && isset($_GET['uid']))
@@ -67,14 +67,14 @@ if(isset($_GET['id']) && isset($_GET['uid']))
{
if(!is_numeric($_GET['id']) || $_GET['id']=='')
die($p->t('global/fehlerBeiDerParameteruebergabe'));
$file = $_GET['id'].'_'.$_GET['uid'].'.pdf';
$filename = PAABGABE_PATH.$file;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
}
else
else
{
die($p->t('global/keineBerechtigungFuerDieseSeite'));
}
@@ -84,8 +84,7 @@ if(isset($_GET['id']) && isset($_GET['uid']))
if($aktion!='zip')
{
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
echo '<!DOCTYPE HTML>
<html>
<head>
<title>'.$p->t('abgabetool/projektabgabeUebersicht').'</title>
@@ -97,22 +96,22 @@ if($aktion!='zip')
<script src="../../../include/js/jquery.autocomplete.js" type="text/javascript"></script>
<script src="../../../include/js/jquery.autocomplete.min.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
$(document).ready(function()
{
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[5,0]],
widgets: ["zebra"]
});
});
});
</script>
</head>
<body>
<H1>'.$p->t('abgabetool/projektabgabeUebersicht').'</H1>';
$s = new studiengang();
$s->loadArray($rechte->getStgKz($berechtigung_kurzbz),'typ,kurzbz');
echo'<form method="GET" action="'.$_SERVER['PHP_SELF'].'" name="abgabeFrm">';
echo $p->t('global/studiengang').": <SELECT onchange='set_termin();' id='stg_kz' name='stg_kz'>";
@@ -135,27 +134,24 @@ if($aktion!='zip')
}
}
echo "</SELECT>";
$qry_termin=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD-MM-YYYY') as termin_anzeige
FROM lehre.tbl_projektarbeit
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
";
//AND public.tbl_benutzer.aktiv
if ($stg_kz!='')
$qry_termin.=" AND public.tbl_studiengang.studiengang_kz='$stg_kz'";
if ($abgabetyp!='')
$qry_termin.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz='$abgabetyp'";
$qry_termin.=" ORDER BY termin desc";
$qry_termin=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD-MM-YYYY') as termin_anzeige
FROM lehre.tbl_projektarbeit
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
";
//AND public.tbl_benutzer.aktiv
if ($stg_kz!='')
$qry_termin.=" AND public.tbl_studiengang.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
if ($abgabetyp!='')
$qry_termin.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz=".$db->db_add_param($abgabetyp);
$qry_termin.=" ORDER BY termin desc";
echo '&nbsp;'.$p->t('abgabetool/termin').'&nbsp;<select name="termin" id="termin">
<option value="" '. (!isset($_REQUEST['termin']) || empty($termin)?' selected ':'') .'>-'.$p->t('global/alle').'-</option> ';
if($result_termin=$db->db_query($qry_termin))
@@ -166,37 +162,37 @@ if($aktion!='zip')
}
}
echo '</select>';
?>
<script type="text/javascript">
function set_termin()
<script type="text/javascript">
function set_termin()
{
$('#termin').children().remove().end();
$.ajax
(
{
type: "POST",
url: 'projektabgabe_autocomplete.php',
dataType: 'json',
data: "work=work_termin_select" + "&stg_kz=" + $('#stg_kz').val() + "&abgabetyp=" + $('#abgabetyp').val(),
success: function(json)
{
var output = '';
for (p in json)
{
$('#termin').children().remove().end();
$.ajax
(
{
type: "POST",
url: 'projektabgabe_autocomplete.php',
dataType: 'json',
data: "work=work_termin_select" + "&stg_kz=" + $('#stg_kz').val() + "&abgabetyp=" + $('#abgabetyp').val(),
success: function(json)
{
var output = '';
for (p in json)
{
output += '<option value=\"' + json[p].oTermin + '\">' + json[p].oTerminAnzeige + '<\/option>\n';
}
$('#termin').html(output);
$('#termin').result(function(event, data, formatted) {}).focus();
}
}
);
output += '<option value=\"' + json[p].oTermin + '\">' + json[p].oTerminAnzeige + '<\/option>\n';
}
</script>
$('#termin').html(output);
$('#termin').result(function(event, data, formatted) {}).focus();
}
}
);
}
</script>
<?php
echo "&nbsp;<INPUT type='submit' name='ok' value='".$p->t('global/anzeigen')."' onclick=\"f=document.abgabeFrm;f.aktion.value='';\">&nbsp;<INPUT type='button' value='ZIP' onclick=\"f=document.abgabeFrm;f.aktion.value='zip';f.submit();\"></FORM><br>";
}
##if($stg_kz!='' || $abgabetyp!='' || $termin!='')
if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=='zip'))
@@ -207,20 +203,20 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
{
die($p->t('global/studiengangKonnteNichtGefundenWerden'));
}
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt($berechtigung_kurzbz, $s->oe_kurzbz))
{
$qry="";
$qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,* FROM lehre.tbl_projektarbeit
$qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,* FROM lehre.tbl_projektarbeit
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
";
if ($stg_kz!='')
@@ -233,7 +229,7 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
if($stg_kz=='' && $abgabetyp=='' && $termin=='')
{
$qry.=" limit 100 ";
$qry.=" limit 100 ";
}
if(!$erg=$db->db_query($qry))
@@ -261,7 +257,7 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
{
$htmlstr .= " <td align=center><a href='".$_SERVER['PHP_SELF']."?id=".$row->paabgabe_id."&amp;uid=$row->uid' target='_blank'><img src='../../../skin/images/pdf.ico' alt='PDF' title='abgegebene Datei' border=0></a></td>";
}
else
else
{
$htmlstr .= " <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>";
}
@@ -279,16 +275,16 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
{
$zipfile = $row->paabgabe_id.'_'.$row->uid.'.pdf';
}
else
else
{
$zipfile .= " ".$row->paabgabe_id.'_'.$row->uid.'.pdf';
}
}
}
}
$htmlstr .= "</tbody></table>";
}
}
else
}
else
{
die($p->t('global/keineBerechtigungFuerDieseSeite'));
}
@@ -317,18 +313,18 @@ else
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="Abgabe_'.$s->kuerzel.'.zip"');
$handle = fopen($zipausgabe, "rb");
while (!feof($handle))
while (!feof($handle))
{
echo fread($handle, 1024);
}
fclose($handle);
//echo file_get_contents($zipausgabe);
unlink($zipausgabe);
unlink($zipausgabe);
}
else
else
{
echo $p->t('global/dateiExistiertNicht');
}
+4 -1
View File
@@ -61,7 +61,10 @@ echo '<h1>',$p->t('tools/suche'),'</h1>';
$search = (isset($_REQUEST['search'])?$_REQUEST['search']:'');
echo '<form action="',$_SERVER['PHP_SELF'],'" name="searchform" method="GET">
// Uses htmlspecialchars to avoid XSS issues
$self = htmlspecialchars($_SERVER["PHP_SELF"], ENT_QUOTES, "utf-8");
echo '<form action="',$self,'" name="searchform" method="GET">
<input type="search" placeholder="'.$p->t('tools/suchbegriff').' ..." size="40" name="search" value="',$db->convert_html_chars($search),'" />
<img src="../../../skin/images/search.png" onclick="document.searchform.submit()" height="15px" class="suchicon"/>
</form><br>';
+2 -1
View File
@@ -86,7 +86,8 @@ $activities_str = "'".implode("','", $activities)."'";
$gesperrt_bis = '2015-08-31';
$sperrdatum = date('c', strtotime($gesperrt_bis));
$zeitaufzeichnung_id = (isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:'');
// Uses urlencode to avoid XSS issues
$zeitaufzeichnung_id = urlencode(isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:'');
$projekt_kurzbz = (isset($_POST['projekt'])?$_POST['projekt']:'');
$oe_kurzbz_1 = (isset($_POST['oe_kurzbz_1'])?$_POST['oe_kurzbz_1']:'');
$oe_kurzbz_2 = (isset($_POST['oe_kurzbz_2'])?$_POST['oe_kurzbz_2']:'');
+118 -36
View File
@@ -187,6 +187,11 @@ $( document ).ready(function()
}
}
});
function setBisdatum(datum)
{
if(document.getElementById("bis_datum").value=="")
document.getElementById("bis_datum").value=datum;
}
</script>
';
?>
@@ -269,20 +274,51 @@ if($method =="austauschprogram")
// Speichert Austauschprogram in preincoming tabelle
if(isset($_POST['submit_program']))
{
$preincoming->von = $date->formatDatum($_REQUEST['von'],'Y-m-d');
$preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d');
if (isset($_REQUEST['code']))
$preincoming->code = $_REQUEST['code'];
if($_REQUEST['austausch_kz']== "austausch_auswahl")
$preincoming->mobilitaetsprogramm_code = '';
$von_datum = $_REQUEST['von'];
$bis_datum = $_REQUEST['bis'];
//Datum auf Gueltigkeit pruefen
if (($von_datum != '' && !$date->formatDatum($von_datum,'Y-m-d')) || ($bis_datum != '' && !$date->formatDatum($bis_datum,'Y-m-d')))
{
echo '<span style="color: red"><b>'.($p->t('incoming/bitteGueltigesDatumEingeben')).'</b></span>';
}
else
$preincoming->mobilitaetsprogramm_code = $_REQUEST['austausch_kz'];
$preincoming->updateamum = date('Y-m-d H:i:s');
{
$von_datum = $date->formatDatum($von_datum,'Y-m-d');
$bis_datum = $date->formatDatum($bis_datum,'Y-m-d');
$dtstart = new DateTime($von_datum);
$dtende = new DateTime($bis_datum);
$jetzt = new DateTime();
if(!$preincoming->save())
echo $preincoming->errormsg;
else
echo $p->t('global/erfolgreichgespeichert');
if ($dtstart < $jetzt)
{
echo '<span style="color: red"><b>'.$p->t('incoming/beginnNichtInVergangenheit').'</b></span>';
$_REQUEST['von'] = '';
}
elseif ($von_datum != '' && $bis_datum != '' && $dtende < $dtstart)
{
echo '<span style="color: red"><b>'.$p->t('incoming/endeGroesserStart').'</b></span>';
$_REQUEST['bis'] = '';
}
else
{
$preincoming->von = $date->formatDatum($_REQUEST['von'],'Y-m-d');
$preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d');
if (isset($_REQUEST['code']))
$preincoming->code = $_REQUEST['code'];
if($_REQUEST['austausch_kz']== "austausch_auswahl")
$preincoming->mobilitaetsprogramm_code = '';
else
$preincoming->mobilitaetsprogramm_code = $_REQUEST['austausch_kz'];
$preincoming->updateamum = date('Y-m-d H:i:s');
if(!$preincoming->save())
echo $preincoming->errormsg;
else
echo $p->t('global/erfolgreichgespeichert');
}
}
}
// Ausgabe Austauschprogram Formular
echo ' <form method="POST" action="incoming.php?method=austauschprogram" name="AustauschForm">
@@ -317,11 +353,11 @@ if($method =="austauschprogram")
</tr>
<tr>
<td>'.$p->t('incoming/studiertvon').' </td>
<td><input type="text" name="von" class="datepicker_exchange" size="10" value="'.$date->formatDatum($preincoming->von,'d.m.Y').'"> (dd.mm.yyyy)</td>
<td><input type="text" id="von_datum" name="von" class="datepicker_exchange" size="10" value="'.($preincoming->von != ''?$date->formatDatum($preincoming->von,'d.m.Y'):$_REQUEST['von']).'" onchange="setBisdatum(this.value)"> (dd.mm.yyyy)</td>
</tr>
<tr>
<td>'.$p->t('incoming/studiertbis').' </td>
<td><input type="text" name="bis" class="datepicker_exchange" size="10" value="'.$date->formatDatum($preincoming->bis,'d.m.Y').'"> (dd.mm.yyyy)</td>
<td><input type="text" id="bis_datum" name="bis" class="datepicker_exchange" size="10" value="'.($preincoming->bis != ''?$date->formatDatum($preincoming->bis,'d.m.Y'):$_REQUEST['bis']).'"> (dd.mm.yyyy)</td>
</tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
@@ -345,12 +381,71 @@ else if($method=="lehrveranstaltungen")
{ // speichern der LV-ID
if($_GET['mode']=="add")
{
$id= $_GET['id'];
if($preincoming->addLehrveranstaltung($preincoming->preincoming_id, $_GET['id'], date('Y-m-d H:i:s')))
$message = '<span style="color: green"><b>'.($p->t('global/erfolgreichgespeichert')).'</b></span>';
else
$message = '<span style="color: red"><b>'.($p->t('global/fehleraufgetreten')).'</b></span>';
$id = $db->db_add_param($_GET['id'], FHC_INTEGER, false);
$freieplaetze = 0;
// Freie Plaetze ermitteln
$qry = " SELECT tbl_lehrveranstaltung.incoming, (
SELECT count(*)
FROM (
SELECT person_id
FROM campus.vw_student_lehrveranstaltung
JOIN PUBLIC.tbl_benutzer using (uid)
JOIN PUBLIC.tbl_student ON (uid = student_uid)
JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
WHERE lehrveranstaltung_id = ".$id."
AND lehreinheit_id IN (
SELECT lehreinheit_id
FROM lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id = ".$id."
AND tbl_lehreinheit.studiensemester_kurzbz = '$stsem->studiensemester_kurzbz'
)
AND tbl_prestudentstatus.status_kurzbz = 'Incoming'
AND tbl_prestudentstatus.studiensemester_kurzbz = '$stsem->studiensemester_kurzbz'
UNION
SELECT person_id
FROM PUBLIC.tbl_preincoming_lehrveranstaltung
JOIN PUBLIC.tbl_preincoming using (preincoming_id)
WHERE lehrveranstaltung_id = ".$id."
AND
(
(bis - '$stsem->start' > '$stsem->start' - von) OR
('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR
(bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR
('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR
(von >= '$stsem->start' AND bis <= '$stsem->ende') OR
(von <= '$stsem->start' AND bis >= '$stsem->ende') OR
(von IS NULL AND bis IS NULL) OR
(von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR
(bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start')
)
AND aktiv = true
) a
) AS anzahl
FROM lehre.tbl_lehrveranstaltung
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id = ".$id;
if($result = $db->db_query($qry))
{
if ($db->db_num_rows($result)>0)
{
if ($row = $db->db_fetch_object($result))
{
$freieplaetze = $row->incoming - $row->anzahl;
}
}
}
if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $_GET['id']) && $freieplaetze>0)
{
if($preincoming->addLehrveranstaltung($preincoming->preincoming_id, $_GET['id'], date('Y-m-d H:i:s')))
$message = '<span style="color: green"><b>'.($p->t('global/erfolgreichgespeichert')).'</b></span>';
else
$message = '<span style="color: red"><b>'.($p->t('global/fehleraufgetreten')).'</b></span>';
}
else
$message = '<span style="color: red"><b>'.$p->t('incoming/lvVollBelegt').'</b></span>';
}
// löschen der LV-ID
if($_GET['mode'] == "delete")
@@ -709,19 +804,6 @@ else if($method=="lehrveranstaltungen")
echo '</td>
</tr>
</table>
<script language="JavaScript">
function selectChange()
{
filter = document.filterSemester.filterLv.options[document.filterSemester.filterLv.selectedIndex].value;
filterSprache = document.filterSemester.filterUnterrichtssprache.options[document.filterSemester.filterUnterrichtssprache.selectedIndex].value;
filterStudiengang = document.filterSemester.filterStudiengang.options[document.filterSemester.filterStudiengang.selectedIndex].value;
url = [location.protocol, "//", location.host, location.pathname].join("");
url = url+"?method=lehrveranstaltungen&filter="+filter+"&unterrichtssprache="+filterSprache+"&studiengang="+filterStudiengang;
document.location=url;
}
</script>
</form>
<br><br>';
@@ -739,7 +821,7 @@ else if($method=="lehrveranstaltungen")
//Uebersicht LVs
/* Erklaerung der Datumszeitraeume ab Zeile 663:
/* Erklaerung der Datumszeitraeume ab Zeile 857:
* |=============== Studiensemester ===============|
* |--------------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend innerhalb SS
* |--------------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend innerhalb SS
@@ -861,7 +943,7 @@ else if($method=="lehrveranstaltungen")
if ($preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id))
$style = 'style="background-color: #88DD88"';
elseif ($freieplaetze==0)
elseif ($freieplaetze<=0)
$style = 'style="background-color: #FF8888"';
//if($freieplaetze>0)
//{
@@ -879,7 +961,7 @@ else if($method=="lehrveranstaltungen")
if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze>0)
echo '<td><a href="incoming.php?method=lehrveranstaltungen&mode=add&id='.$row->lehrveranstaltung_id.'&'.$filter_url.'">'.$p->t('global/anmelden').'</a></td>';
elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze==0)
elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze<=0)
echo '<td '.$style.'>'.$p->t('incoming/noVacancies').'</td>';
else
echo '<td '.$style.'>'.$p->t('global/angemeldet').'</td>';