From 57ca955efa89e57c88b8b1c32acdc24b950d4264 Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Wed, 22 Jun 2016 13:31:57 +0200 Subject: [PATCH] delete_studentlehrverband, save_studentlehrverband and getUid copied to prestudent.class.php --- content/student/studentDBDML.php | 17 +++-- include/prestudent.class.php | 113 +++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+), 9 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index d8fa3bab3..27ad9fcf5 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -40,7 +40,6 @@ require_once('../../include/benutzergruppe.class.php'); require_once('../../include/log.class.php'); require_once('../../include/person.class.php'); require_once('../../include/benutzer.class.php'); -require_once('../../include/student.class.php'); require_once('../../include/prestudent.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/akte.class.php'); @@ -389,7 +388,7 @@ if(!$error) { if($prestudent->save() && $benutzer->save() && $person->save()) { - $studLvb = new student(); + $studLvb = new prestudent(); // Studentlehrverband Eintrag nur Speichern, wenn der Student in diesem Studiensemester // einen Status besitzt da es sonst beim Bearbeiten von alten Studenten immer in das @@ -863,7 +862,7 @@ if(!$error) //Verband und Gruppe wird entfernt. if($_POST['status_kurzbz']=='Student') { - $studLvb = new student(); + $studLvb = new prestudent(); $studLvb->studiensemester_kurzbz=$semester_aktuell; $studLvb->semester = $_POST['semester']; @@ -884,7 +883,7 @@ if(!$error) //bei Abbrechern und Absolventen wird der Aktiv Status auf false gesetzt if($_POST['status_kurzbz']=='Abbrecher' || $_POST['status_kurzbz']=='Absolvent') { - $studLvb = new student(); + $studLvb = new prestudent(); $uid = $studLvb->getUid($prestudent_id); $benutzer = new benutzer(); if($benutzer->load($uid)) @@ -986,7 +985,7 @@ if(!$error) $return = true; if($return) { - $studLvb = new student(); + $studLvb = new prestudent(); if(!$studLvb->delete_studentLehrverband($rolle->prestudent_id, $_POST['studiengang_kz'], $rolle->studiensemester_kurzbz, $rolle->ausbildungssemester)) { $return = false; @@ -1251,7 +1250,7 @@ if(!$error) $return = false; } - $studLvb = new student(); + $studLvb = new prestudent(); if(!$error) { @@ -1445,7 +1444,7 @@ if(!$error) $prestudent->updatevon = $user; //Studentlehrverband - $studLvb = new student(); + $studLvb = new prestudent(); $studLvb->prestudent_id = $prestd->prestudent_id; $studLvb->studiengang_kz = $prestd->studiengang_kz; $studLvb->semester = $hlp->result[0]->ausbildungssemester; @@ -1493,7 +1492,7 @@ if(!$error) if($rolle->save_rolle()) { //StudentLehrverband anlegen - $studLvb = new student(); + $studLvb = new prestudent(); $studLvb->prestudent_id = $prestudent->prestudent_id; $studLvb->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz; $studLvb->studiengang_kz = $prestd->studiengang_kz; @@ -1668,7 +1667,7 @@ if(!$error) if(!$error) { //Eintrag in der Tabelle Studentlehrverband aendern - $studLvb = new student(); + $studLvb = new prestudent(); if($studLvb->studentlehrverband_exists($prestudent_id, $semester_aktuell)) $studLvb->new = false; diff --git a/include/prestudent.class.php b/include/prestudent.class.php index 0ab9e8edb..b30c4c8e1 100755 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -1928,6 +1928,8 @@ class prestudent extends person return false; } } + + /** * Laedt die StudentLehrverband Zuteilung * @param prestudent_id @@ -1981,6 +1983,117 @@ class prestudent extends person } } + /** + * Löscht die Zuordnung eines Studenten zu einer Lehrverbandsgruppe + * @param type $prestudent_id + * @param type $studiengang_kz + * @param type $studiensemester + * @param type $semester + * @param type $verband + * @param type $gruppe + */ + public function delete_studentLehrverband($prestudent_id, $studiengang_kz, $studiensemester, $semester) + { + $qry = 'DELETE FROM public.tbl_studentlehrverband ' + . 'WHERE prestudent_id='.$this->db_add_param($prestudent_id, FHC_INTEGER) + . ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester) + . ' AND studiengang_kz='.$this->db_add_param($studiengang_kz) + . ' AND semester='.$this->db_add_param($semester).';'; + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'StudentLehrverband konnte nicht gelöscht werden.'; + return false; + } + } + + /** + * Speichert die Zuteilung von Student zu Lehrverband + * @param $new + * @return boolean + */ + public function save_studentlehrverband($new=null) + { + if($new==null) + $new = $this->new; + + if($new) + { + $qry = "INSERT INTO public.tbl_studentlehrverband (prestudent_id, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon) + VALUES(". + $this->db_add_param($this->prestudent_id).','. + $this->db_add_param($this->studiensemester_kurzbz).','. + $this->db_add_param($this->studiengang_kz).','. + $this->db_add_param($this->semester).','. + $this->db_add_param(($this->verband==''?' ':$this->verband)).','. + $this->db_add_param(($this->gruppe==''?' ':$this->gruppe)).','. + $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 public.tbl_studentlehrverband SET". + " studiengang_kz=".$this->db_add_param($this->studiengang_kz).",". + " prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER).",". + " semester=".$this->db_add_param($this->semester).",". + " verband=".$this->db_add_param(($this->verband==''?' ':$this->verband)).",". + " gruppe=".$this->db_add_param(($this->gruppe==''?' ':$this->gruppe)).",". + " updateamum=".$this->db_add_param($this->updateamum).",". + " updatevon=".$this->db_add_param($this->updatevon). + " WHERE prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER)." AND studiensemester_kurzbz=".$this->db_add_param($this->studiensemester_kurzbz); + } + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der Studentlehrverbandzuordnung'; + return false; + } + } + + /** + * Laedt die UID anhand der Prestudent_id + * @param prestudent_id + * @return uid wenn ok, false wenn Fehler + */ + public function getUid($prestudent_id) + { + if(!is_numeric($prestudent_id)) + { + $this->errormsg = 'PrestudentID ist ungueltig'; + return false; + } + + $qry = "SELECT student_uid FROM public.tbl_prestudent WHERE prestudent_id=".$this->db_add_param($prestudent_id); + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + return $row->student_uid; + } + else + { + $this->errormsg = 'Student nicht gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + /** * Rueckgabewert ist die Anzahl der Ergebnisse. Bei Fehler negativ und die * Fehlermeldung liegt in errormsg.