From 7e6ef45230890d3c5c55ba5d0b9affd13cfee9d9 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Thu, 21 Jun 2007 10:35:01 +0000 Subject: [PATCH] --- include/berechtigung.class.php | 400 ++++++++++++++++++--------------- 1 file changed, 213 insertions(+), 187 deletions(-) diff --git a/include/berechtigung.class.php b/include/berechtigung.class.php index 827cb0a2c..db1b76749 100644 --- a/include/berechtigung.class.php +++ b/include/berechtigung.class.php @@ -1,188 +1,214 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -class berechtigung -{ - /** - * interne userberechtigung_id (Zaehler aus DB) - * @var integer - */ - var $userberechtigung_id; - /** - * @var integer - */ - var $studiengang_kz; - /** - * @var integer - */ - var $fachbereich_id; - /** - * @var string - */ - var $berechtigung_kurzbz; - /** - * @var string - */ - var $uid; - /** - * @var string - */ - var $studiensemester_kurzbz; - /** - * @var integer - */ - var $start; - /** - * @var integer - */ - var $ende; - /** - * @var integer - */ - var $starttimestamp; - /** - * @var integer - */ - var $endetimestamp; - /** - * @var string - */ - var $art; - - /** - * @var array - */ - var $berechtigungen=array(); - - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - - //Tabellenspalten - var $beschreibung; // varchar(256) - - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform - // * @param $conn Datenbank-Connection - // * $berechtigung_kurzbz - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function berechtigung($conn, $berechtigung_kurzbz=null, $unicode=false) - { - $this->conn = $conn; - $this->new=true; - - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; - - if(!pg_query($conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } - - if($berechtigung_kurzbz!=null) - $this->load($berechtigung_kurzbz); - } - - // ********************************************************* - // * Laedt eine Berechtigung - // * @param berechtigung_kurzbz - // ********************************************************* - function load($berechtigung_kurzbz) - { - return true; - } - - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() - { - if(strlen($this->berechtigung_kurzbz)>16) - { - $this->errormsg = 'Berechtigung_kurzbz darf nicht laenger als 16 Zeichen sein'; - return false; - } - if(strlen($this->beschreibung)>256) - { - $this->errormsg = 'Beschreibung darf nicht laenger als 256 Zeichen sein'; - return false; - } - - return true; - } - - // ************************************************ - // * wenn $var '' ist wird NULL zurueckgegeben - // * wenn $var !='' ist werden Datenbankkritische - // * Zeichen mit Backslash versehen und das Ergbnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ************************************************************ - // * Speichert Berechtigung 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 - // ************************************************************ - function save() - { - //Variablen auf Gueltigkeit pruefen - if(!$this->validate()) - return false; - - if($this->new) - { - $qry = 'INSERT INTO public.tbl_berechtigung (berechtigung_kurzbz, beschreibung) - VALUES('.$this->addslashes($this->berechtigung_kurzbz).','. - $this->addslashes($this->beschreibung).');'; - } - else - { - $qry = 'UPDATE public.tbl_berechtigung SET'. - ' beschreibung='.$this->addslashes($this->beschreibung). - " WHERE berechtigung_kurzbz='".addslashes($this->berechtigung_kurzbz)."'"; - } - - if(pg_query($this->conn,$qry)) - { - //Log schreiben - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern der Berechtigung:'.$qry; - return false; - } - } -} +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class berechtigung +{ + /** + * interne userberechtigung_id (Zaehler aus DB) + * @var integer + */ + var $userberechtigung_id; + /** + * @var integer + */ + var $studiengang_kz; + /** + * @var integer + */ + var $fachbereich_id; + /** + * @var string + */ + var $berechtigung_kurzbz; + /** + * @var string + */ + var $uid; + /** + * @var string + */ + var $studiensemester_kurzbz; + /** + * @var integer + */ + var $start; + /** + * @var integer + */ + var $ende; + /** + * @var integer + */ + var $starttimestamp; + /** + * @var integer + */ + var $endetimestamp; + /** + * @var string + */ + var $art; + + /** + * @var array + */ + var $berechtigungen=array(); + + var $conn; // resource DB-Handle + var $errormsg; // string + var $new; // boolean + + //Tabellenspalten + var $beschreibung; // varchar(256) + + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + // * @param $conn Datenbank-Connection + // * $berechtigung_kurzbz + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function berechtigung($conn, $berechtigung_kurzbz=null, $unicode=false) + { + $this->conn = $conn; + $this->new=true; + + if($unicode) + $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; + else + $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + + if(!pg_query($conn,$qry)) + { + $this->errormsg = 'Encoding konnte nicht gesetzt werden'; + return false; + } + + if($berechtigung_kurzbz!=null) + $this->load($berechtigung_kurzbz); + } + + // ********************************************************* + // * Laedt eine Berechtigung + // * @param berechtigung_kurzbz + // ********************************************************* + function load($berechtigung_kurzbz) + { + return true; + } + + // ******************************************* + // * Prueft die Variablen vor dem Speichern + // * auf Gueltigkeit. + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function validate() + { + if(strlen($this->berechtigung_kurzbz)>16) + { + $this->errormsg = 'Berechtigung_kurzbz darf nicht laenger als 16 Zeichen sein'; + return false; + } + if(strlen($this->beschreibung)>256) + { + $this->errormsg = 'Beschreibung darf nicht laenger als 256 Zeichen sein'; + return false; + } + + return true; + } + + // ************************************************ + // * wenn $var '' ist wird NULL zurueckgegeben + // * wenn $var !='' ist werden Datenbankkritische + // * Zeichen mit Backslash versehen und das Ergbnis + // * unter Hochkomma gesetzt. + // ************************************************ + function addslashes($var) + { + return ($var!=''?"'".addslashes($var)."'":'null'); + } + + // ************************************************************ + // * Speichert Berechtigung 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 + // ************************************************************ + function save() + { + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($this->new) + { + $qry = 'INSERT INTO public.tbl_berechtigung (berechtigung_kurzbz, beschreibung) + VALUES('.$this->addslashes($this->berechtigung_kurzbz).','. + $this->addslashes($this->beschreibung).');'; + } + else + { + $qry = 'UPDATE public.tbl_berechtigung SET'. + ' beschreibung='.$this->addslashes($this->beschreibung). + " WHERE berechtigung_kurzbz='".addslashes($this->berechtigung_kurzbz)."'"; + } + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der Berechtigung:'.$qry; + return false; + } + } + + // ************************************************************ + // * Holt alle Berechtigungen aus der Datenbank + // * @return true wenn erfolgreich, false im Fehlerfall + // ************************************************************ + function getAll() + { + $qry = 'SELECT * FROM tbl_berechtigung'; + + if(!$res = pg_query($this->conn, $qry)) + { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + + while($row = pg_fetch_object($res)) + { + $b_obj = new berechtigung($this->conn); + + $b_obj->berechtigung_kurzbz=$row->berechtigung_kurzbz; + $b_obj->beschreibung=$row->beschreibung; + + $this->result[] = $b_obj; + } + return true; + } +} ?> \ No newline at end of file