improved security checks

This commit is contained in:
Stefan Puraner
2015-06-29 11:23:06 +02:00
parent ae895eb1d6
commit 80a133b970
4 changed files with 476 additions and 347 deletions
+41 -27
View File
@@ -1693,6 +1693,10 @@ function deleteLehrveranstaltungFromPruefung(lvId, pruefung_id)
{
messageBox("message", "Lehrveranstaltung erfolgreich entfernt", "green", "highlight", 1000);
}
else
{
messageBox("message", data.errormsg, "red", "highlight", 1000);
}
}).complete(function(){
loadPruefungsDetails(pruefung_id);
});
@@ -1720,6 +1724,10 @@ function stornoPruefung(pruefung_id)
{
messageBox("message", "Prüfung storniert", "green", "highlight", 1000);
}
else
{
messageBox("message", data.errormsg, "red", "highlight", 1000);
}
}).complete(function(){
loadAllPruefungen();
resetPruefungsverwaltung();
@@ -1776,33 +1784,39 @@ function loadAllPruefungen()
},
error: loadError
}).success(function(data){
$("#prfTable tbody").first().html("");
var tableRow = "";
data.result.forEach(function(e){
if(e.storniert === false)
{
tableRow = "<tr><td><a href='#' onclick='loadPruefungsDetails(\""+e.pruefung_id+"\")'>"+e.titel+"</a></td>";
tableRow += "<td>"+e.studiensemester_kurzbz+"</td>";
tableRow += "<td>";
e.lehrveranstaltungen.forEach(function(f){
tableRow += f.bezeichnung+"<br/>";
});
tableRow+="</td>";
tableRow+="<td>";
e.termine.forEach(function(f){
tableRow += convertDateTime(f.von, "date")+" von "+convertDateTime(f.von, "time")+" bis "+convertDateTime(f.bis, "time")+"<br/>";
});
tableRow+="</td>";
tableRow += "<td>"+e.methode+"</td>";
tableRow += "<td>"+e.pruefungstyp_kurzbz+"</td>";
tableRow += "<td>"+e.einzeln+"</td>";
tableRow += "<td>"+e.mitarbeiter_uid+"</td>";
tableRow += "<td>"+e.storniert+"</td>";
tableRow += "</tr>";
$("#prfTable tbody").first().append(tableRow);
}
});
if(data.error != 'true')
{
$("#prfTable tbody").first().html("");
var tableRow = "";
data.result.forEach(function(e){
if(e.storniert === false)
{
tableRow = "<tr><td><a href='#' onclick='loadPruefungsDetails(\""+e.pruefung_id+"\")'>"+e.titel+"</a></td>";
tableRow += "<td>"+e.studiensemester_kurzbz+"</td>";
tableRow += "<td>";
e.lehrveranstaltungen.forEach(function(f){
tableRow += f.bezeichnung+"<br/>";
});
tableRow+="</td>";
tableRow+="<td>";
e.termine.forEach(function(f){
tableRow += convertDateTime(f.von, "date")+" von "+convertDateTime(f.von, "time")+" bis "+convertDateTime(f.bis, "time")+"<br/>";
});
tableRow+="</td>";
tableRow += "<td>"+e.methode+"</td>";
tableRow += "<td>"+e.pruefungstyp_kurzbz+"</td>";
tableRow += "<td>"+e.einzeln+"</td>";
tableRow += "<td>"+e.mitarbeiter_uid+"</td>";
tableRow += "<td>"+e.storniert+"</td>";
tableRow += "</tr>";
$("#prfTable tbody").first().append(tableRow);
}
});
}
else
{
messageBox("message", data.errormsg, "red", "highlight", 1000);
}
}).complete(function(event, xhr, settings){
if($("#prfTable")[0].hasInitialized !== true)
{
@@ -89,11 +89,18 @@ function showTeilnehmer(pruefungstermin_id, lehrveranstaltung_id, lehrveranstalt
},
error: loadError
}).success(function(data){
data.result.forEach(function(d)
if(data.error != 'true')
{
noten += "<option value="+d.note+">"+d.bezeichnung+"</option>";
});
noten += "</select>";
data.result.forEach(function(d)
{
noten += "<option value="+d.note+">"+d.bezeichnung+"</option>";
});
noten += "</select>";
}
else
{
messageBox("message",data.errormsg, "red", "highlight", 1000);
}
}).complete(function(event, xhr, settings){
var notenSelect = noten;
$.ajax({
@@ -237,7 +244,16 @@ function updateBeurteilung(ele, pruefung_id)
},
error: loadError
}).success(function(data){
markAsSaved(ele);
if(data.error != 'true')
{
markAsSaved(ele);
}
else
{
messageBox("message",data.errormsg, "red", "highlight", 1000);
}
}).complete(function(event, xhr, settings){
});
@@ -1,313 +1,370 @@
<?php
header( 'Expires: -1' );
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Pragma: no-cache' );
header('Content-Type: text/html;charset=UTF-8');
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/note.class.php');
require_once('../../../../include/pruefung.class.php');
require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/datum.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
$studiensemester = new studiensemester();
$aktStudiensemester = $studiensemester->getaktorNext();
$method = filter_input(INPUT_POST, 'method');
switch($method)
{
case 'getPruefungMitarbeiter':
if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
{
$mitarbeiter_uid = filter_input(INPUT_POST, 'mitarbeiter_uid');
}
else
{
$mitarbeiter_uid = $uid;
}
$data = getPruefungMitarbeiter($mitarbeiter_uid);
break;
case 'getNoten':
$data = getNoten();
break;
case 'saveBeurteilung':
$lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
$student_uid = filter_input(INPUT_POST, 'student_uid');
if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
{
$mitarbeiter_uid = filter_input(INPUT_POST, 'mitarbeiter_uid');
}
else
{
$mitarbeiter_uid = $uid;
}
$note = filter_input(INPUT_POST, 'note');
$pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
$datum = filter_input(INPUT_POST, 'datum');
$anmerkung = filter_input(INPUT_POST, 'anmerkung');
$pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id');
$data = saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid);
break;
case 'updateBeurteilung':
$pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
$note = filter_input(INPUT_POST, 'note');
$anmerkung = filter_input(INPUT_POST, 'anmerkung');
$data = updateBeurteilung($pruefung_id, $note, $uid, $anmerkung);
break;
case 'loadPruefung':
$pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
$data = loadPruefung($pruefung_id);
break;
case 'getBeurteilung':
$pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id');
$data = getBeurteilung($pruefungsanmeldung_id);
break;
case 'getAnmeldungenTermin':
$lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
$pruefungstermin_id = filter_input(INPUT_POST, 'pruefungstermin_id');
$data = getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id);
break;
default:
break;
}
echo json_encode($data);
/**
* Lädt alle Prüfungen eines Lektors/Mitarbeiters
* @param type $uid UID des Lektors/Mitarbeiters
* @return Array
*/
function getPruefungMitarbeiter($uid = null)
{
$lehrveranstaltung = new lehrveranstaltung();
if($uid !== null)
{
$lehrveranstaltung->getLVByMitarbeiter($uid);
$result = array();
foreach($lehrveranstaltung->lehrveranstaltungen as $lv)
{
$pruefung = new pruefungCis();
$pruefung->getPruefungByLv($lv->lehrveranstaltung_id);
if(!empty($pruefung->lehrveranstaltungen))
{
foreach($pruefung->lehrveranstaltungen as $tempLv)
{
$prf = new pruefungCis($tempLv->pruefung_id);
$prf->getTermineByPruefung();
$tempLv->pruefung = $prf;
}
$lv->pruefung = $pruefung;
array_push($result, $lv);
}
}
}
if(!empty($result))
{
$data['result']=$result;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']="Keine Prüfungen vorhanden.";
}
return $data;
}
/**
* Lädt alle Noten per AJAX aus der Datenbank
* @return Array
*/
function getNoten()
{
$note = new note();
if($note->getAll())
{
$data['result']=$note->result;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$note->errormsg;
}
return $data;
}
/**
* Speichert eine Beurteilung
* @param int $lehrveranstaltung_id ID der Lehrveranstaltung
* @param String $student_uid UID des Studenten
* @param String $mitarbeiter_uid UID des Lektors
* @param int $note Prüfungsnote
* @param int $pruefung_id ID der Prüfung
* @param String $datum Datum (YYYY-MM-DD)
* @param String $anmerkung Anmerkung zur Beurteilung
* @param int $pruefungsanmeldung_id ID der Anmeldung
* @param String $uid UID des aktuellen Benutzers
* @return Arrray
*/
function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid)
{
$pruefungCis = new pruefungCis($pruefung_id);
$lehrveranstaltung = new lehrveranstaltung();
$lehreinheiten = $lehrveranstaltung->getLehreinheitenOfLv($lehrveranstaltung_id, $student_uid);
$pruefung = new pruefung();
$pruefung->new = true;
if(!empty($lehreinheiten))
{
$pruefung->lehreinheit_id = $lehreinheiten[0];
$pruefung->student_uid = $student_uid;
$pruefung->mitarbeiter_uid = $mitarbeiter_uid;
$pruefung->note = $note;
$pruefung->pruefungstyp_kurzbz = $pruefungCis->pruefungstyp_kurzbz;
$pruefung->datum = $datum;
$pruefung->anmerkung = $anmerkung;
$pruefung->pruefungsanmeldung_id = $pruefungsanmeldung_id;
$pruefung->insertvon = $uid;
$pruefung->insertamum = date('Y-m-d H:i:s');
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$datum = new datum();
// var_dump(date("Y-m-d", time()));
// var_dump($pruefungstermin->von);
if($datum->between("", date("Y-m-d", time()), $pruefungstermin->von))
{
if($pruefung->save())
{
$data['result']=$pruefung->pruefung_id;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
}
else
{
$data['error']='true';
$data['errormsg']="Prüfungstermin liegt nicht in der Vergangenheit.";
}
}
else
{
$data['error']='true';
$data['errormsg']="Keine Lehreinheiten vorhanden.";
}
return $data;
}
/**
* Aktualisiert den Datensatz einer Beurteilung
* @param int $pruefung_id ID der Prüfung
* @param int $note Prüfungsnote
* @param String $uid UID des aktuellen Benutzers
* @return Array
*/
function updateBeurteilung($pruefung_id, $note, $uid, $anmerkung)
{
$pruefung = new pruefung($pruefung_id);
$pruefung->new = FALSE;
$pruefung->note = $note;
$pruefung->anmerkung = $anmerkung;
$pruefung->updatevon = $uid;
$pruefung->updateamum = date('Y-m-d H:i:s');
if($pruefung->save())
{
$data['result']=$pruefung->pruefung_id;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
return $data;
}
/**
* Lädt die Beurteilung zu einer Anmeldung
* @param int $pruefungsanmeldung_id ID einer Anmeldung
* @return Array
*/
function getBeurteilung($pruefungsanmeldung_id)
{
$pruefung = new pruefung();
if($pruefung->getPruefungByAnmeldung($pruefungsanmeldung_id))
{
$data['result']=$pruefung->pruefung_id;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
return $data;
}
/**
* Lädt alle Anmeldungen zu einem Prüfungstermin
* @return Array
*/
function getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id)
{
$pruefungsanmeldung = new pruefungsanmeldung();
$anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id);
foreach($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;
$pruefung = new pruefung();
$pruefung->getPruefungByAnmeldung($a->pruefungsanmeldung_id);
$a->pruefung = $pruefung;
}
if(!empty($anmeldungen))
{
$data['result']=$anmeldungen;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
if($pruefungsanmeldung->errormsg !== null)
{
$data['errormsg']=$pruefungsanmeldung->errormsg;
}
else
{
$data['errormsg']= 'Keine Anmeldungen vorhanden';
}
}
return $data;
<?php
header( 'Expires: -1' );
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Pragma: no-cache' );
header('Content-Type: text/html;charset=UTF-8');
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/note.class.php');
require_once('../../../../include/pruefung.class.php');
require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/datum.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
$studiensemester = new studiensemester();
$aktStudiensemester = $studiensemester->getaktorNext();
$method = filter_input(INPUT_POST, 'method');
switch($method)
{
case 'getPruefungMitarbeiter':
if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
{
$mitarbeiter_uid = filter_input(INPUT_POST, 'mitarbeiter_uid');
}
else if($rechte->isBerechtigt('lehre/pruefungsbeurteilung'))
{
$mitarbeiter_uid = $uid;
}
else
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$data = getPruefungMitarbeiter($mitarbeiter_uid);
break;
case 'getNoten':
if(!($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin')) && !($rechte->isBerechtigt('lehre/pruefungsbeurteilung')))
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$data = getNoten();
break;
case 'saveBeurteilung':
$lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
$student_uid = filter_input(INPUT_POST, 'student_uid');
if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
{
$mitarbeiter_uid = filter_input(INPUT_POST, 'mitarbeiter_uid');
}
else if($rechte->isBerechtigt('lehre/pruefungsbeurteilung'))
{
$mitarbeiter_uid = $uid;
}
else
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$note = filter_input(INPUT_POST, 'note');
$pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
$datum = filter_input(INPUT_POST, 'datum');
$anmerkung = filter_input(INPUT_POST, 'anmerkung');
$pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id');
$data = saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid);
break;
case 'updateBeurteilung':
if($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
{
$mitarbeiter_uid = filter_input(INPUT_POST, 'mitarbeiter_uid');
}
else if($rechte->isBerechtigt('lehre/pruefungsbeurteilung'))
{
$mitarbeiter_uid = $uid;
}
else
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
$note = filter_input(INPUT_POST, 'note');
$anmerkung = filter_input(INPUT_POST, 'anmerkung');
$data = updateBeurteilung($pruefung_id, $note, $mitarbeiter_uid, $anmerkung);
break;
case 'loadPruefung':
if(!($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin')) && ($rechte->isBerechtigt('lehre/pruefungsbeurteilung')))
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
$data = loadPruefung($pruefung_id);
break;
case 'getBeurteilung':
if(!($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin')) && !($rechte->isBerechtigt('lehre/pruefungsbeurteilung')))
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id');
$data = getBeurteilung($pruefungsanmeldung_id);
break;
case 'getAnmeldungenTermin':
if(!($rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin')) && !($rechte->isBerechtigt('lehre/pruefungsbeurteilung')))
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
$pruefungstermin_id = filter_input(INPUT_POST, 'pruefungstermin_id');
$data = getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id);
break;
default:
break;
}
echo json_encode($data);
/**
* Lädt alle Prüfungen eines Lektors/Mitarbeiters
* @param type $uid UID des Lektors/Mitarbeiters
* @return Array
*/
function getPruefungMitarbeiter($uid = null)
{
$lehrveranstaltung = new lehrveranstaltung();
if($uid !== null)
{
$lehrveranstaltung->getLVByMitarbeiter($uid);
$result = array();
foreach($lehrveranstaltung->lehrveranstaltungen as $lv)
{
$pruefung = new pruefungCis();
$pruefung->getPruefungByLv($lv->lehrveranstaltung_id);
if(!empty($pruefung->lehrveranstaltungen))
{
foreach($pruefung->lehrveranstaltungen as $tempLv)
{
$prf = new pruefungCis($tempLv->pruefung_id);
$prf->getTermineByPruefung();
$tempLv->pruefung = $prf;
}
$lv->pruefung = $pruefung;
array_push($result, $lv);
}
}
}
if(!empty($result))
{
$data['result']=$result;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']="Keine Prüfungen vorhanden.";
}
return $data;
}
/**
* Lädt alle Noten per AJAX aus der Datenbank
* @return Array
*/
function getNoten()
{
$note = new note();
if($note->getAll())
{
$data['result']=$note->result;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$note->errormsg;
}
return $data;
}
/**
* Speichert eine Beurteilung
* @param int $lehrveranstaltung_id ID der Lehrveranstaltung
* @param String $student_uid UID des Studenten
* @param String $mitarbeiter_uid UID des Lektors
* @param int $note Prüfungsnote
* @param int $pruefung_id ID der Prüfung
* @param String $datum Datum (YYYY-MM-DD)
* @param String $anmerkung Anmerkung zur Beurteilung
* @param int $pruefungsanmeldung_id ID der Anmeldung
* @param String $uid UID des aktuellen Benutzers
* @return Arrray
*/
function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid)
{
$pruefungCis = new pruefungCis($pruefung_id);
$lehrveranstaltung = new lehrveranstaltung();
$lehreinheiten = $lehrveranstaltung->getLehreinheitenOfLv($lehrveranstaltung_id, $student_uid);
$pruefung = new pruefung();
$pruefung->new = true;
if(!empty($lehreinheiten))
{
$pruefung->lehreinheit_id = $lehreinheiten[0];
$pruefung->student_uid = $student_uid;
$pruefung->mitarbeiter_uid = $mitarbeiter_uid;
$pruefung->note = $note;
$pruefung->pruefungstyp_kurzbz = $pruefungCis->pruefungstyp_kurzbz;
$pruefung->datum = $datum;
$pruefung->anmerkung = $anmerkung;
$pruefung->pruefungsanmeldung_id = $pruefungsanmeldung_id;
$pruefung->insertvon = $uid;
$pruefung->insertamum = date('Y-m-d H:i:s');
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$datum = new datum();
// var_dump(date("Y-m-d", time()));
// var_dump($pruefungstermin->von);
if($datum->between("", date("Y-m-d", time()), $pruefungstermin->von))
{
if($pruefung->save())
{
$data['result']=$pruefung->pruefung_id;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
}
else
{
$data['error']='true';
$data['errormsg']="Prüfungstermin liegt nicht in der Vergangenheit.";
}
}
else
{
$data['error']='true';
$data['errormsg']="Keine Lehreinheiten vorhanden.";
}
return $data;
}
/**
* Aktualisiert den Datensatz einer Beurteilung
* @param int $pruefung_id ID der Prüfung
* @param int $note Prüfungsnote
* @param String $uid UID des aktuellen Benutzers
* @return Array
*/
function updateBeurteilung($pruefung_id, $note, $uid, $anmerkung)
{
$pruefung = new pruefung($pruefung_id);
$pruefung->new = FALSE;
$pruefung->note = $note;
$pruefung->anmerkung = $anmerkung;
$pruefung->updatevon = $uid;
$pruefung->updateamum = date('Y-m-d H:i:s');
if($pruefung->save())
{
$data['result']=$pruefung->pruefung_id;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
return $data;
}
/**
* Lädt die Beurteilung zu einer Anmeldung
* @param int $pruefungsanmeldung_id ID einer Anmeldung
* @return Array
*/
function getBeurteilung($pruefungsanmeldung_id)
{
$pruefung = new pruefung();
if($pruefung->getPruefungByAnmeldung($pruefungsanmeldung_id))
{
$data['result']=$pruefung->pruefung_id;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
return $data;
}
/**
* Lädt alle Anmeldungen zu einem Prüfungstermin
* @return Array
*/
function getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id)
{
$pruefungsanmeldung = new pruefungsanmeldung();
$anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id);
foreach($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;
$pruefung = new pruefung();
$pruefung->getPruefungByAnmeldung($a->pruefungsanmeldung_id);
$a->pruefung = $pruefung;
}
if(!empty($anmeldungen))
{
$data['result']=$anmeldungen;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
if($pruefungsanmeldung->errormsg !== null)
{
$data['errormsg']=$pruefungsanmeldung->errormsg;
}
else
{
$data['errormsg']= 'Keine Anmeldungen vorhanden';
}
}
return $data;
}
@@ -58,10 +58,17 @@ switch($method)
{
$mitarbeiter_uid = $_REQUEST["mitarbeiter_uid"];
}
else
else if($rechte->isBerechtigt('lehre/pruefungstermin'))
{
$mitarbeiter_uid = $uid;
}
else
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$data = savePruefungstermin($mitarbeiter_uid, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $pruefungsintervall);
break;
case 'getLehrveranstaltungenByMitarbeiter':
@@ -90,22 +97,50 @@ switch($method)
{
$mitarbeiter_uid = $_REQUEST["mitarbeiter_uid"];
}
else
else if($rechte->isBerechtigt('lehre/pruefungstermin'))
{
$mitarbeiter_uid = $uid;
}
else
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$data = updatePruefungstermin($mitarbeiter_uid, $pruefung_id, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $termineNeu, $pruefungsintervall);
break;
case 'deleteLehrveranstaltungFromPruefung':
if(!($rechte->isBerechtigt('lehre/pruefungsterminAdmin')) && !($rechte->isBerechtigt('lehre/pruefungstermin')))
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$lvId = $_POST["lehrveranstaltung_id"];
$pruefung_id = $_POST["pruefung_id"];
$data = deleteLehrveranstaltungFromPruefung($lvId, $pruefung_id);
break;
case 'stornoPruefung':
if(!($rechte->isBerechtigt('lehre/pruefungsterminAdmin')) && !($rechte->isBerechtigt('lehre/pruefungstermin')))
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$pruefung_id = $_REQUEST["pruefung_id"];
$data = stornoPruefung($pruefung_id);
break;
case 'deleteTermin':
if(!($rechte->isBerechtigt('lehre/pruefungsterminAdmin')) && !($rechte->isBerechtigt('lehre/pruefungstermin')))
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
$pruefung_id = $_REQUEST["pruefung_id"];
$pruefungstermin_id = $_REQUEST["pruefungstermin_id"];
$data = deleteTermin($pruefung_id, $pruefungstermin_id);
@@ -115,10 +150,17 @@ switch($method)
{
$data = getAllPruefungen($_REQUEST["uid"]);
}
else
else if($rechte->isBerechtigt('lehre/pruefungstermin'))
{
$data = getAllPruefungen($uid);
}
else
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
break;
}
break;
default:
break;