From 9896d527e373a8cea16740b49ca511d5d24cacd0 Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Wed, 30 Mar 2016 11:50:52 +0200 Subject: [PATCH] tbl_studentbeispiel changed for eine_uid --- .../lehre/benotungstool/anwesenheitsliste.php | 44 +- cis/private/lehre/benotungstool/statistik.php | 9 +- .../lehre/benotungstool/studentenansicht.php | 27 +- .../studentenpunkteverwalten.php | 21 +- include/beispiel.class.php | 1013 ++++++------ include/studentnote.class.php | 76 +- include/uebung.class.php | 1445 +++++++++-------- 7 files changed, 1335 insertions(+), 1300 deletions(-) diff --git a/cis/private/lehre/benotungstool/anwesenheitsliste.php b/cis/private/lehre/benotungstool/anwesenheitsliste.php index 5493fc11a..1f676110f 100644 --- a/cis/private/lehre/benotungstool/anwesenheitsliste.php +++ b/cis/private/lehre/benotungstool/anwesenheitsliste.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ require_once('../../../../config/cis.config.inc.php'); @@ -31,6 +32,7 @@ require_once('../../../../include/benutzerberechtigung.class.php'); require_once('../../../../include/uebung.class.php'); require_once('../../../../include/beispiel.class.php'); require_once('../../../../include/datum.class.php'); +require_once('../../../../include/student.class.php'); include_once('../../../../include/Excel/excel.php'); if (!$db = new basis_db()) @@ -214,7 +216,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $gruppe_bez = 'Alle Studienrende'; //Alle Studenten die dieser Lehreinheit zugeordnet sind $qry_stud = "SELECT - vw_student.uid, vorname, nachname, matrikelnr, + vw_student.uid, vw_student.prestudent_id, vorname, nachname, matrikelnr, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe, @@ -284,7 +286,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') foreach($ueb_obj->uebungen as $row_ueb) { $qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) - WHERE uebung_id=".$db->db_add_param($row_ueb->uebung_id)." AND student_uid=".$db->db_add_param($row_stud->uid)." AND vorbereitet=true"; + WHERE uebung_id=".$db->db_add_param($row_ueb->uebung_id)." AND prestudent_id=".$db->db_add_param($row_stud->prestudent_id, FHC_INTEGER)." AND vorbereitet=true"; if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result)) @@ -490,7 +492,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') foreach($beispiel_obj->beispiele as $row_bsp) { $studentbeispiel_obj = new beispiel(); - $studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id); + $studentbeispiel_obj->load_studentbeispiel($row_stud->prestudent_id, $row_bsp->beispiel_id); if($studentbeispiel_obj->vorbereitet) $punkte = $row_bsp->punkte; else @@ -516,7 +518,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') //punkte insgesamt $qry = "SELECT sum(tbl_beispiel.punkte) AS gesamt_ohne_mitarbeit FROM campus.tbl_uebung, campus.tbl_beispiel, campus.tbl_studentbeispiel WHERE - tbl_studentbeispiel.student_uid=".$db->db_add_param($row_stud->uid)." AND + tbl_studentbeispiel.prestudent_id=".$db->db_add_param($row_stud->prestudent_id, FHC_INTEGER)." AND tbl_studentbeispiel.vorbereitet=true AND tbl_uebung.lehreinheit_id=".$db->db_add_param($uebung_obj->lehreinheit_id, FHC_INTEGER)." AND tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND @@ -589,30 +591,34 @@ function addUser(student_uid) { if($uid!='') { - if ($uebung_obj->beispiele) - { + if ($uebung_obj->beispiele) + { foreach($beispiel_obj->beispiele as $bsp) { if(isset($_POST['update_'.$uid.'_'.$bsp->beispiel_id])) $vorbereitet=true; else $vorbereitet=false; - + + if(!$student = new student($uid)) + die("Der Student wurde nicht gefunden!"); + $bsp_obj = new beispiel(); - if(!$bsp_obj->studentbeispiel_exists($uid,$bsp->beispiel_id)) + if(!$bsp_obj->studentbeispiel_exists($student->prestudent_id,$bsp->beispiel_id)) { $new=true; $bsp_obj->insertamum = date('Y-m-d H:i:s'); $bsp_obj->insertvon = $user; } else - { - $bsp_obj->load_studentbeispiel($uid, $bsp->beispiel_id); + { + $bsp_obj->load_studentbeispiel($student->prestudent_id, $bsp->beispiel_id); $new=false; } - - $bsp_obj->student_uid = $uid; + + + $bsp_obj->prestudent_id = $student->prestudent_id; $bsp_obj->beispiel_id = $bsp->beispiel_id; $bsp_obj->vorbereitet = $vorbereitet; $bsp_obj->updateamum = date('Y-m-d H:i:s'); @@ -638,20 +644,20 @@ function addUser(student_uid) $uebung_obj->updatevon = null; $uebung_obj->insertamum = date("Y-m-d H:i:s"); $uebung_obj->insertvon = $user; - $new = true; + $new = true; } else { - $uebung_obj->load_studentuebung($uid,$uebung_id); + $uebung_obj->load_studentuebung($uid,$uebung_id); $uebung_obj->mitarbeiter_uid = $user; $uebung_obj->note = $_POST['update_'.$uid.'_note']; $uebung_obj->benotungsdatum = date("Y-m-d H:i:s"); $uebung_obj->updateamum = date("Y-m-d H:i:s"); $uebung_obj->updatevon = $user; - $new = false; + $new = false; } $uebung_obj->studentuebung_save($new); - + } } } @@ -806,7 +812,7 @@ function addUser(student_uid) foreach($beispiel_obj->beispiele as $row_bsp) { $studentbeispiel_obj = new beispiel(); - $studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id); + $studentbeispiel_obj->load_studentbeispiel($row_stud->prestudent_id, $row_bsp->beispiel_id); echo "uid');\" ".($studentbeispiel_obj->vorbereitet?'checked':'').">".($studentbeispiel_obj->probleme?'P':'')."\n"; } } diff --git a/cis/private/lehre/benotungstool/statistik.php b/cis/private/lehre/benotungstool/statistik.php index a2ce600b9..af95c82c3 100644 --- a/cis/private/lehre/benotungstool/statistik.php +++ b/cis/private/lehre/benotungstool/statistik.php @@ -16,9 +16,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Andreas Oesterreicher , + * Rudolf Hangl < rudolf.hangl@technikum-wien.at >, + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > and + * Andreas Moik . */ require_once('../../../../config/cis.config.inc.php'); @@ -344,7 +345,7 @@ if(isset($uebung_id) && $uebung_id!='') '; $i=0; - $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, FHC_INTEGER)." GROUP BY student_uid"; + $qry_cnt = "SELECT distinct prestudent_id FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." GROUP BY prestudent_id"; if($result_cnt = $db->db_query($qry_cnt)) $gesamt=$db->db_num_rows($result_cnt); diff --git a/cis/private/lehre/benotungstool/studentenansicht.php b/cis/private/lehre/benotungstool/studentenansicht.php index 4489762f3..2a62cd8a4 100644 --- a/cis/private/lehre/benotungstool/studentenansicht.php +++ b/cis/private/lehre/benotungstool/studentenansicht.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ // ******************** // * Studentenansicht fuers Kreuzerltool @@ -519,8 +520,10 @@ if (!isset($_GET["notenuebersicht"])) foreach ($bsp_obj->beispiele as $row) { $stud_bsp_obj = new beispiel(); + if(!$student = new student($user)) + die($p->t('benotungstool/studentWurdeNichtGefunden')); - if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) + if($stud_bsp_obj->load_studentbeispiel($student->prestudent_id, $row->beispiel_id)) { $stud_bsp_obj->new=false; } @@ -534,10 +537,12 @@ if (!isset($_GET["notenuebersicht"])) 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->prestudent_id = $student->prestudent_id; $stud_bsp_obj->beispiel_id = $row->beispiel_id; if(!$row->check_anzahl_studentbeispiel($row->beispiel_id)) @@ -545,7 +550,7 @@ if (!isset($_GET["notenuebersicht"])) 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)) + if($hlp->load_studentbeispiel($student->prestudent_id, $row->beispiel_id)) { if($hlp->vorbereitet!=$stud_bsp_obj->vorbereitet) { @@ -609,8 +614,11 @@ if (!isset($_GET["notenuebersicht"])) $anmerkung = mb_str_replace("\n", "
", $anmerkung); if ($uebung_obj->beispiele) { + if(!$student = new student($user)) + die($p->t('benotungstool/studentWurdeNichtGefunden')); - $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); + + $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 prestudent_id = ".$db->db_add_param($student->prestudent_id, FHC_INTEGER); if($result_cnt = $db->db_query($qry_cnt)) if($row_cnt = $db->db_fetch_object($result_cnt)) $anzahl = $row_cnt->anzahl; @@ -670,15 +678,18 @@ if (!isset($_GET["notenuebersicht"])) foreach ($bsp_obj->beispiele as $row) { - $bsp_voll = false; + $bsp_voll = false; $stud_bsp_obj = new beispiel(); + if(!$student = new student($user)) + die($p->t('benotungstool/studentWurdeNichtGefunden')); + if ($uebung_obj->maxstd > 0) { $stud_bsp_obj->check_anzahl_studentbeispiel($row->beispiel_id); if ($stud_bsp_obj->anzahl_studentbeispiel >= $uebung_obj->maxstd) $bsp_voll = true; } - if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) + if($stud_bsp_obj->load_studentbeispiel($student->prestudent_id, $row->beispiel_id)) { $vorbereitet = $stud_bsp_obj->vorbereitet; $probleme = $stud_bsp_obj->probleme; diff --git a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php index 3ddbfee9a..0a86aa009 100644 --- a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php +++ b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ require_once('../../../../config/cis.config.inc.php'); @@ -31,6 +32,7 @@ require_once('../../../../include/benutzerberechtigung.class.php'); require_once('../../../../include/uebung.class.php'); require_once('../../../../include/beispiel.class.php'); require_once('../../../../include/studentnote.class.php'); +require_once('../../../../include/student.class.php'); require_once('../../../../include/datum.class.php'); require_once('functions.inc.php'); require_once('../../../../include/phrasen.class.php'); @@ -75,6 +77,9 @@ $datum_obj = new datum(); $uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); $uid = (isset($_GET['uid'])?$_GET['uid']:''); +if(!$student = new student($uid)) + die($p->t('benotungstool/studentWurdeNichtGefunden')); +$prestudent_id = $student->prestudent_id; //Abgabedatei ausliefern if (isset($_GET["download_abgabe"])){ @@ -104,7 +109,7 @@ if (isset($_FILES["abgabedatei"])) { //echo $_FILES["abgabedatei"]; $abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"]; - + if ($abgabedatei_up) { $student_uid = $uid; @@ -359,7 +364,7 @@ if(isset($_POST['submit'])) { $stud_bsp_obj = new beispiel(); - if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) + if($stud_bsp_obj->load_studentbeispiel($prestudent_id, $row->beispiel_id)) { $stud_bsp_obj->new=false; } @@ -373,7 +378,7 @@ if(isset($_POST['submit'])) $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 = $uid; + $stud_bsp_obj->prestudent_id = $prestudent_id; $stud_bsp_obj->beispiel_id = $row->beispiel_id; if(!$stud_bsp_obj->studentbeispiel_save()) @@ -605,7 +610,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='') foreach ($bsp_obj->beispiele as $row) { $stud_bsp_obj = new beispiel(); - if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) + if($stud_bsp_obj->load_studentbeispiel($prestudent_id, $row->beispiel_id)) { $vorbereitet = $stud_bsp_obj->vorbereitet; $probleme = $stud_bsp_obj->probleme; @@ -653,7 +658,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='') $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"; + $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 prestudent_id=".$db->db_add_param($prestudent_id, FHC_INTEGER)." AND vorbereitet=true"; $punkte_eingetragen=0; if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) @@ -677,7 +682,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='') 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_studentbeispiel.student_uid=".$db->db_add_param($uid)." AND vorbereitet=true"; + tbl_studentbeispiel.prestudent_id=".$db->db_add_param($prestudent_id, FHC_INTEGER)." AND vorbereitet=true"; $punkte_eingetragen_alle=0; if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) diff --git a/include/beispiel.class.php b/include/beispiel.class.php index 1aed857f6..f9ad5152d 100644 --- a/include/beispiel.class.php +++ b/include/beispiel.class.php @@ -1,501 +1,512 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -require_once(dirname(__FILE__).'/basis_db.class.php'); - -class beispiel extends basis_db -{ - public $new; // boolean - public $beispiele = array(); // lehreinheit Objekt - - //Tabellenspalten - public $beispiel_id; // Serial - public $uebung_id; // integer - public $bezeichnung; // varchar(32) - public $punkte; // real - public $updateamum; // timestamp - public $updatevon; // varchar(16) - public $insertamum; // timestamp - public $insertvon; // varchar(16) - public $nummer; // smallint - - public $student_uid; - public $vorbereitet; - public $probleme; - - /** - * Konstruktor - * @param $beispiel_id - */ - public function __construct($beispiel_id=null) - { - parent::__construct(); - - if(!is_null($beispiel_id)) - $this->load($beispiel_id); - } - - /** - * Laedt ein Beispiel - * @param beispiel_id - */ - public function load($beispiel_id) - { - if(!is_numeric($beispiel_id)) - { - $this->errormsg='Beispiel_id muss eine gueltige Zahl sein'; - return false; - } - $qry = "SELECT * FROM campus.tbl_beispiel WHERE beispiel_id=".$this->db_add_param($beispiel_id, FHC_INTEGER).';'; - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->beispiel_id = $row->beispiel_id; - $this->uebung_id = $row->uebung_id; - $this->punkte = $row->punkte; - $this->bezeichnung = $row->bezeichnung; - $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - $this->nummer = $row->nummer; - return true; - } - else - { - $this->errormsg = "Es ist kein Beispiel mit der ID $beispiel_id vorhanden"; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden des Beispiels'; - return false; - } - } - - /** - * Laedt alle Beispiele einer Uebung - * - * @param $uebung_id - * @return boolean - */ - public function load_beispiel($uebung_id) - { - if(!is_numeric($uebung_id)) - { - $this->errormsg = 'Uebung_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)." ORDER BY bezeichnung;"; - - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $beispiel_obj = new beispiel(); - - $beispiel_obj->beispiel_id = $row->beispiel_id; - $beispiel_obj->uebung_id = $row->uebung_id; - $beispiel_obj->punkte = $row->punkte; - $beispiel_obj->bezeichnung = $row->bezeichnung; - $beispiel_obj->updateamum = $row->updateamum; - $beispiel_obj->updatevon = $row->updatevon; - $beispiel_obj->insertamum = $row->insertamum; - $beispiel_obj->insertvon = $row->insertvon; - $beispiel_obj->nummer = $row->nummer; - - $this->beispiele[] = $beispiel_obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Beispiele'; - return false; - } - } - - /** - * Liefert die naechste Nummer - * - * @return boolean - */ - public function get_next_nummer() - { - $qry = "SELECT max(nummer) FROM campus.tbl_beispiel;"; - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->next_nummer = $row->max + 1; - return true; - } - else - { - $this->errormsg='Fehler beim Ermitteln der Nummer'; - return false; - } - } - else - { - $this->errormsg='Fehler beim Ermitteln der Nummer'; - return false; - } - } - - /** - * Prueft die Variablen vor dem Speichern - * auf Gueltigkeit. - * @return true wenn ok, false im Fehlerfall - */ - protected function validate() - { - if(!is_numeric($this->uebung_id)) - { - $this->errormsg = 'uebung_id muss eine gueltige Zahl sein'; - return false; - } - if(mb_strlen($this->bezeichnung)>32) - { - $this->errormsg = 'Bezeichnung darf nicht laenger als 32 Zeichen sein'; - return false; - } - return true; - } - - /** - * Speichert ein Beispiel in die Datenbank - * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - * angelegt, ansonsten der Datensatz upgedated - * @return true wenn erfolgreich, false im Fehlerfall - */ - public function save($new=null) - { - if(is_null($new)) - $new = $this->new; - - //Variablen auf Gueltigkeit pruefen - if(!$this->validate()) - return false; - - if($new) - { - if($this->exists($this->uebung_id, $this->bezeichnung)) - { - $this->errormsg = 'Fehler beim Speichern! Es existiert bereits ein Beispiel mit diesem Namen'; - return false; - } - $qry = 'BEGIN; INSERT INTO campus.tbl_beispiel(uebung_id, punkte, bezeichnung, updateamum, - updatevon, insertamum, insertvon, nummer) VALUES('. - $this->db_add_param($this->uebung_id, FHC_INTEGER).','. - $this->db_add_param($this->punkte).','. - $this->db_add_param($this->bezeichnung).','. - $this->db_add_param($this->updateamum).','. - $this->db_add_param($this->updatevon).','. - $this->db_add_param($this->insertamum).','. - $this->db_add_param($this->insertvon).','. - $this->db_add_param($this->nummer).');'; - } - else - { - $qry = 'UPDATE campus.tbl_beispiel SET'. - ' uebung_id='.$this->db_add_param($this->uebung_id, FHC_INTEGER).','. - ' punkte='.$this->db_add_param($this->punkte).','. - ' bezeichnung='.$this->db_add_param($this->bezeichnung).','. - ' updateamum='.$this->db_add_param($this->updateamum).','. - ' nummer='.$this->db_add_param($this->nummer).','. - ' updatevon='.$this->db_add_param($this->updatevon). - " WHERE beispiel_id=".$this->db_add_param($this->beispiel_id).";"; - } - - if($this->db_query($qry)) - { - if($new) - { - $qry = "SELECT currval('campus.tbl_beispiel_beispiel_id_seq') as id;"; - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->uebung_id = $row->id; - $this->db_query('COMMIT'); - return true; - } - else - { - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - $this->db_query('ROLLBACK'); - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - $this->db_query('ROLLBACK'); - return false; - } - } - else - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern des Beispiels'; - return false; - } - } - - /** - * Prueft ob bereits zu dieser Uebung bereits ein Beispiel - * mit dieser Bezeichnung vorhanden ist - * - * @param $uebung_id - * @param $bezeichnung - * @return boolean - */ - public function exists($uebung_id, $bezeichnung) - { - if(!is_numeric($uebung_id)) - { - $this->errormsg = 'Uebung_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT beispiel_id FROM campus.tbl_beispiel - WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)." AND bezeichnung=".$this->db_add_param($bezeichnung).';'; - - if($this->db_query($qry)) - { - if($this->db_num_rows()>0) - return true; - else - return false; - } - else - { - $this->errormsg ='Fehler beim Lesen der Beispiele'; - return false; - } - } - - /** - * Prueft ob ein Beispiel existiert - * - * @param $uid - * @param $beispiel_id - * @return boolean - */ - public function studentbeispiel_exists($uid,$beispiel_id) - { - if(!is_numeric($beispiel_id)) - { - $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT vorbereitet FROM campus.tbl_studentbeispiel - WHERE beispiel_id=".$this->db_add_param($beispiel_id,FHC_INTEGER)." AND student_uid=".$this->db_add_param($uid).';'; - - if($this->db_query($qry)) - { - if($this->db_num_rows()>0) - return true; - else - return false; - } - else - { - $this->errormsg = 'Fehler beim Lesen der aus der DB'; - return false; - } - } - - /** - * Loescht ein Beispiel - * - * @param $beispiel_id - * @return unknown - */ - public function delete($beispiel_id) - { - if(!is_numeric($beispiel_id)) - { - $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id=".$this->db_add_param($beispiel_id, FHC_INTEGER)."; - DELETE FROM campus.tbl_beispiel WHERE beispiel_id=".$this->db_add_param($beispiel_id, FHC_INTEGER).";"; - - if($this->db_query($qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Löschen des Beispiels'; - return false; - } - } - - /** - * Laedt ein Beispiel eines Studenten - * - * @param $uid - * @param $beispiel_id - * @return boolean - */ - public function load_studentbeispiel($uid, $beispiel_id) - { - if(!is_numeric($beispiel_id)) - { - $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein'; - return false; - } - $qry = "SELECT * FROM campus.tbl_studentbeispiel - WHERE student_uid=".$this->db_add_param($uid)." AND beispiel_id=".$this->db_add_param($beispiel_id, FHC_INTEGER).';'; - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->beispiel_id = $row->beispiel_id; - $this->student_uid = $row->student_uid; - $this->vorbereitet = $this->db_parse_bool($row->vorbereitet); - $this->probleme = $this->db_parse_bool($row->probleme); - $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden des Student_Beispiels'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden des Student_Beispiels'; - return false; - } - } - - /** - * Prueft die Anzahl der vorbereiteten Beispiele - * - * @param $beispiel_id - * @return boolean - */ - public function check_anzahl_studentbeispiel($beispiel_id) - { - if(!is_numeric($beispiel_id)) - { - $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein'; - return false; - } - $qry = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel - WHERE vorbereitet = true and beispiel_id=".$this->db_add_param($beispiel_id, FHC_INTEGER).';'; - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->anzahl_studentbeispiel = $row->anzahl; - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Anzahl der Eintraege in Student_Beispiel'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Anzahl der Eintraege in Student_Beispiel'; - return false; - } - } - - /** - * Prueft die studentbeispiel Daten auf Gueltigkeit - */ - private function studentbeispiel_validate() - { - if(!is_numeric($this->beispiel_id)) - { - $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein'; - return false; - } - return true; - } - - /** - * Speichert einen Studentbeispiel Datensatz in die DB - * - */ - public function studentbeispiel_save($new=null) - { - if(is_null($new)) - $new = $this->new; - - //Variablen auf Gueltigkeit pruefen - if(!$this->studentbeispiel_validate()) - return false; - - if($new) - { - $qry = 'INSERT INTO campus.tbl_studentbeispiel(student_uid, beispiel_id, vorbereitet, probleme, - updateamum, updatevon, insertamum, insertvon) VALUES('. - $this->db_add_param($this->student_uid).','. - $this->db_add_param($this->beispiel_id, FHC_INTEGER).','. - $this->db_add_param($this->vorbereitet,FHC_BOOLEAN).','. - $this->db_add_param($this->probleme).','. - $this->db_add_param($this->updateamum).','. - $this->db_add_param($this->updatevon).','. - $this->db_add_param($this->insertamum).','. - $this->db_add_param($this->insertvon).');'; - } - else - { - $qry = 'UPDATE campus.tbl_studentbeispiel SET'. - ' vorbereitet='.$this->db_add_param($this->vorbereitet, FHC_BOOLEAN).','. - ' probleme='.$this->db_add_param($this->probleme, FHC_BOOLEAN).','. - ' updateamum='.$this->db_add_param($this->updateamum).','. - ' updatevon='.$this->db_add_param($this->updatevon). - " WHERE beispiel_id=".$this->db_add_param($this->beispiel_id, FHC_INTEGER)." AND student_uid=".$this->db_add_param($this->student_uid).';'; - } - - if($this->db_query($qry)) - { - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern des Beispiels'; - return false; - } - } -} -?> \ No newline at end of file +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . + */ +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class beispiel extends basis_db +{ + public $new; // boolean + public $beispiele = array(); // lehreinheit Objekt + + //Tabellenspalten + public $beispiel_id; // Serial + public $uebung_id; // integer + public $bezeichnung; // varchar(32) + public $punkte; // real + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $nummer; // smallint + + public $prestudent_id //integer; + public $vorbereitet; + public $probleme; + + /** + * Konstruktor + * @param $beispiel_id + */ + public function __construct($beispiel_id=null) + { + parent::__construct(); + + if(!is_null($beispiel_id)) + $this->load($beispiel_id); + } + + /** + * Laedt ein Beispiel + * @param beispiel_id + */ + public function load($beispiel_id) + { + if(!is_numeric($beispiel_id)) + { + $this->errormsg='Beispiel_id muss eine gueltige Zahl sein'; + return false; + } + $qry = "SELECT * FROM campus.tbl_beispiel WHERE beispiel_id=".$this->db_add_param($beispiel_id, FHC_INTEGER).';'; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->beispiel_id = $row->beispiel_id; + $this->uebung_id = $row->uebung_id; + $this->punkte = $row->punkte; + $this->bezeichnung = $row->bezeichnung; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->nummer = $row->nummer; + return true; + } + else + { + $this->errormsg = "Es ist kein Beispiel mit der ID $beispiel_id vorhanden"; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden des Beispiels'; + return false; + } + } + + /** + * Laedt alle Beispiele einer Uebung + * + * @param $uebung_id + * @return boolean + */ + public function load_beispiel($uebung_id) + { + if(!is_numeric($uebung_id)) + { + $this->errormsg = 'Uebung_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)." ORDER BY bezeichnung;"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $beispiel_obj = new beispiel(); + + $beispiel_obj->beispiel_id = $row->beispiel_id; + $beispiel_obj->uebung_id = $row->uebung_id; + $beispiel_obj->punkte = $row->punkte; + $beispiel_obj->bezeichnung = $row->bezeichnung; + $beispiel_obj->updateamum = $row->updateamum; + $beispiel_obj->updatevon = $row->updatevon; + $beispiel_obj->insertamum = $row->insertamum; + $beispiel_obj->insertvon = $row->insertvon; + $beispiel_obj->nummer = $row->nummer; + + $this->beispiele[] = $beispiel_obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Beispiele'; + return false; + } + } + + /** + * Liefert die naechste Nummer + * + * @return boolean + */ + public function get_next_nummer() + { + $qry = "SELECT max(nummer) FROM campus.tbl_beispiel;"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->next_nummer = $row->max + 1; + return true; + } + else + { + $this->errormsg='Fehler beim Ermitteln der Nummer'; + return false; + } + } + else + { + $this->errormsg='Fehler beim Ermitteln der Nummer'; + return false; + } + } + + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() + { + if(!is_numeric($this->uebung_id)) + { + $this->errormsg = 'uebung_id muss eine gueltige Zahl sein'; + return false; + } + if(mb_strlen($this->bezeichnung)>32) + { + $this->errormsg = 'Bezeichnung darf nicht laenger als 32 Zeichen sein'; + return false; + } + return true; + } + + /** + * Speichert ein Beispiel in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save($new=null) + { + if(is_null($new)) + $new = $this->new; + + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($new) + { + if($this->exists($this->uebung_id, $this->bezeichnung)) + { + $this->errormsg = 'Fehler beim Speichern! Es existiert bereits ein Beispiel mit diesem Namen'; + return false; + } + $qry = 'BEGIN; INSERT INTO campus.tbl_beispiel(uebung_id, punkte, bezeichnung, updateamum, + updatevon, insertamum, insertvon, nummer) VALUES('. + $this->db_add_param($this->uebung_id, FHC_INTEGER).','. + $this->db_add_param($this->punkte).','. + $this->db_add_param($this->bezeichnung).','. + $this->db_add_param($this->updateamum).','. + $this->db_add_param($this->updatevon).','. + $this->db_add_param($this->insertamum).','. + $this->db_add_param($this->insertvon).','. + $this->db_add_param($this->nummer).');'; + } + else + { + $qry = 'UPDATE campus.tbl_beispiel SET'. + ' uebung_id='.$this->db_add_param($this->uebung_id, FHC_INTEGER).','. + ' punkte='.$this->db_add_param($this->punkte).','. + ' bezeichnung='.$this->db_add_param($this->bezeichnung).','. + ' updateamum='.$this->db_add_param($this->updateamum).','. + ' nummer='.$this->db_add_param($this->nummer).','. + ' updatevon='.$this->db_add_param($this->updatevon). + " WHERE beispiel_id=".$this->db_add_param($this->beispiel_id).";"; + } + + if($this->db_query($qry)) + { + if($new) + { + $qry = "SELECT currval('campus.tbl_beispiel_beispiel_id_seq') as id;"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->uebung_id = $row->id; + $this->db_query('COMMIT'); + return true; + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; + } + } + else + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Beispiels'; + return false; + } + } + + /** + * Prueft ob bereits zu dieser Uebung bereits ein Beispiel + * mit dieser Bezeichnung vorhanden ist + * + * @param $uebung_id + * @param $bezeichnung + * @return boolean + */ + public function exists($uebung_id, $bezeichnung) + { + if(!is_numeric($uebung_id)) + { + $this->errormsg = 'Uebung_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT beispiel_id FROM campus.tbl_beispiel + WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)." AND bezeichnung=".$this->db_add_param($bezeichnung).';'; + + if($this->db_query($qry)) + { + if($this->db_num_rows()>0) + return true; + else + return false; + } + else + { + $this->errormsg ='Fehler beim Lesen der Beispiele'; + return false; + } + } + + /** + * Prueft ob ein Beispiel existiert + * + * @param $uid + * @param $beispiel_id + * @return boolean + */ + public function studentbeispiel_exists($prestudent_id,$beispiel_id) + { + if(!is_numeric($beispiel_id)) + { + $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein'; + return false; + } + if(!is_numeric($prestudent_id)) + { + $this->errormsg = 'Prestudent_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT vorbereitet FROM campus.tbl_studentbeispiel + WHERE beispiel_id=".$this->db_add_param($beispiel_id,FHC_INTEGER)." AND prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER).';'; + + if($this->db_query($qry)) + { + if($this->db_num_rows()>0) + return true; + else + return false; + } + else + { + $this->errormsg = 'Fehler beim Lesen der aus der DB'; + return false; + } + } + + /** + * Loescht ein Beispiel + * + * @param $beispiel_id + * @return unknown + */ + public function delete($beispiel_id) + { + if(!is_numeric($beispiel_id)) + { + $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id=".$this->db_add_param($beispiel_id, FHC_INTEGER)."; + DELETE FROM campus.tbl_beispiel WHERE beispiel_id=".$this->db_add_param($beispiel_id, FHC_INTEGER).";"; + + if($this->db_query($qry)) + return true; + else + { + $this->errormsg = 'Fehler beim Löschen des Beispiels'; + return false; + } + } + + /** + * Laedt ein Beispiel eines Studenten + * + * @param $uid + * @param $beispiel_id + * @return boolean + */ + public function load_studentbeispiel($prestudent_id, $beispiel_id) + { + if(!is_numeric($beispiel_id)) + { + $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein'; + return false; + } + if(!is_numeric($prestudent_id)) + { + $this->errormsg = 'Prestudent_id muss eine gueltige Zahl sein'; + return false; + } + $qry = "SELECT * FROM campus.tbl_studentbeispiel + WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)." AND beispiel_id=".$this->db_add_param($beispiel_id, FHC_INTEGER).';'; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->beispiel_id = $row->beispiel_id; + $this->prestudent_id = $row->prestudent_id; + $this->vorbereitet = $this->db_parse_bool($row->vorbereitet); + $this->probleme = $this->db_parse_bool($row->probleme); + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden des Student_Beispiels'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden des Student_Beispiels'; + return false; + } + } + + /** + * Prueft die Anzahl der vorbereiteten Beispiele + * + * @param $beispiel_id + * @return boolean + */ + public function check_anzahl_studentbeispiel($beispiel_id) + { + if(!is_numeric($beispiel_id)) + { + $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein'; + return false; + } + $qry = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel + WHERE vorbereitet = true and beispiel_id=".$this->db_add_param($beispiel_id, FHC_INTEGER).';'; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->anzahl_studentbeispiel = $row->anzahl; + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Anzahl der Eintraege in Student_Beispiel'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Anzahl der Eintraege in Student_Beispiel'; + return false; + } + } + + /** + * Prueft die studentbeispiel Daten auf Gueltigkeit + */ + private function studentbeispiel_validate() + { + if(!is_numeric($this->beispiel_id)) + { + $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein'; + return false; + } + return true; + } + + /** + * Speichert einen Studentbeispiel Datensatz in die DB + * + */ + public function studentbeispiel_save($new=null) + { + if(is_null($new)) + $new = $this->new; + + //Variablen auf Gueltigkeit pruefen + if(!$this->studentbeispiel_validate()) + return false; + + if($new) + { + $qry = 'INSERT INTO campus.tbl_studentbeispiel(prestudent_id, beispiel_id, vorbereitet, probleme, + updateamum, updatevon, insertamum, insertvon) VALUES('. + $this->db_add_param($this->prestudent_id, FHC_INTEGER).','. + $this->db_add_param($this->beispiel_id, FHC_INTEGER).','. + $this->db_add_param($this->vorbereitet,FHC_BOOLEAN).','. + $this->db_add_param($this->probleme).','. + $this->db_add_param($this->updateamum).','. + $this->db_add_param($this->updatevon).','. + $this->db_add_param($this->insertamum).','. + $this->db_add_param($this->insertvon).');'; + } + else + { + $qry = 'UPDATE campus.tbl_studentbeispiel SET'. + ' vorbereitet='.$this->db_add_param($this->vorbereitet, FHC_BOOLEAN).','. + ' probleme='.$this->db_add_param($this->probleme, FHC_BOOLEAN).','. + ' updateamum='.$this->db_add_param($this->updateamum).','. + ' updatevon='.$this->db_add_param($this->updatevon). + " WHERE beispiel_id=".$this->db_add_param($this->beispiel_id, FHC_INTEGER)." AND prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER).';'; + } + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Beispiels'; + return false; + } + } +} +?> diff --git a/include/studentnote.class.php b/include/studentnote.class.php index d37d4ff34..14be51b94 100755 --- a/include/studentnote.class.php +++ b/include/studentnote.class.php @@ -17,8 +17,9 @@ * * Authors: Christian Paminger , * Andreas Oesterreicher , - * Rudolf Hangl and - * gerald Raab . + * Rudolf Hangl , + * Gerald Raab and + * Andreas Moik . */ /** * Notenverwaltung fuer das Kreuzerltool @@ -67,20 +68,20 @@ class studentnote extends basis_db $beispiele = false; $ueb1_obj = new uebung(); - $ueb1_obj->load_uebung($lehreinheit_id,1); + $ueb1_obj->load_uebung($lehreinheit_id,1); foreach($ueb1_obj->uebungen as $ueb1) { $this->calc_l1_note($ueb1->uebung_id, $student_uid, $lehreinheit_id); $note_x_gewicht_l1 += ($this->l1_note * $this->l1_gewicht); $gewichte_l1 += $this->l1_gewicht; - if ($this->negativ) + if ($this->negativ) $negativ_all = $this->negativ; - if ($this->fehlt) + if ($this->fehlt) $fehlt_all = $this->fehlt; } if ($gewichte_l1 > 0) - { + { $this->studentgesamtnote = ($note_x_gewicht_l1 / $gewichte_l1); $this->negativ = $negativ_all; $this->fehlt = $fehlt_all; @@ -116,25 +117,25 @@ class studentnote extends basis_db $punkte_eingetragen = 0; $l1_gewicht = 0; $ueb1 = new uebung($uebung_id); - - $ueb_obj = new uebung(); + + $ueb_obj = new uebung(); $ueb_obj->load_uebung($lehreinheit_id, 2, $uebung_id); if ($ueb_obj->uebungen) { $note_x_gewicht = 0; $gewichte = 0; $punkte_gesamt = 0; - + foreach ($ueb_obj->uebungen as $ueb) { if ($ueb->abgabe && !$ueb->beispiele) - { + { if ($this->calc_note($ueb->uebung_id, $student_uid)) { if (is_numeric($this->note)) { if ($ueb->positiv && $this->note == 5) - $negativ = true; + $negativ = true; $note_x_gewicht += ($this->note * $this->gewicht); $gewichte += $this->gewicht; } @@ -148,11 +149,11 @@ class studentnote extends basis_db } else { - $this->calc_punkte($ueb->uebung_id, $student_uid); + $this->calc_punkte($ueb->uebung_id, $student_uid); $punkte_gesamt += $this->punkte_gesamt; $punkte_mitarbeit += $this->punkte_mitarbeit; $punkte_eingetragen += $this->punkte_eingetragen; - $beispiele = true; + $beispiele = true; } } @@ -166,16 +167,16 @@ class studentnote extends basis_db { if ($ueb1->prozent == 't') - { + { $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND tbl_uebung.lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER)." and tbl_uebung.liste_id = ".$this->db_add_param($ueb1->uebung_id, FHC_INTEGER); $punkte_moeglich=1; if($this->db_query($qry)) if($row = $this->db_fetch_object()) - $punkte_moeglich = $row->punktegesamt_alle; + $punkte_moeglich = $row->punktegesamt_alle; if ($punkte_moeglich == 0) - $punkte_moeglich = 1; + $punkte_moeglich = 1; $punkte_ns = $punkte_gesamt/$punkte_moeglich*100; } else @@ -186,29 +187,29 @@ class studentnote extends basis_db if($this->db_query($qry)) { - if($row = $this->db_fetch_object()) - $note = $row->note; + if($row = $this->db_fetch_object()) + $note = $row->note; else $note = 5; } if ($ueb1->positiv && ($note == 5)) - $negativ = true; - $l1_note = $note; + $negativ = true; + $l1_note = $note; - if ($note != null) + if ($note != null) $l1_gewicht = $ueb1->gewicht; else - $l1_gewicht = 0; + $l1_gewicht = 0; } if ($ueb1->positiv && $beispiele && ($punkte_gesamt == 0)) $negativ = true; } else { - $s = new uebung(); + $s = new uebung(); $s->load_studentuebung($student_uid, $ueb1->uebung_id); if ($s->note && $ueb1->gewicht) - { + { if ($s->note == 5 && $ueb1->positiv) $negativ = true; $l1_note= $s->note; @@ -223,7 +224,7 @@ class studentnote extends basis_db } if ($l1_gewicht > 0) - { + { $this->l1_note = $l1_note; $this->l1_gewicht = $l1_gewicht; $this->negativ = $negativ; @@ -267,17 +268,17 @@ class studentnote extends basis_db $ueb->load($uebung_id); if($ueb->load_studentuebung($student_uid, $uebung_id)) - { - $this->note = $ueb->note; + { + $this->note = $ueb->note; $this->gewicht = $ueb->gewicht; return true; - } - else - { + } + else + { $this->note = null; - $this->gewicht = 0; - return true; - } + $this->gewicht = 0; + return true; + } } } @@ -311,9 +312,9 @@ class studentnote extends basis_db $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); if($ueb->load_studentuebung($student_uid, $uebung_id)) - { - $mitarbeit = $ueb->mitarbeitspunkte; - } + { + $mitarbeit = $ueb->mitarbeitspunkte; + } $punkte_gesamt = $punkte_eingetragen + $mitarbeit; @@ -321,8 +322,7 @@ class studentnote extends basis_db $this->punkte_eingetragen = $punkte_eingetragen; $this->punkte_mitarbeit = $mitarbeit; return true; - } + } } - } ?> diff --git a/include/uebung.class.php b/include/uebung.class.php index 92fdc803c..017e90e15 100644 --- a/include/uebung.class.php +++ b/include/uebung.class.php @@ -1,722 +1,723 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/** - * Verwaltet die Uebungen des Kreuzerltools - */ -require_once(dirname(__FILE__).'/basis_db.class.php'); - -class uebung extends basis_db -{ - public $new; // boolean - public $uebungen = array(); // lehreinheit Objekt - - //Tabellenspalten - public $uebung_id; // serial - public $gewicht; // smalint - public $punkte; // Real - public $angabedatei; // oid - public $freigabevon; // timestamp - public $freigabebis; // timestamp - public $abgabe; // boolean - public $beispiele; // boolean - public $bezeichnung; // varchar(32) - public $positiv; // boolean - public $defaultbemerkung; // text - public $lehreinheit_id; // integer - public $updateamum; // timestamp - public $updatevon; // varchar(16) - public $insertamum; // timestamp - public $insertvon; // varchar(16) - public $statistik; // boolean - public $liste_id; //integer - public $maxbsp; //smallint - public $maxstd; //smallint - public $nummer; //smallint - public $prozent; - - //Studentuebung - public $student_uid; // varchar(16) - public $mitarbeiter_uid; // varchar(16) - public $abgabe_id; // integer - public $note; // smalint - public $mitarbeitspunkte; // smalint - public $anmerkung; // text - public $benotungsdatum; // timestamp - - //Abgabe - public $abgabe_abgabe_id; // integer - public $abgabedatei; // varchar(64) - public $abgabezeit; // timestamp - public $abgabe_anmerkung; // text - - /** - * Konstruktor - laedt optional eine Uebung - * @param $uebung_id - */ - public function __construct($uebung_id=null) - { - parent::__construct(); - - if($uebung_id!=null) - $this->load($uebung_id); - } - - /** - * Laedt die Uebung - * @param uebung_id - */ - public function load($uebung_id) - { - if(!is_numeric($uebung_id)) - { - $this->errormsg='Uebung_id muss eine gueltige Zahl sein'; - return false; - } - $qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER).';'; - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->uebung_id = $row->uebung_id; - $this->gewicht = $row->gewicht; - $this->punkte = $row->punkte; - $this->angabedatei = $row->angabedatei; - $this->freigabevon = $row->freigabevon; - $this->freigabebis = $row->freigabebis; - $this->abgabe = $this->db_parse_bool($row->abgabe); - $this->beispiele = $this->db_parse_bool($row->beispiele); - $this->bezeichnung = $row->bezeichnung; - $this->positiv = $this->db_parse_bool($row->positiv); - $this->defaultbemerkung = $row->defaultbemerkung; - $this->lehreinheit_id = $row->lehreinheit_id; - $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - $this->statistik = $this->db_parse_bool($row->statistik); - $this->liste_id = $row->liste_id; - $this->maxbsp = $row->maxbsp; - $this->maxstd = $row->maxstd; - $this->nummer = $row->nummer; - $this->prozent = $row->prozent; - return true; - } - else - { - $this->errormsg = "Es ist keine Uebung mit dieser ID vorhanden"; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Uebung'; - return false; - } - } - - /** - * Aendert den Status des Boolean Prozent - * - * @param $uebung_id - * @return true wenn geaendert, sonst false - */ - public function toggle_prozent_punkte($uebung_id) - { - $qry = "UPDATE campus.tbl_uebung SET prozent = not prozent WHERE uebung_id = ".$this->db_add_param($uebung_id, FHC_INTEGER).";"; - if($this->db_query($qry)) - return true; - else - { - $this->errormsg = "toggle misslungen"; - return false; - } - } - - /** - * Laedt eine Studentuebung Zuordnung - * - * @param $student_uid - * @param $uebung_id - * @return boolean - */ - public function load_studentuebung($student_uid, $uebung_id) - { - $qry = "SELECT * FROM campus.tbl_studentuebung WHERE student_uid=".$this->db_add_param($student_uid)." AND uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER).";"; - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->student_uid = $row->student_uid; - $this->mitarbeiter_uid = $row->mitarbeiter_uid; - $this->abgabe_id = $row->abgabe_id; - $this->uebung_id = $row->uebung_id; - $this->note = $row->note; - $this->mitarbeitspunkte = $row->mitarbeitspunkte; - $this->punkte = $row->punkte; - $this->anmerkung = $row->anmerkung; - $this->benotungsdatum = $row->benotungsdatum; - $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - return true; - } - else - { - $this->errormsg = 'Es gibt keinen passenden Eintrag'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden des eintrages'; - return false; - } - } - - /** - * Laedt eine Abgabe - * - * @param $abgabe_id - * @return boolean - */ - public function load_abgabe($abgabe_id) - { - $qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = ".$this->db_add_param($abgabe_id, FHC_INTEGER).";"; - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->abgabe_id = $row->abgabe_id; - $this->abgabedatei = $row->abgabedatei; - $this->abgabezeit = $row->abgabezeit; - $this->abgabe_anmerkung = $row->anmerkung; - return true; - } - else - { - $this->errormsg = 'Es gibt keinen passenden Eintrag'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden des Eintrages'; - return false; - } - } - - /** - * Prueft ob zu einer Uebung bereits Studenten zugeordnet sind - * - * @param $uebung_id - * @return true wenn ja, sonst false - */ - public function check_studentuebung($uebung_id) - { - $qry = "SELECT * FROM campus.tbl_studentuebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER).";"; - - if($this->db_query($qry)) - { - if($this->db_num_rows() >0) - return true; - else - return false; - } - else - return false; - } - - /** - * Liefert die naechste Nummer einer uebung - * @return boolean, naechste nummer steht in this->next_nummer - */ - public function get_next_nummer() - { - $qry = "SELECT max(nummer) FROM campus.tbl_uebung"; - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $next = $row->max + 1; - $this->next_nummer = $next; - return true; - } - else - { - $this->errormsg = 'Fehler beim Ermitteln der naechsten Nummer'; - return false; - } - } - else - { - $this->errormsg = 'Fehler bei einer Abfrage'; - return false; - } - } - - /** - * Laedt eine Uebung - * - * @param $lehreinheit_id - * @param $level - * @param $uebung_id - * @return boolean - */ - public function load_uebung($lehreinheit_id, $level=null, $uebung_id=null) - { - if(!is_numeric($lehreinheit_id)) - { - $this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER); - if ($level == 1) - $qry .= " and liste_id is null"; - if ($level == 2) - $qry .= " and liste_id = ".$this->db_add_param($uebung_id, FHC_INTEGER); - $qry .= " ORDER BY bezeichnung"; - - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $uebung_obj = new uebung(); - - $uebung_obj->uebung_id = $row->uebung_id; - $uebung_obj->gewicht = $row->gewicht; - $uebung_obj->punkte = $row->punkte; - $uebung_obj->angabedatei = $row->angabedatei; - $uebung_obj->freigabevon = $row->freigabevon; - $uebung_obj->freigabebis = $row->freigabebis; - $uebung_obj->abgabe = $this->db_parse_bool($row->abgabe); - $uebung_obj->beispiele = $this->db_parse_bool($row->beispiele); - $uebung_obj->bezeichnung = $row->bezeichnung; - $uebung_obj->positiv = $this->db_parse_bool($row->positiv); - $uebung_obj->defaultbemerkung = $row->defaultbemerkung; - $uebung_obj->lehreinheit_id = $row->lehreinheit_id; - $uebung_obj->updateamum = $row->updateamum; - $uebung_obj->updatevon = $row->updatevon; - $uebung_obj->insertamum = $row->insertamum; - $uebung_obj->insertvon = $row->insertvon; - $uebung_obj->statistik = $this->db_parse_bool($row->statistik); - $uebung_obj->liste_id = $row->liste_id; - $uebung_obj->maxstd = $row->maxstd; - $uebung_obj->maxbsp = $row->maxbsp; - $uebung_obj->nummer = $row->nummer; - $uebung_obj->prozent = $row->prozent; - - $this->uebungen[] = $uebung_obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Uebung'; - return false; - } - } - - /** - * Prueft die Variablen vor dem Speichern - * auf Gueltigkeit. - * @return true wenn ok, false im Fehlerfall - */ - protected function validate() - { - if(!is_numeric($this->lehreinheit_id)) - { - $this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein'; - return false; - } - if(mb_strlen($this->bezeichnung)>32) - { - $this->errormsg = 'Bezeichnung darf nicht laenger als 32 Zeichen sein'; - return false; - } - return true; - } - - /** - * Speichert Uebung in die Datenbank - * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - * angelegt, ansonsten der Datensatz upgedated - * @return true wenn erfolgreich, false im Fehlerfall - */ - public function save($new=null) - { - if(is_null($new)) - $new = $this->new; - - //Variablen auf Gueltigkeit pruefen - if(!$this->validate()) - return false; - - if($new) - { - $qry = 'BEGIN; INSERT INTO campus.tbl_uebung(gewicht, punkte, angabedatei, freigabevon, freigabebis, - abgabe, beispiele, bezeichnung, positiv, defaultbemerkung, lehreinheit_id, updateamum, - updatevon, insertamum, insertvon, liste_id, maxstd, maxbsp, nummer, statistik) VALUES('. - $this->db_add_param($this->gewicht).','. - $this->db_add_param($this->punkte).','. - $this->db_add_param($this->angabedatei).','. - $this->db_add_param($this->freigabevon).','. - $this->db_add_param($this->freigabebis).','. - $this->db_add_param($this->abgabe, FHC_BOOLEAN).','. - $this->db_add_param($this->beispiele, FHC_BOOLEAN).','. - $this->db_add_param($this->bezeichnung).','. - $this->db_add_param($this->positiv, FHC_BOOLEAN).','. - $this->db_add_param($this->defaultbemerkung).','. - $this->db_add_param($this->lehreinheit_id).','. - $this->db_add_param($this->updateamum).','. - $this->db_add_param($this->updatevon).','. - $this->db_add_param($this->insertamum).','. - $this->db_add_param($this->insertvon).','. - $this->db_add_param($this->liste_id).','. - $this->db_add_param($this->maxstd).','. - $this->db_add_param($this->maxbsp).','. - $this->db_add_param($this->nummer).','. - $this->db_add_param($this->statistik, FHC_BOOLEAN).');'; - } - else - { - $qry = 'UPDATE campus.tbl_uebung SET'. - ' gewicht='.$this->db_add_param($this->gewicht).','. - ' punkte='.$this->db_add_param($this->punkte).','. - ' angabedatei='.$this->db_add_param($this->angabedatei).','. - ' freigabevon='.$this->db_add_param($this->freigabevon).','. - ' freigabebis='.$this->db_add_param($this->freigabebis).','. - ' abgabe='.$this->db_add_param($this->abgabe, FHC_BOOLEAN).','. - ' beispiele='.$this->db_add_param($this->beispiele, FHC_BOOLEAN).','. - ' bezeichnung='.$this->db_add_param($this->bezeichnung).','. - ' positiv='.$this->db_add_param($this->positiv, FHC_BOOLEAN).','. - ' defaultbemerkung='.$this->db_add_param($this->defaultbemerkung).','. - ' lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).','. - ' updateamum='.$this->db_add_param($this->updateamum).','. - ' updatevon='.$this->db_add_param($this->updatevon).','. - ' liste_id='.$this->db_add_param($this->liste_id).','. - ' maxstd='.$this->db_add_param($this->maxstd).','. - ' maxbsp='.$this->db_add_param($this->maxbsp).','. - ' nummer='.$this->db_add_param($this->nummer).','. - ' statistik='.$this->db_add_param($this->statistik, FHC_BOOLEAN). - " WHERE uebung_id=".$this->db_add_param($this->uebung_id, FHC_INTEGER, false).";"; - } - - if($this->db_query($qry)) - { - if($new) - { - $qry = "SELECT currval('campus.tbl_uebung_uebung_id_seq') as id;"; - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->uebung_id = $row->id; - $this->db_query('COMMIT'); - return true; - } - else - { - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - $this->db_query('ROLLBACK'); - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - $this->db_query('ROLLBACK'); - return false; - } - } - else - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern der Uebung'; - return false; - } - } - - /** - * Prueft die Variablen vor dem Speichern - * auf Gueltigkeit. - * @return true wenn ok, false im Fehlerfall - */ - public function validate_studentuebung() - { - if(!is_numeric($this->uebung_id)) - { - $this->errormsg = 'Uebung_id muss eine gueltige Zahl sein'; - return false; - } - if($this->student_uid=='') - { - $this->errormsg = 'Student_uid muss eingetragen werden'; - return false; - } - return true; - } - - /** - * Speichert StudentUebung in die Datenbank - * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - * angelegt, ansonsten der Datensatz upgedated - * @return true wenn erfolgreich, false im Fehlerfall - */ - public function studentuebung_save($new=null) - { - if(is_null($new)) - $new = $this->new; - - //Variablen auf Gueltigkeit pruefen - if(!$this->validate_studentuebung()) - return false; - - if($new) - { - $qry = 'INSERT INTO campus.tbl_studentuebung(student_uid, mitarbeiter_uid, abgabe_id, uebung_id, - note, mitarbeitspunkte, punkte, anmerkung, benotungsdatum, updateamum, - updatevon, insertamum, insertvon) VALUES('. - $this->db_add_param($this->student_uid).','. - $this->db_add_param($this->mitarbeiter_uid).','. - $this->db_add_param($this->abgabe_id, FHC_INTEGER).','. - $this->db_add_param($this->uebung_id, FHC_INTEGER).','. - $this->db_add_param($this->note).','. - $this->db_add_param($this->mitarbeitspunkte).','. - $this->db_add_param($this->punkte).','. - $this->db_add_param($this->anmerkung).','. - $this->db_add_param($this->benotungsdatum).','. - $this->db_add_param($this->updateamum).','. - $this->db_add_param($this->updatevon).','. - $this->db_add_param($this->insertamum).','. - $this->db_add_param($this->insertvon).');'; - } - else - { - $qry = 'UPDATE campus.tbl_studentuebung SET'. - ' mitarbeiter_uid='.$this->db_add_param($this->mitarbeiter_uid).','. - ' abgabe_id='.$this->db_add_param($this->abgabe_id, FHC_INTEGER).','. - ' uebung_id='.$this->db_add_param($this->uebung_id, FHC_INTEGER).','. - ' note='.$this->db_add_param($this->note).','. - ' mitarbeitspunkte='.$this->db_add_param($this->mitarbeitspunkte).','. - ' punkte='.$this->db_add_param($this->punkte).','. - ' anmerkung='.$this->db_add_param($this->anmerkung).','. - ' benotungsdatum='.$this->db_add_param($this->benotungsdatum).','. - ' updateamum='.$this->db_add_param($this->updateamum).','. - ' updatevon='.$this->db_add_param($this->updatevon). - " WHERE uebung_id=".$this->db_add_param($this->uebung_id, FHC_INTEGER)." AND student_uid=".$this->db_add_param($this->student_uid).";"; - } - - if($this->db_query($qry)) - { - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern der StudentUebung'; - return false; - } - } - - /** - * Speichert eine Abgabe - * - * @param $new - * @return boolean - */ - public function abgabe_save($new=null) - { - if(is_null($new)) - $new = $this->new; - - - if($new) - { - $qry = 'INSERT INTO campus.tbl_abgabe(abgabedatei, abgabezeit, anmerkung) VALUES('. - $this->db_add_param($this->abgabedatei).','. - $this->db_add_param($this->abgabezeit).','. - $this->db_add_param($this->abgabe_anmerkung).');'; - } - else - { - $qry = 'UPDATE campus.tbl_abgabe SET'. - ' abgabedatei='.$this->db_add_param($this->abgabedatei).','. - ' abgabezeit='.$this->db_add_param($this->abgabezeit).','. - ' anmerkung='.$this->db_add_param($this->abgabe_anmerkung). - " WHERE abgabe_id=".$this->db_add_param($this->abgabe_id, FHC_INTEGER).";"; - } - - if($this->db_query($qry)) - { - if($new) - { - $qry = "SELECT currval('campus.tbl_abgabe_abgabe_id_seq') as id;"; - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->abgabe_id = $row->id; - $this->db_query('COMMIT'); - return true; - } - else - { - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - $this->db_query('ROLLBACK'); - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - $this->db_query('ROLLBACK'); - return false; - } - } - else - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern der StudentUebung'; - return false; - } - } - - /** - * Loescht eine Uebung plus die abhaengigen eintraege in den - * Tabellen studentuebung, studentbeispiel, und beispiel - */ - public function delete($uebung_id) - { - if(!is_numeric($uebung_id)) - { - $this->errormsg = 'Uebung_id ist ungueltig'; - return false; - } - - // subuebungen wegraeumen - $qry = "SELECT uebung_id, angabedatei FROM campus.tbl_uebung WHERE liste_id=".$this->db_add_param($uebung_id, FHC_INTEGER, false).';'; - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $angabe = BENOTUNGSTOOL_PATH."angabe/".$row->angabedatei; - if(file_exists($angabe)) - unlink($angabe); - - $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id=".$this->db_add_param($row->uebung_id, FHC_INTEGER)."); - DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id=".$this->db_add_param($row->uebung_id, FHC_INTEGER)."); - DELETE FROM campus.tbl_studentuebung WHERE uebung_id=".$this->db_add_param($row->uebung_id, FHC_INTEGER)."; - DELETE FROM campus.tbl_beispiel WHERE uebung_id=".$this->db_add_param($row->uebung_id, FHC_INTEGER)."; - DELETE FROM campus.tbl_studentuebung WHERE uebung_id = ".$this->db_add_param($row->uebung_id, FHC_INTEGER)."; - DELETE FROM campus.tbl_uebung WHERE uebung_id=".$this->db_add_param($row->uebung_id, FHC_INTEGER).";"; - - if(!$this->db_query($qry)) - { - $this->errormsg = 'Fehler beim Loeschen der Daten'; - return false; - } - } - } - $qry = "SELECT angabedatei FROM campus.tbl_uebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER).";"; - if($result = $this->db_query($qry)) - { - if($row = $this->db_fetch_object($result)) - { - if($row->angabedatei!='') - { - $angabe = BENOTUNGSTOOL_PATH."angabe/".$row->angabedatei; - if(file_exists($angabe)) - unlink($angabe); - } - } - } - - $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)."); - DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)."); - DELETE FROM campus.tbl_studentuebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)."; - DELETE FROM campus.tbl_beispiel WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)."; - DELETE FROM campus.tbl_studentuebung WHERE uebung_id = ".$this->db_add_param($uebung_id, FHC_INTEGER)."; - DELETE FROM campus.tbl_uebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER).";"; - - if($this->db_query($qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Loeschen der Daten'; - return false; - } - } - - /** - * Loescht eine Uebung plus die abhaengigen eintraege in den - * Tabellen studentuebung, studentbeispiel, und beispiel - */ - public function delete_abgabe($abgabe_id) - { - if(!is_numeric($abgabe_id)) - { - $this->errormsg = 'abgabe_id ist ungueltig'; - return false; - } - - // subuebungen wegraeumen - $qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = ".$this->db_add_param($abgabe_id, FHC_INTEGER).";"; - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - if(file_exists(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei)) - unlink(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei); - - $qry = "UPDATE campus.tbl_studentuebung set abgabe_id = null where abgabe_id = ".$this->db_add_param($abgabe_id, FHC_INTEGER)."; - DELETE FROM campus.tbl_abgabe WHERE abgabe_id = ".$this->db_add_param($abgabe_id, FHC_INTEGER).";"; - - if(!$this->db_query($qry)) - { - $this->errormsg = 'Fehler beim Loeschen der Daten'; - return false; - } - else - return true; - } - else - { - $this->errormsg='Keine Abgabe mit dieser ID vorhanden'; - return false; - } - } - else - { - $this->errormsg = 'Fehler bei einer Abfrage'; - return false; - } - } -} -?> +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . + */ +/** + * Verwaltet die Uebungen des Kreuzerltools + */ +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class uebung extends basis_db +{ + public $new; // boolean + public $uebungen = array(); // lehreinheit Objekt + + //Tabellenspalten + public $uebung_id; // serial + public $gewicht; // smalint + public $punkte; // Real + public $angabedatei; // oid + public $freigabevon; // timestamp + public $freigabebis; // timestamp + public $abgabe; // boolean + public $beispiele; // boolean + public $bezeichnung; // varchar(32) + public $positiv; // boolean + public $defaultbemerkung; // text + public $lehreinheit_id; // integer + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $statistik; // boolean + public $liste_id; //integer + public $maxbsp; //smallint + public $maxstd; //smallint + public $nummer; //smallint + public $prozent; + + //Studentuebung + public $student_uid; // varchar(16) + public $mitarbeiter_uid; // varchar(16) + public $abgabe_id; // integer + public $note; // smalint + public $mitarbeitspunkte; // smalint + public $anmerkung; // text + public $benotungsdatum; // timestamp + + //Abgabe + public $abgabe_abgabe_id; // integer + public $abgabedatei; // varchar(64) + public $abgabezeit; // timestamp + public $abgabe_anmerkung; // text + + /** + * Konstruktor - laedt optional eine Uebung + * @param $uebung_id + */ + public function __construct($uebung_id=null) + { + parent::__construct(); + + if($uebung_id!=null) + $this->load($uebung_id); + } + + /** + * Laedt die Uebung + * @param uebung_id + */ + public function load($uebung_id) + { + if(!is_numeric($uebung_id)) + { + $this->errormsg='Uebung_id muss eine gueltige Zahl sein'; + return false; + } + $qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER).';'; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->uebung_id = $row->uebung_id; + $this->gewicht = $row->gewicht; + $this->punkte = $row->punkte; + $this->angabedatei = $row->angabedatei; + $this->freigabevon = $row->freigabevon; + $this->freigabebis = $row->freigabebis; + $this->abgabe = $this->db_parse_bool($row->abgabe); + $this->beispiele = $this->db_parse_bool($row->beispiele); + $this->bezeichnung = $row->bezeichnung; + $this->positiv = $this->db_parse_bool($row->positiv); + $this->defaultbemerkung = $row->defaultbemerkung; + $this->lehreinheit_id = $row->lehreinheit_id; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->statistik = $this->db_parse_bool($row->statistik); + $this->liste_id = $row->liste_id; + $this->maxbsp = $row->maxbsp; + $this->maxstd = $row->maxstd; + $this->nummer = $row->nummer; + $this->prozent = $row->prozent; + return true; + } + else + { + $this->errormsg = "Es ist keine Uebung mit dieser ID vorhanden"; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Uebung'; + return false; + } + } + + /** + * Aendert den Status des Boolean Prozent + * + * @param $uebung_id + * @return true wenn geaendert, sonst false + */ + public function toggle_prozent_punkte($uebung_id) + { + $qry = "UPDATE campus.tbl_uebung SET prozent = not prozent WHERE uebung_id = ".$this->db_add_param($uebung_id, FHC_INTEGER).";"; + if($this->db_query($qry)) + return true; + else + { + $this->errormsg = "toggle misslungen"; + return false; + } + } + + /** + * Laedt eine Studentuebung Zuordnung + * + * @param $student_uid + * @param $uebung_id + * @return boolean + */ + public function load_studentuebung($student_uid, $uebung_id) + { + $qry = "SELECT * FROM campus.tbl_studentuebung WHERE student_uid=".$this->db_add_param($student_uid)." AND uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER).";"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->student_uid = $row->student_uid; + $this->mitarbeiter_uid = $row->mitarbeiter_uid; + $this->abgabe_id = $row->abgabe_id; + $this->uebung_id = $row->uebung_id; + $this->note = $row->note; + $this->mitarbeitspunkte = $row->mitarbeitspunkte; + $this->punkte = $row->punkte; + $this->anmerkung = $row->anmerkung; + $this->benotungsdatum = $row->benotungsdatum; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + return true; + } + else + { + $this->errormsg = 'Es gibt keinen passenden Eintrag'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden des eintrages'; + return false; + } + } + + /** + * Laedt eine Abgabe + * + * @param $abgabe_id + * @return boolean + */ + public function load_abgabe($abgabe_id) + { + $qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = ".$this->db_add_param($abgabe_id, FHC_INTEGER).";"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->abgabe_id = $row->abgabe_id; + $this->abgabedatei = $row->abgabedatei; + $this->abgabezeit = $row->abgabezeit; + $this->abgabe_anmerkung = $row->anmerkung; + return true; + } + else + { + $this->errormsg = 'Es gibt keinen passenden Eintrag'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden des Eintrages'; + return false; + } + } + + /** + * Prueft ob zu einer Uebung bereits Studenten zugeordnet sind + * + * @param $uebung_id + * @return true wenn ja, sonst false + */ + public function check_studentuebung($uebung_id) + { + $qry = "SELECT * FROM campus.tbl_studentuebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER).";"; + + if($this->db_query($qry)) + { + if($this->db_num_rows() >0) + return true; + else + return false; + } + else + return false; + } + + /** + * Liefert die naechste Nummer einer uebung + * @return boolean, naechste nummer steht in this->next_nummer + */ + public function get_next_nummer() + { + $qry = "SELECT max(nummer) FROM campus.tbl_uebung"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $next = $row->max + 1; + $this->next_nummer = $next; + return true; + } + else + { + $this->errormsg = 'Fehler beim Ermitteln der naechsten Nummer'; + return false; + } + } + else + { + $this->errormsg = 'Fehler bei einer Abfrage'; + return false; + } + } + + /** + * Laedt eine Uebung + * + * @param $lehreinheit_id + * @param $level + * @param $uebung_id + * @return boolean + */ + public function load_uebung($lehreinheit_id, $level=null, $uebung_id=null) + { + if(!is_numeric($lehreinheit_id)) + { + $this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER); + if ($level == 1) + $qry .= " and liste_id is null"; + if ($level == 2) + $qry .= " and liste_id = ".$this->db_add_param($uebung_id, FHC_INTEGER); + $qry .= " ORDER BY bezeichnung"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $uebung_obj = new uebung(); + + $uebung_obj->uebung_id = $row->uebung_id; + $uebung_obj->gewicht = $row->gewicht; + $uebung_obj->punkte = $row->punkte; + $uebung_obj->angabedatei = $row->angabedatei; + $uebung_obj->freigabevon = $row->freigabevon; + $uebung_obj->freigabebis = $row->freigabebis; + $uebung_obj->abgabe = $this->db_parse_bool($row->abgabe); + $uebung_obj->beispiele = $this->db_parse_bool($row->beispiele); + $uebung_obj->bezeichnung = $row->bezeichnung; + $uebung_obj->positiv = $this->db_parse_bool($row->positiv); + $uebung_obj->defaultbemerkung = $row->defaultbemerkung; + $uebung_obj->lehreinheit_id = $row->lehreinheit_id; + $uebung_obj->updateamum = $row->updateamum; + $uebung_obj->updatevon = $row->updatevon; + $uebung_obj->insertamum = $row->insertamum; + $uebung_obj->insertvon = $row->insertvon; + $uebung_obj->statistik = $this->db_parse_bool($row->statistik); + $uebung_obj->liste_id = $row->liste_id; + $uebung_obj->maxstd = $row->maxstd; + $uebung_obj->maxbsp = $row->maxbsp; + $uebung_obj->nummer = $row->nummer; + $uebung_obj->prozent = $row->prozent; + + $this->uebungen[] = $uebung_obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Uebung'; + return false; + } + } + + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() + { + if(!is_numeric($this->lehreinheit_id)) + { + $this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein'; + return false; + } + if(mb_strlen($this->bezeichnung)>32) + { + $this->errormsg = 'Bezeichnung darf nicht laenger als 32 Zeichen sein'; + return false; + } + return true; + } + + /** + * Speichert Uebung in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save($new=null) + { + if(is_null($new)) + $new = $this->new; + + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($new) + { + $qry = 'BEGIN; INSERT INTO campus.tbl_uebung(gewicht, punkte, angabedatei, freigabevon, freigabebis, + abgabe, beispiele, bezeichnung, positiv, defaultbemerkung, lehreinheit_id, updateamum, + updatevon, insertamum, insertvon, liste_id, maxstd, maxbsp, nummer, statistik) VALUES('. + $this->db_add_param($this->gewicht).','. + $this->db_add_param($this->punkte).','. + $this->db_add_param($this->angabedatei).','. + $this->db_add_param($this->freigabevon).','. + $this->db_add_param($this->freigabebis).','. + $this->db_add_param($this->abgabe, FHC_BOOLEAN).','. + $this->db_add_param($this->beispiele, FHC_BOOLEAN).','. + $this->db_add_param($this->bezeichnung).','. + $this->db_add_param($this->positiv, FHC_BOOLEAN).','. + $this->db_add_param($this->defaultbemerkung).','. + $this->db_add_param($this->lehreinheit_id).','. + $this->db_add_param($this->updateamum).','. + $this->db_add_param($this->updatevon).','. + $this->db_add_param($this->insertamum).','. + $this->db_add_param($this->insertvon).','. + $this->db_add_param($this->liste_id).','. + $this->db_add_param($this->maxstd).','. + $this->db_add_param($this->maxbsp).','. + $this->db_add_param($this->nummer).','. + $this->db_add_param($this->statistik, FHC_BOOLEAN).');'; + } + else + { + $qry = 'UPDATE campus.tbl_uebung SET'. + ' gewicht='.$this->db_add_param($this->gewicht).','. + ' punkte='.$this->db_add_param($this->punkte).','. + ' angabedatei='.$this->db_add_param($this->angabedatei).','. + ' freigabevon='.$this->db_add_param($this->freigabevon).','. + ' freigabebis='.$this->db_add_param($this->freigabebis).','. + ' abgabe='.$this->db_add_param($this->abgabe, FHC_BOOLEAN).','. + ' beispiele='.$this->db_add_param($this->beispiele, FHC_BOOLEAN).','. + ' bezeichnung='.$this->db_add_param($this->bezeichnung).','. + ' positiv='.$this->db_add_param($this->positiv, FHC_BOOLEAN).','. + ' defaultbemerkung='.$this->db_add_param($this->defaultbemerkung).','. + ' lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).','. + ' updateamum='.$this->db_add_param($this->updateamum).','. + ' updatevon='.$this->db_add_param($this->updatevon).','. + ' liste_id='.$this->db_add_param($this->liste_id).','. + ' maxstd='.$this->db_add_param($this->maxstd).','. + ' maxbsp='.$this->db_add_param($this->maxbsp).','. + ' nummer='.$this->db_add_param($this->nummer).','. + ' statistik='.$this->db_add_param($this->statistik, FHC_BOOLEAN). + " WHERE uebung_id=".$this->db_add_param($this->uebung_id, FHC_INTEGER, false).";"; + } + + if($this->db_query($qry)) + { + if($new) + { + $qry = "SELECT currval('campus.tbl_uebung_uebung_id_seq') as id;"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->uebung_id = $row->id; + $this->db_query('COMMIT'); + return true; + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; + } + } + else + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der Uebung'; + return false; + } + } + + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + public function validate_studentuebung() + { + if(!is_numeric($this->uebung_id)) + { + $this->errormsg = 'Uebung_id muss eine gueltige Zahl sein'; + return false; + } + if($this->student_uid=='') + { + $this->errormsg = 'Student_uid muss eingetragen werden'; + return false; + } + return true; + } + + /** + * Speichert StudentUebung in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function studentuebung_save($new=null) + { + if(is_null($new)) + $new = $this->new; + + //Variablen auf Gueltigkeit pruefen + if(!$this->validate_studentuebung()) + return false; + + if($new) + { + $qry = 'INSERT INTO campus.tbl_studentuebung(student_uid, mitarbeiter_uid, abgabe_id, uebung_id, + note, mitarbeitspunkte, punkte, anmerkung, benotungsdatum, updateamum, + updatevon, insertamum, insertvon) VALUES('. + $this->db_add_param($this->student_uid).','. + $this->db_add_param($this->mitarbeiter_uid).','. + $this->db_add_param($this->abgabe_id, FHC_INTEGER).','. + $this->db_add_param($this->uebung_id, FHC_INTEGER).','. + $this->db_add_param($this->note).','. + $this->db_add_param($this->mitarbeitspunkte).','. + $this->db_add_param($this->punkte).','. + $this->db_add_param($this->anmerkung).','. + $this->db_add_param($this->benotungsdatum).','. + $this->db_add_param($this->updateamum).','. + $this->db_add_param($this->updatevon).','. + $this->db_add_param($this->insertamum).','. + $this->db_add_param($this->insertvon).');'; + } + else + { + $qry = 'UPDATE campus.tbl_studentuebung SET'. + ' mitarbeiter_uid='.$this->db_add_param($this->mitarbeiter_uid).','. + ' abgabe_id='.$this->db_add_param($this->abgabe_id, FHC_INTEGER).','. + ' uebung_id='.$this->db_add_param($this->uebung_id, FHC_INTEGER).','. + ' note='.$this->db_add_param($this->note).','. + ' mitarbeitspunkte='.$this->db_add_param($this->mitarbeitspunkte).','. + ' punkte='.$this->db_add_param($this->punkte).','. + ' anmerkung='.$this->db_add_param($this->anmerkung).','. + ' benotungsdatum='.$this->db_add_param($this->benotungsdatum).','. + ' updateamum='.$this->db_add_param($this->updateamum).','. + ' updatevon='.$this->db_add_param($this->updatevon). + " WHERE uebung_id=".$this->db_add_param($this->uebung_id, FHC_INTEGER)." AND student_uid=".$this->db_add_param($this->student_uid).";"; + } + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der StudentUebung'; + return false; + } + } + + /** + * Speichert eine Abgabe + * + * @param $new + * @return boolean + */ + public function abgabe_save($new=null) + { + if(is_null($new)) + $new = $this->new; + + + if($new) + { + $qry = 'INSERT INTO campus.tbl_abgabe(abgabedatei, abgabezeit, anmerkung) VALUES('. + $this->db_add_param($this->abgabedatei).','. + $this->db_add_param($this->abgabezeit).','. + $this->db_add_param($this->abgabe_anmerkung).');'; + } + else + { + $qry = 'UPDATE campus.tbl_abgabe SET'. + ' abgabedatei='.$this->db_add_param($this->abgabedatei).','. + ' abgabezeit='.$this->db_add_param($this->abgabezeit).','. + ' anmerkung='.$this->db_add_param($this->abgabe_anmerkung). + " WHERE abgabe_id=".$this->db_add_param($this->abgabe_id, FHC_INTEGER).";"; + } + + if($this->db_query($qry)) + { + if($new) + { + $qry = "SELECT currval('campus.tbl_abgabe_abgabe_id_seq') as id;"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->abgabe_id = $row->id; + $this->db_query('COMMIT'); + return true; + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; + } + } + else + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der StudentUebung'; + return false; + } + } + + /** + * Loescht eine Uebung plus die abhaengigen eintraege in den + * Tabellen studentuebung, studentbeispiel, und beispiel + */ + public function delete($uebung_id) + { + if(!is_numeric($uebung_id)) + { + $this->errormsg = 'Uebung_id ist ungueltig'; + return false; + } + + // subuebungen wegraeumen + $qry = "SELECT uebung_id, angabedatei FROM campus.tbl_uebung WHERE liste_id=".$this->db_add_param($uebung_id, FHC_INTEGER, false).';'; + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $angabe = BENOTUNGSTOOL_PATH."angabe/".$row->angabedatei; + if(file_exists($angabe)) + unlink($angabe); + + $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id=".$this->db_add_param($row->uebung_id, FHC_INTEGER)."); + DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id=".$this->db_add_param($row->uebung_id, FHC_INTEGER)."); + DELETE FROM campus.tbl_studentuebung WHERE uebung_id=".$this->db_add_param($row->uebung_id, FHC_INTEGER)."; + DELETE FROM campus.tbl_beispiel WHERE uebung_id=".$this->db_add_param($row->uebung_id, FHC_INTEGER)."; + DELETE FROM campus.tbl_studentuebung WHERE uebung_id = ".$this->db_add_param($row->uebung_id, FHC_INTEGER)."; + DELETE FROM campus.tbl_uebung WHERE uebung_id=".$this->db_add_param($row->uebung_id, FHC_INTEGER).";"; + + if(!$this->db_query($qry)) + { + $this->errormsg = 'Fehler beim Loeschen der Daten'; + return false; + } + } + } + $qry = "SELECT angabedatei FROM campus.tbl_uebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER).";"; + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + if($row->angabedatei!='') + { + $angabe = BENOTUNGSTOOL_PATH."angabe/".$row->angabedatei; + if(file_exists($angabe)) + unlink($angabe); + } + } + } + + $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)."); + DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)."); + DELETE FROM campus.tbl_studentuebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)."; + DELETE FROM campus.tbl_beispiel WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER)."; + DELETE FROM campus.tbl_studentuebung WHERE uebung_id = ".$this->db_add_param($uebung_id, FHC_INTEGER)."; + DELETE FROM campus.tbl_uebung WHERE uebung_id=".$this->db_add_param($uebung_id, FHC_INTEGER).";"; + + if($this->db_query($qry)) + return true; + else + { + $this->errormsg = 'Fehler beim Loeschen der Daten'; + return false; + } + } + + /** + * Loescht eine Uebung plus die abhaengigen eintraege in den + * Tabellen studentuebung, studentbeispiel, und beispiel + */ + public function delete_abgabe($abgabe_id) + { + if(!is_numeric($abgabe_id)) + { + $this->errormsg = 'abgabe_id ist ungueltig'; + return false; + } + + // subuebungen wegraeumen + $qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = ".$this->db_add_param($abgabe_id, FHC_INTEGER).";"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + if(file_exists(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei)) + unlink(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei); + + $qry = "UPDATE campus.tbl_studentuebung set abgabe_id = null where abgabe_id = ".$this->db_add_param($abgabe_id, FHC_INTEGER)."; + DELETE FROM campus.tbl_abgabe WHERE abgabe_id = ".$this->db_add_param($abgabe_id, FHC_INTEGER).";"; + + if(!$this->db_query($qry)) + { + $this->errormsg = 'Fehler beim Loeschen der Daten'; + return false; + } + else + return true; + } + else + { + $this->errormsg='Keine Abgabe mit dieser ID vorhanden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler bei einer Abfrage'; + return false; + } + } +} +?>