From 25902a160fda019f4be5cbc3bd18fe4a19f8902a Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Wed, 16 Oct 2013 09:46:05 +0000 Subject: [PATCH] Gruppenverwaltung als Baum mit jsTree --- include/gruppe.class.php | 10 +++-- include/lehrverband.class.php | 80 ++++++++++++++++++++++++++++++++++- 2 files changed, 85 insertions(+), 5 deletions(-) diff --git a/include/gruppe.class.php b/include/gruppe.class.php index 37aa578d3..a1aa4ab77 100644 --- a/include/gruppe.class.php +++ b/include/gruppe.class.php @@ -25,6 +25,7 @@ class gruppe extends basis_db { public $new; // boolean public $result = array(); // gruppen Objekt + public $gruppe_kurbzNeu; // Variable für geänderte Gruppen Kurzbez. //Tabellenspalten public $gruppe_kurzbz; // varchar(16) @@ -32,7 +33,7 @@ class gruppe extends basis_db public $bezeichnung; // varchar(32) public $semester; // smallint public $sort; // smallint - public $lehre=true; //boolean + public $lehre=true; // boolean public $mailgrp; // boolean public $beschreibung; // varchar(128) public $generiert; // boolean @@ -416,8 +417,11 @@ class gruppe extends basis_db ' updateamum='.$this->db_add_param($this->updateamum).','. ' updatevon='.$this->db_add_param($this->updatevon).','. ' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).', '. - ' gesperrt='.$this->db_add_param($this->gesperrt, FHC_BOOLEAN).' '. - " WHERE gruppe_kurzbz=".$this->db_add_param($this->gruppe_kurzbz).";"; + ' gesperrt='.$this->db_add_param($this->gesperrt, FHC_BOOLEAN).' '; + if($this->gruppe_kurbzNeu != null) { + $qry.=', gruppe_kurzbz='.$this->db_add_param($this->gruppe_kurbzNeu).' '; + } + $qry.=" WHERE gruppe_kurzbz=".$this->db_add_param($this->gruppe_kurzbz).";"; } if($this->db_query($qry)) diff --git a/include/lehrverband.class.php b/include/lehrverband.class.php index 3cb560dae..bc7b05116 100644 --- a/include/lehrverband.class.php +++ b/include/lehrverband.class.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 , + * Stefan Puraner */ require_once(dirname(__FILE__).'/basis_db.class.php'); @@ -197,6 +198,81 @@ class lehrverband extends basis_db return false; } } + + public function getSemesterFromStudiengang($studiengang_kz, $where) + { + $qry = 'SELECT semester, aktiv FROM public.tbl_lehrverband WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER)." AND verband=' ' ".$where; + $qry .= ' GROUP BY semester, aktiv ORDER BY semester;'; + + if($this->db_query($qry)) + { + $lv_obj = array(); + while($row = $this->db_fetch_object()) + { + $sem = array(); + $sem["aktiv"] = $row->aktiv; + $sem["semester"] = $row->semester; + array_push($lv_obj, $sem); + } + return $lv_obj; + } + else + { + $this->errormsg = 'Fehler beim Lesen der Semester '.$qry; + return false; + } + } + + public function getVerbandFromSemester($studiengang_kz, $semester, $where) + { + $qry = 'SELECT verband, aktiv, bezeichnung FROM public.tbl_lehrverband WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER).' AND semester='.$this->db_add_param($semester, FHC_INTEGER)." AND gruppe=' ' ".$where; + $qry .= ' GROUP BY verband, aktiv, bezeichnung ORDER BY verband;'; + + if($this->db_query($qry)) + { + $lv_obj = array(); + while($row = $this->db_fetch_object()) + { + $verb = array(); + $verb["verband"] = $row->verband; + $verb["aktiv"] = $row->aktiv; + $verb["bezeichnung"] = $row->bezeichnung; + array_push($lv_obj, $verb); + } + return $lv_obj; + } + else + { + $this->errormsg = 'Fehler beim Lesen der Lehrverbaende '.$qry; + return false; + } + } + + public function getGruppeFromVerband($studiengang_kz, $semester, $verband, $where) + { + $qry = 'SELECT gruppe, bezeichnung, aktiv FROM public.tbl_lehrverband WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER).' AND semester='.$this->db_add_param($semester, FHC_INTEGER).' AND verband='.$this->db_add_param($verband, FHC_STRING).$where; + $qry .= ' GROUP BY gruppe, bezeichnung, aktiv ORDER BY gruppe;'; + if($this->db_query($qry)) + { + + $lv_obj = array(); + + while($row = $this->db_fetch_object()) + { + $grp = array(); + $grp["bezeichnung"] = $row->bezeichnung; + $grp["gruppe"] = $row->gruppe; + $grp["aktiv"] = $row->aktiv; + array_push($lv_obj, $grp); + } + return $lv_obj; + } + else + { + $this->errormsg = 'Fehler beim Lesen der Lehrverbaende '.$qry; + return false; + } + } /** * Speichert Lehrverband in die Datenbank