From a568e68d3cf1946f5510349d6fd3147bd690598e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 18 Jun 2009 07:02:35 +0000 Subject: [PATCH] Umstellung auf Basisklasse und Datenbankklasse --- include/abschlusspruefung.class.php | 187 ++++---- include/adresse.class.php | 339 ++++++------- include/akadgrad.class.php | 68 +-- include/akte.class.php | 191 ++++---- include/antwort.class.php | 131 +++-- include/aufmerksamdurch.class.php | 169 ++----- include/ausbildungssemester.class.php | 184 -------- include/bankverbindung.class.php | 152 +++--- include/beispiel.class.php | 288 ++++++----- include/benutzer.class.php | 54 ++- include/benutzerberechtigung.class.php | 105 ++-- include/benutzergruppe.class.php | 153 +++--- include/benutzerlvstudiensemester.class.php | 139 +++--- include/berechtigung.class.php | 237 +++------- include/betriebsmittel.class.php | 154 +++--- include/betriebsmittelperson.class.php | 188 ++++---- include/betriebsmitteltyp.class.php | 122 ++--- include/bisfunktion.class.php | 154 +++--- include/bisio.class.php | 184 +++----- include/bisverwendung.class.php | 223 ++++----- include/dokument.class.php | 209 ++++---- include/entwicklungsteam.class.php | 193 ++++---- include/erhalter.class.php | 155 ++---- include/fachbereich.class.php | 122 ++--- include/feedback.class.php | 148 +++--- include/ferien.class.php | 146 +++--- include/firma.class.php | 159 +++---- include/frage.class.php | 207 ++++---- include/functions.inc.php | 124 +++-- include/funktion.class.php | 109 ++--- include/gebiet.class.php | 136 +++--- include/gruppe.class.php | 227 ++++----- include/kontakt.class.php | 167 +++---- include/konto.class.php | 139 +++--- include/legesamtnote.class.php | 140 +++--- include/lehreinheit.class.php | 349 +++++++------- include/lehreinheitgruppe.class.php | 252 +++++----- include/lehreinheitmitarbeiter.class.php | 221 ++++----- include/lehrfach.class.php | 206 ++++---- include/lehrform.class.php | 117 ++--- include/lehrfunktion.class.php | 82 +--- include/lehrstunde.class.php | 262 +++++----- include/lehrveranstaltung.class.php | 213 ++++----- include/lehrverband.class.php | 149 +++--- include/log.class.php | 179 +++---- include/lvgesamtnote.class.php | 179 +++---- include/lvinfo.class.php | 114 ++--- include/mail.class.php | 100 ++-- include/nation.class.php | 82 ++-- include/note.class.php | 144 ++---- include/organisationseinheit.class.php | 7 +- include/ort.class.php | 188 +++----- include/ortraumtyp.class.php | 88 ++-- include/person.class.php | 14 +- include/preinteressent.class.php | 337 ++++++------- include/prestudent.class.php | 338 ++++++------- include/projektarbeit.class.php | 163 +++---- include/projektbetreuer.class.php | 153 +++--- include/pruefling.class.php | 165 ++++--- include/pruefung.class.php | 225 ++++----- include/raumtyp.class.php | 106 ++--- include/raumtyp_old.class.php | 128 ----- include/reihungstest.class.php | 250 ++++------ include/reservierung.class.php | 128 ++--- include/resturlaub.class.php | 136 ++---- include/schluesseltyp.class.php | 72 +-- include/student.class.php | 236 +++++---- include/studentnote.class.php | 452 +++++++++--------- include/studiengang.class.php | 217 ++++----- include/studiensemester.class.php | 16 +- include/stunde.class.php | 91 +--- include/stundenplan.class.php | 148 +++--- include/uebung.class.php | 431 +++++++++-------- include/variable.class.php | 63 ++- include/vorlage.class.php | 85 +--- include/vorschlag.class.php | 171 ++++--- include/wochenplan.class.php | 499 +++++++++++--------- include/zeitaufzeichnung.class.php | 145 +++--- include/zeitsperre.class.php | 104 ++-- include/zeitwunsch.class.php | 154 +++--- include/zeugnisnote.class.php | 171 +++---- rdf/lehrverbandsgruppe.rdf.php | 8 +- rdf/reihungstest.rdf.php | 12 +- rdf/student.rdf.php | 122 +++-- rdf/studiengang.rdf.php | 33 +- 85 files changed, 6096 insertions(+), 8012 deletions(-) delete mode 100644 include/ausbildungssemester.class.php delete mode 100644 include/raumtyp_old.class.php diff --git a/include/abschlusspruefung.class.php b/include/abschlusspruefung.class.php index 327bc1aaa..b3712a45a 100644 --- a/include/abschlusspruefung.class.php +++ b/include/abschlusspruefung.class.php @@ -19,66 +19,50 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class abschlusspruefung +class abschlusspruefung extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var email Objekt + public $new; + public $result = array(); //Tabellenspalten - var $abschlusspruefung_id; - var $student_uid; - var $vorsitz; - var $pruefer1; - var $pruefer2; - var $pruefer3; - var $abschlussbeurteilung_kurzbz; - var $note; - var $akadgrad_id; - var $datum; - var $sponsion; - var $pruefungstyp_kurzbz; - var $anmerkung; - var $updateamum; - var $updatevon; - var $insertamum; - var $insertvon; - var $ext_id; + public $abschlusspruefung_id; + public $student_uid; + public $vorsitz; + public $pruefer1; + public $pruefer2; + public $pruefer3; + public $abschlussbeurteilung_kurzbz; + public $note; + public $akadgrad_id; + public $datum; + public $sponsion; + public $pruefungstyp_kurzbz; + public $anmerkung; + public $updateamum; + public $updatevon; + public $insertamum; + public $insertvon; + public $ext_id; - // *********************************************** - // * Konstruktor - // * @param conn Connection zur Datenbank - // * abschlusspruefung_id ID des zu ladenden Datensatzes - // *********************************************** - function abschlusspruefung($conn, $abschlusspruefung_id=null, $unicode=false) + /** + * Konstruktor + * @param abschlusspruefung_id ID des zu ladenden Datensatzes + */ + public function __construct($abschlusspruefung_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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($abschlusspruefung_id!= null) + parent::__constuct(); + + if(!is_null($abschlusspruefung_id)) $this->load($abschlusspruefung_id); } - // *********************************************** - // * Laedt einen Datensatz - // * @param abschlusspruefung_id ID des zu ladenden Datensatzes - // *********************************************** - function load($abschlusspruefung_id) + /** + * Laedt einen Datensatz + * @param abschlusspruefung_id ID des zu ladenden Datensatzes + */ + public function load($abschlusspruefung_id) { //id auf Gueltigkeit pruefen if(!is_numeric($abschlusspruefung_id)) @@ -88,11 +72,11 @@ class abschlusspruefung } //laden des Datensatzes - $qry = "SELECT * FROM lehre.tbl_abschlusspruefung WHERE abschlusspruefung_id='$abschlusspruefung_id';"; + $qry = "SELECT * FROM lehre.tbl_abschlusspruefung WHERE abschlusspruefung_id='".addslashes($abschlusspruefung_id)."';"; - if($result = pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->abschlusspruefung_id = $row->abschlusspruefung_id; $this->student_uid = $row->student_uid; @@ -127,12 +111,12 @@ class abschlusspruefung } } - // ************************************************** - // * Loescht einen Datensatz - // * @param abschlusspruefung_id ID des zu loeschenden Datensatzes - // * @return true wenn ok, false im Fehlerfall - // ************************************************** - function delete($abschlusspruefung_id) + /** + * Loescht einen Datensatz + * @param abschlusspruefung_id ID des zu loeschenden Datensatzes + * @return true wenn ok, false im Fehlerfall + */ + public function delete($abschlusspruefung_id) { //abschlusspruefung_id auf Gueltigkeit pruefen if(!is_numeric($abschlusspruefung_id)) @@ -141,9 +125,9 @@ class abschlusspruefung return false; } - $qry = "DELETE FROM lehre.tbl_abschlusspruefung WHERE abschlusspruefung_id = '$abschlusspruefung_id';"; + $qry = "DELETE FROM lehre.tbl_abschlusspruefung WHERE abschlusspruefung_id = '".addslashes($abschlusspruefung_id)."';"; - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; @@ -155,29 +139,38 @@ class abschlusspruefung } } - function validate() + /** + * Prueft die Daten vor dem Speichern + * + * @return true wenn ok, false wenn Fehler + */ + protected function validate() { + if($this->akadgrad_id=='') + { + $this->errormsg = 'AkadGrad muss eingegeben werden'; + return false; + } + if($this->pruefungstyp_kurzbz=='') + { + $this->errormsg = 'Pruefungstyp muss eingetragen werden'; + return false; + } + if($this->student_uid=='') + { + $this->errormsg = 'UID muss eingetragen werden'; + return false; + } return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ********************************************************************* - // * Speichert den aktuellen Datensatz - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ********************************************************************* - function save($new=null) + + /** + * Speichert den aktuellen Datensatz + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if(!$this->validate()) return false; @@ -230,30 +223,30 @@ class abschlusspruefung " WHERE abschlusspruefung_id='".addslashes($this->abschlusspruefung_id)."'"; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('lehre.tbl_abschlusspruefung_abschlusspruefung_id') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->abschlusspruefung_id = $row->id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -267,20 +260,20 @@ class abschlusspruefung } } - // ************************************************ - // * Laedt alle Abschlusspruefungen eines Studenten - // * @param student_uid UID des Studenten - // * @return true wenn ok, false wenn Fehler - // ************************************************ - function getAbschlusspruefungen($student_uid) + /** + * Laedt alle Abschlusspruefungen eines Studenten + * @param student_uid UID des Studenten + * @return true wenn ok, false wenn Fehler + */ + public function getAbschlusspruefungen($student_uid) { $qry = "SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid='".addslashes($student_uid)."' ORDER BY datum DESC"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new abschlusspruefung($this->conn, null, null); + $obj = new abschlusspruefung(); $obj->abschlusspruefung_id = $row->abschlusspruefung_id; $obj->student_uid = $row->student_uid; diff --git a/include/adresse.class.php b/include/adresse.class.php index 11b5cbaaa..ae1487832 100644 --- a/include/adresse.class.php +++ b/include/adresse.class.php @@ -23,72 +23,51 @@ * Klasse Adresse * @create 13-03-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class adresse +class adresse extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var adresse Objekt - var $done=false; //@ boolean + public $new; // boolean + public $result = array(); // adresse Objekt //Tabellenspalten - var $adresse_id; // @var integer - var $person_id; // @var integer - var $name; // @var string - var $strasse; // @var string - var $plz; // @var string - var $ort; // @var string - var $gemeinde; // @var string - var $nation; // @var string - var $typ; // @var string - var $heimatadresse; // @var boolean - var $zustelladresse; // @var boolean - var $firma_id; // @var integer - var $updateamum; // @var timestamp - var $updatevon; // @var string - var $insertamum; // @var timestamp - var $insertvon; // @var string - var $ext_id; // @var integer + public $adresse_id; // integer + public $person_id; // integer + public $name; // string + public $strasse; // string + public $plz; // string + public $ort; // string + public $gemeinde; // string + public $nation; // string + public $typ; // string + public $heimatadresse; // boolean + public $zustelladresse; // boolean + public $firma_id; // integer + public $updateamum; // timestamp + public $updatevon; // string + public $insertamum; // timestamp + public $insertvon; // string + public $ext_id; // integer - // ************************************************************************* - // * Konstruktor - // * @param $conn Connection - // * $adress_id ID der Adresse die geladen werden soll (Default=null) - // * $unicode wenn false dann wird das Encoding auf LATIN9 gesetzt - // * wenn true dann auf UNICODE - // * wenn null dann wird das Encoding nicht veraendert - // ************************************************************************* - function adresse($conn,$adresse_id=null,$unicode=false) + /** + * Konstruktor + * @param $adress_id ID der Adresse die geladen werden soll (Default=null) + */ + public function __construct($adresse_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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($adresse_id != null) + parent::__construct(); + + if(!is_null($adresse_id)) $this->load($adresse_id); } - // *********************************************** - // * Laedt die Adresse mit der ID $adresse_id - // * @param $adress_id ID der zu ladenden Adresse - // * @return true wenn ok, false im Fehlerfall - // *********************************************** - function load($adresse_id) + /** + * Laedt die Adresse mit der ID $adresse_id + * @param $adress_id ID der zu ladenden Adresse + * @return true wenn ok, false im Fehlerfall + */ + public function load($adresse_id) { - //Pruefen ob adress_id eine gueltige Zahl ist if(!is_numeric($adresse_id) || $adresse_id == '') { @@ -97,33 +76,32 @@ class adresse } //Daten aus der Datenbank lesen - $qry = "SELECT * FROM public.tbl_adresse WHERE adresse_id='$adresse_id'"; + $qry = "SELECT * FROM public.tbl_adresse WHERE adresse_id='".addslashes($adresse_id)."'"; - if(!$res = pg_query($this->conn,$qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; } - if($row = pg_fetch_object($res)) + if($row = $this->db_fetch_object($res)) { $this->adresse_id = $row->adresse_id; $this->heimatadresse = ($row->heimatadresse=='t'?true:false); $this->zustelladresse = ($row->zustelladresse=='t'?true:false); - $this->gemeinde = $row->gemeinde; - $this->name = $row->name; + $this->gemeinde = $row->gemeinde; + $this->name = $row->name; $this->nation = $row->nation; - $this->ort = $row->ort; + $this->ort = $row->ort; $this->person_id = $row->person_id; - $this->plz = $row->plz; - $this->strasse = $row->strasse; - $this->typ = $row->typ; + $this->plz = $row->plz; + $this->strasse = $row->strasse; + $this->typ = $row->typ; $this->updateamum = $row->updateamum; $this->updatevon = $row->updatevon; $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; - $this->firma_id = $row->firma_id; - + $this->firma_id = $row->firma_id; } else { @@ -134,32 +112,32 @@ class adresse return true; } - // ************************************************************************* - // * Laedt alle adressen zu der Person die uebergeben wird - // * @param $pers_id ID der Person zu der die Adressen geladen werden sollen - // * @return true wenn ok, false im Fehlerfall - // ************************************************************************* - function load_pers($pers_id) + /** + * Laedt alle Adressen zu der Person die uebergeben wird + * @param $pers_id ID der Person zu der die Adressen geladen werden sollen + * @return true wenn ok, false im Fehlerfall + */ + public function load_pers($pers_id) { //Pruefen ob pers_id eine gueltige Zahl ist if(!is_numeric($pers_id) || $pers_id == '') { - $this->errormsg = 'person_id muss eine gueltige Zahl sein'; + $this->errormsg = 'person_id muss eine gültige Zahl sein'; return false; } //Lesen der Daten aus der Datenbank - $qry = "SELECT * FROM public.tbl_adresse WHERE person_id='$pers_id'"; + $qry = "SELECT * FROM public.tbl_adresse WHERE person_id='".addslashes($pers_id)."'"; - if(!$res = pg_query($this->conn,$qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object($res)) { - $adr_obj = new adresse($this->conn, null, null); + $adr_obj = new adresse(); $adr_obj->adresse_id = $row->adresse_id; $adr_obj->heimatadresse = ($row->heimatadresse=='t'?true:false); @@ -183,32 +161,32 @@ class adresse return true; } - // ************************************************************************* - // * Laedt alle adressen zu der Firma die uebergeben wird - // * @param $firma_id ID der Firma zu der die Adressen geladen werden sollen - // * @return true wenn ok, false im Fehlerfall - // ************************************************************************* - function load_firma($firma_id) + /** + * Laedt alle Adressen zu der Firma die uebergeben wird + * @param $firma_id ID der Firma zu der die Adressen geladen werden sollen + * @return true wenn ok, false im Fehlerfall + */ + public function load_firma($firma_id) { //Pruefen ob pers_id eine gueltige Zahl ist if(!is_numeric($firma_id) || $firma_id == '') { - $this->errormsg = 'firma_id muss eine gueltige Zahl sein'; + $this->errormsg = 'firma_id muss eine gültige Zahl sein'; return false; } //Lesen der Daten aus der Datenbank - $qry = "SELECT * FROM public.tbl_adresse WHERE firma_id='$firma_id'"; + $qry = "SELECT * FROM public.tbl_adresse WHERE firma_id='".addslashes($firma_id)."'"; - if(!$res = pg_query($this->conn,$qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object($res)) { - $adr_obj = new adresse($this->conn, null, null); + $adr_obj = new adresse(); $adr_obj->adresse_id = $row->adresse_id; $adr_obj->heimatadresse = ($row->heimatadresse=='t'?true:false); @@ -232,73 +210,61 @@ class adresse return true; } - // ******************************************* - // * Prueft die Variablen auf Gueltigkeit - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen auf Gueltigkeit + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { //Zahlenfelder pruefen if(!is_numeric($this->person_id) && $this->person_id!='') { - $this->errormsg='person_id enthaelt ungueltige Zeichen:'.$this->person_id.' - adresse: '.$this->adresse_id."\n"; + $this->errormsg='person_id enthaelt ungueltige Zeichen'; return false; } //Gesamtlaenge pruefen - //$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten'; if(strlen($this->name)>255) { - $this->errormsg = 'Name darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n"; + $this->errormsg = 'Name darf nicht länger als 255 Zeichen sein'; return false; } if(strlen($this->strasse)>255) { - $this->errormsg = 'Strasse darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n"; + $this->errormsg = 'Strasse darf nicht länger als 255 Zeichen sein'; return false; } if(strlen($this->plz)>10) { - $this->errormsg = 'Plz darf nicht länger als 10 Zeichen sein - adresse: '.$this->adresse_id."\n"; + $this->errormsg = 'Plz darf nicht länger als 10 Zeichen sein'; return false; } if(strlen($this->ort)>255) { - $this->errormsg = 'Ort darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n"; + $this->errormsg = 'Ort darf nicht länger als 255 Zeichen sein'; return false; } if(strlen($this->nation)>3) { - $this->errormsg = 'Nation darf nicht länger als 3 Zeichen sein - adresse: '.$this->adresse_id."\n"; + $this->errormsg = 'Nation darf nicht länger als 3 Zeichen sein'; return false; } if(strlen($this->gemeinde)>255) { - $this->errormsg = 'Gemeinde darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n"; + $this->errormsg = 'Gemeinde darf nicht länger als 255 Zeichen sein'; return false; } $this->errormsg = ''; return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // *********************************************************************** - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // *********************************************************************** - function save() + + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save() { //Variablen pruefen if(!$this->validate()) @@ -323,129 +289,94 @@ class adresse ($this->firma_id!=null?$this->addslashes($this->firma_id):'null').', now(), '. $this->addslashes($this->updatevon).', '. $this->addslashes($this->ext_id).');'; - - $this->done=true; } else { - //Updaten des bestehenden Datensatzes - //Pruefen ob adresse_id eine gueltige Zahl ist if(!is_numeric($this->adresse_id)) { - $this->errormsg = 'adresse_id muss eine gueltige Zahl sein: '.$this->adresse_id."\n"; + $this->errormsg = 'adresse_id muss eine gültige Zahl sein: '.$this->adresse_id."\n"; return false; } - $qryz="SELECT * FROM public.tbl_adresse WHERE adresse_id='$this->adresse_id';"; - if($resultz = pg_query($this->conn, $qryz)) - { - if($rowz = pg_fetch_object($resultz)) - { - $update=false; - if($rowz->person_id!=$this->person_id) $update=true; - if($rowz->name!=$this->name) $update=true; - if($rowz->strasse!=$this->strasse) $update=true; - if($rowz->plz!=$this->plz) $update=true; - if($rowz->typ!=$this->typ) $update=true; - if($rowz->ort!=$this->ort) $update=true; - if($rowz->nation!=$this->nation) $update=true; - if($rowz->gemeinde!=$this->gemeinde) $update=true; - if($rowz->heimatadresse!=$this->heimatadresse?'true':'false') $update=true; - if($rowz->zustelladresse!=$this->zustelladresse?'true':'false') $update=true; - if($rowz->firma_id!=$this->firma_id) $update=true; - - if($update) - { - $qry='UPDATE public.tbl_adresse SET'. - ' person_id='.$this->addslashes($this->person_id).', '. - ' name='.$this->addslashes($this->name).', '. - ' strasse='.$this->addslashes($this->strasse).', '. - ' plz='.$this->addslashes($this->plz).', '. - ' typ='.$this->addslashes($this->typ).', '. - ' ort='.$this->addslashes($this->ort).', '. - ' nation='.$this->addslashes($this->nation).', '. - ' gemeinde='.$this->addslashes($this->gemeinde).', '. - ' firma_id='.$this->addslashes($this->firma_id).','. - ' updateamum= now(), '. - ' updatevon='.$this->addslashes($this->updatevon).', '. - ' heimatadresse='.($this->heimatadresse?'true':'false').', '. - ' zustelladresse='.($this->zustelladresse?'true':'false').' '. - 'WHERE adresse_id='.$this->adresse_id.';'; - $this->done=true; - } - } - } + $qry='UPDATE public.tbl_adresse SET'. + ' person_id='.$this->addslashes($this->person_id).', '. + ' name='.$this->addslashes($this->name).', '. + ' strasse='.$this->addslashes($this->strasse).', '. + ' plz='.$this->addslashes($this->plz).', '. + ' typ='.$this->addslashes($this->typ).', '. + ' ort='.$this->addslashes($this->ort).', '. + ' nation='.$this->addslashes($this->nation).', '. + ' gemeinde='.$this->addslashes($this->gemeinde).', '. + ' firma_id='.$this->addslashes($this->firma_id).','. + ' updateamum= now(), '. + ' updatevon='.$this->addslashes($this->updatevon).', '. + ' heimatadresse='.($this->heimatadresse?'true':'false').', '. + ' zustelladresse='.($this->zustelladresse?'true':'false').' '. + 'WHERE adresse_id='.$this->adresse_id.';'; } - //echo $qry; - if ($this->done) + + if($this->db_query($qry)) { - if(pg_query($this->conn,$qry)) + if($this->new) { - if($this->new) + //naechste ID aus der Sequence holen + $qry="SELECT currval('public.tbl_adresse_adresse_id_seq') as id;"; + if($this->db_query($qry)) { - //naechste ID aus der Sequence holen - $qry="SELECT currval('public.tbl_adresse_adresse_id_seq') as id;"; - if($result = pg_query($this->conn, $qry)) + if($row = $this->db_fetch_object()) { - if($row = pg_fetch_object($result)) - { - $this->adresse_id = $row->id; - pg_query($this->conn, 'COMMIT'); - return true; - } - else - { - pg_query($this->conn, 'ROLLBACK'); - $this->errormsg = "Fehler beim Auslesen der Sequence"; - return false; - } + $this->adresse_id = $row->id; + $this->db_query('COMMIT'); + return true; } else { - pg_query($this->conn, 'ROLLBACK'); - $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + $this->errormsg = "Fehler beim Auslesen der Sequence"; return false; } } + else + { + $this->db_query('ROLLBACK'); + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + return false; + } } - else - { - //echo $qry; - $this->errormsg = "*****\nFehler beim Speichern des Adress-Datensatzes: ".$this->person_id."\n".$qry."\n".pg_errormessage($this->conn)."\n*****\n"; - return false; - } - return true; + else + return true; } else { - return true; + $this->errormsg = 'Fehler beim Speichern des Adress-Datensatzes'; + return false; } } - // ******************************************************** - // * Loescht den Datenensatz mit der ID die uebergeben wird - // * @param $adresse_id ID die geloescht werden soll - // * @return true wenn ok, false im Fehlerfall - // ******************************************************** - function delete($adresse_id) + /** + * Loescht den Datenensatz mit der ID die uebergeben wird + * @param $adresse_id ID die geloescht werden soll + * @return true wenn ok, false im Fehlerfall + */ + public function delete($adresse_id) { //Pruefen ob adresse_id eine gueltige Zahl ist if(!is_numeric($adresse_id) || $adresse_id == '') { - $this->errormsg = 'adresse_id muss eine gueltige Zahl sein'."\n"; + $this->errormsg = 'adresse_id muss eine gültige Zahl sein'."\n"; return false; } //loeschen des Datensatzes - $qry="DELETE FROM public.tbl_adresse WHERE adresse_id='$adresse_id';"; + $qry="DELETE FROM public.tbl_adresse WHERE adresse_id='".addslashes($adresse_id)."';"; - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { return true; } else { - $this->errormsg = 'Fehler beim loeschen der Daten'."\n"; + $this->errormsg = 'Fehler beim Löschen der Daten'."\n"; return false; } } diff --git a/include/akadgrad.class.php b/include/akadgrad.class.php index 56049faf5..147f9f9e9 100644 --- a/include/akadgrad.class.php +++ b/include/akadgrad.class.php @@ -19,67 +19,51 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class akadgrad +class akadgrad extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var email Objekt + public $new; + public $result = array(); //Tabellenspalten - var $akadgrad_id; - var $akadgrad_kurzbz; - var $studiengang_kz; - var $titel; - var $geschlecht; + public $akadgrad_id; + public $akadgrad_kurzbz; + public $studiengang_kz; + public $titel; + public $geschlecht; - // *********************************************** - // * Konstruktor - // * @param conn Connection zur Datenbank - // * akadgrad_id ID des zu ladenden Datensatzes - // *********************************************** - function akadgrad($conn, $akadgrad_id=null, $unicode=false) + /** + * Konstruktor + * @param akadgrad_id ID des zu ladenden Datensatzes + */ + public function __construct($akadgrad_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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($akadgrad_id != null) + parent::__construct(); + + if(!is_null($akadgrad_id)) $this->load($akadgrad_id); } - // *********************************************** - // * Laedt einen Datensatz - // * @param akadgrad_id ID des zu ladenden Datensatzes - // *********************************************** - function load($akadgrad_id) + /** + * Laedt einen Datensatz + * @param akadgrad_id ID des zu ladenden Datensatzes + */ + public function load($akadgrad_id) { //akadgrad_id auf gueltigkeit pruefen if(!is_numeric($akadgrad_id) || $akadgrad_id == '') { - $this->errormsg = 'akadgrad_id muss eine gueltige Zahl sein'; + $this->errormsg = 'akadgrad_id muss eine gültige Zahl sein'; return false; } //laden des Datensatzes - $qry = "SELECT * FROM lehre.tbl_akadgrad WHERE akadgrad_id='$akadgrad_id';"; + $qry = "SELECT * FROM lehre.tbl_akadgrad WHERE akadgrad_id='".addslashes($akadgrad_id)."';"; - if($result = pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->akadgrad_id = $row->akadgrad_id; $this->akadgrad_kurzbz = $row->akadgrad_kurzbz; diff --git a/include/akte.class.php b/include/akte.class.php index 6b0288db8..cf391fabe 100644 --- a/include/akte.class.php +++ b/include/akte.class.php @@ -19,63 +19,47 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class akte +class akte extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var email Objekt + public $new; + public $result = array(); //Tabellenspalten - var $akte_id; - var $person_id; - var $dokument_kurzbz; - var $inhalt; - var $mimetype; - var $erstelltam; - var $gedruckt; - var $titel; - var $bezeichnung; - var $updateamum; - var $updatevon; - var $insertamum; - var $insertvon; - var $uid; - var $ext_id; + public $akte_id; + public $person_id; + public $dokument_kurzbz; + public $inhalt; + public $mimetype; + public $erstelltam; + public $gedruckt; + public $titel; + public $bezeichnung; + public $updateamum; + public $updatevon; + public $insertamum; + public $insertvon; + public $uid; + public $ext_id; - // *********************************************** - // * Konstruktor - // * @param conn Connection zur Datenbank - // * akte_id ID des zu ladenden Datensatzes - // *********************************************** - function akte($conn, $akte_id=null, $unicode=false) + /** + * Konstruktor + * @param akte_id ID des zu ladenden Datensatzes + */ + public function __construct($akte_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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($akte_id != null) + parent::__construct(); + + if(!is_null($akte_id)) $this->load($akte_id); } - // *********************************************** - // * Laedt einen Datensatz - // * @param akte_id ID des zu ladenden Datensatzes - // *********************************************** - function load($akte_id) + /** + * Laedt einen Datensatz + * @param akte_id ID des zu ladenden Datensatzes + */ + public function load($akte_id) { //akte_id auf gueltigkeit pruefen if(!is_numeric($akte_id) || $akte_id == '') @@ -85,11 +69,11 @@ class akte } //laden des Datensatzes - $qry = "SELECT * FROM public.tbl_akte WHERE akte_id='$akte_id';"; + $qry = "SELECT * FROM public.tbl_akte WHERE akte_id='".addslashes($akte_id)."';"; - if($result = pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->akte_id = $row->akte_id; $this->person_id = $row->person_id; @@ -120,12 +104,12 @@ class akte } } - // ************************************************** - // * Loescht einen Datensatz - // * @param akte_id ID des zu loeschenden Datensatzes - // * @return true wenn ok, false im Fehlerfall - // ************************************************** - function delete($akte_id) + /** + * Loescht einen Datensatz + * @param akte_id ID des zu loeschenden Datensatzes + * @return true wenn ok, false im Fehlerfall + */ + public function delete($akte_id) { //akte_id auf gueltigkeit pruefen if(!is_numeric($akte_id) || $akte_id == '') @@ -134,46 +118,52 @@ class akte return false; } - $qry = "DELETE FROM public.tbl_akte WHERE akte_id = '$akte_id';"; + $qry = "DELETE FROM public.tbl_akte WHERE akte_id = '".addslashes($akte_id)."';"; - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; } else { - $this->errormsg = 'Fehler beim loeschen'; + $this->errormsg = 'Fehler beim Löschen'; return false; } } - function validate() + /** + * Prueft die Variablen vor dem Speichern + * + * @return true wenn ok, sonst false + */ + protected function validate() { + if($this->person_id=='') + { + $this->errormsg = 'Person ID muss angegeben werden'; + return false; + } + if($this->dokument_kurzbz!='') + { + $this->errormsg = 'DokumentKurzbz muss angegeben werden'; + return false; + } + return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ********************************************************************* - // * Speichert den aktuellen Datensatz - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ********************************************************************* - function save($new=null) + + /** + * Speichert den aktuellen Datensatz + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if(!$this->validate()) return false; + if($new==null) $new = $this->new; @@ -217,30 +207,30 @@ class akte " WHERE akte_id='".addslashes($this->akte_id)."'"; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('public.tbl_akte_akte_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->akte_id = $row->id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } - else + else { - $this->errormsg = 'Fehler beim auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); return false; } } else { - $this->errormsg = 'Fehler beim auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); return false; } } @@ -254,18 +244,28 @@ class akte } } - function getAkten($person_id, $dokument_kurzbz=null) + /** + * Liefert die Akten einer Person + * + * @param $person_id + * @param $dokument_kurzbz + * @return true wenn ok, sonst false + */ + public function getAkten($person_id, $dokument_kurzbz=null) { - $qry = "SELECT akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid FROM public.tbl_akte WHERE person_id='".addslashes($person_id)."'"; + $qry = "SELECT + akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, + titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid + FROM public.tbl_akte WHERE person_id='".addslashes($person_id)."'"; if($dokument_kurzbz!=null) $qry.=" AND dokument_kurzbz='".addslashes($dokument_kurzbz)."'"; $qry.=" ORDER BY erstelltam"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $akten = new akte($this->conn, null, null); + $akten = new akte(); $akten->akte_id = $row->akte_id; $akten->person_id = $row->person_id; @@ -288,10 +288,9 @@ class akte } else { - $this->errormsg = 'Fehler beim laden der Daten'; + $this->errormsg = 'Fehler beim Laden der Daten'; return false; } } - } ?> \ No newline at end of file diff --git a/include/antwort.class.php b/include/antwort.class.php index 8c3c48ea9..f1917eb79 100644 --- a/include/antwort.class.php +++ b/include/antwort.class.php @@ -19,57 +19,43 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class antwort +class antwort extends basis_db { //Tabellenspalten - var $antwort_id; - var $pruefling_id; - var $vorschlag_id; + public $antwort_id; + public $pruefling_id; + public $vorschlag_id; // ErgebnisArray - var $result=array(); - var $num_rows=0; - var $errormsg; - var $new; + public $result=array(); + public $num_rows=0; + public $new; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Antwort - // * @param $conn Datenbank-Connection - // * $frage_id Frage die geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function antwort($conn, $antwort_id=null, $unicode=false) + /** + * Konstruktor - Uebergibt die Connection und laedt optional eine Antwort + * @param $frage_id Frage die geladen werden soll (default=null) + */ + public function __construct($antwort_id=null) { - $this->conn = $conn; -/* - 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($antwort_id != null) + parent::__construct(); + + if(!is_null(antwort_id)) $this->load($antwort_id); } - // *********************************************************** - // * Laedt antwort mit der uebergebenen ID - // * @param $antwort_id ID der Frage die geladen werden soll - // *********************************************************** - function load($antwort_id) + /** + * Laedt Antwort mit der uebergebenen ID + * @param $antwort_id ID der Frage die geladen werden soll + */ + public function load($antwort_id) { $qry = "SELECT * FROM testtool.tbl_antwort WHERE antwort_id='".addslashes($antwort_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->antwort_id = $row->antwort_id; $this->pruefling_id = $row->pruefling_id; @@ -78,45 +64,34 @@ class antwort } else { - $this->errormsg = "Kein Eintrag gefunden fuer $antwort_id"; + $this->errormsg = 'Kein Eintrag gefunden'; return false; - } + } } - else + else { $this->errormsg = "Fehler beim Laden der Antwort"; return false; - } + } } - - // ************************************************ - // * 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'); - } - - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { return true; } - // ****************************************************************** - // * Speichert die Daten in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt - // * ansonsten upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ****************************************************************** - function save() + /** + * Speichert die Daten in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt + * ansonsten upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { //Variablen auf Gueltigkeit pruefen if(!$this->validate()) @@ -132,18 +107,18 @@ class antwort { $qry = 'UPDATE testtool.tbl_antwort SET'. ' vorschlag_id='.$this->addslashes($this->vorschlag_id).','. - " pruefling_id='".$this->pruefling_id."'". + ' pruefling_id='.$this->addslashes($this->pruefling_id).','. " WHERE antwort_id='".addslashes($this->antwort_id)."'"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; } else { - $this->errormsg = 'Fehler beim Speichern der Antwort:'.$qry; + $this->errormsg = 'Fehler beim Speichern der Antwort'; return false; } } @@ -163,7 +138,7 @@ class antwort } $qry = "DELETE FROM testtool.tbl_antwort WHERE antwort_id='".addslashes($antwort_id)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -174,7 +149,14 @@ class antwort } } - function getAntwort($pruefling_id, $frage_id) + /** + * Liefert die Antwort eines Pruefling zu einer Frage + * + * @param $pruefling_id + * @param $frage_id + * @return boolean + */ + public function getAntwort($pruefling_id, $frage_id) { $qry = "SELECT * FROM testtool.tbl_antwort JOIN testtool.tbl_pruefling_frage USING(pruefling_id) JOIN testtool.tbl_vorschlag USING(vorschlag_id) @@ -182,11 +164,12 @@ class antwort tbl_vorschlag.frage_id=tbl_pruefling_frage.frage_id AND pruefling_id='".addslashes($pruefling_id)."' AND tbl_vorschlag.frage_id='".addslashes($frage_id)."'"; - if($result = pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new antwort($this->conn, null, null); + $obj = new antwort(); $obj->antwort_id = $row->antwort_id; $obj->frage_id = $row->frage_id; diff --git a/include/aufmerksamdurch.class.php b/include/aufmerksamdurch.class.php index 044db3097..102da78b0 100644 --- a/include/aufmerksamdurch.class.php +++ b/include/aufmerksamdurch.class.php @@ -23,73 +23,57 @@ * Klasse aufmerksamdurch * @create 02-01-2007 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class aufmerksamdurch +class aufmerksamdurch extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $done=false; // @var boolean - var $result = array(); + public $new; + public $result = array(); //Tabellenspalten - Var $aufmerksamdurch_kurzbz; // @var string - var $beschreibung; // @var integer - var $ext_id; // @var integer + public $aufmerksamdurch_kurzbz; + public $beschreibung; + public $ext_id; - // **** - // * Konstruktor - // * @param $conn Connection - // * $aufmerksamdurch_kurzbz = ID (Default=null) - // * $unicode - // **** - function aufmerksamdurch($conn,$aufmerksamdurch_kurzbz=null, $unicode=false) + /** + * Konstruktor + * @param $aufmerksamdurch_kurzbz = ID (Default=null) + */ + public function __construct($aufmerksamdurch_kurzbz=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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; - } - } -*/ + parent::__construct(); + + if(!is_null($aufmerksamdurch_kurzbz)) + $this->load($aufmerksamdurch_kurzbz); } - // ******************************************* - // * @param $aufmerksam_kurzbz ID - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function load($aufmerksam_kurzbz) + /** + * Laedt einen Datensatz + * @param $aufmerksam_kurzbz ID + * @return true wenn ok, false im Fehlerfall + */ + public function load($aufmerksam_kurzbz) { //noch nicht implementiert + return false; } - // ******************************************* - // * Laedt alle Datansaetze - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function getAll($orderby='aufmerksamdurch_kurzbz') + /** + * Laedt alle Datansaetze + * @return true wenn ok, false im Fehlerfall + */ + public function getAll($orderby='aufmerksamdurch_kurzbz') { $qry = "SELECT * FROM public.tbl_aufmerksamdurch"; if($orderby!='') $qry .= " ORDER BY ".$orderby; - if($result = pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new aufmerksamdurch($this->conn, null, null); + $obj = new aufmerksamdurch(); $obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz; $obj->beschreibung = $row->beschreibung; @@ -100,32 +84,20 @@ class aufmerksamdurch } else { - $this->errormsg = 'Fehler beim laden'; + $this->errormsg = 'Fehler beim Laden'; return false; } - } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); } - - // ************************************************************************** - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $schluessel_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ************************************************************************** - function save() - { - $this->done=false; + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $schluessel_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save() + { + if($this->new) { //Neuen Datensatz einfuegen @@ -134,62 +106,23 @@ class aufmerksamdurch $this->addslashes($this->aufmerksamdurch_kurzbz).', '. $this->addslashes($this->beschreibung).', '. $this->addslashes($this->ext_id).');'; - $this->done=true; } else { - $qryz="SELECT * FROM public.tbl_aufmerksamdurch WHERE aufmerksamdurch_kurzbz='$this->aufmerksamdurch_kurzbz';"; - if($resultz = pg_query($this->conn, $qryz)) - { - while($rowz = pg_fetch_object($resultz)) - { - $update=false; - if($rowz->beschreibung!=$this->beschreibung) $update=true; - if($rowz->beschreibung!=$this->ext_id) $update=true; - - if($update) - { - $qry='UPDATE public.tbl_aufmerksamdurch SET '. - 'beschreibung='.$this->addslashes($this->beschreibung).', '. - 'ext_id='.$this->addslashes($this->ext_id).' '. - 'WHERE aufmerksamdurch_kurzbz='.$this->addslashes($this->aufmerksamdurch_kurzbz).';'; - $this->done=true; - } - } - } + $qry='UPDATE public.tbl_aufmerksamdurch SET '. + 'beschreibung='.$this->addslashes($this->beschreibung).', '. + 'ext_id='.$this->addslashes($this->ext_id).' '. + 'WHERE aufmerksamdurch_kurzbz='.$this->addslashes($this->aufmerksamdurch_kurzbz).';'; } - if ($this->done) + + if(pg_query($this->conn, $qry)) { - if(pg_query($this->conn, $qry)) - { - //Log schreiben - /*$sql = $qry; - $qry = "SELECT nextval('log_seq') as id;"; - if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) - { - $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; - return false; - } - - $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; - if(pg_query($this->conn, $qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; - return false; - } */ - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern der Daten'; - return false; - } + return true; } else { - return true; + $this->errormsg = 'Fehler beim Speichern der Daten'; + return false; } } } diff --git a/include/ausbildungssemester.class.php b/include/ausbildungssemester.class.php deleted file mode 100644 index 34da323d6..000000000 --- a/include/ausbildungssemester.class.php +++ /dev/null @@ -1,184 +0,0 @@ -conn = $conn; -/* - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - if(!pg_query($conn,$qry)) - { - $this->errormsg = "Encoding konnte nicht gesetzt werden"; - return false; - } -*/ - if($ausbildungssemester_id != null) - $this->load($ausbildungssemester_id); - } - - /** - * Laedt einen Datensatz aus der Datenbank - * @param $ausbildungssemester_id ID des zu ladenden Datensatzes - * @return true wenn ok, false im Fehlerfall - */ - function load($ausbildungssemester_id) - { - if(!is_numeric($ausbildungssemester_id) || $ausbildungssemester_id == '') - { - $this->errormsg = 'ausbildungssemester_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT * FROM ausbildungssemester WHERE ausbildungssemester_pk = '$ausbildungssemester_id';"; - - if(!$res = pg_query($this->conn, $qry)) - { - $this->errormsg = 'Fehler beim laden des Datensatzes'; - return false; - } - - if($row=pg_fetch_object($res)) - { - $this->ausbildungssemester_id = $row->ausbildungssemester_pk; - $this->studiengang_id = $row->studiengang_fk; - $this->semester = $row->semester; - $this->name = $row->name; - $this->personenstatus = $row->personenstatus; - $this->updateamum = $row->creationdate; - $this->updatevon = $row->creationuser; - } - else - { - $this->errormsg = 'Fehler beim laden des Datensatzes'; - return false; - } - - return true; - } - - /** - * Liefert alle ausbildungssemester zu einem Studiengang - * @param $studiengang_id Studiengang_id des Ausbildungssemesters - * @return true wenn ok, false im Fehlerfall - */ - function load_stg($studiengang_id) - { - if(!is_numeric($studiengang_id) || $studiengang_id == '') - { - $this->errormsg = 'studiengang_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT * FROM ausbildungssemester WHERE studiengang_fk = '$studiengang_id' order by semester"; - - if(!$res = pg_query($this->conn, $qry)) - { - $this->errormsg = 'Fehler beim laden des Datensatzes'; - return false; - } - - while($row = pg_fetch_object($res)) - { - $ausb_obj = new ausbildungssemester($this->conn); - - $ausb_obj->ausbildungssemester_id = $row->ausbildungssemester_pk; - $ausb_obj->studiengang_id = $row->studiengang_fk; - $ausb_obj->semester = $row->semester; - $ausb_obj->name = $row->name; - $ausb_obj->personenstatus = $row->personenstatus; - $ausb_obj->updateamum = $row->creationdate; - $ausb_obj->updatevon = $row->creationuser; - - $this->result[] = $ausb_obj; - } - return true; - } - - /** - * Liefert alle Ausbildungssemester - * @return true wenn ok, false im Fehlerfall - */ - function getAll() - { - $qry = "SELECT * FROM ausbildungssemester;"; - - if(!$res = pg_query($this->conn, $qry)) - { - $this->errormsg = 'Fehler beim laden des Datensatzes'; - return false; - } - - while($row = pg_fetch_object($res)) - { - $ausb_obj = new ausbildungssemester($this->conn); - - $ausb_obj->ausbildungssemester_id = $row->ausbildungssemester_pk; - $ausb_obj->studiengang_id = $row->studiengang_fk; - $ausb_obj->semester = $row->semester; - $ausb_obj->name = $row->name; - $ausb_obj->personenstatus = $row->personenstatus; - $ausb_obj->updateamum = $row->creationdate; - $ausb_obj->updatevon = $row->creationuser; - - $this->result[] = $ausb_obj; - } - return true; - } - - /** - * Checkt die Variablen vor dem Speichern - * @return true wenn ok, false im Fehlerfall - */ - function checkvars() - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - - /** - * Speichert den aktuellen Datensatz - * @return true wenn ok, false im Fehlerfall - */ - function save() - { - if(!checkvars()) - return false; - - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - - /** - * Loescht den Datensatz mit der ID die uebergeben wurde - * @param $ausbildungssemester_id ID des zu loeschenden Datensatzes - * @return true wenn ok, false im Fehlerfall - */ - function delete($ausbildungssemester_id) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } -} -?> \ No newline at end of file diff --git a/include/bankverbindung.class.php b/include/bankverbindung.class.php index 1d9fa8810..d28caad51 100644 --- a/include/bankverbindung.class.php +++ b/include/bankverbindung.class.php @@ -23,61 +23,40 @@ * Klasse bankverbindung * @create 20-12-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class bankverbindung +class bankverbindung extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var adresse Objekt - var $done=false; // @var boolean + public $new; // boolean + public $result = array(); // adresse Objekt //Tabellenspalten - Var $bankverbindung_id; // @var integer - var $person_id; // @var integer - var $name; // @var string - var $anschrift; // @var string - var $bic; // @var string - var $blz; // @var string - var $iban; // @var string - var $kontonr; // @var string - var $typ; // @var p=Privatkonto, f=Firmenkonto - var $verrechnung; // @var boolean - var $ext_id; // @var integer - var $insertamum; // @var timestamp - var $insertvon; // @var bigint - var $updateamum; // @var timestamp - var $updatevon; // @var bigint + public $bankverbindung_id; // integer + public $person_id; // integer + public $name; // string + public $anschrift; // string + public $bic; // string + public $blz; // string + public $iban; // string + public $kontonr; // string + public $typ; // p=Privatkonto, f=Firmenkonto + public $verrechnung; // boolean + public $ext_id; // integer + public $insertamum; // timestamp + public $insertvon; // bigint + public $updateamum; // timestamp + public $updatevon; // bigint /** * Konstruktor - * @param $conn Connection - * $kontakt_id ID der Adresse die geladen werden soll (Default=null) + * @param $bankverbindung_id ID der Bankverbindung die geladen werden soll (Default=null) */ - function bankverbindung($conn,$bankverbindung_id=null, $unicode=false) + public function __construct($bankverbindung_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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($bankverbindung_id!=null) + parent::__construct(); + + if(!is_null($bankverbindung_id)) $this->load($bankverbindung_id); - } /** @@ -85,7 +64,7 @@ class bankverbindung * @param $bankverbindung_id ID der zu ladenden Bankverbindung * @return true wenn ok, false im Fehlerfall */ - function load($bankverbindung_id) + public function load($bankverbindung_id) { if(!is_numeric($bankverbindung_id)) { @@ -93,11 +72,11 @@ class bankverbindung return false; } - $qry = "SELECT * FROM public.tbl_bankverbindung WHERE bankverbindung_id='$bankverbindung_id'"; + $qry = "SELECT * FROM public.tbl_bankverbindung WHERE bankverbindung_id='".addslashes($bankverbindung_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->bankverbindung_id = $row->bankverbindung_id; $this->person_id = $row->person_id; @@ -133,38 +112,38 @@ class bankverbindung * Prueft die Variablen auf gueltigkeit * @return true wenn ok, false im Fehlerfall */ - function checkvars() + protected function validate() { //Gesamtlaenge pruefen //$this->errormsg = 'Eine der Maximiallaengen wurde ueberschritten'; if(strlen($this->name)>64) { - $this->errormsg = 'Name darf nicht länger als 64 Zeichen sein: '.$this->name; + $this->errormsg = 'Name darf nicht länger als 64 Zeichen sein'; return false; } if(strlen($this->anschrift)>128) { - $this->errormsg = 'Anschrift darf nicht länger als 128 Zeichen sein: '.$this->anschrift; + $this->errormsg = 'Anschrift darf nicht länger als 128 Zeichen sein'; return false; } if(strlen($this->blz)>16) { - $this->errormsg = 'BLZ darf nicht länger als 16 Zeichen sein: '.$this->blz; + $this->errormsg = 'BLZ darf nicht länger als 16 Zeichen sein'; return false; } if(strlen($this->bic)>16) { - $this->errormsg = 'BIC darf nicht länger als 16 Zeichen sein: '.$this->bic; + $this->errormsg = 'BIC darf nicht länger als 16 Zeichen sein'; return false; } if(strlen($this->kontonr)>16) { - $this->errormsg = 'KontoNr darf nicht länger als 16 Zeichen sein: '.$this->kontonr; + $this->errormsg = 'KontoNr darf nicht länger als 16 Zeichen sein'; return false; } if(strlen($this->iban)>32) { - $this->errormsg = 'IBAN darf nicht länger als 32 Zeichen sein: '.$this->iban; + $this->errormsg = 'IBAN darf nicht länger als 32 Zeichen sein'; return false; } @@ -177,28 +156,17 @@ class bankverbindung $this->errormsg = ''; return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - + /** * Speichert den aktuellen Datensatz in die Datenbank * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt * andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($this->new) @@ -230,12 +198,7 @@ class bankverbindung $this->errormsg = 'bankverbindung_id muss eine gueltige Zahl sein: '.$this->bankverbindung_id.' ('.$this->person_id.')'; return false; } - if(!is_numeric($this->person_id)) - { - $this->errormsg = 'person_id muss eine gueltige Zahl sein: '.$this->person_id.''; - return false; - } - + $qry='UPDATE public.tbl_bankverbindung SET '. 'person_id='.$this->addslashes($this->person_id).', '. 'name='.$this->addslashes($this->name).', '. @@ -251,32 +214,32 @@ class bankverbindung 'updatevon='.$this->addslashes($this->updatevon).' '. 'WHERE bankverbindung_id='.$this->addslashes($this->bankverbindung_id).';'; } - //echo $qry."\n"; - if(pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { if($this->new) { //Sequence auslesen $qry = "SELECT currval('public.tbl_bankverbindung_bankverbindung_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->bankverbindung_id = $row->id; - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -294,7 +257,7 @@ class bankverbindung * @param $bankverbindung_id ID die geloescht werden soll * @return true wenn ok, false im Fehlerfall */ - function delete($bankverbindung_id) + public function delete($bankverbindung_id) { if(!is_numeric($bankverbindung_id)) { @@ -302,23 +265,23 @@ class bankverbindung return false; } - $qry = "DELETE FROM public.tbl_bankverbindung WHERE bankverbindung_id='$bankverbindung_id'"; + $qry = "DELETE FROM public.tbl_bankverbindung WHERE bankverbindung_id='".addslashes($bankverbindung_id)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { - $this->errormsg = 'Fehler beim Loeschen des Datensatzes'; + $this->errormsg = 'Fehler beim Löschen des Datensatzes'; return false; } } /** - * Laedt die Bankverbindung mit der ID $bankverbindung_id - * @param $bankverbindung_id ID der zu ladenden Bankverbindung + * Laedt die Bankverbindung einer Person + * @param $person_id * @return true wenn ok, false im Fehlerfall */ - function load_pers($person_id) + public function load_pers($person_id) { if(!is_numeric($person_id)) { @@ -326,13 +289,13 @@ class bankverbindung return false; } - $qry = "SELECT * FROM public.tbl_bankverbindung WHERE person_id='$person_id'"; + $qry = "SELECT * FROM public.tbl_bankverbindung WHERE person_id='".addslashes($person_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new bankverbindung($this->conn, null, null); + $obj = new bankverbindung(); $obj->bankverbindung_id = $row->bankverbindung_id; $obj->person_id = $row->person_id; @@ -360,6 +323,5 @@ class bankverbindung return false; } } - } ?> \ No newline at end of file diff --git a/include/beispiel.class.php b/include/beispiel.class.php index 0921b0289..5c89aa092 100644 --- a/include/beispiel.class.php +++ b/include/beispiel.class.php @@ -19,71 +19,56 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class beispiel +class beispiel extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $beispiele = array(); // lehreinheit Objekt + public $new; // boolean + public $beispiele = array(); // lehreinheit Objekt //Tabellenspalten - var $beispiel_id; // Serial - var $uebung_id; // integer - var $bezeichnung; // varchar(32) - var $punkte; // real - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $nummer; // smallint + 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 - var $student_uid; - var $vorbereitet; - var $probleme; + public $student_uid; + public $vorbereitet; + public $probleme; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional ein beispiel - // * @param $conn Datenbank-Connection - // * $beispiel_id - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function beispiel($conn, $beispiel_id=null, $unicode=false) + /** + * Konstruktor + * @param $beispiel_id + */ + public function __construct($beispiel_id=null) { - $this->conn = $conn; -/* - 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($beispiel_id!=null) + parent::__construct(); + + if(!is_null($beispiel_id)) $this->load($beispiel_id); } - // ********************************************************* - // * Laedt ein Beispiel - // * @param uebung_id - // ********************************************************* - function 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='$beispiel_id'"; + $qry = "SELECT * FROM campus.tbl_beispiel WHERE beispiel_id='".addslashes($beispiel_id)."'"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->beispiel_id = $row->beispiel_id; $this->uebung_id = $row->uebung_id; @@ -104,12 +89,18 @@ class beispiel } else { - $this->errormsg = 'Fehler beim laden des Beispiels'; + $this->errormsg = 'Fehler beim Laden des Beispiels'; return false; } } - function load_beispiel($uebung_id) + /** + * Laedt alle Beispiele einer Uebung + * + * @param $uebung_id + * @return boolean + */ + public function load_beispiel($uebung_id) { if(!is_numeric($uebung_id)) { @@ -117,13 +108,13 @@ class beispiel return false; } - $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id' ORDER BY bezeichnung"; + $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='".addslashes($uebung_id)."' ORDER BY bezeichnung"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $beispiel_obj = new beispiel($this->conn); + $beispiel_obj = new beispiel(); $beispiel_obj->beispiel_id = $row->beispiel_id; $beispiel_obj->uebung_id = $row->uebung_id; @@ -141,26 +132,45 @@ class beispiel } else { - $this->errormsg = 'Fehler beim laden der Beispiele'; + $this->errormsg = 'Fehler beim Laden der Beispiele'; return false; } } - function get_next_nummer() + /** + * Liefert die naechste Nummer + * + * @return boolean + */ + public function get_next_nummer() { $qry = "SELECT max(nummer) FROM campus.tbl_beispiel"; - $result = pg_query($this->conn, $qry); - $row = pg_fetch_object($result); - $next = $row->max + 1; - $this->next_nummer = $next; + 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 - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(!is_numeric($this->uebung_id)) { @@ -174,25 +184,14 @@ class beispiel } 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 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 - // ************************************************************ - function save($new=null) + + /** + * 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; @@ -231,30 +230,30 @@ class beispiel " WHERE beispiel_id=".$this->addslashes($this->beispiel_id).";"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('campus.tbl_beispiel_beispiel_id_seq') as id;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->uebung_id = $row->id; - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn,'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn,'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -268,7 +267,15 @@ class beispiel } } - function exists($uebung_id, $bezeichnung) + /** + * 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)) { @@ -276,23 +283,31 @@ class beispiel return false; } - $qry = "SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id' AND bezeichnung=".$this->addslashes($bezeichnung); + $qry = "SELECT beispiel_id FROM campus.tbl_beispiel + WHERE uebung_id='".addslashes($uebung_id)."' AND bezeichnung=".$this->addslashes($bezeichnung); - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if(pg_num_rows($result)>0) + if($this->db_num_rows()>0) return true; else return false; } else { - $this->errormsg ='Fehler beim lesen der Beispiele'; + $this->errormsg ='Fehler beim Lesen der Beispiele'; return false; } } - function studentbeispiel_exists($uid,$beispiel_id) + /** + * Prueft ob ein Beispiel existiert + * + * @param $uid + * @param $beispiel_id + * @return boolean + */ + public function studentbeispiel_exists($uid,$beispiel_id) { if(!is_numeric($beispiel_id)) { @@ -300,23 +315,30 @@ class beispiel return false; } - $qry = "SELECT vorbereitet FROM campus.tbl_studentbeispiel WHERE beispiel_id='$beispiel_id' AND student_uid='".addslashes($uid)."'"; + $qry = "SELECT vorbereitet FROM campus.tbl_studentbeispiel + WHERE beispiel_id='".addslashes($beispiel_id)."' AND student_uid='".addslashes($uid)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if(pg_num_rows($result)>0) + if($this->db_num_rows()>0) return true; else return false; } else { - $this->errormsg = 'Fehler beim lesen der aus der DB'; + $this->errormsg = 'Fehler beim Lesen der aus der DB'; return false; } } - function delete($beispiel_id) + /** + * Loescht ein Beispiel + * + * @param $beispiel_id + * @return unknown + */ + public function delete($beispiel_id) { if(!is_numeric($beispiel_id)) { @@ -324,30 +346,38 @@ class beispiel return false; } - $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id='$beispiel_id'; - DELETE FROM campus.tbl_beispiel WHERE beispiel_id='$beispiel_id';"; + $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id='".addslashes($beispiel_id)."'; + DELETE FROM campus.tbl_beispiel WHERE beispiel_id='".addslashes($beispiel_id)."';"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { - $this->errormsg = 'Fehler beim loeschen des Beispiels'; + $this->errormsg = 'Fehler beim Löschen des Beispiels'; return false; } } - function load_studentbeispiel($uid, $beispiel_id) + /** + * 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='$uid' AND beispiel_id='$beispiel_id'"; + $qry = "SELECT * FROM campus.tbl_studentbeispiel + WHERE student_uid='".addslashes($uid)."' AND beispiel_id='".addslashes($beispiel_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->beispiel_id = $row->beispiel_id; $this->student_uid = $row->student_uid; @@ -361,29 +391,36 @@ class beispiel } else { - $this->errormsg = 'Fehler beim laden des Student_Beispiels'; + $this->errormsg = 'Fehler beim Laden des Student_Beispiels'; return false; } } else { - $this->errormsg = 'Fehler beim laden des Student_Beispiels'; + $this->errormsg = 'Fehler beim Laden des Student_Beispiels'; return false; } } - function check_anzahl_studentbeispiel($beispiel_id) + /** + * 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='$beispiel_id'"; + $qry = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel + WHERE vorbereitet = true and beispiel_id='".addslashes($beispiel_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->anzahl_studentbeispiel = $row->anzahl; return true; @@ -400,10 +437,11 @@ class beispiel return false; } } - // ** - // * Prueft die studentbeispiel Daten auf gueltigkeit - // * - function studentbeispiel_validate() + + /** + * Prueft die studentbeispiel Daten auf Gueltigkeit + */ + private function studentbeispiel_validate() { if(!is_numeric($this->beispiel_id)) { @@ -413,11 +451,11 @@ class beispiel return true; } - // ** - // * Speichert einen Studentbeispiel Datensatz in die DB - // * - // * - function studentbeispiel_save($new=null) + /** + * Speichert einen Studentbeispiel Datensatz in die DB + * + */ + public function studentbeispiel_save($new=null) { if(is_null($new)) $new = $this->new; @@ -449,7 +487,7 @@ class beispiel " WHERE beispiel_id=".$this->beispiel_id." AND student_uid=".$this->addslashes($this->student_uid).';'; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { return true; } diff --git a/include/benutzer.class.php b/include/benutzer.class.php index 6fd3ca05b..cb712c164 100644 --- a/include/benutzer.class.php +++ b/include/benutzer.class.php @@ -19,7 +19,7 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ -require_once('person.class.php'); +require_once(dirname(__FILE__).'/person.class.php'); class benutzer extends person { @@ -29,10 +29,10 @@ class benutzer extends person public $alias; // varchar(256) public $bn_ext_id; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer - // * @param $uid Benutzer der geladen werden soll (default=null) - // ************************************************************************* + /** + * Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer + * @param $uid Benutzer der geladen werden soll (default=null) + */ public function __construct($uid=null) { parent::__construct(); @@ -41,10 +41,10 @@ class benutzer extends person $this->load($uid); } - // *********************************************************** - // * Laedt Benutzer mit der uebergebenen ID - // * @param $uid ID der Person die geladen werden soll - // *********************************************************** + /** + * Laedt Benutzer mit der uebergebenen ID + * @param $uid ID der Person die geladen werden soll + */ public function load($uid) { $qry = "SELECT * FROM public.tbl_benutzer WHERE uid='".addslashes($uid)."'"; @@ -74,11 +74,11 @@ class benutzer extends person } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ protected function validate() { if(strlen($this->uid)>32) @@ -127,12 +127,12 @@ class benutzer extends person return true; } - // ****************************************************************** - // * Speichert die Benutzerdaten in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt - // * ansonsten der Datensatz mit $uid upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ****************************************************************** + /** + * Speichert die Benutzerdaten in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt + * ansonsten der Datensatz mit $uid upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ public function save($new=null, $saveperson=true) { if($saveperson) @@ -199,9 +199,10 @@ class benutzer extends person } } - // **** - // * Prueft ob die UID bereits existiert - // **** + /** + * Prueft ob die UID bereits existiert + * @param uid + */ public function uid_exists($uid) { $qry = "SELECT * FROM public.tbl_benutzer WHERE uid='".addslashes($uid)."'"; @@ -228,9 +229,10 @@ class benutzer extends person } - // **** - // * Prueft ob der alias bereits existiert - // **** + /** + * Prueft ob der alias bereits existiert + * @param $alias + */ public function alias_exists($alias) { $qry = "SELECT * FROM public.tbl_benutzer WHERE alias='".addslashes($alias)."'"; diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php index 2b96db49d..b5cf6837b 100644 --- a/include/benutzerberechtigung.class.php +++ b/include/benutzerberechtigung.class.php @@ -20,12 +20,11 @@ * Rudolf Hangl and * Gerald Simane-Sequens */ -require_once('basis_db.class.php'); -require_once('organisationseinheit.class.php'); +require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/organisationseinheit.class.php'); class benutzerberechtigung extends basis_db { - public $errormsg; // string public $new; // boolean public $berechtigungen = array(); // benutzerberechtigung Objekt @@ -53,10 +52,10 @@ class benutzerberechtigung extends basis_db public $fix; public $lektor; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform - // * @param $benutzerberechtigung_id - // ************************************************************************* + /** + * Konstruktor - Laedt optional eine Berechtigung + * @param $benutzerberechtigung_id + */ public function __construct($benutzerberechtigung_id=null) { parent::__construct(); @@ -65,20 +64,20 @@ class benutzerberechtigung extends basis_db $this->load($benutzerberechtigung_id); } - // ********************************************************* - // * Laedt eine Benutzerberechtigung - // * @param benutzerberechtigung_id - // ********************************************************* + /** + * Laedt eine Benutzerberechtigung + * @param benutzerberechtigung_id + */ public function load($benutzerberechtigung_id) { - return true; + return false; } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ protected function validate() { if(strlen($this->art)>16) @@ -121,12 +120,12 @@ class benutzerberechtigung extends basis_db return true; } - // ************************************************************ - // * Speichert Benutzerberechtigung 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 - // ************************************************************ + /** + * Speichert Benutzerberechtigung 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() { //Variablen auf Gueltigkeit pruefen @@ -175,12 +174,12 @@ class benutzerberechtigung extends basis_db return false; } - // ************************************************************ - // * Speichert Benutzerberechtigung 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 - // ************************************************************ + /** + * Speichert Benutzerberechtigung 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 delete($benutzerberechtigung_id) { /* @@ -195,12 +194,12 @@ class benutzerberechtigung extends basis_db return false; } - // ******************************************************************************* - // * Laedt die Berechtigungen eines Users - // * @param $uid - // * @param $all wenn $all auf true gesetzt wird, werden auch bereits abgelaufene - //* berechtigungen geladen. - // ******************************************************************************* + /** + * Laedt die Berechtigungen eines Users + * @param $uid + * @param $all wenn $all auf true gesetzt wird, werden auch bereits abgelaufene + * berechtigungen geladen. + */ public function getBerechtigungen($uid,$all=false) { // Berechtigungen holen @@ -315,15 +314,15 @@ class benutzerberechtigung extends basis_db return true; } - //**************************************************************************** - // * Prueft ob die Berechtigung vorhanden ist. Vor der Verwendung muss die - // * Funktion getBerechtigungen aufgerufen werden. - // * - // * @param $berechtigung - // * @param $oe_kurzbz - // * @param $art - // * @return true wenn eine Berechtigung entspricht. - // *************************************************************************** + /** + * Prueft ob die Berechtigung vorhanden ist. Vor der Verwendung muss die + * Funktion getBerechtigungen aufgerufen werden. + * + * @param $berechtigung + * @param $oe_kurzbz + * @param $art + * @return true wenn eine Berechtigung entspricht. + */ public function isBerechtigt($berechtigung_kurzbz,$oe_kurzbz=null,$art=null) { $timestamp=time(); @@ -359,10 +358,10 @@ class benutzerberechtigung extends basis_db return false; } - // ****************************************************** - // * Prueft ob die Person Fixangestellt ist - // * @return true wenn ja, false wenn nein - // ****************************************************** + /** + * Prueft ob die Person Fixangestellt ist + * @return true wenn ja, false wenn nein + */ public function isFix() { if ($this->fix) @@ -371,11 +370,11 @@ class benutzerberechtigung extends basis_db return false; } - // ******************************************************************** - // * Gibt Array mit den Studiengangskennzahlen zurueck fuer welche die - // * Person eine Berechtigung besitzt. - // * Optional wird auf Berechtigung eingeschraenkt. - // ******************************************************************** + /** + * Gibt Array mit den Studiengangskennzahlen zurueck fuer welche die + * Person eine Berechtigung besitzt. + * Optional wird auf Berechtigung eingeschraenkt. + */ public function getStgKz($berechtigung_kurzbz=null) { $studiengang_kz=array(); diff --git a/include/benutzergruppe.class.php b/include/benutzergruppe.class.php index bf6015cc9..997679280 100644 --- a/include/benutzergruppe.class.php +++ b/include/benutzergruppe.class.php @@ -19,64 +19,49 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class benutzergruppe +class benutzergruppe extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $benutzergruppen = array(); // benutzergruppe Objekt + public $new; + public $benutzergruppen = array(); // benutzergruppe Objekt //Tabellenspalten - var $uid; // varchar(16) - var $gruppe_kurzbz; // varchar(16) - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $studiensemester_kurzbz; // varchar(16) + public $uid; // varchar(16) + public $gruppe_kurzbz; // varchar(16) + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $studiensemester_kurzbz; // varchar(16) - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine BenutzerGruppe - // * @param $conn Datenbank-Connection - // * $uid - // * $gruppe_kurzbz - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function benutzergruppe($conn, $uid=null, $gruppe_kurzbz=null, $unicode=false) + /** + * Konstruktor - Laedt optional eine BenutzerGruppe + * @param $uid + * @param $gruppe_kurzbz + */ + public function __construct($uid=null, $gruppe_kurzbz=null) { - $this->conn = $conn; -/* - 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($gruppe_kurzbz!=null && $uid!=null) + parent::__construct(); + + if(!is_null($gruppe_kurzbz) && !is_null($uid)) $this->load($uid, $gruppe_kurzbz); } - // ********************************************************* - // * Laedt die BenutzerGruppe - // * @param uid, gruppe_kurzbz, studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // ********************************************************* - function load($uid, $gruppe_kurzbz, $studiensemester_kurzbz=null) + /** + * Laedt die BenutzerGruppe + * @param uid, gruppe_kurzbz, studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function load($uid, $gruppe_kurzbz, $studiensemester_kurzbz=null) { $qry = "SELECT * FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'"; if($studiensemester_kurzbz!=null) $qry.=" AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->uid = $row->uid; $this->gruppe_kurzbz = $row->gruppe_kurzbz; @@ -95,29 +80,29 @@ class benutzergruppe } else { - $this->errormsg = 'Fehler beim laden des Datensatzes'; + $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } } - // ********************************************************* - // * Laedt die User in einer Benutzergruppe - // * @param gruppe_kurzbz, stsem - // * @return true wenn ok, false im Fehlerfall - // ********************************************************* - function load_uids($gruppe_kurzbz, $stsem) + /** + * Laedt die User in einer Benutzergruppe + * @param gruppe_kurzbz, stsem + * @return true wenn ok, false im Fehlerfall + */ + public function load_uids($gruppe_kurzbz, $stsem) { - $qry = "SELECT * FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."' and studiensemester_kurzbz = '".$stsem."'"; + $qry = "SELECT * FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."' and studiensemester_kurzbz = '".addslashes($stsem)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if (pg_num_rows($result) == 0) + if ($this->db_num_rows() == 0) return false; else { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $bg_obj = new benutzergruppe($this->conn); + $bg_obj = new benutzergruppe(); $bg_obj->uid = $row->uid; $this->uids[] = $bg_obj; } @@ -126,17 +111,17 @@ class benutzergruppe } else { - $this->errormsg = 'Fehler beim laden des Datensatzes'; + $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(strlen($this->uid)>16) { @@ -162,24 +147,13 @@ class benutzergruppe 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 BenutzerGruppe 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($new=null) + /** + * Speichert BenutzerGruppe 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; @@ -202,26 +176,35 @@ class benutzergruppe else { //ToDo - $qry = 'Select 1;'; + //$qry = 'Select 1;'; + $this->errormsg = 'Update ist noch nicht implementiert'; + return false; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; } else { - $this->errormsg = 'Fehler beim Speichern der BenutzerGruppe:'.$qry; + $this->errormsg = 'Fehler beim Speichern der BenutzerGruppe'; return false; } } - function delete($uid, $gruppe_kurzbz) + /** + * Loescht eine Gruppenzuordnung + * + * @param $uid + * @param $gruppe_kurzbz + * @return boolean + */ + public function delete($uid, $gruppe_kurzbz) { $qry = "DELETE FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { diff --git a/include/benutzerlvstudiensemester.class.php b/include/benutzerlvstudiensemester.class.php index bbc9de923..55dba8720 100644 --- a/include/benutzerlvstudiensemester.class.php +++ b/include/benutzerlvstudiensemester.class.php @@ -19,79 +19,72 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class benutzerlvstudiensemester +class benutzerlvstudiensemester extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $benutzerlvstudiensemester = array(); // benutzerlvstudiensemester Objekt + public $new; // boolean + public $benutzerlvstudiensemester = array(); // benutzerlvstudiensemester Objekt //Tabellenspalten - var $uid; // varchar(16) - var $studiensemester_kurzbz; // varchar(16) - var $lehrveranstaltung_id; // integer + public $uid; // varchar(16) + public $studiensemester_kurzbz; // varchar(16) + public $lehrveranstaltung_id; // integer - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Zuteilung - // * @param $conn Datenbank-Connection - // * $uid - // * $studiensemester_kurzbz - // * $lehrveranstaltung_nr - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function benutzerlvstudiensemester($conn, $uid=null, $studiensemester_kurzbz=null, $lehrveranstaltung_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional eine Zuteilung + * @param $uid + * @param $studiensemester_kurzbz + * @param $lehrveranstaltung_id + */ + public function __construct($uid=null, $studiensemester_kurzbz=null, $lehrveranstaltung_id=null) { - $this->conn = $conn; -/* - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + parent::__construct(); + + $this->new = true; - if(!pg_query($conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } - else -*/ - $this->new = true; - - if($uid!=null && $studiensemester_kurzbz!=null && $lehrveranstaltung_id!=null) + if(!is_null($uid) && !is_null($studiensemester_kurzbz) && !is_null($lehrveranstaltung_id)) $this->load($uid, $studiensemester_kurzbz, $lehrveranstaltung_id); } - // ********************************************************* - // * Laedt eine Zuteilung - // * @param $uid, $studiensemester_kurzbz, $lehrveranstaltung_nr - // ********************************************************* - function load($uid, $studiensemester_kurzbz, $lehrveranstaltung_id) + /** + * Laedt eine Zuteilung + * @param $uid, $studiensemester_kurzbz, $lehrveranstaltung_nr + */ + public function load($uid, $studiensemester_kurzbz, $lehrveranstaltung_id) { $this->errormsg = 'Not implemented'; return false; } - //********************************************************** - //* Laedt alle uids in zu einer lv/szudiensemester - kombination - //* gibt auch vor- und Nachname zurueck - //********************************************************** - function get_all_uids($studiensemester_kurzbz, $lehrveranstaltung_id) + /** + * Laedt alle uids in zu einer lv/szudiensemester - kombination + * gibt auch vor- und Nachname zurueck + * @param studiensemester_kurzbz + * @param lehrveranstaltung_id + * @return boolean + */ + public function get_all_uids($studiensemester_kurzbz, $lehrveranstaltung_id) { - $qry = "SELECT tbl_benutzerlvstudiensemester.uid, vw_benutzer.nachname, vw_benutzer.vorname FROM campus.tbl_benutzerlvstudiensemester, campus.vw_benutzer where studiensemester_kurzbz='".$studiensemester_kurzbz."' AND lehrveranstaltung_id = '".$lehrveranstaltung_id."' and vw_benutzer.uid = tbl_benutzerlvstudiensemester.uid order by nachname"; - if(!$res = pg_query($this->conn, $qry)) + $qry = "SELECT tbl_benutzerlvstudiensemester.uid, vw_benutzer.nachname, vw_benutzer.vorname + FROM campus.tbl_benutzerlvstudiensemester, campus.vw_benutzer + WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' + AND lehrveranstaltung_id = '".addslashes($lehrveranstaltung_id)."' + AND vw_benutzer.uid = tbl_benutzerlvstudiensemester.uid ORDER BY nachname"; + + if(!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - if (pg_num_rows($res) == 0) + + if ($this->db_num_rows() == 0) return false; else { - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $lv_obj = new benutzerlvstudiensemester($this->conn); + $lv_obj = new benutzerlvstudiensemester(); $lv_obj->uid = $row->uid; $lv_obj->nachname = $row->nachname; $lv_obj->vorname = $row->vorname; @@ -99,15 +92,14 @@ class benutzerlvstudiensemester } return true; } - } + } - - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(strlen($this->uid)>16) { @@ -127,24 +119,13 @@ class benutzerlvstudiensemester 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 Zuteilung 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($new=null) + /** + * Speichert Zuteilung 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)) $this->new = $new; @@ -163,10 +144,12 @@ class benutzerlvstudiensemester else { // ToDo - $qry = 'Select 1;'; + //$qry = 'Select 1;'; + $this->errormsg = 'Update ist noch nicht implementiert'; + return false; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben $this->new = false; @@ -174,7 +157,7 @@ class benutzerlvstudiensemester } else { - $this->errormsg = 'Fehler beim Speichern der BenutzerLVStudiensemester:'.$qry; + $this->errormsg = 'Fehler beim Speichern der BenutzerLVStudiensemester'; return false; } } diff --git a/include/berechtigung.class.php b/include/berechtigung.class.php index db1b76749..d6a07d973 100644 --- a/include/berechtigung.class.php +++ b/include/berechtigung.class.php @@ -19,196 +19,83 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class berechtigung +class berechtigung extends basis_db { - /** - * 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; + public $berechtigungen=array(); + public $new; + public $rolle_kurzbz; + public $beschreibung; + public $berechtigung_kurzbz; + /** - * @var array + * Konstruktor + * @param */ - 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) + public function __construct() { - $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; - } + parent::__construct(); } - // ************************************************************ - // * Holt alle Berechtigungen aus der Datenbank - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function getAll() + /** + * Holt alle BerechtigungsRollen + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function getRollen() { - $qry = 'SELECT * FROM tbl_berechtigung'; + $qry = 'SELECT * FROM system.tbl_rolle'; - if(!$res = pg_query($this->conn, $qry)) + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new berechtigung(); + + $obj->rolle_kurzbz=$row->rolle_kurzbz; + $obj->beschreibung=$row->beschreibung; + + $this->result[] = $obj; + } + return true; + } + else { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; - } - - while($row = pg_fetch_object($res)) + } + } + + /** + * Laedt alle Berechtigungen zu einer rolle + * + * @param $rolle_kurzbz + */ + public function getRolleBerechtigung($rolle_kurzbz) + { + $qry = "SELECT * FROM system.tbl_rolleberechtigung JOIN system.tbl_berechtigung USING(berechtigung_kurzbz) + WHERE rolle_kurzbz='".addslashes($rolle_kurzbz)."' ORDER BY berechtigung_kurzbz, beschreibung"; + + if($this->db_query($qry)) { - $b_obj = new berechtigung($this->conn); - - $b_obj->berechtigung_kurzbz=$row->berechtigung_kurzbz; - $b_obj->beschreibung=$row->beschreibung; - - $this->result[] = $b_obj; + while($row = $this->db_fetch_object()) + { + $obj = new berechtigung(); + + $obj->berechtigung_kurzbz = $row->berechtigung_kurzbz; + $obj->rolle_kurzbz = $row->rolle_kurzbz; + $obj->beschreibung = $row->beschreibung; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Berechtigungen'; + return false; } - return true; } } ?> \ No newline at end of file diff --git a/include/betriebsmittel.class.php b/include/betriebsmittel.class.php index 00ae0caa9..cffce43f2 100644 --- a/include/betriebsmittel.class.php +++ b/include/betriebsmittel.class.php @@ -23,63 +23,44 @@ * Klasse Betriebsmittel * @create 22-01-2007 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class betriebsmittel +class betriebsmittel extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result; - var $done=false; // @var boolean + public $new; // boolean + public $result; //Tabellenspalten - var $betriebsmittel_id; // @var integer - var $betriebsmitteltyp; // @var string - var $nummer; // @var string - var $nummerintern; // @var string - var $reservieren; // @var boolean - var $ort_kurzbz; // @var string - var $ext_id; // @var integer - var $insertamum; // @var timestamp - var $insertvon; // @var bigint - var $updateamum; // @var timestamp - var $updatevon; // @var bigint + public $betriebsmittel_id; // integer + public $betriebsmitteltyp; // string + public $nummer; // string + public $nummerintern; // string + public $reservieren; // boolean + public $ort_kurzbz; // string + public $ext_id; // integer + public $insertamum; // timestamp + public $insertvon; // bigint + public $updateamum; // timestamp + public $updatevon; // bigint /** * Konstruktor - * @param $conn Connection - * $betriebsmittel_id ID des Betrtiebsmittels, das geladen werden soll (Default=null) + * @param $betriebsmittel_id ID des Betrtiebsmittels, das geladen werden soll (Default=null) */ - function betriebsmittel($conn,$betriebsmittel_id=null, $unicode=false) + public function __construct($betriebsmittel_id=null) { - $this->conn = $conn; - /* - if($unicode!=null) - { - 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; - } - } - */ + parent::__construct(); + + if(!is_null($betriebsmittel_id)) + $this->load($betriebsmittel_id); } - - - // ************************************************************** - // * Laedt das Betriebsmittel mit der ID $betriebsmittel_id - // * @param $betriebsmittel_id ID des zu ladenden Betriebsmittel - // * @return true wenn ok, false im Fehlerfall - // *************************************************************** - function load($betriebsmittel_id) + + /** + * Laedt das Betriebsmittel mit der ID $betriebsmittel_id + * @param $betriebsmittel_id ID des zu ladenden Betriebsmittel + * @return true wenn ok, false im Fehlerfall + */ + public function load($betriebsmittel_id) { if(!is_numeric($betriebsmittel_id)) { @@ -87,11 +68,11 @@ class betriebsmittel return false; } - $qry = "SELECT * FROM public.tbl_betriebsmittel WHERE betriebsmittel_id='$betriebsmittel_id'"; + $qry = "SELECT * FROM public.tbl_betriebsmittel WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->betriebsmittel_id = $row->betriebsmittel_id; $this->beschreibung = $row->beschreibung; @@ -115,38 +96,27 @@ class betriebsmittel } else { - $this->errormsg = 'Fehler beim laden der Daten'; + $this->errormsg = 'Fehler beim Laden der Daten'; return false; } } - // ************************************* - // * Prueft die Daten vor dem Speichern - // * auf Gueltigkeit - // ************************************* - function validate() + /** + * Prueft die Daten vor dem Speichern + * auf Gueltigkeit + */ + protected function validate() { return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ******************************************************************************* - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ******************************************************************************* - function save($new=null) + + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if($new==null) $new=$this->new; @@ -168,7 +138,6 @@ class betriebsmittel $this->addslashes($this->ext_id).', now(), '. $this->addslashes($this->insertvon).', now(), '. $this->addslashes($this->updatevon).');'; - $this->done=true; } else { @@ -191,14 +160,14 @@ class betriebsmittel 'WHERE betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('public.tbl_betriebsmittel_betriebsmittel_id_seq') as id;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->betriebsmittel_id = $row->id; } @@ -228,7 +197,7 @@ class betriebsmittel * @param $betriebsmittel_id ID die geloescht werden soll * @return true wenn ok, false im Fehlerfall */ - function delete($betriebsmittel_id) + public function delete($betriebsmittel_id) { if(!is_numeric($betriebsmittel_id)) { @@ -236,26 +205,35 @@ class betriebsmittel return false; } - $qry = "DELETE FROM public.tbl_betriebsmittel WHERE betriebsmittel_id='$betriebsmittel_id'"; + $qry = "DELETE FROM public.tbl_betriebsmittel WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { - $this->errormsg = 'Fehler beim loeschen der Daten'; + $this->errormsg = 'Fehler beim Loeschen der Daten'; return false; } } - function getBetriebsmittel($betriebsmitteltyp, $nummer) + /** + * Laedt die Betriebsmittel + * + * @param $betriebsmitteltyp + * @param $nummer + * @return boolean + */ + public function getBetriebsmittel($betriebsmitteltyp, $nummer) { - $qry = "SELECT * FROM public.tbl_betriebsmittel WHERE betriebsmitteltyp='".addslashes($betriebsmitteltyp)."' AND nummer='".addslashes($nummer)."' ORDER BY updateamum DESC"; + $qry = "SELECT * FROM public.tbl_betriebsmittel + WHERE betriebsmitteltyp='".addslashes($betriebsmitteltyp)."' AND nummer='".addslashes($nummer)."' + ORDER BY updateamum DESC"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $bm = new betriebsmittel($this->conn, null, null); + $bm = new betriebsmittel(); $bm->betriebsmittel_id = $row->betriebsmittel_id; $bm->beschreibung = $row->beschreibung; diff --git a/include/betriebsmittelperson.class.php b/include/betriebsmittelperson.class.php index 0ce6b5f40..dd0c626ed 100644 --- a/include/betriebsmittelperson.class.php +++ b/include/betriebsmittelperson.class.php @@ -23,79 +23,59 @@ * Klasse Betriebsmittelperson * @create 13-01-2007 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class betriebsmittelperson +class betriebsmittelperson extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); - var $done=false; // @var boolean + public $new; // boolean + public $result = array(); //Tabellenspalten - var $betriebsmittel_id; // @var integer - var $person_id; // @var integer - var $betriebsmittel_id_old; // @var integer - var $person_id_old; // @var integer - var $anmerkung; // @var string - var $kaution; // @var numeric(5,2) - var $ausgegebenam; // @var date - var $retouram; // @var date - var $ext_id; // @var integer - var $insertamum; // @var timestamp - var $insertvon; // @var bigint - var $updateamum; // @var timestamp - var $updatevon; // @var bigint + public $betriebsmittel_id; // integer + public $person_id; // integer + public $betriebsmittel_id_old; // integer + public $person_id_old; // integer + public $anmerkung; // string + public $kaution; // numeric(5,2) + public $ausgegebenam; // date + public $retouram; // date + public $ext_id; // integer + public $insertamum; // timestamp + public $insertvon; // bigint + public $updateamum; // timestamp + public $updatevon; // bigint - var $nummer; - var $betriebsmitteltyp; - var $beschreibung; + public $nummer; + public $betriebsmitteltyp; + public $beschreibung; - // ************************************ - // * Konstruktor - // * @param $conn Connection - // * $betriebsmittel_id - // * $person_id - // * $unicode - // ************************************ - function betriebsmittelperson($conn,$betriebsmittel_id=null,$person_id=null, $unicode=false) + /** + * Konstruktor + * @param $betriebsmittel_id + * $person_id + */ + public function __construct($betriebsmittel_id=null,$person_id=null) { - $this->conn = $conn; - /* - if($unicode!=null) - { - 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($betriebsmittel_id!=null && $person_id!=null) + parent::__construct(); + + if(!is_null($betriebsmittel_id) && !is_null($person_id)) $this->load($betriebsmittel_id, $person_id); } - // ********************************************************************* - // * Laedt das Betriebsmittel mit der ID $betriebsmittel_id, person_id - // * @param $betriebsmittel_id ID des zu ladenden Betriebsmittels - // * $person_id ID der zu ladenden Person - // * @return true wenn ok, false im Fehlerfall - // ********************************************************************* - function load($betriebsmittel_id, $person_id) + /** + * Laedt das Betriebsmittel mit der ID $betriebsmittel_id, person_id + * @param $betriebsmittel_id ID des zu ladenden Betriebsmittels + * $person_id ID der zu ladenden Person + * @return true wenn ok, false im Fehlerfall + */ + public function load($betriebsmittel_id, $person_id) { if(!is_numeric($betriebsmittel_id)) { $this->errormsg = 'Betriebsmittel_id ist ungueltig'; return false; } + if(!is_numeric($person_id)) { $this->errormsg = 'Person_id ist ungueltig'; @@ -103,10 +83,11 @@ class betriebsmittelperson } $qry = "SELECT * FROM public.tbl_betriebsmittel JOIN public.tbl_betriebsmittelperson USING(betriebsmittel_id) - WHERE betriebsmittel_id='$betriebsmittel_id' AND person_id='$person_id'"; - if($result = pg_query($this->conn, $qry)) + WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."' AND person_id='".addslashes($person_id)."'"; + + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->betriebsmittel_id = $row->betriebsmittel_id; $this->beschreibung = $row->beschreibung; @@ -140,7 +121,12 @@ class betriebsmittelperson } } - function validate() + /** + * Prueft die Variablen vor dem Speichern + * + * @return true wenn ok, sonst false + */ + protected function validate() { if(!is_numeric($this->kaution)) { @@ -176,26 +162,15 @@ class betriebsmittelperson return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ****************************************************************************************** - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id, $person_id aktualisiert - // * @param $new - // * @return true wenn ok, false im Fehlerfall - // ****************************************************************************************** - function save($new=null) + + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id, $person_id aktualisiert + * @param $new + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if(!$this->validate()) return false; @@ -209,9 +184,10 @@ class betriebsmittelperson $qry = "SELECT 1 FROM public.tbl_betriebsmittelperson WHERE person_id='".addslashes($this->person_id)."' AND betriebsmittel_id='".addslashes($this->betriebsmittel_id)."'"; - if($result = pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { - if(pg_num_rows($result)>0) + if($this->db_num_rows()>0) { $this->errormsg = 'Dieses Betriebsmittel ist der Person bereits zugeordnet'; return false; @@ -236,7 +212,7 @@ class betriebsmittelperson //Pruefen ob betriebsmittel_id eine gueltige Zahl ist if(!is_numeric($this->betriebsmittel_id) || !is_numeric($this->person_id)) { - $this->errormsg = "betriebsmittel_id und Person_id muessen gueltige Zahlen sein: ".$this->betriebsmittel_id." (".$this->person_id.")\n"; + $this->errormsg = 'betriebsmittel_id und Person_id muessen gueltige Zahlen sein'; return false; } if($this->betriebsmittel_id_old=='') @@ -258,7 +234,7 @@ class betriebsmittelperson ' AND person_id='.$this->addslashes($this->person_id_old).";"; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -269,13 +245,13 @@ class betriebsmittelperson } } - // ******************************************************** - // * Loescht den Datenensatz mit der ID die uebergeben wird - // * @param $betriebsmittel_id ID die geloescht werden soll - // * @param $person_id ID die geloescht werden soll - // * @return true wenn ok, false im Fehlerfall - // ******************************************************** - function delete($betriebsmittel_id, $person_id) + /** + * Loescht den Datenensatz mit der ID die uebergeben wird + * @param $betriebsmittel_id ID die geloescht werden soll + * @param $person_id ID die geloescht werden soll + * @return true wenn ok, false im Fehlerfall + */ + public function delete($betriebsmittel_id, $person_id) { if(!is_numeric($betriebsmittel_id)) { @@ -289,23 +265,24 @@ class betriebsmittelperson return false; } - $qry = "DELETE FROM public.tbl_betriebsmittelperson WHERE betriebsmittel_id='$betriebsmittel_id' AND person_id='$person_id'"; + $qry = "DELETE FROM public.tbl_betriebsmittelperson + WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."' AND person_id='".addslashes($person_id)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; - else + else { $this->errormsg = 'Fehler beim Loeschen der Daten'; return false; } } - // ***************************************** - // * Laedt alle Betriebsmittel einer Person - // * @param person_id, $betriebsmittel_id - // * @return true wenn ok, false wenn Fehler - // ***************************************** - function getBetriebsmittelPerson($person_id, $betriebsmitteltyp=null) + /** + * Laedt alle Betriebsmittel einer Person + * @param person_id, $betriebsmittel_id + * @return true wenn ok, false wenn Fehler + */ + public function getBetriebsmittelPerson($person_id, $betriebsmitteltyp=null) { if(!is_numeric($person_id)) { @@ -313,16 +290,17 @@ class betriebsmittelperson return false; } - $qry = "SELECT * FROM public.tbl_betriebsmittel JOIN public.tbl_betriebsmittelperson USING(betriebsmittel_id) WHERE person_id='".addslashes($person_id)."'"; + $qry = "SELECT * FROM public.tbl_betriebsmittel JOIN public.tbl_betriebsmittelperson USING(betriebsmittel_id) + WHERE person_id='".addslashes($person_id)."'"; if(!is_null($betriebsmitteltyp)) $qry.=" AND betriebsmitteltyp='".addslashes($betriebsmitteltyp)."'"; $qry.=" ORDER BY betriebsmitteltyp, nummer"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $bm = new betriebsmittelperson($this->conn, null, null, null); + $bm = new betriebsmittelperson(); $bm->betriebsmittel_id = $row->betriebsmittel_id; $bm->beschreibung = $row->beschreibung; diff --git a/include/betriebsmitteltyp.class.php b/include/betriebsmitteltyp.class.php index 8e74f834e..4090c5c1d 100644 --- a/include/betriebsmitteltyp.class.php +++ b/include/betriebsmitteltyp.class.php @@ -24,71 +24,55 @@ * Klasse betriebsmitteltyp (FAS-Online) * @create 13-01-2007 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class betriebsmitteltyp +class betriebsmitteltyp extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $result = array(); + public $new; + public $result = array(); //Tabellenspalten - var $betriebsmitteltyp; //string - var $beschreibung; //string - var $anzahl; //smallint - var $kaution; //numeric(5,2) + public $betriebsmitteltyp; //string + public $beschreibung; //string + public $anzahl; //smallint + public $kaution; //numeric(5,2) - // ************************************************ - // * Konstruktor - // * @param $conn Connection zur DB - // * $betriebsmitteltyp - // ************************************************ - function betriebsmitteltyp($conn, $betriebsmitteltyp=null, $unicode=false) + /** + * Konstruktor + * @param $betriebsmitteltyp + */ + public function __construct($betriebsmitteltyp=null) { - $this->conn = $conn; - /* - if($unicode!=null) - { - 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; - } - } - */ + parent::__construct(); + if($betriebsmitteltyp!=null) $this->load($betriebsmitteltyp); } - // ******************************************************* - // * Laedt die Funktion mit der ID $betriebsmitteltyp - // * @param $betriebsmitteltyp - // * @return true wenn ok, false im Fehlerfall - // ******************************************************** - function load($code) + /** + * Laedt die Funktion mit der ID $betriebsmitteltyp + * @param $betriebsmitteltyp + * @return true wenn ok, false im Fehlerfall + */ + public function load($betriebsmitteltyp) { - $this->errormsg = 'Noch nicht implementiert'; + $this->errormsg = 'Noch nicht implementiert'; return false; } - // ***************************************** - // * Laedt alle betriebsmitteltypen - // * @return true wenn ok, false wenn Fehler - // ***************************************** - function getAll() + /** + * Laedt alle BetriebsmittelTypen + * @return true wenn ok, false wenn Fehler + */ + public function getAll() { $qry = "SELECT * FROM public.tbl_betriebsmitteltyp ORDER BY betriebsmitteltyp"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $bmt = new betriebsmitteltyp($this->conn, null, null); + $bmt = new betriebsmitteltyp(); $bmt->betriebsmitteltyp = $row->betriebsmitteltyp; $bmt->beschreibung = $row->beschreibung; @@ -101,44 +85,34 @@ class betriebsmitteltyp } else { - $this->errormsg = 'Fehler beim laden der Daten'; + $this->errormsg = 'Fehler beim Laden der Daten'; return false; } } - - - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ************************************************************ - // * Speichert die Daten in die Datenbank - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function save() + + /** + * Speichert die Daten in die Datenbank + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { $dbanzahl=0; $qry=''; $qry1='SELECT * FROM public.tbl_betriebsmitteltyp WHERE beschreibung='.$this->addslashes($this->beschreibung).';'; - if($result1=pg_query($this->conn,$qry1)) + if($this->db_query($qry1)) { - if(pg_num_rows($result1)>0) //eintrag gefunden + if($this->db_num_rows()>0) //eintrag gefunden { - if($row1 = pg_fetch_object($result1)) + if($row1 = $this->db_fetch_object()) { if($row1->anzahl==null) - { $dbanzahl=0; - } else - { $dbanzahl=$row1->anzahl; - } + $qry='UPDATE public.tbl_betriebsmitteltyp SET '. - 'anzahl ='.$dbanzahl."+".$this->anzahl.' '. + 'anzahl ='.addslashes($dbanzahl)."+".addslashes($this->anzahl).' '. 'WHERE beschreibung='.$this->addslashes($this->beschreibung).';'; - echo nl2br($qry."\n"); } } else @@ -148,21 +122,21 @@ class betriebsmitteltyp $this->addslashes($this->beschreibung).', '. $this->addslashes($this->anzahl).', '. $this->addslashes($this->kaution).');'; - echo nl2br($qry."\n"); - } - if(pg_query($this->conn,$qry)) + } + + if($this->db_query($qry)) { - return true; + return true; } else { - $this->errormsg = 'Fehler beim Speichern des Betriebsmitteltypen-Datensatzes: '.$this->betriebsmitteltyp.' '.$qry; + $this->errormsg = 'Fehler beim Speichern des Betriebsmitteltypen-Datensatzes'; return false; } } else { - $this->errormsg = 'Fehler beim Zugriff auf den Betriebsmitteltypen-Datensatz: '.$this->betriebsmitteltyp.' '.$qry; + $this->errormsg = 'Fehler beim Zugriff auf den Betriebsmitteltypen-Datensatz'; return false; } } diff --git a/include/bisfunktion.class.php b/include/bisfunktion.class.php index 4d5ec8b9c..8381a5758 100644 --- a/include/bisfunktion.class.php +++ b/include/bisfunktion.class.php @@ -19,58 +19,42 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class bisfunktion +class bisfunktion extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var email Objekt + public $new; // boolean + public $result = array(); // email Objekt //Tabellenspalten - var $bisverwendung_id; - var $studiengang_kz; - var $sws; - var $updateamum; - var $updatevon; - var $insertamum; - var $insertvon; - var $ext_id; - var $studiengang_kz_old; + public $bisverwendung_id; + public $studiengang_kz; + public $sws; + public $updateamum; + public $updatevon; + public $insertamum; + public $insertvon; + public $ext_id; + public $studiengang_kz_old; - // *********************************************** - // * Konstruktor - // * @param conn Connection zur Datenbank - // * bisverwendung_id ID des zu ladenden Datensatzes - // *********************************************** - function bisfunktion($conn, $bisverwendung_id=null, $studiengang_kz=null, $unicode=false) + /** + * Konstruktor + * @param bisverwendung_id ID des zu ladenden Datensatzes + */ + public function __construct($bisverwendung_id=null, $studiengang_kz=null) { - $this->conn = $conn; - /* - if($unicode!=null) - { - 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($bisverwendung_id != null && $studiengang_kz != null) + parent::__construct(); + + if(!is_null($bisverwendung_id) && !is_null($studiengang_kz)) $this->load($bisverwendung_id, $studiengang_kz); } - // *********************************************** - // * Laedt einen Datensatz - // * @param bisverwendung_id ID des zu ladenden Datensatzes - // * studiengang_kz - // *********************************************** - function load($bisverwendung_id, $studiengang_kz) + /** + * Laedt einen Datensatz + * @param bisverwendung_id ID des zu ladenden Datensatzes + * studiengang_kz + */ + public function load($bisverwendung_id, $studiengang_kz) { //bisverwendung_id auf gueltigkeit pruefen if(!is_numeric($bisverwendung_id) || $bisverwendung_id == '') @@ -87,9 +71,9 @@ class bisfunktion //laden des Datensatzes $qry = "SELECT * FROM bis.tbl_bisfunktion WHERE bisverwendung_id='$bisverwendung_id' AND studiengang_kz='$studiengang_kz'"; - if($result = pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->bisverwendung_id = $row->bisverwendung_id; $this->studiengang_kz = $row->studiengang_kz; @@ -100,9 +84,9 @@ class bisfunktion $this->insertvon = $row->insertvon; $this->ext_id = $row->ext_id; - return true; + return true; } - else + else { $this->errormsg = 'Fehler bei der Datenbankabfrage'; return false; @@ -115,14 +99,14 @@ class bisfunktion } } - // ************************************************** - // * Loescht einen Datensatz - // * @param bisverwendung_id ID des zu loeschenden Datensatzes - // * @return true wenn ok, false im Fehlerfall - // ************************************************** - function delete($bisverwendung_id, $studiengang_kz) + /** + * Loescht einen Datensatz + * @param bisverwendung_id ID des zu loeschenden Datensatzes + * @return true wenn ok, false im Fehlerfall + */ + public function delete($bisverwendung_id, $studiengang_kz) { - //akte_id auf gueltigkeit pruefen + //id auf gueltigkeit pruefen if(!is_numeric($bisverwendung_id) || $bisverwendung_id == '') { $this->errormsg = 'bisverwendung_id muss eine gueltige Zahl sein'; @@ -136,7 +120,7 @@ class bisfunktion $qry = "DELETE FROM bis.tbl_bisfunktion WHERE bisverwendung_id = '$bisverwendung_id' AND studiengang_kz='$studiengang_kz';"; - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; @@ -148,7 +132,12 @@ class bisfunktion } } - function validate() + /** + * Prueft die Variablen vor dem Speichern auf Gueltigkeit + * + * @return true wenn ok, sonst false + */ + protected function validate() { if($this->sws!='' && !is_numeric($this->sws)) @@ -158,28 +147,18 @@ class bisfunktion } return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ********************************************************************* - // * Speichert den aktuellen Datensatz - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ********************************************************************* - function save($new=null) + + /** + * Speichert den aktuellen Datensatz + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if(!$this->validate()) return false; + if($new==null) $new = $this->new; @@ -212,10 +191,10 @@ class bisfunktion " updateamum=".$this->addslashes($this->updateamum).",". " updatevon=".$this->addslashes($this->updatevon).",". " ext_id=".$this->addslashes($this->ext_id). - " WHERE bisverwendung_id='".addslashes($this->bisverwendung_id)."' AND studiengang_kz='$this->studiengang_kz_old'"; + " WHERE bisverwendung_id='".addslashes($this->bisverwendung_id)."' AND studiengang_kz='".addslashes($this->studiengang_kz_old)."'"; } - //echo $qry; - if(pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { return true; } @@ -226,12 +205,12 @@ class bisfunktion } } - // ******************************************** - // * Laedt alle Verwendungen eines Mitarbeiters - // * @param $uid UID des Mitarbeiters - // * @return true wenn ok, false wenn Fehler - // ******************************************** - function getBisFunktion($bisverwendung_id, $studiengang_kz=null) + /** + * Laedt alle Verwendungen eines Mitarbeiters + * @param $uid UID des Mitarbeiters + * @return true wenn ok, false wenn Fehler + */ + public function getBisFunktion($bisverwendung_id, $studiengang_kz=null) { //laden des Datensatzes $qry = "SELECT * FROM bis.tbl_bisfunktion WHERE bisverwendung_id='".addslashes($bisverwendung_id)."'"; @@ -240,11 +219,12 @@ class bisfunktion $qry.=" AND studiengang_kz='".addslashes($studiengang_kz)."'"; $qry.=" ORDER BY studiengang_kz"; - if($result = pg_query($this->conn,$qry)) + + if($this->db_query($qry)) { - while($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new bisfunktion($this->conn, null, null, null); + $obj = new bisfunktion(); $obj->bisverwendung_id = $row->bisverwendung_id; $obj->studiengang_kz = $row->studiengang_kz; diff --git a/include/bisio.class.php b/include/bisio.class.php index eea032815..dd9b6423b 100644 --- a/include/bisio.class.php +++ b/include/bisio.class.php @@ -23,71 +23,50 @@ * Klasse bisio - Incomming/Outgoing * @create 2007-05-14 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class bisio +class bisio extends basis_db { - var $conn; // resource DB-Handle - var $new; // boolean - var $errormsg; // string - var $result = array(); // adresse Objekt + public $new; // boolean + public $result = array(); // adresse Objekt //Tabellenspalten - var $bisio_id; // serial - var $mobilitaetsprogramm_code; // integer - var $mobilitaetsprogramm_kurzbz; - var $nation_code; // varchar(3) - var $von; // date - var $bis; // date - var $zweck_code; // varchar(20) - var $zweck_bezeichnung; - var $student_uid; // varchar(16) - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $ext_id; // bigint - var $ort; - var $universitaet; - var $lehreinheit_id; + public $bisio_id; // serial + public $mobilitaetsprogramm_code; // integer + public $mobilitaetsprogramm_kurzbz; + public $nation_code; // varchar(3) + public $von; // date + public $bis; // date + public $zweck_code; // varchar(20) + public $zweck_bezeichnung; + public $student_uid; // varchar(16) + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $ext_id; // bigint + public $ort; + public $universitaet; + public $lehreinheit_id; - // ************************************************************************** - // * Konstruktor - // * @param $conn Connection - // * $bisio_id ID die geladen werden soll (Default=null) - // * $unicode Wenn true dann wird das Encoding auf Unicode gesetzt - // ************************************************************************** - function bisio($conn, $bisio_id=null, $unicode=false) + /** + * Konstruktor + * @param $bisio_id ID die geladen werden soll (Default=null) + */ + public function __construct($bisio_id=null) { - $this->conn = $conn; - /* - if($unicode!=null) - { - 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($bisio_id!=null) + parent::__construct(); + + if(!is_null($bisio_id)) $this->load($bisio_id); } - // ************************************************ - // * Laedt die Funktion mit der ID $buchungsnr - // * @param $buchungsnr ID der zu ladenden Email - // * @return true wenn ok, false im Fehlerfall - // ************************************************ - function load($bisio_id) + /** + * Laedt die Funktion mit der ID $buchungsnr + * @param $buchungsnr ID der zu ladenden Email + * @return true wenn ok, false im Fehlerfall + */ + public function load($bisio_id) { if(!is_numeric($bisio_id)) { @@ -97,9 +76,9 @@ class bisio $qry = "SELECT * FROM bis.tbl_bisio WHERE bisio_id='$bisio_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->bisio_id = $row->bisio_id; $this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code; @@ -132,11 +111,11 @@ class bisio } } - // ******************************************* - // * Prueft die Variablen auf Gueltigkeit - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen auf Gueltigkeit + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(!is_numeric($this->mobilitaetsprogramm_code)) { @@ -176,26 +155,15 @@ class bisio return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // *********************************************************************** - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert - // * @param $new true wenn insert false wenn update - // * @return true wenn ok, false im Fehlerfall - // *********************************************************************** - function save($new=null) + + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert + * @param $new true wenn insert false wenn update + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { //Variablen pruefen if(!$this->validate()) @@ -242,31 +210,30 @@ class bisio ' lehreinheit_id='.$this->addslashes($this->lehreinheit_id). " WHERE bisio_id='".addslashes($this->bisio_id)."';"; } - //echo $qry; - - if(pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('bis.tbl_bisio_bisio_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->bisio_id = $row->id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); return false; } } @@ -279,12 +246,12 @@ class bisio } } - // ******************************************************** - // * Loescht den Datenensatz mit der ID die uebergeben wird - // * @param bisio_id ID die geloescht werden soll - // * @return true wenn ok, false im Fehlerfall - // ******************************************************** - function delete($bisio_id) + /** + * Loescht den Datenensatz mit der ID die uebergeben wird + * @param bisio_id ID die geloescht werden soll + * @return true wenn ok, false im Fehlerfall + */ + public function delete($bisio_id) { if(!is_numeric($bisio_id)) { @@ -294,7 +261,7 @@ class bisio $qry = "DELETE FROM bis.tbl_bisio WHERE bisio_id='$bisio_id'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { @@ -303,13 +270,13 @@ class bisio } } - // ***************************************** - // * Liefert alle Incomming/Outgoing - // * Eintraege eines Studenten - // * @param $uid - // * @return true wenn ok, false wenn fehler - // ***************************************** - function getIO($uid) + /** + * Liefert alle Incomming/Outgoing + * Eintraege eines Studenten + * @param $uid + * @return true wenn ok, false wenn fehler + */ + public function getIO($uid) { $qry = "SELECT tbl_bisio.*, tbl_mobilitaetsprogramm.kurzbz as mobilitaetsprogramm_kurzbz, @@ -324,11 +291,11 @@ class bisio tbl_mobilitaetsprogramm.mobilitaetsprogramm_code=tbl_bisio.mobilitaetsprogramm_code ORDER BY bis"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $io = new bisio($this->conn, null, null); + $io = new bisio(); $io->bisio_id = $row->bisio_id; $io->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code; @@ -358,6 +325,5 @@ class bisio return false; } } - } ?> \ No newline at end of file diff --git a/include/bisverwendung.class.php b/include/bisverwendung.class.php index 37edeb8a2..76d0a82e8 100644 --- a/include/bisverwendung.class.php +++ b/include/bisverwendung.class.php @@ -19,71 +19,55 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class bisverwendung +class bisverwendung extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var email Objekt + public $new; + public $result = array(); //Tabellenspalten - var $bisverwendung_id; - var $ba1code; - var $ba2code; - var $beschausmasscode; - var $verwendung_code; - var $mitarbeiter_uid; - var $hauptberufcode; - var $hauptberuflich; - var $habilitation; - var $beginn; - var $ende; - var $vertragsstunden; - var $updateamum; - var $updatevon; - var $insertamum; - var $insertvon; - var $ext_id; + public $bisverwendung_id; + public $ba1code; + public $ba2code; + public $beschausmasscode; + public $verwendung_code; + public $mitarbeiter_uid; + public $hauptberufcode; + public $hauptberuflich; + public $habilitation; + public $beginn; + public $ende; + public $vertragsstunden; + public $updateamum; + public $updatevon; + public $insertamum; + public $insertvon; + public $ext_id; - var $ba1bez; - var $ba2bez; - var $beschausmass; - var $verwendung; - var $hauptberuf; + public $ba1bez; + public $ba2bez; + public $beschausmass; + public $verwendung; + public $hauptberuf; - // *********************************************** - // * Konstruktor - // * @param conn Connection zur Datenbank - // * bisverwendung_id ID des zu ladenden Datensatzes - // *********************************************** - function bisverwendung($conn, $bisverwendung_id=null, $unicode=false) + /** + * Konstruktor + * @param bisverwendung_id ID des zu ladenden Datensatzes + */ + public function __construct($bisverwendung_id=null) { - $this->conn = $conn; - /* - if($unicode!=null) - { - 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($bisverwendung_id != null) + parent::__construct(); + + if(!is_null($bisverwendung_id)) $this->load($bisverwendung_id); } - // *********************************************** - // * Laedt einen Datensatz - // * @param bisverwendung_id ID des zu ladenden Datensatzes - // *********************************************** - function load($bisverwendung_id) + /** + * Laedt einen Datensatz + * @param bisverwendung_id ID des zu ladenden Datensatzes + */ + public function load($bisverwendung_id) { //bisverwendung_id auf gueltigkeit pruefen if(!is_numeric($bisverwendung_id) || $bisverwendung_id == '') @@ -93,17 +77,22 @@ class bisverwendung } //laden des Datensatzes - $qry = "SELECT * FROM bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2, - bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode) WHERE - tbl_bisverwendung.ba1code=tbl_beschaeftigungsart1.ba1code AND - tbl_bisverwendung.ba2code=tbl_beschaeftigungsart2.ba2code AND - tbl_bisverwendung.beschausmasscode=tbl_beschaeftigungsausmass.beschausmasscode AND - tbl_bisverwendung.verwendung_code=tbl_verwendung.verwendung_code AND - bisverwendung_id='$bisverwendung_id';"; + $qry = "SELECT + * + FROM + bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2, + bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung + LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode) + WHERE + tbl_bisverwendung.ba1code=tbl_beschaeftigungsart1.ba1code AND + tbl_bisverwendung.ba2code=tbl_beschaeftigungsart2.ba2code AND + tbl_bisverwendung.beschausmasscode=tbl_beschaeftigungsausmass.beschausmasscode AND + tbl_bisverwendung.verwendung_code=tbl_verwendung.verwendung_code AND + bisverwendung_id='$bisverwendung_id';"; - if($result = pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->bisverwendung_id = $row->bisverwendung_id; $this->ba1code = $row->ba1code; @@ -148,12 +137,12 @@ class bisverwendung } } - // ************************************************** - // * Loescht einen Datensatz - // * @param bisverwendung_id ID des zu loeschenden Datensatzes - // * @return true wenn ok, false im Fehlerfall - // ************************************************** - function delete($bisverwendung_id) + /** + * Loescht einen Datensatz + * @param bisverwendung_id ID des zu loeschenden Datensatzes + * @return true wenn ok, false im Fehlerfall + */ + public function delete($bisverwendung_id) { //akte_id auf gueltigkeit pruefen if(!is_numeric($bisverwendung_id) || $bisverwendung_id == '') @@ -162,9 +151,9 @@ class bisverwendung return false; } $qry = "SELECT count(*) as anzahl FROM bis.tbl_bisfunktion WHERE bisverwendung_id='$bisverwendung_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { if($row->anzahl>0) { @@ -173,10 +162,10 @@ class bisverwendung } } } - + $qry = "DELETE FROM bis.tbl_bisverwendung WHERE bisverwendung_id = '$bisverwendung_id';"; - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; @@ -188,7 +177,12 @@ class bisverwendung } } - function validate() + /** + * Prueft die Daten vor dem Speichern + * + * @return true wenn ok, sonst false + */ + protected function validate() { if(!is_numeric($this->vertragsstunden) && $this->vertragsstunden!='') { @@ -197,25 +191,14 @@ class bisverwendung } return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ********************************************************************* - // * Speichert den aktuellen Datensatz - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ********************************************************************* - function save($new=null) + + /** + * Speichert den aktuellen Datensatz + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if(!$this->validate()) return false; @@ -273,30 +256,30 @@ class bisverwendung " WHERE bisverwendung_id='".addslashes($this->bisverwendung_id)."'"; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('bis.tbl_bisverwendung_bisverwendung_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->bisverwendung_id = $row->id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -310,27 +293,32 @@ class bisverwendung } } - // ******************************************** - // * Laedt alle Verwendungen eines Mitarbeiters - // * @param $uid UID des Mitarbeiters - // * @return true wenn ok, false wenn Fehler - // ******************************************** - function getVerwendung($uid) + /** + * Laedt alle Verwendungen eines Mitarbeiters + * @param $uid UID des Mitarbeiters + * @return true wenn ok, false wenn Fehler + */ + public function getVerwendung($uid) { //laden des Datensatzes - $qry = "SELECT * FROM bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2, - bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode) WHERE - tbl_bisverwendung.ba1code=tbl_beschaeftigungsart1.ba1code AND - tbl_bisverwendung.ba2code=tbl_beschaeftigungsart2.ba2code AND - tbl_bisverwendung.beschausmasscode=tbl_beschaeftigungsausmass.beschausmasscode AND - tbl_bisverwendung.verwendung_code=tbl_verwendung.verwendung_code AND - mitarbeiter_uid='".addslashes($uid)."' ORDER BY beginn;"; - //echo $qry; - if($result = pg_query($this->conn,$qry)) + $qry = "SELECT + * + FROM + bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2, + bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung + LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode) + WHERE + tbl_bisverwendung.ba1code=tbl_beschaeftigungsart1.ba1code AND + tbl_bisverwendung.ba2code=tbl_beschaeftigungsart2.ba2code AND + tbl_bisverwendung.beschausmasscode=tbl_beschaeftigungsausmass.beschausmasscode AND + tbl_bisverwendung.verwendung_code=tbl_verwendung.verwendung_code AND + mitarbeiter_uid='".addslashes($uid)."' ORDER BY beginn;"; + + if($this->db_query($qry)) { - while($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new bisverwendung($this->conn, null, null); + $obj = new bisverwendung(); $obj->bisverwendung_id = $row->bisverwendung_id; $obj->ba1code = $row->ba1code; @@ -370,6 +358,5 @@ class bisverwendung return false; } } - } ?> \ No newline at end of file diff --git a/include/dokument.class.php b/include/dokument.class.php index f48b82fe3..8a8cb84e6 100644 --- a/include/dokument.class.php +++ b/include/dokument.class.php @@ -19,64 +19,46 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class dokument +class dokument extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $result = array(); + public $new; + public $result = array(); //Tabellenspalten - var $dokument_kurzbz; - var $bezeichnung; - var $studiengang_kz; + public $dokument_kurzbz; + public $bezeichnung; + public $studiengang_kz; - var $prestudent_id; - var $mitarbeiter_uid; - var $datum; - var $updateamum; - var $updatevon; - var $insertamum; - var $insertvon; - var $ext_id; + public $prestudent_id; + public $mitarbeiter_uid; + public $datum; + public $updateamum; + public $updatevon; + public $insertamum; + public $insertvon; + public $ext_id; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional ein dokument - // * @param $conn Datenbank-Connection - // * $dokument_kurzbz - // * $prestudent_id - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function dokument($conn, $dokument_kurzbz=null, $prestudent_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional ein Dokument + * @param $dokument_kurzbz + * @param $prestudent_id + */ + public function __construct($dokument_kurzbz=null, $prestudent_id=null) { - $this->conn = $conn; - /* - if(!is_null($unicode)) - { - 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; - } - } - */ + parent::__construct(); + if(!is_null($dokument_kurzbz) && !is_null($prestudent_id)) $this->load($dokument_kurzbz, $prestudent_id); } - // ********************************************************* - // * Laedt eine Dokument-Prestudent Zuordnung - // * @param dokument_kurzbz - // * prestudent_id - // ********************************************************* - function load($dokument_kurzbz, $prestudent_id) + /** + * Laedt eine Dokument-Prestudent Zuordnung + * @param dokument_kurzbz + * prestudent_id + */ + public function load($dokument_kurzbz, $prestudent_id) { if(!is_numeric($prestudent_id)) { @@ -84,11 +66,12 @@ class dokument return false; } - $qry = "SELECT * FROM public.tbl_dokumentprestudent WHERE prestudent_id='$prestudent_id' AND dokument_kurzbz='".addslashes($dokument_kurzbz)."';"; + $qry = "SELECT * FROM public.tbl_dokumentprestudent + WHERE prestudent_id='$prestudent_id' AND dokument_kurzbz='".addslashes($dokument_kurzbz)."';"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->dokument_kurzbz = $row->dokument_kurzbz; $this->prestudent_id = $row->prestudent_id; @@ -114,12 +97,12 @@ class dokument } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if($this->dokument_kurzbz=='') { @@ -146,25 +129,14 @@ class dokument } 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 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 - // ************************************************************ - function save($new=null) + + /** + * 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; @@ -192,8 +164,8 @@ class dokument //never used return false; } - //echo $qry; - if(pg_query($this->conn,$qry)) + + if($this->db_query($qry)) { return true; } @@ -204,12 +176,12 @@ class dokument } } - // ******************************************* - // * Loescht eine Zuordnung - // * @param dokument_kurzbz - // * prestudent_id - // ******************************************* - function delete($dokument_kurzbz, $prestudent_id) + /** + * Loescht eine Zuordnung + * @param dokument_kurzbz + * prestudent_id + */ + public function delete($dokument_kurzbz, $prestudent_id) { if(!is_numeric($prestudent_id)) { @@ -217,9 +189,10 @@ class dokument return false; } - $qry = "DELETE FROM public.tbl_dokumentprestudent WHERE dokument_kurzbz='".addslashes($dokument_kurzbz)."' AND prestudent_id='".addslashes($prestudent_id)."'"; + $qry = "DELETE FROM public.tbl_dokumentprestudent + WHERE dokument_kurzbz='".addslashes($dokument_kurzbz)."' AND prestudent_id='".addslashes($prestudent_id)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { @@ -228,13 +201,13 @@ class dokument } } - // ********************************************* - // * Laedt alle Dokumente eines Prestudenten die - // * er bereits abgegeben hat - // * @param prestudent_id - // * @return true wenn ok, false wenn Fehler - // ********************************************* - function getPrestudentDokumente($prestudent_id) + /** + * Laedt alle Dokumente eines Prestudenten die + * er bereits abgegeben hat + * @param prestudent_id + * @return true wenn ok, false wenn Fehler + */ + public function getPrestudentDokumente($prestudent_id) { if(!is_numeric($prestudent_id)) { @@ -242,13 +215,14 @@ class dokument return false; } - $qry = "SELECT * FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz) WHERE prestudent_id='$prestudent_id' ORDER BY dokument_kurzbz"; + $qry = "SELECT * FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz) + WHERE prestudent_id='$prestudent_id' ORDER BY dokument_kurzbz"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $dok = new dokument($this->conn, null, null, null); + $dok = new dokument(); $dok->dokument_kurzbz = $row->dokument_kurzbz; $dok->bezeichnung = $row->bezeichnung; @@ -272,14 +246,14 @@ class dokument } } - // ********************************************** - // * Laedt alle Dokumente fuer einen Stg die der - // * Prestudent noch nicht abgegeben hat - // * @param studiengang_kz - // * prestudent_id - // * @return true wenn ok, false wenn Fehler - // ********************************************** - function getFehlendeDokumente($studiengang_kz, $prestudent_id=null) + /** + * Laedt alle Dokumente fuer einen Stg die der + * Prestudent noch nicht abgegeben hat + * @param studiengang_kz + * prestudent_id + * @return true wenn ok, false wenn Fehler + */ + public function getFehlendeDokumente($studiengang_kz, $prestudent_id=null) { if(!is_null($prestudent_id) && !is_numeric($prestudent_id)) { @@ -304,11 +278,11 @@ class dokument $qry.=" ORDER BY dokument_kurzbz"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $dok = new dokument($this->conn, null, null, null); + $dok = new dokument(); $dok->dokument_kurzbz = $row->dokument_kurzbz; $dok->bezeichnung = $row->bezeichnung; $this->result[] = $dok; @@ -322,20 +296,21 @@ class dokument } } - // ************************************************ - // * Liefert die Dokumente eines Studienganges - // * @param $studiengang_kz - // * @return true wenn ok false im Fehlerfall - // ************************************************ - function getDokumente($studiengang_kz) + /** + * Liefert die Dokumente eines Studienganges + * @param $studiengang_kz + * @return true wenn ok false im Fehlerfall + */ + public function getDokumente($studiengang_kz) { - $qry = "SELECT * FROM public.tbl_dokumentstudiengang JOIN public.tbl_dokument USING(dokument_kurzbz) WHERE studiengang_kz='$studiengang_kz'"; + $qry = "SELECT * FROM public.tbl_dokumentstudiengang JOIN public.tbl_dokument USING(dokument_kurzbz) + WHERE studiengang_kz='".addslashes($studiengang_kz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $dok = new dokument($this->conn, null, null, null); + $dok = new dokument(); $dok->dokument_kurzbz = $row->dokument_kurzbz; $dok->bezeichnung = $row->bezeichnung; diff --git a/include/entwicklungsteam.class.php b/include/entwicklungsteam.class.php index 87748b7d7..bcc2e5dcd 100644 --- a/include/entwicklungsteam.class.php +++ b/include/entwicklungsteam.class.php @@ -19,63 +19,47 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class entwicklungsteam +class entwicklungsteam extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var email Objekt + public $new; + public $result = array(); //Tabellenspalten - var $mitarbeiter_uid; - var $studiengang_kz; - var $besqualcode; - var $beginn; - var $ende; - var $updateamum; - var $updatevon; - var $insertamum; - var $insertvon; - var $ext_id; + public $mitarbeiter_uid; + public $studiengang_kz; + public $besqualcode; + public $beginn; + public $ende; + public $updateamum; + public $updatevon; + public $insertamum; + public $insertvon; + public $ext_id; - var $besqual; - var $studiengang_kz_old; + public $besqual; + public $studiengang_kz_old; - // *********************************************** - // * Konstruktor - // * @param conn Connection zur Datenbank - // * mitarbeiter_uid ID des zu ladenden Datensatzes - // * studiengang_kz - // *********************************************** - function entwicklungsteam($conn, $mitarbeiter_uid=null, $studiengang_kz=null, $unicode=false) + /** + * Konstruktor + * @param mitarbeiter_uid ID des zu ladenden Datensatzes + * studiengang_kz + */ + public function __construct($mitarbeiter_uid=null, $studiengang_kz=null) { - $this->conn = $conn; - /* - if($unicode!=null) - { - 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($mitarbeiter_uid != null && $studiengang_kz != null) + parent::__construct(); + + if(!is_null($mitarbeiter_uid) && !is_null($studiengang_kz)) $this->load($mitarbeiter_uid, $studiengang_kz); } - // *********************************************** - // * Laedt einen Datensatz - // * @param mitarbeiter_uid ID des zu ladenden Datensatzes - // * studiengang_kz - // *********************************************** - function load($mitarbeiter_uid, $studiengang_kz) + /** + * Laedt einen Datensatz + * @param mitarbeiter_uid ID des zu ladenden Datensatzes + * studiengang_kz + */ + public function load($mitarbeiter_uid, $studiengang_kz) { if(!is_numeric($studiengang_kz) || $studiengang_kz == '') { @@ -84,11 +68,12 @@ class entwicklungsteam } //laden des Datensatzes - $qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode) WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."' AND studiengang_kz='$studiengang_kz'"; + $qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode) + WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."' AND studiengang_kz='$studiengang_kz'"; - if($result = pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->mitarbeiter_uid = $row->mitarbeiter_uid; $this->studiengang_kz = $row->studiengang_kz; @@ -101,7 +86,7 @@ class entwicklungsteam $this->insertvon = $row->insertvon; $this->ext_id = $row->ext_id; $this->besqual = $row->besqualbez; - return true; + return true; } else { @@ -116,12 +101,12 @@ class entwicklungsteam } } - // ************************************************** - // * Loescht einen Datensatz - // * @param bisverwendung_id ID des zu loeschenden Datensatzes - // * @return true wenn ok, false im Fehlerfall - // ************************************************** - function delete($mitarbeiter_uid, $studiengang_kz) + /** + * Loescht einen Datensatz + * @param bisverwendung_id ID des zu loeschenden Datensatzes + * @return true wenn ok, false im Fehlerfall + */ + public function delete($mitarbeiter_uid, $studiengang_kz) { if(!is_numeric($studiengang_kz) || $studiengang_kz == '') { @@ -129,9 +114,10 @@ class entwicklungsteam return false; } - $qry = "DELETE FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid = '".addslashes($mitarbeiter_uid)."' AND studiengang_kz='$studiengang_kz';"; + $qry = "DELETE FROM bis.tbl_entwicklungsteam + WHERE mitarbeiter_uid = '".addslashes($mitarbeiter_uid)."' AND studiengang_kz='$studiengang_kz';"; - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; @@ -143,29 +129,38 @@ class entwicklungsteam } } - function validate() + /** + * Prueft die Variablen vor dem Speichern + * + * @return true wenn ok, sonst false + */ + protected function validate() { + if($this->mitarbeiter_uid=='') + { + $this->errormsg = 'Es muss ein Mitarbeiter angegeben werden'; + return false; + } + if($this->studiengang_kz=='') + { + $this->errormsg = 'Es muss ein Studiengang angegeben werden'; + return false; + } + if($this->besqualcode=='') + { + $this->errormsg = 'BesondereQualifikation muss eingetragen werden'; + return false; + } return true; } - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ********************************************************************* - // * Speichert den aktuellen Datensatz - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ********************************************************************* - function save($new=null) + /** + * Speichert den aktuellen Datensatz + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if(!$this->validate()) return false; @@ -206,7 +201,7 @@ class entwicklungsteam " WHERE mitarbeiter_uid='".addslashes($this->mitarbeiter_uid)."' AND studiengang_kz='$this->studiengang_kz_old'"; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -217,24 +212,25 @@ class entwicklungsteam } } - // ******************************************** - // * Laedt alle Entwicklungsteameintraege eines Mitarbeiters - // * @param $uid UID des Mitarbeiters - // * @return true wenn ok, false wenn Fehler - // ******************************************** - function getEntwicklungsteam($mitarbeiter_uid, $studiengang_kz=null) + /* + * Laedt alle Entwicklungsteameintraege eines Mitarbeiters + * @param $uid UID des Mitarbeiters + * @return true wenn ok, false wenn Fehler + */ + public function getEntwicklungsteam($mitarbeiter_uid, $studiengang_kz=null) { //laden des Datensatzes - $qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode) WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'"; + $qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode) + WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'"; if($studiengang_kz!=null) $qry.=" AND studiengang_kz='".addslashes($studiengang_kz)."'"; - if($result = pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - while($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new entwicklungsteam($this->conn, null, null, null); + $obj = new entwicklungsteam(); $obj->mitarbeiter_uid = $row->mitarbeiter_uid; $obj->studiengang_kz = $row->studiengang_kz; @@ -259,16 +255,21 @@ class entwicklungsteam } } - // ***** - // * Preuft ob der Eintrag schon existiert - // ***** - function exists($mitarbeiter_uid,$studiengang_kz) + /** + * Preuft ob der Eintrag schon existiert + * + * @param $mitarbeiter_uid + * @param $studiengang_kz + * @return true wenn vorhanden, false wenn nicht + */ + public function exists($mitarbeiter_uid,$studiengang_kz) { - $qry = "SELECT count(*) as anzahl FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."' AND studiengang_kz='".addslashes($studiengang_kz)."'"; + $qry = "SELECT count(*) as anzahl FROM bis.tbl_entwicklungsteam + WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."' AND studiengang_kz='".addslashes($studiengang_kz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { if($row->anzahl>0) return true; diff --git a/include/erhalter.class.php b/include/erhalter.class.php index ea846398f..8f5449967 100644 --- a/include/erhalter.class.php +++ b/include/erhalter.class.php @@ -19,52 +19,40 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class erhalter +class erhalter extends basis_db { - var $conn; // resource DB-Handle - var $new; // boolean - var $errormsg; // string - var $result = array(); // erhalter Objekt + public $new; // boolean + public $result = array(); // erhalter Objekt - var $erhalter_kz; // integer - var $kurzbz; // varchar(5) - var $bezeichnung; // varchar(255) - var $dvr; // varchar(8) - var $logo; // ctext - var $zvr; // char(16) + public $erhalter_kz; // integer + public $kurzbz; // varchar(5) + public $bezeichnung; // varchar(255) + public $dvr; // varchar(8) + public $logo; // text + public $zvr; // char(16) - // ************************************************************** - // * Konstruktor - // * @param conn Connection zur Datenbank - // * - // ************************************************************** - function erhalter($conn, $erhalter_kz=null, $unicode=false) + /** + * Konstruktor + * @param conn Connection zur Datenbank + * + */ + public function __construct($erhalter_kz=null) { - $this->conn = $conn; - /* - 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($erhalter_kz != null) + parent::__construct(); + + if(!is_null($erhalter_kz)) $this->load($erhalter_kz); } - // ***************************************************** - // * Laedt einen Erhalter - // * @param stg_id ID des Studienganges der zu laden ist - // * @return true wenn ok, false im Fehlerfall - // ***************************************************** - function load($erhalter_kz) + /** + * Laedt einen Erhalter + * @param stg_id ID des Studienganges der zu laden ist + * @return true wenn ok, false im Fehlerfall + */ + public function load($erhalter_kz) { if(!is_numeric($erhalter_kz)) { @@ -74,9 +62,9 @@ class erhalter $qry = "SELECT * FROM public.tbl_erhalter WHERE erhalter_kz='$erhalter_kz'"; - if($res = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->erhalter_kz=$row->erhalter_kz; $this->kurzbz=$row->kurzbz; @@ -95,26 +83,26 @@ class erhalter return true; } - // ******************************************* - // * Liefert alle Erhalter - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function getAll($order=null) + /** + * Liefert alle Erhalter + * @return true wenn ok, false im Fehlerfall + */ + public function getAll($order=null) { $qry = "SELECT * FROM public.tbl_erhalter"; if($order!=null) $qry .=" ORDER BY $order"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $stg_obj = new erhalter($this->conn); + $stg_obj = new erhalter(); $stg_obj->erhalter_kz=$row->erhalter_kz; $stg_obj->kurzbz=$row->kurzbz; @@ -125,67 +113,48 @@ class erhalter $this->result[] = $stg_obj; } - //return $this->result; + return true; } - /** - * Loescht einen Erhalter - * @param $stg_id ID des zu loeschenden Studienganges - * @return true wenn ok, false im Fehlerfall - */ - function delete($stg_id) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + protected function validate() { - $this->bezeichnung = str_replace("'",'´',$this->bezeichnung); - $this->kurzbz = str_replace("'",'´',$this->kurzbz); - //Laenge Pruefen if(strlen($this->bezeichnung)>255) { - $this->errormsg = "Bezeichnung darf nicht laenger als 255 Zeichen sein bei $this->ext_id - $this->bezeichnung"; + $this->errormsg = 'Bezeichnung darf nicht laenger als 255 Zeichen sein'; return false; } if(strlen($this->kurzbz)>5) { - $this->errormsg = "Kurzbez darf nicht laenger als 5 Zeichen sein bei $this->ext_id - $this->kurzbz"; + $this->errormsg = 'Kurzbez darf nicht laenger als 5 Zeichen sein'; return false; - } + } + if(!is_numeric($this->erhalter_kz)) + { + $this->errormsg = 'erhalter_kz ungueltig!'; + return false; + } $this->errormsg = ''; return true; } + /** * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) - { + if(!$this->validate()) return false; - } if($this->new) { - //Pruefen ob erhalter_kz gueltig ist - if(!is_numeric($this->erhalter_kz)) - { - $this->errormsg = 'erhalter_kz ungueltig! ('.$this->erhalter_kz.')'; - return false; - } //Neuen Datensatz anlegen $qry = 'INSERT INTO public.tbl_erhalter (erhalter_kz, kurzbz, bezeichnung, dvr, logo, zvr) VALUES ('. $this->addslashes($this->erhalter_kz).', '. @@ -199,13 +168,6 @@ class erhalter { //bestehenden Datensatz akualisieren - //Pruefen ob studiengang_kz gueltig ist - if(!is_numeric($this->erhalter_kz)) - { - $this->errormsg = 'erhalter_kz ungueltig.'; - return false; - } - $qry = 'UPDATE public.tbl_studiengang SET '. 'erhalter_kz='.$this->addslashes($this->erhalter_kz).', '. 'kurzbz='.$this->addslashes($this->kurzbz).', '. @@ -215,26 +177,9 @@ class erhalter 'zvr='.$this->addslashes($this->zvr).' '. 'WHERE erhalter_kz='.$this->addslashes($this->erhalter_kz).';'; } - //echo $qry; - if(pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { - /*//Log schreiben - $sql = $qry; - $qry = "SELECT nextval('log_seq') as id;"; - if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) - { - $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; - return false; - } - - $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; - if(pg_query($this->conn, $qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; - return false; - }*/ return true; } else diff --git a/include/fachbereich.class.php b/include/fachbereich.class.php index 3b2af15da..5611c4ac5 100644 --- a/include/fachbereich.class.php +++ b/include/fachbereich.class.php @@ -23,55 +23,52 @@ * Klasse fachbereich (FAS-Online) * @create 04-12-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class fachbereich +class fachbereich extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var fachbereich Objekt + public $new; // boolean + public $result = array(); // fachbereich Objekt //Tabellenspalten - var $fachbereich_kurzbz; // @var string - var $bezeichnung; // @var string - var $farbe; // @var string - var $studiengang_kz; // @var integer - var $aktiv; // @var boolean - var $ext_id; // @var bigint + public $fachbereich_kurzbz; // string + public $bezeichnung; // string + public $farbe; // string + public $studiengang_kz; // integer + public $aktiv; // boolean + public $ext_id; // bigint - var $bezeichnung_arr = array(); + public $bezeichnung_arr = array(); /** * Konstruktor - * @param $conn Connection zur DB - * $fachb_id ID des zu ladenden Fachbereiches + * @param $fachb_id ID des zu ladenden Fachbereiches */ - function fachbereich($conn, $fachbereich_kurzbz=null) + public function __construct($fachbereich_kurzbz=null) { - $this->conn = $conn; - if($fachbereich_kurzbz != null) - { + parent::__construct(); + + if(!is_null($fachbereich_kurzbz)) $this->load($fachbereich_kurzbz); - } } /** * Laedt alle verfuegbaren Fachbereiche * @return true wenn ok, false im Fehlerfall */ - function getAll() + public function getAll() { $qry = 'SELECT * FROM public.tbl_fachbereich order by fachbereich_kurzbz;'; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden der Datensaetze'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $fachb_obj = new fachbereich($this->conn); + $fachb_obj = new fachbereich(); $fachb_obj->fachbereich_kurzbz = $row->fachbereich_kurzbz; $fachb_obj->bezeichnung = $row->bezeichnung; @@ -91,7 +88,7 @@ class fachbereich * @param $fachb_id ID des zu ladenden Fachbereiches * @return true wenn ok, false im Fehlerfall */ - function load($fachbereich_kurzbz) + public function load($fachbereich_kurzbz) { if($fachbereich_kurzbz == '') { @@ -101,13 +98,13 @@ class fachbereich $qry = "SELECT * FROM public.tbl_fachbereich WHERE fachbereich_kurzbz = '".addslashes($fachbereich_kurzbz)."';"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } - if($row=pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->fachbereich_kurzbz = $row->fachbereich_kurzbz; $this->bezeichnung = $row->bezeichnung; @@ -124,65 +121,48 @@ class fachbereich return true; } - - /** - * Loescht einen Datensatz - * @param $fachb_id id des Datensatzes der geloescht werden soll - * @return true wenn ok, false im Fehlerfall - */ - function delete($fachb_id) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } + /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + protected function validate() { - $this->bezeichnung = str_replace("'",'´',$this->bezeichnung); - $this->fachbereich_kurzbz = str_replace("'",'´',$this->fachbereich_kurzbz); - - //Laenge Pruefen if(strlen($this->bezeichnung)>128) { - $this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei $this->ext_id - $this->bezeichnung"; + $this->errormsg = 'Bezeichnung darf nicht laenger als 128 Zeichen sein'; return false; } if(strlen($this->fachbereich_kurzbz)>16) { - $this->errormsg = "Kurzbez darf nicht laenger als 16 Zeichen sein bei $this->ext_id - $this->fachbereich_kurzbz"; + $this->errormsg = 'Kurzbez darf nicht laenger als 16 Zeichen sein'; + return false; + } + if($this->fachbereich_kurzbz == '') + { + $this->errormsg = 'fachbereich_kurzbz ungueltig!'; return false; } $this->errormsg = ''; return true; } + /** * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($this->new) { - //Pruefen ob fachbereich_kurzbz gueltig ist - if($this->fachbereich_kurzbz == '') - { - $this->errormsg = 'fachbereich_id ungueltig! ('.$this->fachbereich_kurzbz.'/'.$this->ext_id.')'; - return false; - } //Neuen Datensatz anlegen - $qry = 'INSERT INTO public.tbl_fachbereich (fachbereich_kurzbz, bezeichnung, farbe, aktiv, ext_id, studiengang_kz) VALUES ('. + $qry = 'INSERT INTO public.tbl_fachbereich (fachbereich_kurzbz, bezeichnung, farbe, aktiv, + ext_id, studiengang_kz) VALUES ('. $this->addslashes($this->fachbereich_kurzbz).', '. $this->addslashes($this->bezeichnung).', '. $this->addslashes($this->farbe).', '. @@ -193,14 +173,7 @@ class fachbereich else { //bestehenden Datensatz akualisieren - - //Pruefen ob fachbereich_kurzbz gueltig ist - if($this->fachbereich_kurzbz == '') - { - $this->errormsg = 'fachbereich_kurzbz ungueltig.'; - return false; - } - + $qry = 'UPDATE public.tbl_fachbereich SET '. 'fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).', '. 'bezeichnung='.$this->addslashes($this->bezeichnung).', '. @@ -211,25 +184,8 @@ class fachbereich 'WHERE fachbereich_kurzbz = '.$this->addslashes($this->fachbereich_kurzbz).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - /*//Log schreiben - $sql = $qry; - $qry = "SELECT nextval('log_seq') as id;"; - if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) - { - $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; - return false; - } - - $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; - if(pg_query($this->conn, $qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; - return false; - }*/ return true; } else diff --git a/include/feedback.class.php b/include/feedback.class.php index 4d529dc1a..b2fc2e1cc 100644 --- a/include/feedback.class.php +++ b/include/feedback.class.php @@ -19,53 +19,38 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class feedback +class feedback extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $result = array(); // feedback Objekt + public $new; // boolean + public $result = array(); // feedback Objekt //Tabellenspalten - var $feedback_id; // integer - var $betreff; // varchar(128) - var $text; // text - var $datum; // date - var $uid; // varchar(32) - var $lehrveranstaltung_id; // integer + public $feedback_id; // integer + public $betreff; // varchar(128) + public $text; // text + public $datum; // date + public $uid; // varchar(32) + public $lehrveranstaltung_id; // integer - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform - // * @param $conn Datenbank-Connection - // * $feedback_id - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function feedback($conn, $feedback_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional ein Feeedback + * @param $feedback_id + */ + public function __construct($feedback_id=null) { - $this->conn = $conn; - /* - 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($feedback_id!=null) + parent::__construct(); + + if(!is_null($feedback_id)) $this->load($feedback_id); } - // ********************************************************* - // * Laedt ein Feedback - // * @param - // ********************************************************* - function load($feedback_id) + /** + * Laedt ein Feedback + * @param + */ + public function load($feedback_id) { if(!is_numeric($feedback_id)) { @@ -75,28 +60,38 @@ class feedback $qry = "SELECT * FROM campus.tbl_feedback WHERE feedback_id='$feedback_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - $this->feedback_id=$row->feedback_id; - $this->betreff=$row->betreff; - $this->text=$row->text; - $this->datum=$row->datum; - $this->uid=$row->uid; - $this->lehrveranstaltung_id=$row->lehrveranstaltung_id; + if($row = $this->db_fetch_object()) + { + $this->feedback_id=$row->feedback_id; + $this->betreff=$row->betreff; + $this->text=$row->text; + $this->datum=$row->datum; + $this->uid=$row->uid; + $this->lehrveranstaltung_id=$row->lehrveranstaltung_id; + + return true; + } + else + { + $this->errormsg = 'Kein Feedback mit dieser ID vorhanden'; + return false; + } } else { - $this->errormsg = 'Fehler beim laden der Lehrveranstaltungen'; + $this->errormsg = 'Fehler beim Laden der Lehrveranstaltungen'; return false; } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(strlen($this->betreff)>128) { @@ -111,19 +106,14 @@ class feedback 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'); - } - - function load_feedback($lehrveranstaltung_id) + + /** + * Laedt die Feedbacks einer Lehrveranstaltung + * + * @param $lehrveranstaltung_id + * @return true wenn ok, sonst false + */ + public function load_feedback($lehrveranstaltung_id) { if(!is_numeric($lehrveranstaltung_id)) { @@ -133,11 +123,11 @@ class feedback $qry = "SELECT * FROM campus.tbl_feedback WHERE lehrveranstaltung_id='$lehrveranstaltung_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $fb_obj = new feedback($this->conn); + $fb_obj = new feedback(); $fb_obj->feedback_id=$row->feedback_id; $fb_obj->betreff=$row->betreff; @@ -152,18 +142,18 @@ class feedback } else { - $this->errormsg = 'Fehler beim laden der Lehrveranstaltungen'; + $this->errormsg = 'Fehler beim Laden der Lehrveranstaltungen'; return false; } } - // ************************************************************ - // * Speichert Feedback 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() + /** + * Speichert Feedback 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() { //Variablen auf Gueltigkeit pruefen if(!$this->validate()) @@ -171,7 +161,6 @@ class feedback if($this->new) { - //ToDo: Feedback_ID wieder entfernen und per Seq fuellen $qry = 'INSERT INTO campus.tbl_feedback (betreff, text, datum, uid, lehrveranstaltung_id) VALUES('.$this->addslashes($this->betreff).','. $this->addslashes($this->text).','. @@ -189,14 +178,13 @@ class feedback " WHERE feedback_id='".addslashes($this->feedback_id)."'"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - //Log schreiben return true; } else { - $this->errormsg = 'Fehler beim Speichern des Feedbacks:'.$qry; + $this->errormsg = 'Fehler beim Speichern des Feedbacks'; return false; } } diff --git a/include/ferien.class.php b/include/ferien.class.php index 057ffbee7..67e1f52f0 100644 --- a/include/ferien.class.php +++ b/include/ferien.class.php @@ -23,53 +23,59 @@ * Klasse ferien (FAS-Online) * @create 07-12-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class ferien +class ferien extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $ferien = array(); // @var ferien Objekt + public $new; // boolean + public $ferien = array(); // ferien Objekt //Tabellenspalten - var $bezeichnung; // @var varchar(64) - var $studiengang_kz; // @var integer - var $vondatum; // @var date - var $bisdatum; // @var date - var $vontimestamp; - var $bistimestamp; + public $bezeichnung; // varchar(64) + public $studiengang_kz; // integer + public $vondatum; // date + public $bisdatum; // date + public $vontimestamp; + public $bistimestamp; /** * Konstruktor - * @param $conn Connection zur DB - * $bezeichnung und studiengang_kz ID der zu ladenden Ferien + * @param $bezeichnung und studiengang_kz ID der zu ladenden Ferien */ - function ferien($conn, $bezeichnung=null, $studiengang_kz=null) + public function _construct($bezeichnung=null, $studiengang_kz=null) { - $this->conn = $conn; + parent::__construct(); + if($bezeichnung!=null && $studiengang_kz!=null && is_numeric($studiengang_kz)) $this->load($bezeichnung, studiengang_kz); } /** * Laedt alle verfuegbaren Feriendaten + * @param $stg_kz default = 0 * @return true wenn ok, false im Fehlerfall */ - function getAll($stg_kz=0) + public function getAll($stg_kz=0) { - $sql_query="SELECT * FROM lehre.tbl_ferien WHERE studiengang_kz=0 OR studiengang_kz=$stg_kz ORDER BY vondatum"; - if (!$result=pg_query($this->conn, $sql_query)) + if(!is_numeric($stg_kz)) { - $this->errormsg = pg_errormessage($this->conn); + $this->errormsg = 'Studiengang_kz ist ungültig'; return false; } - //$num_rows=pg_numrows($result); - //for ($i=0; $i<$num_rows; $i++) - while ($row=pg_fetch_object($result)) + + $sql_query="SELECT * FROM lehre.tbl_ferien WHERE studiengang_kz=0 OR studiengang_kz='$stg_kz' ORDER BY vondatum"; + + if (!$this->db_query($sql_query)) + { + $this->errormsg = $this->db_last_error(); + return false; + } + + while ($row = $this->db_fetch_object()) { // Record holen // Instanz erzeugen - $f = new ferien($this->conn); + $f = new ferien(); $f->bezeichnung=$row->bezeichnung; $f->studiengang_kz = $row->studiengang_kz; $f->vondatum=$row->vondatum; @@ -87,7 +93,7 @@ class ferien * @param $bezeichnung, studiengang_kz ID der zu ladenden Ferien * @return true wenn ok, false im Fehlerfall */ - function load($bezeichnung, $studiengang_kz) + public function load($bezeichnung, $studiengang_kz) { if($studiengang_kz == '' || !is_numeric($studiengang_kz) || $bezeichnung=='') { @@ -95,15 +101,16 @@ class ferien return false; } - $qry = "SELECT * FROM lehre.tbl_ferien WHERE bezeichnung = '$this->bezeichnung' AND studiengang_kz = '$this->studiengang_kz';"; + $qry = "SELECT * FROM lehre.tbl_ferien WHERE bezeichnung = '".addslashes($this->bezeichnung)."' + AND studiengang_kz = '$this->studiengang_kz';"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } - if($row=pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->bezeichnung = $row->bezeichnung; $this->studiengang_kz = $row->studiengang_kz; @@ -118,57 +125,47 @@ class ferien return true; } - - /** - * Loescht einen Datensatz - * @param $bezeichnung, studiengang_kz id des Datensatzes der geloescht werden soll - * @return true wenn ok, false im Fehlerfall - */ - function delete($bezeichnung, $studiengang_kz) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } + /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + protected function validate() { - $this->bezeichnung = str_replace("'",'´',$this->bezeichnung); - //Laenge Pruefen if(strlen($this->bezeichnung)>64) { - $this->errormsg = "Bezeichnung darf nicht laenger als 64 Zeichen sein bei $this->studiengang_kz - $this->bezeichnung"; + $this->errormsg = 'Bezeichnung darf nicht laenger als 64 Zeichen sein'; return false; } + if($this->studiengang_kz!='') + { + $this->errormsg = 'Studiengang_kz muss eingetragen werden'; + return false; + } + if($this->bezeichnung=='') + { + $this->errormsg = 'Bezeichnung muss eingetragen werden'; + return false; + } + $this->errormsg = ''; return true; } + /** * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($this->new) { //Neuen Datensatz anlegen - - if($this->studiengang_kz == '' || !is_numeric($this->studiengang_kz) || $this->bezeichnung=='') - { - $this->errormsg = 'ID ungültig'; - return false; - } $qry = 'INSERT INTO lehre.tbl_ferien (bezeichnung, studiengang_kz, vondatum, bisdatum) VALUES ('. $this->addslashes($this->bezeichnung).', '. $this->addslashes($this->studiengang_kz).', '. @@ -178,49 +175,30 @@ class ferien else { //bestehenden Datensatz akualisieren - - if($this->studiengang_kz == '' || !is_numeric($this->studiengang_kz) || $this->bezeichnung=='') - { - $this->errormsg = 'ID der Ferien ungültig'; - return false; - } - $qry = 'UPDATE lehre.tbl_ferien SET '. - 'bezeichnung='.$this->addslashes($this->bezeichnung).', '. - 'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '. 'vondatum='.$this->addslashes($this->vondatum).', '. - 'bisdatum='.$this->addslashes($this->bisdatum).';'; + 'bisdatum='.$this->addslashes($this->bisdatum). + "WHERE studiengang_kz='".addslashes($this->studiengang_kz)."' AND bezeichnung='".addslashes($this->bezeichnung)."';"; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - /*//Log schreiben - $sql = $qry; - $qry = "SELECT nextval('log_seq') as id;"; - if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) - { - $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; - return false; - } - - $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; - if(pg_query($this->conn, $qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; - return false; - }*/ return true; } else { - $this->errormsg = 'Fehler beim Speichern des Datensatzes - '.$this->uid; + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } } - function isferien($timestamp) + /** + * Prueft ob der uebergebene Timestamp in der Ferienzeit liegt + * + * @param $timestamp + * @return boolean + */ + public function isferien($timestamp) { foreach ($this->ferien AS $f) if ($timestamp>=$f->vontimestamp && $timestamp<=$f->bistimestamp) diff --git a/include/firma.class.php b/include/firma.class.php index e5b166fb1..52d79b657 100644 --- a/include/firma.class.php +++ b/include/firma.class.php @@ -23,57 +23,38 @@ * Klasse firma * @create 18-12-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class firma +class firma extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var adresse Objekt + public $new; // boolean + public $result = array(); // adresse Objekt //Tabellenspalten - var $firma_id; // @var integer - var $name; // @var string - var $adresse; // @var string - var $email; // @var string - var $telefon; // @var string - var $fax; // @var string - var $anmerkung; // @var string - var $ext_id; // @var integer - var $insertamum; // @var timestamp - var $insertvon; // @var bigint - var $updateamum; // @var timestamp - var $updatevon; // @var bigint - var $firmentyp_kurzbz; // @var - var $schule; // @var boolean + public $firma_id; // integer + public $name; // string + public $adresse; // string + public $email; // string + public $telefon; // string + public $fax; // string + public $anmerkung; // string + public $ext_id; // integer + public $insertamum; // timestamp + public $insertvon; // bigint + public $updateamum; // timestamp + public $updatevon; // bigint + public $firmentyp_kurzbz; + public $schule; // boolean /** * Konstruktor - * @param $conn Connection - * $firma_id ID der Adresse die geladen werden soll (Default=null) + * @param $firma_id ID der Firma die geladen werden soll (Default=null) */ - function firma($conn,$firma_id=null, $unicode=false) + public function __construct($firma_id=null) { - $this->conn = $conn; - /* - if($unicode!=null) - { - 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($firma_id != null) + parent::__construct(); + + if(!is_null($firma_id)) $this->load($firma_id); } @@ -82,7 +63,7 @@ class firma * @param $firma_id ID der zu ladenden Funktion * @return true wenn ok, false im Fehlerfall */ - function load($firma_id) + public function load($firma_id) { if(!is_numeric($firma_id)) { @@ -92,9 +73,9 @@ class firma $qry = "SElECT * FROM public.tbl_firma WHERE firma_id='$firma_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->firma_id = $row->firma_id; $this->name = $row->name; @@ -129,53 +110,41 @@ class firma * Prueft die Variablen auf Gueltigkeit * @return true wenn ok, false im Fehlerfall */ - function checkvars() + protected function validate() { - //Gesamtlaenge pruefen - //$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten'; if(strlen($this->name)>128) { - $this->errormsg = 'Name darf nicht länger als 128 Zeichen sein - firma_id: '.$this->firma_id.'/'.$this->name; + $this->errormsg = 'Name darf nicht länger als 128 Zeichen sein'; return false; } if(strlen($this->anmerkung)>256) { - $this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein - firma_id: '.$this->firma_id.'/'.$this->name; + $this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein'; return false; } $this->errormsg = ''; return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - + /** * Speichert den aktuellen Datensatz in die Datenbank * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt * andernfalls wird der Datensatz mit der ID in $firma_id aktualisiert * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($this->new) { //Neuen Datensatz einfuegen - $qry='INSERT INTO public.tbl_firma (name, adresse, email, telefon, fax, anmerkung, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, ext_id, schule) VALUES('. + $qry='INSERT INTO public.tbl_firma (name, adresse, email, telefon, fax, anmerkung, + firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, ext_id, schule) VALUES('. $this->addslashes($this->name).', '. $this->addslashes($this->adresse).', '. $this->addslashes($this->email).', '. @@ -215,32 +184,32 @@ class firma 'schule='.($this->schule?'true':'false').' '. 'WHERE firma_id='.$this->addslashes($this->firma_id).';'; } - //echo $qry; - if(pg_query($this->conn,$qry)) + + if($this->db_query($qry)) { if($this->new) { //Sequence lesen $qry="SELECT currval('public.tbl_firma_firma_id_seq') as id;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->firma_id = $row->id; - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -248,7 +217,7 @@ class firma } else { - $this->errormsg = "*****\nFehler beim Speichern des Firma-Datensatzes.\n".$qry."\n".pg_errormessage($this->conn)."\n*****\n"; + $this->errormsg = 'Fehler beim Speichern des Firma-Datensatzes'; return false; } } @@ -258,7 +227,7 @@ class firma * @param $firma_id ID die geloescht werden soll * @return true wenn ok, false im Fehlerfall */ - function delete($firma_id) + public function delete($firma_id) { if(!is_numeric($firma_id)) { @@ -268,7 +237,7 @@ class firma $qry = "SELECT * FROM public.tbl_firma WHERE firma_id='$firma_id'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { @@ -281,15 +250,15 @@ class firma * Laedt alle Firmen * @return true wenn ok, false im Fehlerfall */ - function getAll() + public function getAll() { $qry = "SElECT * FROM public.tbl_firma ORDER BY name"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $fa = new firma($this->conn, null, null); + $fa = new firma(); $fa->firma_id = $row->firma_id; $fa->name = $row->name; @@ -316,19 +285,19 @@ class firma } } - // ******************************************* - // * Liefert alle vorhandenen Firmentypen - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function getFirmenTypen() + /** + * Liefert alle vorhandenen Firmentypen + * @return true wenn ok, false im Fehlerfall + */ + public function getFirmenTypen() { $qry = "SELECT * FROM public.tbl_firmentyp ORDER BY firmentyp_kurzbz"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $fa = new firma($this->conn, null, null); + $fa = new firma(); $fa->firmentyp_kurzbz = $row->firmentyp_kurzbz; $fa->beschreibung = $row->beschreibung; @@ -343,11 +312,11 @@ class firma } } - // ********************************************* - // * Laedt alle Firmen eines bestimmen Firmentyps - // * @return true wenn ok, false im Fehlerfall - // ********************************************* - function getFirmen($firmentyp_kurzbz='') + /** + * Laedt alle Firmen eines bestimmen Firmentyps + * @return true wenn ok, false im Fehlerfall + */ + public function getFirmen($firmentyp_kurzbz='') { $qry = "SElECT * FROM public.tbl_firma"; @@ -355,11 +324,11 @@ class firma $qry.=" WHERE firmentyp_kurzbz='".addslashes($firmentyp_kurzbz)."'"; $qry.=" ORDER BY name"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $fa = new firma($this->conn, null, null); + $fa = new firma(); $fa->firma_id = $row->firma_id; $fa->name = $row->name; diff --git a/include/frage.class.php b/include/frage.class.php index 5d27e39e1..4720cfcf1 100644 --- a/include/frage.class.php +++ b/include/frage.class.php @@ -23,69 +23,55 @@ /** * Klasse fuer die Fragen des Reihungstesttools */ +require_once(dirname(__FILE__).'/basis_db.class.php'); require_once(dirname(__FILE__).'/gebiet.class.php'); require_once(dirname(__FILE__).'/pruefling.class.php'); -class frage +class frage extends basis_db { //Tabellenspalten - var $frage_id; - var $gebiet_id; - var $nummer; - var $demo; - var $level; - var $kategorie_kurzbz; + public $frage_id; + public $gebiet_id; + public $nummer; + public $demo; + public $level; + public $kategorie_kurzbz; - var $sprache; - var $audio; - var $text; - var $bild; - var $pruefling_id; - var $prueflingfrage_id; - var $begintime; - var $endtime; + public $sprache; + public $audio; + public $text; + public $bild; + public $pruefling_id; + public $prueflingfrage_id; + public $begintime; + public $endtime; - var $insertamum; - var $updateamum; - var $insertvon; - var $updatevon; + public $insertamum; + public $updateamum; + public $insertvon; + public $updatevon; // ErgebnisArray - var $result=array(); - var $num_rows=0; - var $errormsg; - var $new; + public $result=array(); + public $num_rows=0; + public $new; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine frage - // * @param $conn Datenbank-Connection - // * $frage_id Frage die geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - public function frage($conn, $frage_id=null, $unicode=false) + /** + * Konstruktor - Uebergibt die Connection und laedt optional eine frage + * @param $frage_id Frage die geladen werden soll (default=null) + */ + public function __construct($frage_id=null) { - $this->conn = $conn; -/* - 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($frage_id != null) + parent::__construct(); + + if(!is_null($frage_id)) $this->load($frage_id); } - // *********************************************************** - // * Laedt Frage mit der uebergebenen ID - // * @param $frage_id ID der Frage die geladen werden soll - // *********************************************************** + /** + * Laedt Frage mit der uebergebenen ID + * @param $frage_id ID der Frage die geladen werden soll + */ public function load($frage_id) { if(!is_numeric($frage_id) || $frage_id=='') @@ -96,9 +82,9 @@ class frage $qry = "SELECT * FROM testtool.tbl_frage WHERE frage_id='".addslashes($frage_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->frage_id = $row->frage_id; $this->gebiet_id = $row->gebiet_id; @@ -126,33 +112,22 @@ class frage } } - // ************************************************ - // * wenn $var '' ist wird NULL zurueckgegeben - // * wenn $var !='' ist werden Datenbankkritische - // * Zeichen mit Backslash versehen und das Ergbnis - // * unter Hochkomma gesetzt. - // ************************************************ - private function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ private function validate() { return true; } - // ****************************************************************** - // * Speichert die Benutzerdaten in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt - // * ansonsten der Datensatz mit $uid upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ****************************************************************** + /** + * Speichert die Benutzerdaten in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt + * ansonsten der Datensatz mit $uid upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ public function save() { //Variablen auf Gueltigkeit pruefen @@ -184,31 +159,31 @@ class frage ' updatevon='.$this->addslashes($this->updatevon). " WHERE frage_id='".addslashes($this->frage_id)."';"; } - //echo $qry; - if(pg_query($this->conn,$qry)) + + if($this->db_query($qry)) { if($this->new) { $qry = "SELECT currval('testtool.tbl_frage_frage_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->frage_id = $row->id; - pg_query($this->conn,'COMMIT'); + $this->db_query('COMMIT'); return true; } else { $this->errormsg = 'Fehler beim Lesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Lesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -254,10 +229,9 @@ class frage ' updatevon='.$this->addslashes($this->updatevon). " WHERE frage_id='".addslashes($this->frage_id)."' AND sprache='".addslashes($this->sprache)."';"; } - //echo $qry; - if(pg_query($this->conn,$qry)) + + if($this->db_query($qry)) { - //Log schreiben return true; } else @@ -266,17 +240,24 @@ class frage return false; } } - + + /** + * Liefert die Fragen eines Gebietes mit der nummer $nummer + * + * @param $gebiet_id + * @param $nummer + * @return true wenn ok, sonst false + */ public function getFragen($gebiet_id, $nummer) { $qry = "SELECT * FROM testtool.tbl_frage WHERE gebiet_id='".addslashes($gebiet_id)."' AND nummer='".addslashes($nummer)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new frage($this->conn, null, null); + $obj = new frage(); $obj->frage_id = $row->frage_id; $obj->kategorie_kurzbz = $row->kategorie_kurzbz; @@ -331,9 +312,9 @@ class frage $qry.="ORDER BY tbl_pruefling_frage.nummer ASC LIMIT 1"; } - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) return $row->frage_id; else return false; @@ -354,9 +335,9 @@ class frage $qry = "SELECT * FROM testtool.tbl_frage_sprache JOIN testtool.tbl_frage USING(frage_id) WHERE frage_id='".addslashes($frage_id)."' AND sprache='".addslashes($sprache)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->frage_id = $row->frage_id; $this->sprache = $row->sprache; @@ -413,7 +394,7 @@ class frage */ public function generateFragenpool($pruefling_id, $gebiet_id) { - $gebiet = new gebiet($this->conn, $gebiet_id); + $gebiet = new gebiet($gebiet_id); //Bei Levelgesteuerten Fragen wird nur die erste Frage angelegt if($gebiet->level_start!='') @@ -421,9 +402,9 @@ class frage // Anzahl der bereits vorhandenen Fragen holen $qry = "SELECT count(*) as anzahl FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id) WHERE gebiet_id='".addslashes($gebiet_id)."' AND pruefling_id='".addslashes($pruefling_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { if($row->anzahl>=$gebiet->maxfragen) { @@ -440,9 +421,9 @@ class frage // Wie viele Fragen gibt es in diesem Gebiet $qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage WHERE NOT demo AND gebiet_id='".addslashes($gebiet_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $fragengesamt = $row->anzahl; } @@ -464,9 +445,9 @@ class frage GROUP BY level ORDER BY level"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { $level[$row->level]=round(($row->anzahl/$fragengesamt)*$maxfragen); } @@ -483,7 +464,7 @@ class frage } } - pg_query($this->conn, 'BEGIN;'); + $this->db_query('BEGIN;'); while($maxfragen>0) { @@ -512,9 +493,9 @@ class frage tbl_frage.gebiet_id='".addslashes($gebiet_id)."' AND tbl_pruefling_frage.pruefling_id='".addslashes($pruefling_id)."' ORDER BY nummer DESC LIMIT 1;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) $this->nummer = $row->nummer+1; else $this->nummer = 1; @@ -522,7 +503,7 @@ class frage else { $this->errormsg = 'Fehler beim Generieren des Fragenpools'.$qry; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } @@ -532,14 +513,14 @@ class frage //PrueflingFrage speichern if(!$this->save_prueflingfrage(true)) { - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } $maxfragen--; } - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } @@ -558,9 +539,9 @@ class frage } $qry = "SELECT * FROM testtool.tbl_pruefling_frage WHERE prueflingfrage_id='".addslashes($prueflingfrage_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->prueflingfrage_id = $row->prueflingfrage_id; $this->pruefling_id = $row->pruefling_id; @@ -607,9 +588,9 @@ class frage $qry = "SELECT * FROM testtool.tbl_pruefling_frage WHERE pruefling_id='".addslashes($pruefling_id)."' AND frage_id='".addslashes($frage_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->prueflingfrage_id = $row->prueflingfrage_id; $this->pruefling_id = $row->pruefling_id; @@ -691,7 +672,7 @@ class frage " WHERE prueflingfrage_id='".addslashes($this->prueflingfrage_id)."'"; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -711,8 +692,8 @@ class frage */ private function getNewFrage($gebiet_id, $pruefling_id, $level=null) { - $gebiet = new gebiet($this->conn, $gebiet_id); - $pruefling = new pruefling($this->conn); + $gebiet = new gebiet($gebiet_id); + $pruefling = new pruefling(); //Frage suchen die dem pruefling noch nicht zugeordnet ist @@ -744,9 +725,9 @@ class frage $qry .= " LIMIT 1"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { return $row->frage_id; } diff --git a/include/functions.inc.php b/include/functions.inc.php index 3c3b8b48f..2e2110fc0 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -20,14 +20,6 @@ * Rudolf Hangl . */ -function db_query($conn, $sql_query) -{ - if (!$result=pg_query($conn, $sql_query)) - return pg_last_error($conn); - else - return ''; -} - // Auth: Benutzer des Webportals function get_uid() { @@ -52,68 +44,101 @@ function crlf() return $crlf; } -function check_lektor($uid, $conn) +function check_lektor($uid) { + $db = new basis_db(); + // uid von View 'Lektor' holen $sql_query="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='$uid'"; //echo $sql_query; - $result=pg_query($conn, $sql_query) or die(pg_last_error($conn)); - $num_rows=pg_num_rows($result); - // Wenn kein ergebnis return 0 sonst ID - if ($num_rows>0) + if($db->db_query($sql_query)) { - $row=pg_fetch_object($result); - return $row->mitarbeiter_uid; + $num_rows=$db->db_num_rows(); + // Wenn kein ergebnis return 0 sonst ID + if ($num_rows>0) + { + $row = $db->db_fetch_object(); + return $row->mitarbeiter_uid; + } + else + return 0; } - else + else return 0; } -function check_lektor_lehreinheit($conn, $uid, $lehreinheit_id) +function check_lektor_lehreinheit($uid, $lehreinheit_id) { + $db = new basis_db(); + // uid von View 'Lektor' holen - $sql_query="SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE mitarbeiter_uid='$uid' AND lehreinheit_id = '$lehreinheit_id'"; + $sql_query="SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter + WHERE mitarbeiter_uid='".addslashes($uid)."' AND lehreinheit_id = '".addslashes($lehreinheit_id)."'"; //echo $sql_query; - $result=pg_query($conn, $sql_query) or die(pg_last_error($conn)); - $num_rows=pg_num_rows($result); - // Wenn kein ergebnis return 0 sonst ID - if ($num_rows>0) + if($db->db_query($sql_query)) { - $row=pg_fetch_object($result); - return $row->mitarbeiter_uid; + + $num_rows = $db->db_num_rows(); + // Wenn kein ergebnis return 0 sonst ID + if ($num_rows>0) + { + $row = $db->db_fetch_object(); + return $row->mitarbeiter_uid; + } + else + return 0; } - else + else return 0; } -function check_lektor_lehrveranstaltung($conn, $uid, $lehrveranstaltung_id, $studiensemester_kurzbz) +function check_lektor_lehrveranstaltung($uid, $lehrveranstaltung_id, $studiensemester_kurzbz) { + $db = new basis_db(); + // uid von View 'Lektor' holen - $sql_query="SELECT mitarbeiter_uid FROM campus.vw_lehreinheit WHERE mitarbeiter_uid='$uid' AND lehrveranstaltung_id = '$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz'"; + $sql_query="SELECT mitarbeiter_uid FROM campus.vw_lehreinheit + WHERE mitarbeiter_uid='".addslashes($uid)."' AND + lehrveranstaltung_id = '".addslashes($lehrveranstaltung_id)."' AND + studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; + //echo $sql_query; - $result=pg_query($conn, $sql_query) or die(pg_last_error($conn)); - $num_rows=pg_num_rows($result); - // Wenn kein ergebnis return 0 sonst ID - if ($num_rows>0) + if($db->db_query($sql_query)) { - $row=pg_fetch_object($result); - return $row->mitarbeiter_uid; + $num_rows = $db->db_num_rows(); + // Wenn kein ergebnis return 0 sonst ID + if ($num_rows>0) + { + $row = $db>db_fetch_object(); + return $row->mitarbeiter_uid; + } + else + return 0; } - else + else return 0; } -function check_student($uid, $conn) +function check_student($uid) { + $db = new basis_db(); + // uid von Tabelle 'Student' holen - $sql_query="SELECT student_uid FROM public.tbl_student WHERE student_uid='$uid'"; + $sql_query="SELECT student_uid FROM public.tbl_student WHERE student_uid='".addslashes($uid)."'"; //echo $sql_query; - $result=pg_query($conn, $sql_query) or die(pg_last_error($conn)); - $num_rows=pg_numrows($result); - // Wenn kein ergebnis return 0 sonst ID - if ($num_rows>0) - return pg_result($result,0,'student_uid'); - else + if($db->db_query($sql_query)) + { + $num_rows = $db->db_num_rows(); + // Wenn kein ergebnis return 0 sonst ID + if ($num_rows>0) + { + $row = $db->db_fetch_object(); + return $row->student_uid; + } + else + return 0; + } + else return 0; } @@ -270,20 +295,21 @@ function writeCISlog($stat, $rm = '') // * und $naechstes=true dann wird das naechste StSem geliefert // * wenn $naechstes=false dann wird das vorherige StSem geliefert // *************************************************************** -function getStudiensemesterFromDatum($conn, $datum, $naechstes=true) +function getStudiensemesterFromDatum($datum, $naechstes=true) { + $db = new basis_db(); $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE"; if($naechstes) - $qry.= " ende>'$datum' ORDER BY ende ASC "; + $qry.= " ende>'".addslashes($datum)."' ORDER BY ende ASC "; else - $qry.= " start<'$datum' ORDER BY ende DESC "; + $qry.= " start<'".addslashes($datum)."' ORDER BY ende DESC "; $qry.= "LIMIT 1"; - if($result = pg_query($conn, $qry)) + if($db->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $db->db_fetch_object()) return $row->studiensemester_kurzbz; else return false; @@ -323,7 +349,7 @@ function strtoupperFULL($str) // **************************************************************** function checkalias($alias) { - if($anz = preg_match("/^[-a-z0-9]*[a-z0-9]{1,}\.[-a-z0-9]{1,}$/",$alias)) + if(preg_match("/^[-a-z0-9]*[a-z0-9]{1,}\.[-a-z0-9]{1,}$/",$alias)) return true; else return false; @@ -375,8 +401,8 @@ function checkldapuser($username,$password) return false; } + @ldap_close($connect); return true; - @ldap_close($connect); } else { diff --git a/include/funktion.class.php b/include/funktion.class.php index 00970e34c..5bb39f173 100644 --- a/include/funktion.class.php +++ b/include/funktion.class.php @@ -23,53 +23,54 @@ * Klasse funktion (FAS-Online) * @create 14-03-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class funktion +class funktion extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var fachbereich Objekt + public $new; // boolean + public $result = array(); // fachbereich Objekt //Tabellenspalten - var $funktion_kurzbz; // @var integer - var $beschreibung; // @var string - var $aktiv; // @var boolean - var $ext_id; // @var bigint + public $funktion_kurzbz; // integer + public $beschreibung; // string + public $aktiv; // boolean + public $ext_id; // bigint /** * Konstruktor - * @param $conn Connection zur DB - * $funktion_kurzbz ID der zu ladenden Funktion + * @param $funktion_kurzbz Kurzbz der zu ladenden Funktion */ - function funktion($conn, $funktion_kurzbz=null) + public function __construct($funktion_kurzbz=null) { - $this->conn = $conn; - if($funktion_kurzbz != null) + parent::__construct(); + + if(!is_null($funktion_kurzbz)) $this->load($funktion_kurzbz); } /** * Laedt alle verfuegbaren Funktionen + * @param uid Wenn die UID uebergeben wird, werden nur die Funktionen dieser Person geladen * @return true wenn ok, false im Fehlerfall */ - function getAll($uid=null) + public function getAll($uid=null) { if (is_null($uid)) $qry='SELECT * FROM public.tbl_funktion order by funktion_kurzbz;'; else - $qry="SELECT * FROM public.tbl_funktion JOIN public.tbl_benutzerfunktion USING (funktion_kurzbz) WHERE uid='$uid';"; + $qry="SELECT * FROM public.tbl_funktion JOIN public.tbl_benutzerfunktion USING (funktion_kurzbz) + WHERE uid='".addslashes($uid)."';"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { - $this->errormsg = 'Fehler beim laden der Datensaetze'; + $this->errormsg = 'Fehler beim Laden der Datensaetze'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $funktion_obj = new funktion($this->conn); + $funktion_obj = new funktion(); $funktion_obj->funktion_kurzbz = $row->funktion_kurzbz; $funktion_obj->beschreibung = $row->beschreibung; @@ -80,7 +81,13 @@ class funktion return true; } - function checkFunktion($funktion) + /** + * Prueft ob die funktion vorhanden ist + * + * @param $funktion + * @return true wenn vorhanden sonst false + */ + public function checkFunktion($funktion) { foreach ($this->result AS $fkt) if ($fkt->funktion_kurzbz==$funktion) @@ -93,7 +100,7 @@ class funktion * @param $funktion_kurzbz ID der zu ladenden Funktion * @return true wenn ok, false im Fehlerfall */ - function load($funktion_kurzbz) + public function load($funktion_kurzbz) { if($funktion_kurzbz == '') { @@ -101,15 +108,15 @@ class funktion return false; } - $qry = "SELECT * FROM public.tbl_funktion WHERE funktion_kurzbz = '$funktion_kurzbz';"; + $qry = "SELECT * FROM public.tbl_funktion WHERE funktion_kurzbz = '".addslashes($funktion_kurzbz)."';"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { - $this->errormsg = 'Fehler beim laden des Datensatzes'; + $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } - if($row=pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->funktion_kurzbz = $row->funktion_kurzbz; $this->beschreibung = $row->beschreibung; @@ -124,45 +131,32 @@ class funktion return true; } - /** - * Loescht einen Datensatz - * @param $funktion_id id des Datensatzes der geloescht werden soll - * @return true wenn ok, false im Fehlerfall - */ - function delete($funktion_kurzbz) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - /** - * Speichert den aktuellen Datensatz - * @return true wenn ok, false im Fehlerfall - */ /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + protected function validate() { //Laenge Pruefen if(strlen($this->beschreibung)>64) { - $this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei $this->funktion_kurzbz - $this->beschreibung"; + $this->errormsg = 'Bezeichnung darf nicht laenger als 128 Zeichen sein'; return false; } $this->errormsg = ''; return true; } - function save() + + /** + * Speichert den aktuellen Datensatz + * @return true wenn ok, false im Fehlerfall + */ + public function save() { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($this->new) @@ -196,25 +190,8 @@ class funktion 'WHERE funktion_kurzbz = '.$this->addslashes($this->funktion_kurzbz).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - /*//Log schreiben - $sql = $qry; - $qry = "SELECT nextval('log_seq') as id;"; - if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) - { - $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; - return false; - } - - $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; - if(pg_query($this->conn, $qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; - return false; - }*/ return true; } else diff --git a/include/gebiet.class.php b/include/gebiet.class.php index 7d44dcb57..41ff2d232 100644 --- a/include/gebiet.class.php +++ b/include/gebiet.class.php @@ -24,8 +24,9 @@ * Klasse fuer die Gebiete des Testtools (Reihungstesttool) * */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class gebiet +class gebiet extends basis_db { //Tabellenspalten public $gebiet_id; @@ -50,46 +51,32 @@ class gebiet // ErgebnisArray public $result=array(); - public $errormsg; public $new; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional ein Gebiet - // * @param $conn Datenbank-Connection - // * $gebiet_id Gebiet das geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - public function gebiet($conn, $gebiet_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional ein Gebiet + * @param $gebiet_id Gebiet das geladen werden soll (default=null) + */ + public function __construct($gebiet_id=null) { - $this->conn = $conn; -/* - 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($gebiet_id != null) + parent::__construct(); + + if(!is_null($gebiet_id)) $this->load($gebiet_id); } - // *********************************************************** - // * Laedt Gebiet mit der uebergebenen ID - // * @param $gebiet_id ID des Gebiets das geladen werden soll - // *********************************************************** + /** + * Laedt Gebiet mit der uebergebenen ID + * @param $gebiet_id ID des Gebiets das geladen werden soll + * @return true wenn ok, sonst false + */ public function load($gebiet_id) { $qry = "SELECT * FROM testtool.tbl_gebiet WHERE gebiet_id='".addslashes($gebiet_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->gebiet_id = $row->gebiet_id; $this->kurzbz = $row->kurzbz; @@ -116,7 +103,7 @@ class gebiet } else { - $this->errormsg = "Kein Eintrag gefunden fuer $gebiet_id"; + $this->errormsg = "Gebiet nicht gefunden"; return false; } } @@ -126,23 +113,12 @@ class gebiet return false; } } - - // ************************************************ - // * wenn $var '' ist wird NULL zurueckgegeben - // * wenn $var !='' ist werden Datenbankkritische - // * Zeichen mit Backslash versehen und das Ergbnis - // * unter Hochkomma gesetzt. - // ************************************************ - private function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* + + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ private function validate() { if(strlen($this->kurzbz)>10) @@ -198,12 +174,12 @@ class gebiet return true; } - // ****************************************************************** - // * Speichert das Gebiet in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt - // * ansonsten der Datensatz aktualisiert - // * @return true wenn erfolgreich, false im Fehlerfall - // ****************************************************************** + /** + * Speichert das Gebiet in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt + * ansonsten der Datensatz aktualisiert + * @return true wenn erfolgreich, false im Fehlerfall + */ public function save($new=null) { if(is_null($new)) @@ -260,31 +236,31 @@ class gebiet " WHERE gebiet_id='".addslashes($this->gebiet_id)."';"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //aktuelle ID aus der Sequence holen if($new) { $qry='SELECT currval("testtool.tbl_gebiet_gebiet_id_seq") as id;'; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->gebiet_id = $row->id; - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { $this->errormsg = 'Fehler beim Lesen der Sequence'; - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); return false; } } else { $this->errormsg = 'Fehler beim Lesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -293,7 +269,7 @@ class gebiet } else { - $this->errormsg = 'Fehler beim Speichern der Frage:'.$qry; + $this->errormsg = 'Fehler beim Speichern der Frage'; return false; } } @@ -304,7 +280,7 @@ class gebiet * * @param $gebiet_id */ - function check_gebiet($gebiet_id) + public function check_gebiet($gebiet_id) { $this->errormsg = ''; $this->load($gebiet_id); @@ -325,9 +301,9 @@ class gebiet if($this->level_start!='') { $qry = "SELECT count(*) as anzahl, level FROM testtool.tbl_frage WHERE gebiet_id='".addslashes($gebiet_id)."' GROUP BY level"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { if($row->anzahl<$this->maxfragen) { @@ -341,9 +317,9 @@ class gebiet $qry = "SELECT frage_id, nummer FROM testtool.tbl_frage WHERE (SELECT count(*) as anzahl FROM testtool.tbl_vorschlag WHERE frage_id=tbl_frage.frage_id)<2 AND gebiet_id='".addslashes($gebiet_id)."' AND NOT demo;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { $this->errormsg .= "Frage Nummer $row->nummer (ID: $row->frage_id) hat weniger als 2 Vorschlaege.\n"; } @@ -353,9 +329,9 @@ class gebiet if($this->level_start!='') { $qry = "SELECT level FROM testtool.tbl_frage WHERE gebiet_id='".addslashes($gebiet_id)."' AND level is not null GROUP by level"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if(pg_num_rows($result)<2) + if($this->db_num_rows()<2) { $this->errormsg .= "Wenn Levels verwendet werden, muessen mindestens 2 verschiedene Level vorhanden sein.\n"; } @@ -368,9 +344,9 @@ class gebiet if($this->maxfragen!='' && $this->maxfragen!=0) { $qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage WHERE gebiet_id='".addslashes($gebiet_id)."' AND not demo AND level is not null GROUP BY level"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { if($row->anzahl>$this->maxfragen) { @@ -395,9 +371,9 @@ class gebiet GROUP BY level, punkte ) as b GROUP BY level) as c WHERE c.anzahl>1"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { $this->errormsg .= "Pro Level/Frage darf die positive Punkteanzahl nicht unterschiedlich sein wenn Zufallsfragen und Levels/Levelgleichverteilung verwendet wird. (Unterschiede in Level $row->level)\n"; } @@ -431,11 +407,11 @@ class gebiet { $qry = 'SELECT * FROM testtool.tbl_gebiet ORDER BY bezeichnung'; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new gebiet($this->conn, null, null); + $obj = new gebiet(); $obj->gebiet_id = $row->gebiet_id; $obj->kurzbz = $row->kurzbz; @@ -486,7 +462,7 @@ class gebiet FROM testtool.tbl_vorschlag JOIN testtool.tbl_frage USING(frage_id) WHERE gebiet_id='".addslashes($gebiet_id)."' AND punkte>0 AND NOT demo"; if($this->maxfragen!='' && $this->maxfragen>0) - $qry.=" LIMIT $maxfragen"; + $qry.=" LIMIT $this->maxfragen"; } elseif($this->levelgleichverteilung && !$this->multipleresponse) { @@ -548,13 +524,13 @@ class gebiet ) as a GROUP by level, punkte"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { $maxfragen = $this->maxfragen; $maxpunkte = 0; $lastpunkte=0; //Punkte mit der Anzahl der Mindestfragen fuer dieses Level multiplizieren - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { if($maxfragen>0) { @@ -569,9 +545,9 @@ class gebiet } } - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { return $row->max; } diff --git a/include/gruppe.class.php b/include/gruppe.class.php index 4c3fdecb2..bb52b2e60 100644 --- a/include/gruppe.class.php +++ b/include/gruppe.class.php @@ -19,68 +19,53 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class gruppe +class gruppe extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $result = array(); // gruppen Objekt + public $new; // boolean + public $result = array(); // gruppen Objekt //Tabellenspalten - var $gruppe_kurzbz; // varchar(16) - var $studiengang_kz; // integer - var $bezeichnung; // varchar(32) - var $semester; // smallint - var $sort; // smallint - var $lehre=true; //boolean - var $mailgrp; // boolean - var $beschreibung; // varchar(128) - var $generiert; // boolean - var $sichtbar; // boolean - var $aktiv; // boolean - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $orgform_kurzbz; + public $gruppe_kurzbz; // varchar(16) + public $studiengang_kz; // integer + public $bezeichnung; // varchar(32) + public $semester; // smallint + public $sort; // smallint + public $lehre=true; //boolean + public $mailgrp; // boolean + public $beschreibung; // varchar(128) + public $generiert; // boolean + public $sichtbar; // boolean + public $aktiv; // boolean + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $orgform_kurzbz; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Gruppe - // * @param $conn Datenbank-Connection - // * $gruppe_kurzbz - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function gruppe($conn, $gruppe_kurzbz=null, $unicode=false) + /** + * Konstruktor - Laedt optional eine Gruppe + * @param $gruppe_kurzbz + */ + public function __construct($gruppe_kurzbz=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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($gruppe_kurzbz!=null) + parent::__construct(); + + if(!is_null($gruppe_kurzbz)) $this->load($gruppe_kurzbz); } - // ************************* - // * Loescht eine Gruppe - // ************************* - function delete($gruppe_kurzbz) + /** + * Loescht eine Gruppe + * @param gruppe_kurzbz + * @return boolean + */ + public function delete($gruppe_kurzbz) { $qry ="DELETE FROM public.tbl_gruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'"; - if(pg_query($this->conn, $qry)) + + if($this->db_query($qry)) return true; else { @@ -89,39 +74,48 @@ class gruppe } } - // **************************************** - // * Prueft ob bereits eine Gruppe mit der - // * uebergebenen Kurzbezeichnung existiert - // * @param gruppe_kurzbz - // **************************************** - function exists($gruppe_kurzbz) + /** + * Prueft ob bereits eine Gruppe mit der + * uebergebenen Kurzbezeichnung existiert + * @param gruppe_kurzbz + */ + public function exists($gruppe_kurzbz) { $qry = "SELECT count(*) as anzahl FROM public.tbl_gruppe WHERE gruppe_kurzbz='".addslashes(strtoupper($gruppe_kurzbz))."'"; - if($row = pg_fetch_object(pg_query($this->conn,$qry))) + if($this->db_query($qry)) { - if($row->anzahl>0) - return true; + if($row = $this->db_fetch_object()) + { + if($row->anzahl>0) + return true; + else + return false; + } else + { + $this->errormsg = 'Fehler bei einer Abfrage: '.$qry; return false; + } } - else + else { - $this->errormsg = 'Fehler bei einer Abfrage: '.$qry; + $this->errormsg = 'Fehler bei einer Abfrage'; return false; } } - // ********************************************************* - // * Laedt die Gruppe - // * @param gruppe_kurzbz - // ********************************************************* - function load($gruppe_kurzbz) + /** + * Laedt die Gruppe + * @param gruppe_kurzbz + */ + public function load($gruppe_kurzbz) { - $qry = "SELECT * FROM public.tbl_gruppe where gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + $qry = "SELECT * FROM public.tbl_gruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'"; + + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->gruppe_kurzbz = $row->gruppe_kurzbz; $this->studiengang_kz = $row->studiengang_kz; @@ -154,15 +148,21 @@ class gruppe } } - function getAll() + /** + * Laedt alle Gruppen + * + * @return boolean + */ + public function getAll() { $qry = "SELECT * FROM public.tbl_gruppe ORDER BY gruppe_kurzbz"; - if( $result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $grp_obj = new gruppe($this->conn, null, null); + $grp_obj = new gruppe(); + $grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz; $grp_obj->studiengang_kz = $row->studiengang_kz; $grp_obj->bezeichnung = $row->bezeichnung; @@ -191,12 +191,20 @@ class gruppe } } - function countStudenten($gruppe_kurzbz) + /** + * Liefert die Anzahl der Personen in dieser Gruppe + * + * @param $gruppe_kurzbz + * @return anzahl der Personen + */ + public function countStudenten($gruppe_kurzbz) { - $qry = "SELECT count(*) as anzahl FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + $qry = "SELECT count(*) as anzahl FROM public.tbl_benutzergruppe + WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'"; + + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) return $row->anzahl; else { @@ -211,23 +219,33 @@ class gruppe } } - function getgruppe($studiengang_kz=null, $semester=null, $mailgrp=null, $sichtbar=null) + /** + * Laedt die Gruppen die den Parametern ensprechen + * + * @param $studiengang_kz + * @param $semester + * @param $mailgrp + * @param $sichtbar + * @return boolean + */ + public function getgruppe($studiengang_kz=null, $semester=null, $mailgrp=null, $sichtbar=null) { $qry = 'SELECT * FROM public.tbl_gruppe WHERE 1=1'; if(!is_null($studiengang_kz) && $studiengang_kz!='') - $qry .= " AND studiengang_kz='$studiengang_kz'"; + $qry .= " AND studiengang_kz='".addslashes($studiengang_kz)."'"; if(!is_null($semester) && $semester!='') - $qry .= " AND semester='$semester'"; + $qry .= " AND semester='".addslashes($semester)."'"; if(!is_null($mailgrp) && $mailgrp!='') $qry .= " AND mailgrp=".($mailgrp?'true':'false'); if(!is_null($sichtbar)) $qry .= " AND sichtbar=".($sichtbar?'true':'false'); $qry.=" ORDER BY beschreibung"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $grp_obj = new gruppe($this->conn, null, null); + $grp_obj = new gruppe(); + $grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz; $grp_obj->studiengang_kz = $row->studiengang_kz; $grp_obj->bezeichnung = $row->bezeichnung; @@ -256,12 +274,12 @@ class gruppe } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(strlen($this->gruppe_kurzbz)>16) { @@ -326,25 +344,14 @@ class gruppe 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 Gruppe 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($new=null, $upper=true) + + /** + * Speichert Gruppe 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, $upper=true) { if(is_null($new)) $new = $this->new; @@ -399,7 +406,7 @@ class gruppe " WHERE gruppe_kurzbz=".$this->addslashes(strtoupper($this->gruppe_kurzbz)).";"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; diff --git a/include/kontakt.class.php b/include/kontakt.class.php index 9a1dfc563..af47393a8 100644 --- a/include/kontakt.class.php +++ b/include/kontakt.class.php @@ -23,54 +23,39 @@ * Klasse kontakt * @create 20-12-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class kontakt +class kontakt extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var adresse Objekt + public $new; // boolean + public $result = array(); // adresse Objekt //Tabellenspalten - Var $kontakt_id; // @var integer - var $person_id; // @var integer - var $firma_id; // @var integer - var $kontakttyp; // @var string - var $anmerkung; // @var string - var $kontakt; // @var string - var $zustellung; // @var boolean - var $ext_id; // @var integer - var $insertamum; // @var timestamp - var $insertvon; // @var bigint - var $updateamum; // @var timestamp - var $updatevon; // @var bigint + public $kontakt_id; // integer + public $person_id; // integer + public $firma_id; // integer + public $kontakttyp; // string + public $anmerkung; // string + public $kontakt; // string + public $zustellung; // boolean + public $ext_id; // integer + public $insertamum; // timestamp + public $insertvon; // bigint + public $updateamum; // timestamp + public $updatevon; // bigint - var $beschreibung; - var $firma_name; + public $beschreibung; + public $firma_name; /** * Konstruktor - * @param $conn Connection - * $kontakt_id ID der Adresse die geladen werden soll (Default=null) + * @param $kontakt_id ID der Adresse die geladen werden soll (Default=null) */ - function kontakt($conn,$kontakt_id=null, $unicode=false) + public function __construct($kontakt_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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($kontakt_id != null) + parent::__construct(); + + if(!is_null($kontakt_id)) $this->load($kontakt_id); } @@ -79,7 +64,7 @@ class kontakt * @param $kontakt_id ID des zu ladenden Kontaktes * @return true wenn ok, false im Fehlerfall */ - function load($kontakt_id) + public function load($kontakt_id) { if(!is_numeric($kontakt_id)) { @@ -87,11 +72,12 @@ class kontakt return false; } - $qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name FROM public.tbl_kontakt LEFT JOIN public.tbl_firma USING(firma_id) WHERE kontakt_id='$kontakt_id'"; + $qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name + FROM public.tbl_kontakt LEFT JOIN public.tbl_firma USING(firma_id) WHERE kontakt_id='$kontakt_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->kontakt_id = $row->kontakt_id; $this->person_id = $row->person_id; @@ -122,54 +108,43 @@ class kontakt } /** - * Prueft die Variablen auf gueltigkeit + * Prueft die Variablen auf Gueltigkeit * @return true wenn ok, false im Fehlerfall */ - function checkvars() + public function validate() { //Gesamtlaenge pruefen //$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten'; if(strlen($this->kontakttyp)>32) { - $this->errormsg = 'kontakttyp darf nicht länger als 32 Zeichen sein - firma_id: '.$row->email_id; + $this->errormsg = 'kontakttyp darf nicht länger als 32 Zeichen sein'; return false; } if(strlen($this->anmerkung)>64) { - $this->errormsg = 'anmerkung darf nicht länger als 64 Zeichen sein - firma_id: '.$row->email_id; + $this->errormsg = 'anmerkung darf nicht länger als 64 Zeichen sein'; return false; } if(strlen($this->kontakt)>128) { - $this->errormsg = 'kontakt darf nicht länger als 128 Zeichen sein - firma_id: '.$row->email_id; + $this->errormsg = 'kontakt darf nicht länger als 128 Zeichen sein'; return false; } $this->errormsg = ''; return true; } - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - /** * Speichert den aktuellen Datensatz in die Datenbank * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt * andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($this->new) @@ -194,7 +169,7 @@ class kontakt //Pruefen ob kontakt_id eine gueltige Zahl ist if(!is_numeric($this->kontakt_id)) { - $this->errormsg = 'kontakt_id muss eine gueltige Zahl sein: '.$this->kontakt_id.' ('.$this->person_id.')'; + $this->errormsg = 'kontakt_id muss eine gueltige Zahl sein'; return false; } @@ -211,32 +186,32 @@ class kontakt 'WHERE kontakt_id='.$this->addslashes($this->kontakt_id).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { //Sequence auslesen um die eingefuegte ID zu ermitteln if($this->new) { $qry = "SELECT currval('public.tbl_kontakt_kontakt_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->kontakt_id = $row->id; - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { $this->errormsg = 'Fehler beim Auslesen er Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -249,12 +224,12 @@ class kontakt } } - // ** - // * Loescht den Datenensatz mit der ID die uebergeben wird - // * @param $kontakt_id ID die geloescht werden soll - // * @return true wenn ok, false im Fehlerfall - // ** - function delete($kontakt_id) + /** + * Loescht den Datenensatz mit der ID die uebergeben wird + * @param $kontakt_id ID die geloescht werden soll + * @return true wenn ok, false im Fehlerfall + */ + public function delete($kontakt_id) { if(!is_numeric($kontakt_id)) { @@ -264,7 +239,7 @@ class kontakt $qry = "DELETE FROM public.tbl_kontakt WHERE kontakt_id='$kontakt_id'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { @@ -273,10 +248,12 @@ class kontakt } } - // ** - // * Laedt alle Kontaktdaten einer Person - // ** - function load_pers($person_id) + /** + * Laedt alle Kontaktdaten einer Person + * @param person_id + * @return boolean + */ + public function load_pers($person_id) { if(!is_numeric($person_id)) { @@ -284,13 +261,14 @@ class kontakt return false; } - $qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name FROM public.tbl_kontakt LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id='$person_id'"; + $qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name + FROM public.tbl_kontakt LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id='$person_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new kontakt($this->conn, null, null); + $obj = new kontakt(); $obj->kontakt_id = $row->kontakt_id; $obj->person_id = $row->person_id; @@ -308,23 +286,30 @@ class kontakt $this->result[] = $obj; } + + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; } } - // ************************** - // * Laedt alle Kontakttypen - // * @return true wenn ok - // * false im Fehlerfall - // ************************** - function getKontakttyp() + /** + * Laedt alle Kontakttypen + * @return true wenn ok + * false im Fehlerfall + */ + public function getKontakttyp() { $qry = "SELECT * FROM public.tbl_kontakttyp ORDER BY beschreibung"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new kontakt($this->conn, null, null); + $obj = new kontakt(); $obj->kontakttyp = $row->kontakttyp; $obj->beschreibung = $row->beschreibung; diff --git a/include/konto.class.php b/include/konto.class.php index b017ff22d..0da8d87f7 100644 --- a/include/konto.class.php +++ b/include/konto.class.php @@ -23,15 +23,12 @@ * Klasse Konto * @create 2007-05-14 */ - -require_once ('basis_db.class.php'); +require_once(dirname(__FILE__).'/basis_db.class.php'); class konto extends basis_db { - //var $conn; // @var resource DB-Handle - public $new; // @var boolean - public $errormsg; // @var string - public $result = array(); // @var adresse Objekt + public $new; + public $result = array(); public $buch_nr = array(); public $buch_date = array(); @@ -60,10 +57,10 @@ class konto extends basis_db public $standardbetrag; public $standardtext; - // ************************************************************************** - // * Konstruktor - // * @param $buchungsnr ID der Adresse die geladen werden soll (Default=null) - // ************************************************************************** + /** + * Konstruktor + * @param $buchungsnr Nr der zu ladenden Buchung (default=null) + */ public function __construct($buchungsnr=null) { parent::__construct(); @@ -72,11 +69,11 @@ class konto extends basis_db $this->load($buchungsnr); } - // ************************************************ - // * Laedt die Funktion mit der ID $buchungsnr - // * @param $buchungsnr ID der zu ladenden Email - // * @return true wenn ok, false im Fehlerfall - // ************************************************ + /** + * Laedt die Funktion mit der ID $buchungsnr + * @param $buchungsnr ID der zu ladenden Email + * @return true wenn ok, false im Fehlerfall + */ public function load($buchungsnr) { if(!is_numeric($buchungsnr)) @@ -128,11 +125,11 @@ class konto extends basis_db } } - // ******************************************* - // * Prueft die Variablen auf gueltigkeit - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - private function validate() + /** + * Prueft die Variablen auf gueltigkeit + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { $this->betrag = str_replace(',','.',$this->betrag); if(!is_numeric($this->betrag)) @@ -168,13 +165,13 @@ class konto extends basis_db return true; } - // *********************************************************************** - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert - // * @param $new true wenn insert false wenn update - // * @return true wenn ok, false im Fehlerfall - // *********************************************************************** + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz aktualisiert + * @param $new true wenn insert false wenn update + * @return true wenn ok, false im Fehlerfall + */ public function save($new=null) { //Variablen pruefen @@ -225,7 +222,6 @@ class konto extends basis_db " WHERE buchungsnr='".addslashes($this->buchungsnr)."';"; } - //echo $qry; if($this->db_query($qry)) { @@ -262,11 +258,11 @@ class konto extends basis_db } } - // ******************************************************** - // * Loescht den Datenensatz mit der ID die uebergeben wird - // * @param buchungsnr ID die geloescht werden soll - // * @return true wenn ok, false im Fehlerfall - // ******************************************************** + /** + * Loescht den Datenensatz mit der ID die uebergeben wird + * @param buchungsnr ID die geloescht werden soll + * @return true wenn ok, false im Fehlerfall + */ public function delete($buchungsnr) { //Pruefen ob Verweise auf diese Buchung Vorhanden sind @@ -306,12 +302,12 @@ class konto extends basis_db } } - // ****************************************** - // * Laedt alle Buchungen einer Person - // * und legt diese geordnet in ein Array - // * @param person_id, filter - // * @return true wenn ok, false wenn fehler - // ****************************************** + /** + * Laedt alle Buchungen einer Person + * und legt diese geordnet in ein Array + * @param person_id, filter + * @return true wenn ok, false wenn fehler + */ public function getBuchungen($person_id, $filter='alle', $studiengang_kz='') { if(!is_numeric($person_id)) @@ -321,7 +317,7 @@ class konto extends basis_db } if($studiengang_kz!='') - $stgwhere = " AND tbl_konto.studiengang_kz='$studiengang_kz' "; + $stgwhere = " AND tbl_konto.studiengang_kz='".addslashes($studiengang_kz)."' "; else $stgwhere = ''; @@ -345,7 +341,7 @@ class konto extends basis_db $qry = "SELECT tbl_konto.*, anrede, titelpost, titelpre, nachname, vorname, vornamen FROM public.tbl_konto JOIN public.tbl_person USING (person_id) WHERE person_id='".$person_id."' $stgwhere ORDER BY buchungsdatum"; - //echo $qry; + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -392,10 +388,10 @@ class konto extends basis_db } } - // ****************************************** - // * Liefert alle Buchungstypen - // * @return true wenn ok, false wenn Fehler - // ****************************************** + /** + * Liefert alle Buchungstypen + * @return true wenn ok, false wenn Fehler + */ public function getBuchungstyp() { $qry = "SELECT * FROM public.tbl_buchungstyp ORDER BY beschreibung"; @@ -422,13 +418,14 @@ class konto extends basis_db } } - // ****************************** - // * Berechnet den offenen Betrag - // * einer Buchung - // ****************************** + /** + * Berechnet den offenen Betrag + * einer Buchung + */ public function getDifferenz($buchungsnr) { - $qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto WHERE buchungsnr='$buchungsnr' OR buchungsnr_verweis='$buchungsnr'"; + $qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto + WHERE buchungsnr='".addslashes($buchungsnr)."' OR buchungsnr_verweis='".addslashes($buchungsnr)."'"; if($this->db_query($qry)) { @@ -448,28 +445,42 @@ class konto extends basis_db } - // ****************************** - // * ueberprueft, ob studiengebuehr gebucht ist fuer - // * student_uid und studiensemester - // * gibt true/false zurueck und setzt bei true das buchungsdatum $this->buchungsdatum - // ****************************** + /** + * ueberprueft, ob studiengebuehr gebucht ist fuer + * student_uid und studiensemester + * gibt true/false zurueck und setzt bei true das buchungsdatum $this->buchungsdatum + */ public function checkStudienbeitrag($uid, $stsem) { - $subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum FROM public.tbl_konto, public.tbl_benutzer WHERE tbl_konto.studiensemester_kurzbz = '".$stsem."' AND tbl_benutzer.uid = '".$uid."' AND tbl_benutzer.person_id = tbl_konto.person_id and tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr"; - $this->db_query($subqry); - if ($this->db_num_rows()==0) - return false; - else + $subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum FROM public.tbl_konto, public.tbl_benutzer + WHERE + tbl_konto.studiensemester_kurzbz = '".addslashes($stsem)."' + AND tbl_benutzer.uid = '".addslashes($uid)."' + AND tbl_benutzer.person_id = tbl_konto.person_id + AND tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr"; + + if($this->db_query($subqry)) { - while ($subrow = $this->db_fetch_object()) + if ($this->db_num_rows()==0) + return false; + else { - $buch_nr[] = $subrow->buchungsnr; - $buch_date[] = $subrow->buchungsdatum; + while ($subrow = $this->db_fetch_object()) + { + $buch_nr[] = $subrow->buchungsnr; + $buch_date[] = $subrow->buchungsdatum; + } } } + else + { + $this->errormsg = 'Fehler bei einer Abfrage'; + return false; + } - $qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto WHERE buchungsnr='".$buch_nr[0]."' OR buchungsnr_verweis='".$buch_nr[0]."'"; + $qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto + WHERE buchungsnr='".$buch_nr[0]."' OR buchungsnr_verweis='".$buch_nr[0]."'"; if($this->db_query($qry)) { diff --git a/include/legesamtnote.class.php b/include/legesamtnote.class.php index 838a40ed0..99830a7cf 100755 --- a/include/legesamtnote.class.php +++ b/include/legesamtnote.class.php @@ -19,69 +19,52 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class legesamtnote +class legesamtnote extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $legesamtnoten = array(); // lehreinheit Objekt + public $new; + public $legesamtnoten = array(); //Tabellenspalten - var $student_uid; // varchar(16) - var $lehreinheit_id; // int - var $note; // smallint - var $benotungsdatum; //date - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $insertamum; // timestamp - var $insertvon; // varchar(16) + public $student_uid; // varchar(16) + public $lehreinheit_id; // int + public $note; // smallint + public $benotungsdatum; //date + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $insertamum; // timestamp + public $insertvon; // varchar(16) - - - - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Uebung - // * @param $conn Datenbank-Connection - // * $uebung_id - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function legesamtnote($conn, $student_uid=null, $lehreinheit_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional eine LEGesamtNote + * @param $uebung_id + */ + public function __construct($student_uid=null, $lehreinheit_id=null) { - $this->conn = $conn; -/* - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; - - if(!pg_query($this->conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } -*/ - if($student_uid != null) + parent::__construct(); + + if(!is_null($student_uid)) $this->load($student_uid, $lehreinheit_id); } - // ********************************************************* - // * Laedt die legesamtnote - // * @param student_uid, lehreinheit_id - // ********************************************************* - function load($student_uid, $lehreinheit_id) + /** + * Laedt die legesamtnote + * @param student_uid, lehreinheit_id + */ + public function load($student_uid, $lehreinheit_id) { if(!is_numeric($lehreinheit_id)) { $this->errormsg='lehreinheit_id muss eine gueltige Zahl sein'; return false; } - $qry = "SELECT * FROM campus.tbl_legesamtnote where student_uid = '".$student_uid."' and lehreinheit_id = '".$lehreinheit_id."'"; + $qry = "SELECT * FROM campus.tbl_legesamtnote + WHERE student_uid = '".addslashes($student_uid)."' AND lehreinheit_id = '".addslashes($lehreinheit_id)."'"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehreinheit_id = $row->lehreinheit_id; $this->student_uid = $row->student_uid; @@ -101,13 +84,18 @@ class legesamtnote } else { - $this->errormsg = 'Fehler beim laden der Uebung'; + $this->errormsg = 'Fehler beim Laden der LEGesamtNote'; return false; } } - - function load_legesamtnote($lehreinheit_id) + /** + * Ledt die LEGesamtnoten einer Lehreinheit + * + * @param $lehreinheit_id + * @return boolean + */ + public function load_legesamtnote($lehreinheit_id) { if(!is_numeric($lehreinheit_id)) { @@ -115,14 +103,14 @@ class legesamtnote return false; } - $qry = "SELECT * FROM campus.tbl_legesamtnote WHERE lehreinheit_id='".$lehreinheit_id."' order by student_uid"; + $qry = "SELECT * FROM campus.tbl_legesamtnote WHERE lehreinheit_id='".$lehreinheit_id."' ORDER BY student_uid"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $legesamtnote_obj = new uebung($this->conn); + $legesamtnote_obj = new legesamtnote(); $legesamtnote_obj->student_uid = $row->student_uid; $legesamtnote_obj->note = $row->note; @@ -139,17 +127,17 @@ class legesamtnote } else { - $this->errormsg = 'Fehler beim laden der legesamtnoten'; + $this->errormsg = 'Fehler beim Laden der legesamtnoten'; return false; } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(!is_numeric($this->lehreinheit_id)) { @@ -164,28 +152,14 @@ class legesamtnote 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) + /** + * 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() { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ************************************************************ - // * 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 - // ************************************************************ - function save() - { - //if(is_null($new)) - // $new = $this->new; - //Variablen auf Gueltigkeit pruefen if(!$this->validate()) return false; @@ -211,10 +185,10 @@ class legesamtnote ' benotungsdatum='.$this->addslashes($this->benotungsdatum).','. ' updateamum='.$this->addslashes($this->updateamum).','. ' updatevon='.$this->addslashes($this->updatevon). - " WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." and student_uid = '".$this->student_uid."';"; + " WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." AND student_uid = '".$this->student_uid."';"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { return true; } diff --git a/include/lehreinheit.class.php b/include/lehreinheit.class.php index 902fc896e..7092888e1 100644 --- a/include/lehreinheit.class.php +++ b/include/lehreinheit.class.php @@ -19,94 +19,78 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/log.class.php'); -class lehreinheit +class lehreinheit extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $lehreinheiten = array(); // lehreinheit Objekt + public $new; // boolean + public $lehreinheiten = array(); // lehreinheit Objekt //Tabellenspalten - var $lehreinheit_id; // integer - var $lehrveranstaltung_id; // integer - var $studiensemester_kurzbz; // varchar(16) - var $lehrfach_id; // integer - var $lf_kurzbz; - var $lf_bez; - var $lf_aktiv; - var $lehrform_kurzbz; // varchar(8) - var $stundenblockung; // smalint - var $wochenrythmus; // smalint - var $start_kw; // smalint - var $raumtyp; // varchar(8) - var $raumtypalternativ; // varchar(8) - var $lehre; // boolean - var $anmerkung; // varchar(255) - var $unr; // integer - var $lvnr; // bigint - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $sprache; // varchar(16) - var $ext_id; // bigint + public $lehreinheit_id; // integer + public $lehrveranstaltung_id; // integer + public $studiensemester_kurzbz; // varchar(16) + public $lehrfach_id; // integer + public $lf_kurzbz; + public $lf_bez; + public $lf_aktiv; + public $lehrform_kurzbz; // varchar(8) + public $stundenblockung; // smalint + public $wochenrythmus; // smalint + public $start_kw; // smalint + public $raumtyp; // varchar(8) + public $raumtypalternativ; // varchar(8) + public $lehre; // boolean + public $anmerkung; // varchar(255) + public $unr; // integer + public $lvnr; // bigint + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $sprache; // varchar(16) + public $ext_id; // bigint - var $anz=0; //Zahler fuer erweiterte Attribute - var $mitarbeiter_uid=array(); - var $studiengang_kz=array(); - var $semester=array(); - var $verband=array(); - var $gruppe=array(); - var $gruppe_kurzbz=array(); - var $titel=array(); - var $lehrform=array(); + public $anz=0; //Zahler fuer erweiterte Attribute + public $mitarbeiter_uid=array(); + public $studiengang_kz=array(); + public $semester=array(); + public $verband=array(); + public $gruppe=array(); + public $gruppe_kurzbz=array(); + public $titel=array(); + public $lehrform=array(); - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine LE - // * @param $conn Datenbank-Connection - // * $gruppe_kurzbz - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function lehreinheit($conn, $lehreinheit_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional eine LE + * @param $gruppe_kurzbz + */ + public function __construct($lehreinheit_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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; - } - } -*/ + parent::__construct(); + if($lehreinheit_id!=null) $this->load($lehreinheit_id); } - // ********************************************************* - // * Laedt die LE - // * @param lehreinheit_id - // ********************************************************* - function load($lehreinheit_id) + /** + * Laedt die LE + * @param lehreinheit_id + */ + public function load($lehreinheit_id) { if(!is_numeric($lehreinheit_id)) { $this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein'; + return false; } $qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehreinheit_id = $row->lehreinheit_id; $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; @@ -130,6 +114,11 @@ class lehreinheit $this->ext_id = $row->ext_id; return true; } + else + { + $this->errormsg = 'Es existiert keine Lehreinheit mit dieser ID'; + return false; + } } else { @@ -137,11 +126,12 @@ class lehreinheit return false; } } - // ********************************************************* - // * Laedt die LE von der View mit erweiterten Attributen - // * @param lehreinheit_id - // ********************************************************* - function loadLE($lehreinheit_id) + + /** + * Laedt die LE von der View mit erweiterten Attributen + * @param lehreinheit_id + */ + public function loadLE($lehreinheit_id) { if(!is_numeric($lehreinheit_id)) { @@ -150,11 +140,11 @@ class lehreinheit $qry = "SELECT * FROM campus.vw_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { $this->anz=0; - while($row = pg_fetch_object($result)) - { // lehrfunktion_kurzbz fachbereich_kurzbz semesterstunden lv_semesterstunden planstunden stundensatz faktor lektor stg_kurzbz stg_kurzbzlang stg_bez stg_typ anmerkunglektor + while($row = $this->db_fetch_object()) + { $this->lehreinheit_id = $row->lehreinheit_id; $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; @@ -187,9 +177,10 @@ class lehreinheit $this->gruppe[$this->anz] = $row->gruppe; $this->gruppe_kurzbz[$this->anz] = $row->gruppe_kurzbz; $this->titel[$this->anz] = ''; - //$this->lehrform[$this->anz] = $row->lehrform; + $this->anz++; } + return true; } else { @@ -198,10 +189,20 @@ class lehreinheit } } - - function load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz, $uid='', $fachbereich_kurzbz='') + /** + * Laedt die Lehreinheiten zu einer Lehrveranstaltung + * + * @param $lehrveranstaltung_id + * @param $studiensemester_kurzbz + * @param $uid + * @param $fachbereich_kurzbz + * @return boolean + */ + public function load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz, $uid='', $fachbereich_kurzbz='') { - $qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz' "; + $qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE + lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' + AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; if($uid!='') $qry .= " AND lehreinheit_id IN ( SELECT lehreinheit_id FROM lehre.tbl_lehreinheitmitarbeiter WHERE mitarbeiter_uid='".addslashes($uid)."')"; @@ -211,11 +212,11 @@ class lehreinheit $qry.= "ORDER BY lehreinheit_id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $le_obj = new lehreinheit($this->conn, null, null); + $le_obj = new lehreinheit(); $le_obj->lehreinheit_id = $row->lehreinheit_id; $le_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; @@ -249,12 +250,12 @@ class lehreinheit } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if($this->lehreinheit_id!='' && !is_numeric($this->lehreinheit_id)) { @@ -352,24 +353,13 @@ class lehreinheit 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 LE 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($new=null) + /** + * Speichert LE 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; @@ -430,31 +420,31 @@ class lehreinheit ' ext_id='.$this->addslashes($this->ext_id). " WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id).";"; } - //echo $qry; - if(pg_query($this->conn,$qry)) + + if($this->db_query($qry)) { if($new) { //Sequence auslesen $qry ="SELECT currval('lehre.tbl_lehreinheit_lehreinheit_id_seq') AS lehreinheit_id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehreinheit_id = $row->lehreinheit_id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); } else { - $this->errormsg = 'Fehler beim auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK;'); + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK;'); return false; } } else { - $this->errormsg = 'Fehler beim auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK;'); + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK;'); return false; } } @@ -468,7 +458,7 @@ class lehreinheit } } - /************************************************************************* + /** * Prueft die geladene Lehrveranstaltung auf Kollisionen im Stundenplan. * Rueckgabewert 'false' und die Fehlermeldung steht in '$this->errormsg'. * @param string datum gewuenschtes Datum YYYY-MM-TT @@ -476,8 +466,8 @@ class lehreinheit * @param string ort gewuenschter Ort * @param string db_stpl_table Tabllenname des Stundenplans im DBMS * @return boolean true=ok, false=error - *************************************************************************/ - function check_lva($datum,$stunde,$ort,$stpl_table) + */ + public function check_lva($datum,$stunde,$ort,$stpl_table) { $ignore_reservation=false; $ignore_zeitsperre=false; @@ -485,32 +475,28 @@ class lehreinheit // Bezeichnung der Stundenplan-Tabelle und des Keys $stpl_id=$stpl_table.TABLE_ID; $stpl_table='lehre.'.TABLE_BEGIN.$stpl_table; - - /*// Connection holen - if (is_null($conn=$this->getConnection())) - { - return false; - }*/ + //Lektoren SQL $sql_lkt=''; foreach ($this->mitarbeiter_uid as $lkt) - $sql_lkt.="OR mitarbeiter_uid='$lkt' "; + $sql_lkt.="OR mitarbeiter_uid='".addslashes($lkt)."' "; $sql_lkt=substr($sql_lkt,3); $sql_lkt="(($sql_lkt) AND mitarbeiter_uid!='_DummyLektor')"; // Datenbank abfragen $sql_query="SELECT $stpl_id FROM $stpl_table - WHERE datum='$datum' AND stunde=$stunde - AND (ort_kurzbz='$ort' OR $sql_lkt)"; + WHERE datum='".addslashes($datum)."' AND stunde='".addslashes($stunde)."' + AND (ort_kurzbz='".addslashes($ort)."' OR $sql_lkt)"; if (is_numeric($this->unr)) - $sql_query.=" AND unr!=$this->unr"; - if (! $erg_stpl=pg_query($this->conn, $sql_query)) + $sql_query.=" AND unr!='".addslashes($this->unr)."'"; + if (!$this->db_query($sql_query)) { - //die($sql_query.pg_last_error($this->conn)); - $this->errormsg=pg_last_error($this->conn); + $this->errormsg=$this->db_last_error(); return false; } - $anzahl=pg_numrows($erg_stpl); + $erg_stpl=$this->db_result; + + $anzahl=$this->db_numrows($erg_stpl); //Check if ($anzahl==0) { @@ -526,7 +512,8 @@ class lehreinheit $sql_lkt="(($sql_lkt) AND uid!='_DummyLektor')"; $sql_query="SELECT reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde FROM lehre.vw_reservierung - WHERE datum='$datum' AND stunde=$stunde AND (ort_kurzbz='$ort' OR $sql_lkt)"; + WHERE datum='".addslashes($datum)."' AND stunde='".addslashes($stunde)."' + AND (ort_kurzbz='".addslashes($ort)."' OR $sql_lkt)"; // Verband SQL //$sql_query.="(studiengang_kz=$this->studiengang_kz AND semester=$this->sem"; //if ($this->ver!=null && $this->ver!='' && $this->ver!=' ') @@ -538,12 +525,13 @@ class lehreinheit //$sql_query.="))"; //echo $sql_query.'
'; - if (! $erg_res=pg_query($this->conn, $sql_query)) + if (!$this->db_query($sql_query)) { - $this->errormsg=$sql_query.pg_last_error($this->conn); + $this->errormsg=$sql_query.$this->db_last_error(); return false; } - $anz_res=pg_numrows($erg_res); + $erg_res=$this->db_result; + $anz_res=$this->db_num_rows($erg_res); //Check if ($anz_res==0) { @@ -563,18 +551,19 @@ class lehreinheit OR (vondatum='$datum' AND bisdatum>'$datum' AND vonstunde<=$stunde) OR (vondatum<'$datum' AND bisdatum='$datum' AND bisstunde>=$stunde) )"; //echo $sql_query.'
'; - if (! $erg_zs=pg_query($this->conn, $sql_query)) + if (!$this->db_query($sql_query)) { - $this->errormsg=$sql_query.pg_last_error($this->conn); + $this->errormsg=$sql_query.$this->db_last_error(); return false; } - $anz_zs=pg_numrows($erg_zs); + $erg_zs=$this->db_result; + $anz_zs=$this->db_num_rows($erg_zs); //Check if ($anz_zs==0) return true; else { - $row=pg_fetch_object($erg_zs); + $row=$this->db_fetch_object($erg_zs); $this->errormsg="Kollision (Zeitsperre): $row->zeitsperre_id|$row->mitarbeiter_uid|$row->zeitsperretyp_kurzbz|$row->bezeichnung|$row->vondatum/$row->vonstunde-$row->bisdatum/$row->bisstunde - $row->vertretung_uid"; return false; } @@ -583,7 +572,7 @@ class lehreinheit } else { - $row=pg_fetch_object($erg_res); + $row=$this->db_fetch_object($erg_res); $this->errormsg="Kollision (Reservierung): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde"; return false; } @@ -592,13 +581,13 @@ class lehreinheit } else { - $row=pg_fetch_row($erg_stpl); + $row=$this->db_fetch_row($erg_stpl); $this->errormsg="Kollision mit StundenplanID($stpl_table.$stpl_id): $row[0]"; return false; } } - /************************************************************************* + /** * Speichert die geladene Lehreinheit im Stundenplan. * Rueckgabewert 'false' und die Fehlermeldung steht in '$this->errormsg'. * @param string datum gewuenschtes Datum YYYY-MM-TT @@ -607,12 +596,11 @@ class lehreinheit * @param string db_stpl_table Tabllenname des Stundenplans im DBMS * @param string user UID des aktuellen Bentzers * @return boolean true=ok, false=error - *************************************************************************/ - function save_stpl($datum,$stunde,$ort,$stpl_table,$user) + */ + public function save_stpl($datum,$stunde,$ort,$stpl_table,$user) { // Parameter Checken // Bezeichnung der Stundenplan-Tabelle und des Keys - $stpl_id=$stpl_table.TABLE_ID; $stpl_table='lehre.'.TABLE_BEGIN.$stpl_table; // Variablen pruefen @@ -637,10 +625,9 @@ class lehreinheit else $sql_query.=",'".$this->gruppe_kurzbz[$i]."'"; $sql_query.=",'".$this->titel[$i]."','$this->anmerkung','$user')"; - if (! $erg_stpl=pg_query($this->conn, $sql_query)) + if (!$this->db_query($sql_query)) { - //die(pg_last_error($this->conn).$sql_query); - $this->errormsg=pg_last_error($this->conn); + $this->errormsg=$this->db_last_error(); return false; } } @@ -658,7 +645,7 @@ class lehreinheit * @param integer stg_kz Kennzahl des Studiengangs * @return variabel Array mit LVA; false bei Fehler */ - function getLehreinheitLVPL($db_stpl_table,$studiensemester, $type, $stg_kz, $sem, $lektor, $ver=null, $grp=null, $gruppe=null) + public function getLehreinheitLVPL($db_stpl_table,$studiensemester, $type, $stg_kz, $sem, $lektor, $ver=null, $grp=null, $gruppe=null) { $lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table; @@ -686,19 +673,14 @@ class lehreinheit $sql_query='SELECT *, planstunden-verplant::smallint AS offenestunden FROM lehre.'.$lva_stpl_view.' JOIN lehre.tbl_lehrform ON '.$lva_stpl_view.'.lehrform=tbl_lehrform.lehrform_kurzbz WHERE '.$where.' AND verplanen ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;'; - //$this->errormsg=$sql_query; - //return false; - if(!($erg=pg_query($this->conn, $sql_query))) + + if(!$this->db_query($sql_query)) { - $this->errormsg=pg_errormessage($this->conn).$sql_query; + $this->errormsg=$this->db_last_error().$sql_query; return false; } - $num_rows=pg_numrows($erg); - //$l=array(); - for($i=0;$i<$num_rows;$i++) + while($row = $this->db_fetch_object()) { - $row=pg_fetch_object($erg,$i); - //$l[$row->unr]=new lehrveranstaltung(); $this->lehreinheiten[$row->unr]->lehreinheit_id[]=$row->lehreinheit_id; $this->lehreinheiten[$row->unr]->lvnr[]=$row->lvnr; $this->lehreinheiten[$row->unr]->unr=$row->unr; @@ -745,22 +727,25 @@ class lehreinheit return true; } - // *************************** - // * Loescht eine Lehreinheit - // *************************** - function delete($lehreinheit_id) + /** + * Loescht eine Lehreinheit + * @param lehreinheit_id + * @return boolean + */ + public function delete($lehreinheit_id) { if(!is_numeric($lehreinheit_id)) { $this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein'; return false; } + //Pruefen ob schon eine Kreuzerlliste fuer diese Lehreinheit angelegt wurde. //Falls ja dann wird das loeschen verweigert $qry = "SELECT count(*) as anzahl FROM campus.tbl_uebung WHERE lehreinheit_id='$lehreinheit_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { if($row->anzahl>0) { @@ -769,16 +754,16 @@ class lehreinheit } else { - pg_query($this->conn, 'BEGIN'); + $this->db_query('BEGIN'); //UNDO Befehl zusammenbauen $undosql=''; //LehreinheitMitarbeiter $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { $undosql.=" INSERT INTO lehre.tbl_lehreinheitmitarbeiter(lehreinheit_id, mitarbeiter_uid, lehrfunktion_kurzbz, planstunden, stundensatz, faktor, anmerkung, bismelden, updateamum, updatevon, insertamum, insertvon, semesterstunden) VALUES(".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->mitarbeiter_uid).",".$this->addslashes($row->lehrfunktion_kurzbz).",".$this->addslashes($row->planstunden).",".$this->addslashes($row->stundensatz).",".$this->addslashes($row->faktor).",". @@ -788,9 +773,9 @@ class lehreinheit //LehreinheitGruppe $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { $undosql.=" INSERT INTO lehre.tbl_lehreinheitgruppe(lehreinheitgruppe_id, lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon) VALUES(".$this->addslashes($row->lehreinheitgruppe_id).",".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->studiengang_kz).",'".addslashes($row->semester)."','".addslashes($row->verband)."','".addslashes($row->gruppe)."',". @@ -800,9 +785,9 @@ class lehreinheit //Lehreinheit $qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { $undosql.=" INSERT INTO lehre.tbl_lehreinheit(lehreinheit_id, lehrveranstaltung_id, studiensemester_kurzbz, lehrfach_id, lehrform_kurzbz, stundenblockung, wochenrythmus, start_kw, raumtyp, raumtypalternativ, sprache, lehre, anmerkung, unr, lvnr, updateamum, updatevon, insertamum, insertvon) VALUES(".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->lehrveranstaltung_id).",".$this->addslashes($row->studiensemester_kurzbz).",".$this->addslashes($row->lehrfach_id).",".$this->addslashes($row->lehrform_kurzbz).",".$this->addslashes($row->stundenblockung).",". @@ -811,7 +796,7 @@ class lehreinheit } } - $log = new log($this->conn); + $log = new log(); //Gruppenzuteilung, Mitarbeiterzuteilung und Lehreinheit loeschen $qry = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id'; @@ -828,20 +813,20 @@ class lehreinheit if(!$log->save()) { $this->errormsg = 'Fehler beim Schreiben des Log-Eintrages'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } else { - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { - pg_query($this->conn, 'ROLLBACK'); - $this->errormsg = pg_last_error($this->conn); + $this->db_query('ROLLBACK'); + $this->errormsg = $this->db_last_error(); return false; } } @@ -849,17 +834,15 @@ class lehreinheit } else { - $this->errormsg = 'Fehler beim loeschen'; + $this->errormsg = 'Fehler beim Loeschen'; return false; } } else { - $this->errormsg = 'Fehler beim loeschen'; + $this->errormsg = 'Fehler beim Loeschen'; return false; } - } - } ?> diff --git a/include/lehreinheitgruppe.class.php b/include/lehreinheitgruppe.class.php index b83a3ccec..386dc4daa 100644 --- a/include/lehreinheitgruppe.class.php +++ b/include/lehreinheitgruppe.class.php @@ -19,61 +19,43 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class lehreinheitgruppe +class lehreinheitgruppe extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $lehreinheitgruppe = array(); // lehreinheitgruppe Objekt + public $new; // boolean + public $lehreinheitgruppe = array(); // lehreinheitgruppe Objekt //Tabellenspalten - var $lehreinheitgruppe_id; //integer - var $lehreinheit_id; // integer - var $studiengang_kz; // integer - var $semester; // smalint - var $verband; // char(1) - var $gruppe; // char(1) - var $gruppe_kurzbz; // varchar(16) - var $ext_id; // bigint - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $insertamum; // timestamp - var $insertvon; // varchar(16) + public $lehreinheitgruppe_id; //integer + public $lehreinheit_id; // integer + public $studiengang_kz; // integer + public $semester; // smalint + public $verband; // char(1) + public $gruppe; // char(1) + public $gruppe_kurzbz; // varchar(16) + public $ext_id; // bigint + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $insertamum; // timestamp + public $insertvon; // varchar(16) - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine LE - // * @param $conn Datenbank-Connection - // * $gruppelehreinheit_id - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function lehreinheitgruppe($conn, $lehreinheitgruppe_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional eine LEGruppe + * @param $lehreinheitgruppe_id + */ + public function __construct($lehreinheitgruppe_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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($lehreinheitgruppe_id!=null) + parent::__construct(); + + if(!is_null($lehreinheitgruppe_id)) $this->load($lehreinheitgruppe_id); } - // ********************************************************* - // * Laedt die LEGruppe - // * @param lehreinheit_id - // ********************************************************* + /** + * Laedt die LEGruppe + * @param lehreinheit_id + */ function load($lehreinheitgruppe_id) { if(!is_numeric($lehreinheitgruppe_id)) @@ -83,9 +65,9 @@ class lehreinheitgruppe } $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehreinheitgruppe_id = $row->lehreinheitgruppe_id; $this->lehreinheit_id = $row->lehreinheit_id; @@ -102,6 +84,11 @@ class lehreinheitgruppe return true; } + else + { + $this->errormsg = 'Es existiert kein Eintrag mit dieser ID'; + return false; + } } else { @@ -110,12 +97,12 @@ class lehreinheitgruppe } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(!is_numeric($this->lehreinheit_id)) { @@ -150,24 +137,13 @@ class lehreinheitgruppe 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 GruppeLE 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($new=null) + /** + * Speichert GruppeLE 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; @@ -178,7 +154,6 @@ class lehreinheitgruppe if($new) { - //ToDo ID entfernen $qry = 'INSERT INTO lehre.tbl_lehreinheitgruppe (lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, ext_id, insertamum, insertvon) VALUES('.$this->addslashes($this->lehreinheit_id).','. $this->addslashes($this->studiengang_kz).','. @@ -205,7 +180,7 @@ class lehreinheitgruppe " WHERE lehreinheitgruppe_id=".$this->addslashes($this->lehreinheitgruppe_id).";"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; @@ -217,20 +192,20 @@ class lehreinheitgruppe } } - // **************************************************** - // * Sieht nach ob Gruppe schon zu dieser Lehreinheit - // * zugeordnet ist. - // * @param lehreinheit_id - // * studiengang_kz - // * semester - // * verband - // * gruppe - // * gruppe_kurzbz - // * @return true wenn vorhanden, false wenn nicht - // **************************************************** - function exists($lehreinheit_id, $studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz) + /** + * Sieht nach ob Gruppe schon zu dieser Lehreinheit + * zugeordnet ist. + * @param lehreinheit_id + * studiengang_kz + * semester + * verband + * gruppe + * gruppe_kurzbz + * @return true wenn vorhanden, false wenn nicht + */ + public function exists($lehreinheit_id, $studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz) { - $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'"; + $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='".addslashes($lehreinheit_id)."'"; if($gruppe_kurzbz!='') { @@ -238,35 +213,35 @@ class lehreinheitgruppe } else { - $qry .= " AND semester='$semester'"; + $qry .= " AND semester='".addslashes($semester)."'"; if($verband!='') - $qry .= " AND verband='$verband'"; + $qry .= " AND verband='".addslashes($verband)."'"; if($gruppe!='') - $qry .= " AND gruppe='$gruppe'"; + $qry .= " AND gruppe='".addslashes($gruppe)."'"; } - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if(pg_num_rows($result)>0) + if($this->db_num_rows()>0) return true; else return false; } else { - $this->errormsg = 'Fehler beim lesen der Lehreinheitgruppen'; + $this->errormsg = 'Fehler beim Lesen der Lehreinheitgruppen'; return false; } } - // ******************************************* - // * Liefert alle Gruppenzuordnungen zu einer - // * Lehreinheit. - // * @param lehreinheit_id Lehreinheit zu der - // * die Gruppen geladen werden sollen - // * @return true wenn ok, false im fehlerfall - // ******************************************* - function getLehreinheitgruppe($lehreinheit_id) + /** + * Liefert alle Gruppenzuordnungen zu einer + * Lehreinheit. + * @param lehreinheit_id Lehreinheit zu der + * die Gruppen geladen werden sollen + * @return true wenn ok, false im fehlerfall + */ + public function getLehreinheitgruppe($lehreinheit_id) { if(!is_numeric($lehreinheit_id)) { @@ -275,11 +250,12 @@ class lehreinheitgruppe } $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'"; - if($result = pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $leg_obj = new lehreinheitgruppe($this->conn, null, null); + $leg_obj = new lehreinheitgruppe(); $leg_obj->lehreinheitgruppe_id = $row->lehreinheitgruppe_id; $leg_obj->lehreinheit_id = $row->lehreinheit_id; @@ -305,12 +281,12 @@ class lehreinheitgruppe } } - // *************************************************************** - // * Loescht die Zuornung Gruppe-Lehreinheit - // * @param lehreinheigruppe_id ID des zu loeschenden Datensatzes - // * @return true wenn ok, false im fehlerfall - // *************************************************************** - function delete($lehreinheitgruppe_id) + /** + * Loescht die Zuornung Gruppe-Lehreinheit + * @param lehreinheigruppe_id ID des zu loeschenden Datensatzes + * @return true wenn ok, false im fehlerfall + */ + public function delete($lehreinheitgruppe_id) { if(!is_numeric($lehreinheitgruppe_id)) { @@ -319,9 +295,9 @@ class lehreinheitgruppe } $qry_del = "DELETE FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'"; $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $sql_undo = "INSERT INTO lehre.tbl_lehreinheitgruppe ". "(lehreinheitgruppe_id, lehreinheit_id, studiengang_kz, semester, ". @@ -338,7 +314,7 @@ class lehreinheitgruppe $this->addslashes($row->insertamum).','. $this->addslashes($row->insertvon).');'; - $log = new log($this->conn, null, null); + $log = new log(); $log->sql = $qry_del; $log->sqlundo = $sql_undo; $log->mitarbeiter_uid = get_uid(); @@ -347,30 +323,30 @@ class lehreinheitgruppe else { $qry_stg = "SELECT UPPER(typ::varchar(1) || kurzbz) as kuerzel FROM public.tbl_studiengang WHERE studiengang_kz='$row->studiengang_kz'"; - $result_stg = pg_query($this->conn, $qry_stg); - $row_stg = pg_fetch_object($result_stg); + $this->db_query($qry_stg); + $row_stg = $this->db_fetch_object(); $grp = $row_stg->kuerzel.$row->semester.$row->verband.$row->gruppe; } $log->beschreibung = "Gruppenzuteilung loeschen $grp - $row->lehreinheit_id"; - pg_query($this->conn, 'BEGIN;'); + $this->db_query('BEGIN;'); if($log->save(true)) { - if(pg_query($this->conn, $qry_del)) + if($this->db_query($qry_del)) { - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); $this->errormsg = 'Fehler beim Loeschen'; return false; } } else { - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; return false; } @@ -383,53 +359,63 @@ class lehreinheitgruppe } else { - $this->errormsg = 'Fehler beim lesen aus der Datenbank'; + $this->errormsg = 'Fehler beim Lesen aus der Datenbank'; return false; } } - // **** - // * Prueft ob die Gruppe schon dieser Lehreinheit zugeordnet ist - // **** - function checkVorhanden() + /** + * Prueft ob die Gruppe schon dieser Lehreinheit zugeordnet ist + */ + public function checkVorhanden() { $qry = "SELECT count(*) as anzahl FROM lehre.tbl_lehreinheitgruppe WHERE - lehreinheit_id='$this->lehreinheit_id' AND - studiengang_kz='$this->studiengang_kz'"; + lehreinheit_id='".addslashes($this->lehreinheit_id)."' AND + studiengang_kz='".addslashes($this->studiengang_kz)."'"; if($this->semester!='') - $qry.=" AND trim(semester)='$this->semester'"; + $qry.=" AND trim(semester)='".addslashes($this->semester)."'"; else $qry.=" AND (trim(semester)='' OR semester is null)"; if($this->verband!='') - $qry.=" AND trim(verband)='$this->verband'"; + $qry.=" AND trim(verband)='".addslashes($this->verband)."'"; else $qry.=" AND (trim(verband)='' OR verband is null)"; if($this->gruppe!='') - $qry.=" AND trim(gruppe)='$this->gruppe'"; + $qry.=" AND trim(gruppe)='".addslashes($this->gruppe)."'"; else $qry.=" AND (trim(gruppe)='' OR gruppe is null)"; if($this->gruppe_kurzbz!='') - $qry.=" AND trim(gruppe_kurzbz)='$this->gruppe_kurzbz'"; + $qry.=" AND trim(gruppe_kurzbz)='".addslashes($this->gruppe_kurzbz)."'"; else $qry.= " AND (trim(gruppe_kurzbz)='' OR gruppe_kurzbz is null)"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { if($row->anzahl>0) return true; else return false; } + else + { + $this->errormsg = 'Interner Fehler'; + return false; + } + } + else + { + $this->errormsg='Fehler bei einer Abfrage'; + return false; } } } diff --git a/include/lehreinheitmitarbeiter.class.php b/include/lehreinheitmitarbeiter.class.php index 1c005bf3e..73c73db70 100644 --- a/include/lehreinheitmitarbeiter.class.php +++ b/include/lehreinheitmitarbeiter.class.php @@ -19,66 +19,50 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class lehreinheitmitarbeiter +class lehreinheitmitarbeiter extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $lehreinheitmitarbeiter = array(); // lehreinheitmitarbeiter Objekt + public $new; // boolean + public $lehreinheitmitarbeiter = array(); // lehreinheitmitarbeiter Objekt //Tabellenspalten - var $lehreinheit_id; // integer - var $mitarbeiter_uid; // varchar(16) - var $mitarbeiter_uid_old; // verwendet bei Update der UID - var $semesterstunden; // smalint - var $planstunden; // smalint - var $stundensatz; // numeric(6,2) - var $faktor; // numeric(2,1) - var $anmerkung; // varchar(256) - var $lehrfunktion_kurzbz; // varchar(16) - var $bismelden; // boolean - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $ext_id; // bigint + public $lehreinheit_id; // integer + public $mitarbeiter_uid; // varchar(16) + public $mitarbeiter_uid_old; // verwendet bei Update der UID + public $semesterstunden; // smalint + public $planstunden; // smalint + public $stundensatz; // numeric(6,2) + public $faktor; // numeric(2,1) + public $anmerkung; // varchar(256) + public $lehrfunktion_kurzbz; // varchar(16) + public $bismelden; // boolean + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $ext_id; // bigint - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine LE - // * @param $conn Datenbank-Connection - // * $lehreinheit_id - // * $uid - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function lehreinheitmitarbeiter($conn, $lehreinheit_id=null, $mitarbeiter_uid=null, $unicode=false) + /** + * Konstruktor - Laedt optional einee LEMitarbeiterzuordnung + * @param $lehreinheit_id + * @param $uid + */ + public function __construct($lehreinheit_id=null, $mitarbeiter_uid=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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($lehreinheit_id!=null && $mitarbeiter_uid!=null) + parent::__construct(); + + if(!is_null($lehreinheit_id) && !is_null($mitarbeiter_uid)) $this->load($lehreinheit_id, $mitarbeiter_uid); } - // ********************************************************* - // * Laedt die LEMitarbeiter - // * @param lehreinheit_id - // ********************************************************* - function load($lehreinheit_id, $mitarbeiter_uid=null) + /** + * Laedt die LEMitarbeiterzuordnung + * @param lehreinheit_id + * @param mitarbeiter_uid + * @return boolean + */ + public function load($lehreinheit_id, $mitarbeiter_uid=null) { if(!is_numeric($lehreinheit_id)) { @@ -86,10 +70,11 @@ class lehreinheitmitarbeiter return false; } - $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'"; - if($result = pg_query($this->conn, $qry)) + $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter + WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'"; + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehreinheit_id = $row->lehreinheit_id; $this->mitarbeiter_uid = $row->mitarbeiter_uid; @@ -109,34 +94,40 @@ class lehreinheitmitarbeiter } else { - $this->errormsg = 'Fehler beim laden der Daten'; + $this->errormsg = 'Fehler beim Laden der Daten'; return false; } } else { - $this->errormsg = 'Fehler beim laden der Daten'; + $this->errormsg = 'Fehler beim Laden der Daten'; return false; } } - // ********************************************************* - // * Laedt die Lektoren einer Lehreinheit - // * @param lehreinheit_id - // * @return array + true wenn ok / false im Fehlerfall - // ********************************************************* - function getLehreinheitmitarbeiter($lehreinheit_id, $mitarbeiter_uid=null) + /** + * Laedt die Lektoren einer Lehreinheit + * @param lehreinheit_id + * @return array + true wenn ok / false im Fehlerfall + */ + public function getLehreinheitmitarbeiter($lehreinheit_id, $mitarbeiter_uid=null) { + if(!is_numeric($lehreinheit_id)) + { + $this->errormsg = 'Lehreinheit_id ist ungueltig'; + return false; + } + $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id'"; if($mitarbeiter_uid!=null) $qry.=" AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'"; $qry .=" ORDER BY mitarbeiter_uid"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new lehreinheitmitarbeiter($this->conn, null, null, null); + $obj = new lehreinheitmitarbeiter(); $obj->lehreinheit_id = $row->lehreinheit_id; $obj->mitarbeiter_uid = $row->mitarbeiter_uid; $obj->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz; @@ -160,12 +151,12 @@ class lehreinheitmitarbeiter return false; } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if($this->stundensatz!='' && !is_numeric($this->stundensatz)) { @@ -196,24 +187,13 @@ class lehreinheitmitarbeiter 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 LEMitarbeiter 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($new=null) + /** + * Speichert LEMitarbeiter 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; @@ -270,25 +250,25 @@ class lehreinheitmitarbeiter mitarbeiter_uid=".$this->addslashes($this->mitarbeiter_uid_old).";"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { return true; } else { - $this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$qry.pg_errormessage($this->conn); + $this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$this->db_last_error(); return false; } } - // ******************************************************* - // * Prueft ob die Kombination Lehreinheit-Mitarbeiter - // * bereits existiert - // * @param $lehreinheit_id - // * $uid - // * @return true wenn die zuteilung existiert sonst false - // ******************************************************* - function exists($lehreinheit_id, $uid) + /** + * Prueft ob die Kombination Lehreinheit-Mitarbeiter + * bereits existiert + * @param $lehreinheit_id + * @param $uid + * @return true wenn die zuteilung existiert sonst false + */ + public function exists($lehreinheit_id, $uid) { if(!is_numeric($lehreinheit_id)) { @@ -296,29 +276,30 @@ class lehreinheitmitarbeiter return false; } - $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($uid)."'"; - if($result=pg_query($this->conn, $qry)) + $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter + WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($uid)."'"; + if($this->db_query($qry)) { - if(pg_num_rows($result)>0) + if($this->db_num_rows()>0) return true; else return false; } else { - $this->errormsg = 'Fehler beim lesen der Lehreinheitmitarbeiter zuteilung'; + $this->errormsg = 'Fehler beim Lesen der Lehreinheitmitarbeiterzuteilung'; return false; } } - // ******************************************* - // * Loescht die Zuteilung eines Mitarbeiters - // * zu einer Lehreinheit - // * @param $lehreinheit_id - // * $mitarbeiter_uid - // * @return true wenn ok, false im fehlerfall - // ******************************************* - function delete($lehreinheit_id, $mitarbeiter_uid) + /** + * Loescht die Zuteilung eines Mitarbeiters + * zu einer Lehreinheit + * @param $lehreinheit_id + * @param $mitarbeiter_uid + * @return true wenn ok, false im fehlerfall + */ + public function delete($lehreinheit_id, $mitarbeiter_uid) { if(!is_numeric($lehreinheit_id)) { @@ -327,9 +308,9 @@ class lehreinheitmitarbeiter } $qry_del = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'"; $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $undo = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden, '. ' stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon, updateamum, updatevon)'. @@ -348,29 +329,29 @@ class lehreinheitmitarbeiter $this->addslashes($row->updateamum).','. $this->addslashes($row->updatevon).');'; - $log = new log($this->conn, null, null); + $log = new log(); $log->sqlundo = $undo; $log->sql = $qry_del; $log->mitarbeiter_uid = get_uid(); $log->beschreibung = "Lektorzuteilung loeschen $mitarbeiter_uid - $lehreinheit_id"; - pg_query($this->conn, 'BEGIN;'); + $this->db_query('BEGIN;'); if($log->save(true)) { - if(pg_query($this->conn, $qry_del)) + if($this->db_query($qry_del)) { - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); $this->errormsg = 'Fehler beim Loeschen der Zuteilung'; return false; } } else { - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); $this->errormsg = 'UNDO Eintrag konnte nicht erstellt werden'; return false; } @@ -383,7 +364,7 @@ class lehreinheitmitarbeiter } else { - $this->errormsg = 'Fehler beim lesen der Daten'; + $this->errormsg = 'Fehler beim Lesen der Daten'; return false; } } diff --git a/include/lehrfach.class.php b/include/lehrfach.class.php index 04d16b47f..e080f80c3 100644 --- a/include/lehrfach.class.php +++ b/include/lehrfach.class.php @@ -19,103 +19,86 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class lehrfach +class lehrfach extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $lehrfaecher = array(); // lehrfach Objekt + public $new; // boolean + public $lehrfaecher = array(); // lehrfach Objekt //Tabellenspalten - var $lehrfach_id; // integer - var $studiengang_kz; // integer - var $fachbereich_kurzbz;// integer - var $kurzbz; // varchar(12) - var $bezeichnung; // varchar(255) - var $farbe; // char(6) - var $aktiv; // boolean - var $semester; // smallint - var $sprache; // varchar(16) - var $ext_id; + public $lehrfach_id; // integer + public $studiengang_kz; // integer + public $fachbereich_kurzbz; // integer + public $kurzbz; // varchar(12) + public $bezeichnung; // varchar(255) + public $farbe; // char(6) + public $aktiv; // boolean + public $semester; // smallint + public $sprache; // varchar(16) + public $ext_id; - // *********************************************************************** - // * Konstruktor - Uebergibt die Connection und laedt optional ein LF - // * @param $conn Datenbank-Connection - // * $lehrfach_nr Lehrfach das geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // *********************************************************************** - function lehrfach($conn, $lehrfach_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional ein Lehrfach + * @param $lehrfach_nr Lehrfach das geladen werden soll (default=null) + */ + public function __construct($lehrfach_id=null) { - $this->conn = $conn; -/* - 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($lehrfach_id != null) + parent::__construct(); + + if(!is_null($lehrfach_id)) $this->load($lehrfach_id); } - // ********************************************************* - // * Laedt Lehrfach mit der uebergebenen ID - // * @param $lehrfach_nr Nr des LF das geladen werden soll - // ********************************************************* - function load($lehrfach_id) + /** + * Laedt Lehrfach mit der uebergebenen ID + * @param $lehrfach_id ID des LF das geladen werden soll + */ + public function load($lehrfach_id) { - //lehrfach_nr auf Gueltigkeit pruefen - if(is_numeric($lehrfach_id) && $lehrfach_id!='') - { - $qry = "SELECT * FROM lehre.tbl_lehrfach WHERE lehrfach_id='$lehrfach_id'"; - - if(!$result=pg_query($this->conn,$qry)) - { - $this->errormsg = 'Fehler beim lesen des Lehrfaches'; - return false; - } - - if($row = pg_fetch_object($result)) - { - $this->lehrfach_id = $row->lehrfach_id; - $this->studiengang_kz = $row->studiengang_kz; - $this->fachbereich_kurzbz = $row->fachbereich_kurzbz; - $this->kurzbz = $row->kurzbz; - $this->bezeichnung = $row->bezeichnung; - $this->farbe = $row->farbe; - $this->aktiv = ($row->aktiv=='t'?true:false); - $this->semester = $row->semester; - $this->sprache = $row->sprache; - $this->ext_id = $row->ext_id; - } - else - { - $this->errormsg = 'Es ist kein Lehrfach mit der ID '.$lehrfach_id.' vorhanden'; - return false; - } - - return true; - } - else + //lehrfach_id auf Gueltigkeit pruefen + if(!is_numeric($lehrfach_id) && $lehrfach_id!='') { $this->errormsg = 'Die lehrfach_nr muss eine gueltige Zahl sein'; return false; } + + $qry = "SELECT * FROM lehre.tbl_lehrfach WHERE lehrfach_id='$lehrfach_id'"; + + if(!$this->db_query($qry)) + { + $this->errormsg = 'Fehler beim Lesen des Lehrfaches'; + return false; + } + + if($row = $this->db_fetch_object()) + { + $this->lehrfach_id = $row->lehrfach_id; + $this->studiengang_kz = $row->studiengang_kz; + $this->fachbereich_kurzbz = $row->fachbereich_kurzbz; + $this->kurzbz = $row->kurzbz; + $this->bezeichnung = $row->bezeichnung; + $this->farbe = $row->farbe; + $this->aktiv = ($row->aktiv=='t'?true:false); + $this->semester = $row->semester; + $this->sprache = $row->sprache; + $this->ext_id = $row->ext_id; + } + else + { + $this->errormsg = 'Es ist kein Lehrfach mit dieser ID vorhanden'; + return false; + } + + return true; } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(!is_numeric($this->studiengang_kz)) { @@ -160,25 +143,14 @@ class lehrfach 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 das Lehrfach in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - // * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function save() + + /** + * Speichert das Lehrfach in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { //Variablen auf Gueltigkeit pruefen if(!$this->validate()) @@ -222,34 +194,34 @@ class lehrfach " WHERE lehrfach_id='$this->lehrfach_id'"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { if($this->new) { if($this->lehrfach_id=='') { $qry = "SELECT currval('lehre.tbl_lehrfach_lehrfach_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehrfach_id = $row->id; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); } //Log schreiben return true; @@ -263,13 +235,13 @@ class lehrfach /** * Liefert die Tabellenelemente die den Kriterien der Parameter entsprechen - * @param $stg Studiengangs_kz - * $sem Semester - * $order Sortierkriterium - * $fachb fachbereich_kurzbz + * @param $stg Studiengangs_kz + * @param $sem Semester + * @param $order Sortierkriterium + * @param $fachb fachbereich_kurzbz * @return array mit Lehrfaechern oder false=fehler */ - function getTab($stg=null,$sem=null, $order='lehrfach_id', $fachb=null) + public function getTab($stg=null,$sem=null, $order='lehrfach_id', $fachb=null) { if($stg!=null && !is_numeric($stg)) { @@ -287,21 +259,21 @@ class lehrfach $sql_query .= " WHERE true"; if($stg!=null) - $sql_query .= " AND studiengang_kz='$stg'"; + $sql_query .= " AND studiengang_kz='".addslashes($stg)."'"; if($sem!=null) - $sql_query .= " AND semester='$sem'"; + $sql_query .= " AND semester='".addslashes($sem)."'"; if($fachb!=null) $sql_query .= " AND fachbereich_kurzbz='".addslashes($fachb)."'"; $sql_query .= " ORDER BY $order"; - if($result=pg_query($this->conn,$sql_query)) + if($this->db_query($sql_query)) { - while($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $l = new lehrfach($this->conn); + $l = new lehrfach(); $l->lehrfach_id = $row->lehrfach_id; $l->fachbereich_kurzbz = $row->fachbereich_kurzbz; $l->kurzbz = $row->kurzbz; @@ -321,7 +293,7 @@ class lehrfach } else { - $this->errormsg = pg_errormessage($this->conn); + $this->errormsg = $this->db_last_error(); return false; } return true; diff --git a/include/lehrform.class.php b/include/lehrform.class.php index f9244c223..e457e02f3 100644 --- a/include/lehrform.class.php +++ b/include/lehrform.class.php @@ -19,59 +19,45 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class lehrform +class lehrform extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $lehrform = array(); // lehrform Objekt + public $new; // boolean + public $lehrform = array(); // lehrform Objekt //Tabellenspalten - var $lehrform_kurbz; // varchar(8) - var $bezeichnung; // varchar (256) - var $verplanen; // boolean + public $lehrform_kurbz; // varchar(8) + public $bezeichnung; // varchar (256) + public $verplanen; // boolean - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform - // * @param $conn Datenbank-Connection - // * $lehrform_kurbz Lehrform die geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function lehrform($conn, $lehrform_kurzbz=null, $unicode=false) + /** + * Konstruktor - Laedt optional eine Lehrform + * @param $lehrform_kurbz Lehrform die geladen werden soll (default=null) + */ + public function __construct($lehrform_kurzbz=null) { - $this->conn = $conn; -/* - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + parent::__construct(); - if(!pg_query($conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } -*/ - if($lehrform_kurzbz != null) + if(!is_null($lehrform_kurzbz)) $this->load($lehrform_kurzbz); } - // ********************************************************* - // * Laedt Lehrform mit der uebergebenen ID - // * @param $lehrform_kurzbz Lehrform die geladen werden soll - // ********************************************************* - function load($lehrform_kurzbz) + /** + * Laedt Lehrform mit der uebergebenen ID + * @param $lehrform_kurzbz Lehrform die geladen werden soll + */ + public function load($lehrform_kurzbz) { $qry = "SELECT * FROM lehre.tbl_lehrform WHERE lehrform_kurzbz='".addslashes($lehrform_kurzbz)."'"; - if(!$result=pg_query($this->conn,$qry)) + + if(!$this->db_query($qry)) { - $this->errormsg = 'Fehler beim lesen der Lehrform'; + $this->errormsg = 'Fehler beim Lesen der Lehrform'; return false; } - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehrform_kurzbz = $row->lehrform_kurzbz; $this->bezeichnung = $row->bezeichnung; @@ -87,21 +73,23 @@ class lehrform } - // *************************** - // * Liefert alle Lehrformen - // *************************** - function getAll() + /** + * Liefert alle Lehrformen + * @return boolean + */ + public function getAll() { $qry = "SELECT * FROM lehre.tbl_lehrform ORDER BY lehrform_kurzbz"; - if(!$result=pg_query($this->conn,$qry)) + + if(!$this->db_query($qry)) { - $this->errormsg = 'Fehler beim lesen der Lehrform'; + $this->errormsg = 'Fehler beim Lesen der Lehrform'; return false; } - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $lf = new lehrform($this->conn); + $lf = new lehrform(); $lf->lehrform_kurzbz = $row->lehrform_kurzbz; $lf->bezeichnung = $row->bezeichnung; @@ -113,12 +101,12 @@ class lehrform return true; } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + public function validate() { if(strlen($this->lehrform_kurbz)>8) { @@ -139,24 +127,13 @@ class lehrform 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 die Lehrform in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - // * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function save() + /** + * Speichert die Lehrform in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { //Variablen auf Gueltigkeit pruefen if(!$this->validate()) @@ -177,7 +154,7 @@ class lehrform " WHERE lehrform_kurzbz='$this->lehrform_kurzbz'"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; diff --git a/include/lehrfunktion.class.php b/include/lehrfunktion.class.php index 0a183edd0..3389c2501 100644 --- a/include/lehrfunktion.class.php +++ b/include/lehrfunktion.class.php @@ -19,38 +19,27 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ -class lehrfunktion +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class lehrfunktion extends basis_db { - var $conn; // @var resource DB-Connection - var $new; // @var boolean - var $errormsg; // @var string - var $lehrfunktionen = array(); // @var lehrfunktion Objekt + public $new; // @var boolean + public $lehrfunktionen = array(); // @var lehrfunktion Objekt - var $lehrfunktion_kurzbz; // @var varchar(16) - var $beschreibung; // @var varchar(256) - var $standardfaktor; // @var numeric(3,2) + public $lehrfunktion_kurzbz; // @var varchar(16) + public $beschreibung; // @var varchar(256) + public $standardfaktor; // @var numeric(3,2) - // ** - // * Konstruktor - // * @param conn Connection zur DB - // * lehrfunktion_kurzbz kurzbezeichnung der zu ladenden Funktion - // * - function lehrfunktion($conn, $lehrfunktion_kurzbz=null, $unicode=false) + /** + * Konstruktor + * @param conn Connection zur DB + * lehrfunktion_kurzbz kurzbezeichnung der zu ladenden Funktion + */ + public function __construct($lehrfunktion_kurzbz=null) { - $this->conn = $conn; -/* - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + parent::__construct(); - if(!pg_query($conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } -*/ - if($lehrfunktion_kurzbz!=null) + if(!is_null($lehrfunktion_kurzbz)) $this->load($lehrfunktion_kurzbz); } @@ -59,17 +48,17 @@ class lehrfunktion * @param lehrfunktion_kurzbz ID des Datensatzes der zu laden ist * @return true wenn ok, false im Fehlerfall */ - function load($lehrfunktion_kurzbz) + public function load($lehrfunktion_kurzbz) { $qry = "SELECT * FROM lehre.tbl_lehrfunktion WHERE lehrfunktion_kurzbz = '".addslashes($lehrfunktion_kurzbz)."';"; - if(!$result = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { - $this->errormsg = 'Fehler beim laden des Datensatzes'; + $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz; $this->beschreibung = $row->beschreibung; @@ -87,19 +76,19 @@ class lehrfunktion * Laedt alle Lehrfunktionen * @return true wenn ok, false im Fehlerfall */ - function getAll() + public function getAll() { $qry = "SELECT * FROM lehre.tbl_lehrfunktion ORDER BY lehrfunktion_kurzbz;"; - if(!$result = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { - $this->errormsg = 'Fehler beim laden der Datensaetze'; + $this->errormsg = 'Fehler beim Laden der Datensaetze'; return false; } - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $lehrfkt_obj = new lehrfunktion($this->conn); + $lehrfkt_obj = new lehrfunktion(); $lehrfkt_obj->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz; $lehrfkt_obj->beschreibung = $row->beschreibung; @@ -109,26 +98,5 @@ class lehrfunktion } return true; } - - /** - * Speichert den aktuellen Datensatz in die Datenbank - * @return true wenn ok, false im Fehlerfall - */ - function save() - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - - /** - * Loescht den Datensatz mit der ID die uebergeben wird - * @param lehrfunktion_kurzbz ID des zu loeschenden Datensatzes - * @return true wenn ok, false im Fehlerfall - */ - function delete($lehrfunktion_kurzbz) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } } ?> \ No newline at end of file diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php index d39989f90..9f314266d 100644 --- a/include/lehrstunde.class.php +++ b/include/lehrstunde.class.php @@ -1,12 +1,24 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . + */ /**************************************************************************** * @class Lehrstunde * @author Christian Paminger @@ -14,66 +26,60 @@ * @version $Revision: 1.2 $ * Update: 21.10.2004 von Christian Paminger * @brief Beschreibung einer Unterrichts-Stunde der Tabelle tbl_stundenplan - * Abhaengig: von ? - *****************************************************************************/ + *****************************************************************************/ +require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/studiensemester.class.php'); -// include_once('mitarbeiter.class.php'); -require_once('studiensemester.class.php'); - - -class lehrstunde +class lehrstunde extends basis_db { - var $conn; // @brief Connection zur Datenbank + public $stundenplan_id; // @brief id in der Datenbank + public $lehreinheit_id; // @brief id der Lehreinheit in der DB + public $unr; // @brief Unterrichtsnummer + public $lektor_uid; // @brief UID des Lektors + public $lektor_kurzbz; // @brief Kurzbezeichnung des Lektors + public $datum; // @brief Datum + public $stunde; // @brief Unterrichts-Stunde des Tages + public $ort_kurzbz; // @brief Ort in dem der Unterricht stattfindet + public $lehrfach_id; // @brief Nummer des Lehrfachs + public $lehrfach; // @brief Name des Lehrfachs + public $lehrfach_bez; // @brief Voller Name des Lehrfachs + public $lehrform; // @brief Lehrform des Lehrfachs (Vorlesung, ...) + public $studiengang_kz; // @brief Kennzahl des Studiengangs + public $studiengang; // @brief Kurzbezeichnung des Studiengangs + public $sem; // @brief Semester + public $ver; // @brief Verband + public $grp; // @brief Gruppe + public $gruppe_kurzbz; // @brief Kurzbezeichnung der Gruppe + public $titel; // @brief Titel der Unterrichtsstunde + public $anmerkung; // @brief Anmerkungen zur Unterrichtsstunde + public $fix; // @brief true wenn diese Stunde nicht mehr verschoben wird + public $updateamum; // @brief letztes Update + public $updatevon; // @brief Update von wem? + public $new; // @brief true wenns ein neuer Datensatz ist + public $reservierung; // @brief true wenns eine Reservierung ist - var $stundenplan_id;// @brief id in der Datenbank - var $lehreinheit_id;// @brief id der Lehreinheit in der DB - var $unr; // @brief Unterrichtsnummer - var $lektor_uid; // @brief UID des Lektors - var $lektor_kurzbz; // @brief Kurzbezeichnung des Lektors - var $datum; // @brief Datum - var $stunde; // @brief Unterrichts-Stunde des Tages - var $ort_kurzbz; // @brief Ort in dem der Unterricht stattfindet - var $lehrfach_id; // @brief Nummer des Lehrfachs - var $lehrfach; // @brief Name des Lehrfachs - var $lehrfach_bez; // @brief Voller Name des Lehrfachs - var $lehrform; // @brief Lehrform des Lehrfachs (Vorlesung, ...) - var $studiengang_kz;// @brief Kennzahl des Studiengangs - var $studiengang; // @brief Kurzbezeichnung des Studiengangs - var $sem; // @brief Semester - var $ver; // @brief Verband - var $grp; // @brief Gruppe - var $gruppe_kurzbz; // @brief Kurzbezeichnung der Gruppe - var $titel; // @brief Titel der Unterrichtsstunde - var $anmerkung; // @brief Anmerkungen zur Unterrichtsstunde - var $fix; // @brief true wenn diese Stunde nicht mehr verschoben wird - var $updateamum; // @brief letztes Update - var $updatevon; // @brief Update von wem? - var $errormsg; // @brief String fuer die Fehlermeldung - var $new; // @brief true wenns ein neuer Datensatz ist - var $reservierung; // @brief true wenns eine Reservierung ist - - var $lehrstunden=array(); // @brief Objekt der eigenen Klasse - var $anzahl; // @brief Gesamte Anzahl der Stunden im Array - var $ss=null; // @brief Studiensemester + public $lehrstunden=array(); // @brief Objekt der eigenen Klasse + public $anzahl; // @brief Gesamte Anzahl der Stunden im Array + public $ss=null; // @brief Studiensemester - /** Konstruktor - * + /** + * Konstruktor * */ - function lehrstunde($conn) + public function __construct() { - // Startvariablen setzen - $this->conn=$conn; + parent::__construct(); + $this->new=TRUE; } - /** - * Einen Datensatz laden - * + * Einen Datensatz laden + * @param stundenplan_id + * @param stpl_table */ - function load($stundenplan_id,$stpl_table='stundenplandev') + public function load($stundenplan_id,$stpl_table='stundenplandev') { /////////////////////////////////////////////////////////////////////// // Parameter Checken @@ -83,17 +89,16 @@ class lehrstunde $stpl_table='lehre.'.TABLE_BEGIN.$stpl_table; $sql_query="SELECT * FROM $stpl_view WHERE $stpl_id=$stundenplan_id;"; - //echo $sql_query.'
'; - - + //Datenbankabfrage - if (! $stpl_tbl=pg_query($this->conn, $sql_query)) + if (!$this->db_query($sql_query)) { - $this->errormsg=$sql_query.pg_last_error($this->conn); - //echo $this->errormsg; + $this->errormsg=$sql_query.$this->db_last_error(); return false; } - $this->anzahl=pg_numrows($stpl_tbl); + + $this->anzahl = $this->db_num_rows(); + //Daten uebernehmen if ($this->anzahl!=1) { @@ -102,7 +107,7 @@ class lehrstunde } else { - $row=pg_fetch_object ($stpl_tbl); + $row=$this->db_fetch_object(); $this->stundenplan_id=$row->{$stpl_id}; $this->unr=$row->unr; $this->lektor_uid=$row->uid; @@ -133,7 +138,7 @@ class lehrstunde * Datensatz in DB speichern * */ - function save($uid, $stpl_table='stundenplandev') + public function save($uid, $stpl_table='stundenplandev') { // Parameter Checken // Bezeichnung der Stundenplan-Tabelle und des Keys @@ -154,13 +159,11 @@ class lehrstunde //echo $sql_query."
"; //Datenbankabfrage - if (! pg_query($this->conn, $sql_query)) + if (!$this->db_query($sql_query)) { - $this->errormsg=$sql_query.pg_last_error($this->conn); - //echo $this->errormsg; + $this->errormsg=$sql_query.$this->db_last_error(); return false; } - //$this->errormsg.=$sql_query; } return true; @@ -172,7 +175,7 @@ class lehrstunde * @param stpl_table Name der Tabelle * */ - function delete($id, $stpl_table='stundenplandev') + public function delete($id, $stpl_table='stundenplandev') { // Parameter Checken // Bezeichnung der Stundenplan-Tabelle und des Keys @@ -181,13 +184,11 @@ class lehrstunde // Delete SQL vorbereiten $sql_query='DELETE FROM '.$stpl_table; $sql_query.=" WHERE $stpl_id=$id"; - //echo $sql_query."
"; - + //Datenbankrequest - if (! pg_query($this->conn, $sql_query)) + if (!$this->db_query($sql_query)) { - $this->errormsg=$sql_query.pg_last_error($this->conn); - //echo $this->errormsg; + $this->errormsg=$sql_query.$this->db_last_error(); return false; } else @@ -195,6 +196,8 @@ class lehrstunde } /** + * Laedt Lehrstunden + * * @param type (student, lektor, lehrverband, gruppe, ort, ....) * @param datum_von (inklusive) Startdatum der Abfrage * @param datum_bis (exklusive) Enddatum der Abfrage @@ -207,14 +210,13 @@ class lehrstunde * @param gruppe_kurzbz * */ - function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null) + public function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null) { /////////////////////////////////////////////////////////////////////// // Parameter Checken // Bezeichnung der Stundenplan-Tabelle und des Keys $stpl_id=$stpl_view.TABLE_ID; $stpl_view='lehre.'.VIEW_BEGIN.$stpl_view; - $num_rows_einheit=0; // Datum im Format YYYY-MM-TT ? if (!ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$datum_von) ) @@ -269,16 +271,16 @@ class lehrstunde if ($type=='student') { // Lehrverband ermitteln - $sql_query="SELECT studiengang_kz, semester, verband, gruppe FROM public.tbl_student WHERE student_uid='$uid'"; - //echo $sql_query; - if (! $result=pg_query($this->conn, $sql_query) ) + $sql_query="SELECT studiengang_kz, semester, verband, gruppe FROM public.tbl_student WHERE student_uid='".addslashes($uid)."'"; + + if (!$this->db_query($sql_query) ) { - $this->errormsg=pg_last_error($this->conn); + $this->errormsg=$this->db_last_error(); return -2; } - $num_rows=pg_num_rows($result); + $num_rows=$this->db_num_rows(); if ($num_rows>0) - $row=pg_fetch_object($result); + $row=$this->db_fetch_object(); else { $this->errormsg='Fehler: Student ('.$uid.') wurde nicht gefunden!'; @@ -292,15 +294,17 @@ class lehrstunde // Gruppen ermitteln if (is_null($this->ss)) $this->ss=studiensemester::getNearest(); - $sql_query="SELECT gruppe_kurzbz FROM public.tbl_benutzergruppe WHERE uid='$uid' AND (studiensemester_kurzbz='$this->ss' OR studiensemester_kurzbz IS NULL)"; - //echo $sql_query; - if (! $result_einheit=pg_query($this->conn, $sql_query) ) + $sql_query="SELECT gruppe_kurzbz FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND (studiensemester_kurzbz='".addslashes($this->ss)."' OR studiensemester_kurzbz IS NULL)"; + + if (!$this->db_query($sql_query)) { $this->errormsg=pg_last_error($this->conn); return false; } else - $num_rows_einheit=pg_num_rows($result_einheit); + { + $result_einheit = $this->db_result; + } } /////////////////////////////////////////////////////////////////////// @@ -333,16 +337,15 @@ class lehrstunde if ($type=='student') $sql_query.=' AND gruppe_kurzbz IS NULL'; $sql_query.=' )'; - for ($i=0;$i<$num_rows_einheit;$i++) + + while($row=$this->db_fetch_object($result_einheit)) { - $row=pg_fetch_object($result_einheit,$i); $sql_query.=" OR gruppe_kurzbz='$row->gruppe_kurzbz'"; } $sql_query.=')'; } $sql_query.=' ORDER BY datum, stunde, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, uid'; $sql_query_stdplan.=$sql_query; - //echo ''; } else { @@ -354,19 +357,20 @@ class lehrstunde } //echo $sql_query_stdplan; //Datenbankabfrage - if (! $stpl_tbl=pg_query($this->conn, $sql_query_stdplan)) + if (!$this->db_query($sql_query_stdplan)) { - $this->errormsg=pg_last_error($this->conn); - //echo $this->errormsg; + $this->errormsg = $this->db_last_error(); return -2; } - $num_rows=pg_numrows($stpl_tbl); + $stpl_tbl = $this->db_result; + $num_rows = $this->db_num_rows($stpl_tbl); $this->anzahl=$num_rows; //Daten uebernehmen for ($i=0;$i<$num_rows;$i++) { - $row=pg_fetch_object ($stpl_tbl, $i); - $stunde=new lehrstunde($this->conn); + $row=$this->db_fetch_object($stpl_tbl, $i); + + $stunde=new lehrstunde(); $stunde->stundenplan_id=$row->{$stpl_id}; $stunde->lehreinheit_id=$row->lehreinheit_id; $stunde->unr=$row->unr; @@ -406,18 +410,20 @@ class lehrstunde $sql_query_reservierung.=$sql_query; //echo $sql_query_reservierung; //Datenbankabfrage - if (! $stpl_tbl=pg_query($this->conn, $sql_query_reservierung)) + if (!$this->db_query($sql_query_reservierung)) { - $this->errormsg=pg_last_error($this->conn); + $this->errormsg = $this->db_last_error(); return -2; } - $num_rows=pg_numrows($stpl_tbl); + $stpl_tbl = $this->db_result; + $num_rows=$this->db_num_rows($stpl_tbl); $this->anzahl+=$num_rows; //Daten uebernehmen for ($i=0;$i<$num_rows;$i++) { - $row=pg_fetch_object ($stpl_tbl, $i); + $row = $this->db_fetch_object($stpl_tbl, $i); + $stunde=new lehrstunde($this->conn); $stunde->reservierung=true; $stunde->stundenplan_id=$row->reservierung_id; @@ -440,10 +446,8 @@ class lehrstunde $stunde->anmerkung=$row->beschreibung; $stunde->farbe=''; $this->lehrstunden[]=$stunde; - //var_dump($stunde); } } - //echo $this->anzahl; return $this->anzahl; } @@ -452,7 +456,7 @@ class lehrstunde * @param uid (mitarbeiter) * */ - function load_lehrstunden_le($lehreinheit_id, $uid=null, $stpl_table='stundenplandev') + public function load_lehrstunden_le($lehreinheit_id, $uid=null, $stpl_table='stundenplandev') { /////////////////////////////////////////////////////////////////////// // Parameter Checken @@ -463,24 +467,24 @@ class lehrstunde /////////////////////////////////////////////////////////////////////// // Stundenplandaten ermitteln // Abfrage generieren - $sql="SELECT * FROM ".$stpl_table." WHERE lehreinheit_id=$lehreinheit_id"; + $sql="SELECT * FROM ".$stpl_table." WHERE lehreinheit_id='".addslashes($lehreinheit_id)."'"; if ($uid!=null && !is_null($uid)) - $sql.=" AND mitarbeiter_uid='$uid'"; - //echo $sql; + $sql.=" AND mitarbeiter_uid='".addslashes($uid)."'"; + //Datenbankabfrage - if (!$result=pg_query($this->conn, $sql)) + if (!$this->db_query($sql)) { - $this->errormsg=pg_last_error($this->conn); - //echo $this->errormsg; + $this->errormsg=$this->db_last_error(); return -1; } - $num_rows=pg_numrows($result); + $num_rows=$this->db_num_rows(); $this->anzahl=$num_rows; //Daten uebernehmen for ($i=0;$i<$num_rows;$i++) { - $row=pg_fetch_object ($result, $i); - $stunde=new lehrstunde($this->conn); + $row=$this->db_fetch_object(null, $i); + + $stunde=new lehrstunde(); $stunde->stundenplan_id=$row->{$stpl_id}; $stunde->lehreinheit_id=$row->lehreinheit_id; $stunde->unr=$row->unr; @@ -507,7 +511,7 @@ class lehrstunde } - /************************************************************************* + /** * Prueft die geladene Lehrveranstaltung auf Kollisionen im Stundenplan. * Rueckgabewert 'false' und die Fehlermeldung steht in '$this->errormsg'. * @param string datum gewuenschtes Datum YYYY-MM-TT @@ -515,8 +519,8 @@ class lehrstunde * @param string ort gewuenschter Ort * @param string db_stpl_table Tabllenname des Stundenplans im DBMS * @return boolean true=ok, false=fehler - *************************************************************************/ - function kollision($stpl_table='stundenplandev') + */ + public function kollision($stpl_table='stundenplandev') { $ignore_reservation=false; // Parameter Checken @@ -537,14 +541,14 @@ class lehrstunde if ($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ') $sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz')"; $sql_query.=")) AND unr!=$this->unr"; - - //(echo $sql_query.'
'; - if (! $erg_stpl=pg_query($this->conn, $sql_query)) + + if (!$this->db_query($sql_query)) { - $this->errormsg=$sql_query.pg_last_error($this->conn); + $this->errormsg=$sql_query.$this->db_last_error(); return true; } - $anz=pg_numrows($erg_stpl); + $erg_stpl = $this->db_result; + $anz=$this->db_num_rows($erg_stpl); //Check if ($anz==0) { @@ -558,16 +562,17 @@ class lehrstunde AND (vondatum<'$this->datum' OR (vondatum='$this->datum' AND (vonstunde<=$this->stunde OR vonstunde IS NULL))) AND (bisdatum>'$this->datum' OR (bisdatum='$this->datum' AND (bisstunde>=$this->stunde OR bisstunde IS NULL)));"; //echo $sql_query.'
'; - if (! $erg_zs=pg_query($this->conn, $sql_query)) + if (!$this->db_query($sql_query)) { - $this->errormsg=$sql_query.pg_last_error($this->conn); + $this->errormsg=$sql_query.$this->db_last_error(); return true; } - $anz_zs=pg_numrows($erg_zs); + $erg_zs = $this->db_result; + $anz_zs=$this->db_num_rows($erg_zs); //Check if ($anz_zs!=0) { - $row=pg_fetch_object($erg_zs); + $row = $this->db_fetch_object($erg_zs); $this->errormsg="Kollision (Zeitsperre): $row->zeitsperre_id|$row->lektor|$row->zeitsperretyp_kurzbz - $row->vondatum/$row->vonstunde|$row->bisdatum/$row->bisstunde"; return true; } @@ -590,12 +595,13 @@ class lehrstunde $sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz')"; $sql_query.="))"; //echo $sql_query.'
'; - if (! $erg_res=pg_query($this->conn, $sql_query)) + if (!$this->db_query($sql_query)) { - $this->errormsg=$sql_query.pg_last_error($this->conn); + $this->errormsg=$sql_query.$this->db_last_error(); return true; } - $anz_res=pg_numrows($erg_res); + $erg_res = $this->db_result; + $anz_res = $this->db_num_rows($erg_res); //Check if ($anz_res==0) { @@ -603,7 +609,7 @@ class lehrstunde } else { - $row=pg_fetch_object($erg_res); + $row = $this->db_fetch_object($erg_res); $this->errormsg="Kollision (Reservierung): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde"; return true; } @@ -612,7 +618,7 @@ class lehrstunde } else { - $row=pg_fetch_object($erg_stpl); + $row = $this->db_fetch_object($erg_stpl); $this->errormsg="Kollision ($stpl_table): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde"; //\n".$sql_query return true; } diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 5fdcf05cb..ab25a90a7 100644 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -19,67 +19,54 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ -class lehrveranstaltung +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class lehrveranstaltung extends basis_db { - var $conn; // @var resource DB-Handle - var $errormsg; // @var string - var $new; // @var boolean - var $lehrveranstaltungen = array(); // @var lehrveranstaltung Objekt + public $conn; // resource DB-Handle + public $errormsg; // string + public $new; // boolean + public $lehrveranstaltungen = array(); // lehrveranstaltung Objekt - var $lehrveranstaltung_id; // @var serial - var $studiengang_kz; //@var integer - var $bezeichnung; //@var string - var $kurzbz; //@var string - var $lehrform_kurzbz; //@var string - var $semester; //@var smallint - var $ects; //@var numeric(5,2) - var $semesterstunden; //@var smallint + public $lehrveranstaltung_id; // serial + public $studiengang_kz; // integer + public $bezeichnung; // string + public $kurzbz; // string + public $lehrform_kurzbz; // string + public $semester; // smallint + public $ects; // numeric(5,2) + public $semesterstunden; // smallint - var $anmerkung; //@var string - var $lehre=true; //@var boolean - var $lehreverzeichnis; //@var string - var $aktiv=true; //@var boolean - var $ext_id; //@var bigint - var $insertamum; //@var timestamp - var $insertvon; //@var string - var $planfaktor; //@var numeric(3,2) - var $planlektoren; //@var integer - var $planpersonalkosten; //@var numeric(7,2) - var $plankostenprolektor; //@var numeric(6,2) - var $updateamum; //@var timestamp - var $updatevon; //@var string - var $sprache='German'; //@var varchar(16) - var $sort; //@var smallint - var $zeugnis=true; //@var boolean - var $projektarbeit; //@var boolean - var $koordinator; //@var varchar(16) - var $bezeichnung_english; //@var varchar(256) - var $orgform_kurzbz; + public $anmerkung; // string + public $lehre=true; // boolean + public $lehreverzeichnis; // string + public $aktiv=true; // boolean + public $ext_id; // bigint + public $insertamum; // timestamp + public $insertvon; // string + public $planfaktor; // numeric(3,2) + public $planlektoren; // integer + public $planpersonalkosten; // numeric(7,2) + public $plankostenprolektor; // numeric(6,2) + public $updateamum; // timestamp + public $updatevon; // string + public $sprache='German'; // varchar(16) + public $sort; // smallint + public $zeugnis=true; // boolean + public $projektarbeit; // boolean + public $koordinator; // varchar(16) + public $bezeichnung_english; // varchar(256) + public $orgform_kurzbz; /** * Konstruktor - * @param $conn Connection zur Datenbank - * $lehrveranstaltung_id ID der zu ladenden Lehrveranstaltung + * @param $lehrveranstaltung_id ID der zu ladenden Lehrveranstaltung */ - function lehrveranstaltung($conn, $lehrveranstaltung_id=null, $unicode=false) + public function __construct($lehrveranstaltung_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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($lehrveranstaltung_id != null) + parent::__construct(); + + if(!is_null($lehrveranstaltung_id)) $this->load($lehrveranstaltung_id); } @@ -88,7 +75,7 @@ class lehrveranstaltung * @param $lehrveranstaltung_id ID des zu ladenden Datensatzes * @return true wenn ok, false im Fehlerfall */ - function load($lehrveranstaltung_id) + public function load($lehrveranstaltung_id) { if(!is_numeric($lehrveranstaltung_id)) { @@ -97,13 +84,13 @@ class lehrveranstaltung } $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id='$lehrveranstaltung_id';"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - if($row = pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->lehrveranstaltung_id=$row->lehrveranstaltung_id; $this->studiengang_kz=$row->studiengang_kz; @@ -142,19 +129,19 @@ class lehrveranstaltung * Liefert alle Lehrveranstaltungen * @return true wenn ok, false im Fehlerfall */ - function getAll() + public function getAll() { $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung;"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $lv_obj = new lehrveranstaltung($this->conn, null, null); + $lv_obj = new lehrveranstaltung(); $lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; $lv_obj->studiengang_kz=$row->studiengang_kz; @@ -194,10 +181,10 @@ class lehrveranstaltung /** * Liefert alle Lehrveranstaltungen zu einem Studiengang/Semester * @param $studiengang_kz - * $semester + * @param $semester * @return true wenn ok, false im Fehlerfall */ - function load_lva($studiengang_kz, $semester=null, $lehreverzeichnis=null, $lehre=null, $aktiv=null, $sort=null) + public function load_lva($studiengang_kz, $semester=null, $lehreverzeichnis=null, $lehre=null, $aktiv=null, $sort=null) { //Variablen pruefen @@ -238,15 +225,15 @@ class lehrveranstaltung $qry .= " ORDER BY semester, bezeichnung"; //Datensaetze laden - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $lv_obj = new lehrveranstaltung($this->conn, null, null); + $lv_obj = new lehrveranstaltung(); $lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; $lv_obj->studiengang_kz=$row->studiengang_kz; @@ -288,7 +275,7 @@ class lehrveranstaltung * @param $student_uid * @return true wenn ok, false im Fehlerfall */ - function load_lva_student($student_uid) + public function load_lva_student($student_uid) { $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM campus.vw_student_lehrveranstaltung @@ -296,14 +283,14 @@ class lehrveranstaltung ORDER BY semester, bezeichnung"; //Datensaetze laden - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $lv_obj = new lehrveranstaltung($this->conn, null, null); + $lv_obj = new lehrveranstaltung(); $lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; $lv_obj->studiengang_kz=$row->studiengang_kz; @@ -340,72 +327,66 @@ class lehrveranstaltung return true; } - - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + public function validates() { //Laenge Pruefen if(strlen($this->bezeichnung)>128) { - $this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei $this->ext_id - $this->bezeichnung"; + $this->errormsg = 'Bezeichnung darf nicht laenger als 128 Zeichen sein'; return false; } if(strlen($this->kurzbz)>16) { - $this->errormsg = "Kurzbez darf nicht laenger als 16 Zeichen sein bei $this->ext_id - $this->kurzbz"; + $this->errormsg = 'Kurzbez darf nicht laenger als 16 Zeichen sein'; return false; } if(strlen($this->anmerkung)>64) { - $this->errormsg = "Anmerkung darf nicht laenger als 64 Zeichen sein bei $this->ext_id - $this->anmerkung"; + $this->errormsg = 'Anmerkung darf nicht laenger als 64 Zeichen sein'; return false; } if(strlen($this->lehreverzeichnis)>16) { - $this->errormsg = "Lehreverzeichnis darf nicht laenger als 16 Zeichen sein bei $this->ext_id - $this->lehreverzeichnis"; + $this->errormsg = 'Lehreverzeichnis darf nicht laenger als 16 Zeichen sein'; return false; } if(!is_numeric($this->studiengang_kz)) { - $this->errormsg = "Studiengang_kz ist ungueltig bei $this->ext_id - $this->studiengang_kz"; + $this->errormsg = 'Studiengang_kz ist ungueltig'; return false; } if($this->semester!='' && !is_numeric($this->semester)) { - $this->errormsg = "Semester ist ungueltig bei $this->ext_id - $this->semester"; + $this->errormsg = 'Semester ist ungueltig'; return false; } if($this->planfaktor!='' && !is_numeric($this->planfaktor)) { - $this->errormsg = "Planfaktor ist ungueltig bei $this->ext_id - $this->planfaktor"; + $this->errormsg = 'Planfaktor ist ungueltig'; return false; } if($this->semesterstunden!='' && !is_numeric($this->semesterstunden)) { - $this->errormsg = "Semesterstunden ist ungueltig bei $this->ext_id - $this->semesterstunden"; + $this->errormsg = 'Semesterstunden ist ungueltig'; return false; } if($this->planlektoren!='' && !is_numeric($this->planlektoren)) { - $this->errormsg = "Planlektoren ist ungueltig bei $this->ext_id - $this->planlektoren"; + $this->errormsg = 'Planlektoren ist ungueltig'; return false; } if($this->ects!='' && !is_numeric($this->ects)) { - $this->errormsg = "ECTS sind ungueltig bei $this->ext_id - $this->ects"; + $this->errormsg = 'ECTS sind ungueltig'; return false; } if($this->ects>40) { - $this->errormsg = "ECTS größer als 40 bei $this->ext_id - $this->ects"; + $this->errormsg = 'ECTS darf nicht groesser als 40 sein'; return false; } $this->errormsg = ''; @@ -416,13 +397,13 @@ class lehrveranstaltung * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - function save($new=null) + public function save($new=null) { if($new==null) $new = $this->new; //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($new) @@ -509,30 +490,30 @@ class lehrveranstaltung 'WHERE lehrveranstaltung_id = '.$this->addslashes($this->lehrveranstaltung_id).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('lehre.tbl_lehrveranstaltung_lehrveranstaltung_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehrveranstaltung_id = $row->id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -540,29 +521,19 @@ class lehrveranstaltung } else { - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } } - + /** - * Loescht einen Datensatz - * @param $lehrveranstaltung_id ID des zu loeeschenden Datensatzes - * @return true wenn ok, false im Fehlerfall + * Laedt die Lehrveranstaltung zu der ein Mitarbeiter + * in einem Studiensemester zugeordnet ist + * @param studiengang_kz, uid, studiensemester_kurzbz + * @return true wenn ok, false wenn Fehler */ - function delete($lehrveranstaltung_id) - { - return false; - } - - // **************************************************** - // * Laedt die Lehrveranstaltung zu der ein Mitarbeiter - // * in einem Studiensemester zugeordnet ist - // * @param studiengang_kz, uid, studiensemester_kurzbz - // * @return true wenn ok, false wenn Fehler - // **************************************************** - function loadLVAfromMitarbeiter($studiengang_kz, $uid, $studiensemester_kurzbz) + public function loadLVAfromMitarbeiter($studiengang_kz, $uid, $studiensemester_kurzbz) { if(!is_numeric($studiengang_kz)) { @@ -578,11 +549,11 @@ class lehrveranstaltung tbl_lehreinheitmitarbeiter.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($studiensemester_kurzbz)."' AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".addslashes($uid)."';"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $lv_obj = new lehrveranstaltung($this->conn, null, null); + $lv_obj = new lehrveranstaltung(); $lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; $lv_obj->studiengang_kz=$row->studiengang_kz; @@ -623,6 +594,7 @@ class lehrveranstaltung return false; } } + /** * Liefert die Tabellenelemente die den Kriterien der Parameter entsprechen * @param $stg Studiengangs_kz @@ -630,7 +602,7 @@ class lehrveranstaltung * $order Sortierkriterium * @return array mit Lehrferanstaltungen oder false=fehler */ - function getTab($stg=null,$sem=null, $order='lehrveranstaltung_id') + public function getTab($stg=null,$sem=null, $order='lehrveranstaltung_id') { if($stg!=null && !is_numeric($stg)) { @@ -655,11 +627,12 @@ class lehrveranstaltung $sql_query .= " ORDER BY $order"; - if($result=pg_query($this->conn,$sql_query)) + if($this->db_query($sql_query)) { - while($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $l = new lehrveranstaltung($this->conn, null, null); + $l = new lehrveranstaltung(); + $l->lehrveranstaltung_id = $row->lehrveranstaltung_id; $l->kurzbz = $row->kurzbz; $l->bezeichnung = $row->bezeichnung; @@ -692,7 +665,7 @@ class lehrveranstaltung } else { - $this->errormsg = pg_errormessage($this->conn); + $this->errormsg = $this->db_last_error(); return false; } return true; diff --git a/include/lehrverband.class.php b/include/lehrverband.class.php index 6cbf0d850..b32afda28 100644 --- a/include/lehrverband.class.php +++ b/include/lehrverband.class.php @@ -19,48 +19,41 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class lehrverband +class lehrverband extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $result = array(); // lehrverband Objekt + public $new; // boolean + public $result = array(); // lehrverband Objekt //Tabellenspalten - var $studiengang_kz; // integer - var $semester; // integer - var $verband; // integer - var $gruppe; // integer - var $aktiv; // boolean - var $bezeichnung; // varchar(16) - var $orgform_kurzbz; + public $studiengang_kz; // integer + public $semester; // integer + public $verband; // integer + public $gruppe; // integer + public $aktiv; // boolean + public $bezeichnung; // varchar(16) + public $orgform_kurzbz; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional einen Lehrverband - // * @param $conn Datenbank-Connection - // * - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function lehrverband($conn, $unicode=false) + /** + * Konstruktor + * + */ + public function __construct() { - $this->conn = $conn; -/* - 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; - } -*/ + parent::__construct(); } - function exists($studiengang_kz, $semester, $verband, $gruppe) + /** + * Prueft ob ein Lehrverband existiert + * + * @param $studiengang_kz + * @param $semester + * @param $verband + * @param $gruppe + * @return true wenn vorhanden, sonst false + */ + public function exists($studiengang_kz, $semester, $verband, $gruppe) { $qry = "SELECT count(*) as anzahl FROM public.tbl_lehrverband WHERE studiengang_kz='".addslashes($studiengang_kz)."' AND @@ -68,25 +61,38 @@ class lehrverband trim(verband)='".trim(addslashes($verband))."' AND trim(gruppe)='".trim(addslashes($gruppe))."'"; - if($row=pg_fetch_object(pg_query($this->conn, $qry))) + if($this->db_query($qry)) { - if($row->anzahl>0) + if($row = $this->db_fetch_object()) { - return true; + if($row->anzahl>0) + return true; + else + return false; } else { + $this->errormsg = 'Fehler bei Abfrage: '.$qry; return false; } } - else + else { - $this->errormsg = 'Fehler bei Abfrage: '.$qry; + $this->errormsg = 'Fehler bei einer Abfrage'; return false; } } - function load($studiengang_kz, $semester, $verband, $gruppe) + /** + * Laedt einen Lehrverband + * + * @param $studiengang_kz + * @param $semester + * @param $verband + * @param $gruppe + * @return boolean + */ + public function load($studiengang_kz, $semester, $verband, $gruppe) { $qry = "SELECT * FROM public.tbl_lehrverband WHERE studiengang_kz='".addslashes($studiengang_kz)."' @@ -94,9 +100,9 @@ class lehrverband AND verband='".addslashes($verband)."' AND gruppe='".addslashes($gruppe)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->studiengang_kz = $row->studiengang_kz; $this->semester = $row->semester; @@ -115,17 +121,17 @@ class lehrverband } else { - $this->errormsg = 'Fehler beim lesen der Daten'; + $this->errormsg = 'Fehler beim Lesen der Daten'; return false; } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(!is_numeric($this->semester)) { @@ -148,7 +154,15 @@ class lehrverband return true; } - function getlehrverband($studiengang_kz=null, $semester=null, $verband=null) + /** + * Liefert alle Lehrverbaende unterhalb des uebergebenen + * + * @param $studiengang_kz + * @param $semester + * @param $verband + * @return boolean + */ + public function getlehrverband($studiengang_kz=null, $semester=null, $verband=null) { $qry = 'SELECT * FROM public.tbl_lehrverband WHERE aktiv=true'; if(!is_null($studiengang_kz)) @@ -159,11 +173,11 @@ class lehrverband $qry .=' AND verband='.$this->addslashes($verband); $qry .= ' ORDER BY studiengang_kz, semester, verband, gruppe'; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $lv_obj = new lehrverband($this->conn); + $lv_obj = new lehrverband(); $lv_obj->studiengang_kz = $row->studiengang_kz; $lv_obj->semester = $row->semester; @@ -179,29 +193,18 @@ class lehrverband } else { - $this->errormsg = 'Fehler beim lesen der Lehrverbaende '.$qry; + $this->errormsg = 'Fehler beim Lesen der Lehrverbaende '.$qry; return false; } } - // ************************************************ - // * 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 Lehrverband 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($new=null) + /** + * Speichert Lehrverband 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($new==null) $new = $this->new; @@ -233,7 +236,7 @@ class lehrverband " AND gruppe='".addslashes($this->gruppe)."';"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; diff --git a/include/log.class.php b/include/log.class.php index 1f41f316c..6157fbdf1 100644 --- a/include/log.class.php +++ b/include/log.class.php @@ -19,57 +19,38 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class log +class log extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $logs = array(); // lehreinheit Objekt + public $new; // boolean + public $logs = array(); // lehreinheit Objekt //Tabellenspalten - var $log_id; // Serial - var $executetime; // timestamp - var $sql; // text - var $sqlundo; // text - var $beschreibung; // varchar(64) - var $mitarbeiter_uid; // varchar(16) + public $log_id; // Serial + public $executetime; // timestamp + public $sql; // text + public $sqlundo; // text + public $beschreibung; // varchar(64) + public $mitarbeiter_uid; // varchar(16) - - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional einen DS - // * @param $conn Datenbank-Connection - // * $log_id - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function log($conn, $log_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional einen DS + * @param $log_id + */ + public function __construct($log_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + parent::__construct(); - if(!pg_query($conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } - } -*/ - if($log_id!=null) + if(!is_null($log_id)) $this->load($log_id); } - // ********************************************************* - // * Laedt einen Log Eintrag - // * @param log_id - // ********************************************************* - function load($log_id) + /** + * Laedt einen Log Eintrag + * @param log_id + */ + public function load($log_id) { if(!is_numeric($log_id)) { @@ -78,9 +59,9 @@ class log } $qry = "SELECT * FROM public.tbl_log WHERE log_id='$log_id'"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->log_id = $row->log_id; $this->executetime = $row->executetime; @@ -98,26 +79,26 @@ class log } else { - $this->errormsg = 'Fehler beim laden des Log Eintrages'; + $this->errormsg = 'Fehler beim Laden des Log Eintrages'; return false; } } - // ******************************************** - // * Laedt die letzten 10 Undo Eintraege - // * @param $uid UID des Mitarbeiters dessen - // * UNDO befehle geladen werden sollen - // * @return true wenn ok , false im Fehlerfall - // ******************************************** - function load_undo($uid) + /** + * Laedt die letzten 10 Undo Eintraege + * @param $uid UID des Mitarbeiters dessen + * UNDO befehle geladen werden sollen + * @return true wenn ok , false im Fehlerfall + */ + public function load_undo($uid) { $qry = "SELECT * FROM public.tbl_log WHERE mitarbeiter_uid='".addslashes($uid)."' AND sqlundo is not null ORDER BY executetime DESC LIMIT 10"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $log_obj = new log($this->conn, null, null); + $log_obj = new log(); $log_obj->log_id = $row->log_id; $log_obj->executetime = $row->executetime; @@ -132,39 +113,28 @@ class log } else { - $this->errormsg = 'Fehler beim laden der Log-Eintraege'; + $this->errormsg = 'Fehler beim Laden der Log-Eintraege'; return false; } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + public function validate() { 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 einen Log Eintrag in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - // * angelegt, ansonsten der Datensatz aktualisiert - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function save($new=null) + + /** + * Speichert einen Log Eintrag in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz aktualisiert + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save($new=null) { if(is_null($new)) $new = $this->new; @@ -192,7 +162,7 @@ class log " WHERE log_id=".$this->addslashes($this->log_id).";"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { return true; } @@ -204,12 +174,12 @@ class log } - // ********************************** - // * Loescht einen Log Eintrag - // * @param $log_id ID des DS - // * @return true wenn ok sonst false - // ********************************** - function delete($log_id) + /** + * Loescht einen Log Eintrag + * @param $log_id ID des DS + * @return true wenn ok sonst false + */ + public function delete($log_id) { if(!is_numeric($log_id)) { @@ -219,51 +189,52 @@ class log $qry = "DELETE FROM public.tbl_log WHERE log_id='$log_id'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { - $this->errormsg = 'Fehler beim loeschen des LOG Eintrages'; + $this->errormsg = 'Fehler beim Loeschen des LOG Eintrages'; return false; } } - // ************************************ - // * Fuehrt einen UnDo Befehl aus und - // * loescht anschliessend den Eintrag - // * aus dem Log - // * @param $log_id - // * @return true wenn ok, sonst false - // ************************************ - function undo($log_id) + /** + * Fuehrt einen UnDo Befehl aus und + * loescht anschliessend den Eintrag + * aus dem Log + * @param $log_id + * @return true wenn ok, sonst false + */ + public function undo($log_id) { if(!is_numeric($log_id)) { $this->errormsg = 'Log_id ist ungueltig'.$log_id; return false; } - pg_query($this->conn, 'BEGIN;'); + $this->db_query('BEGIN;'); + //Undo Befehl aus Log holen $qry = "SELECT * FROM public.tbl_log WHERE log_id='$log_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { if($row->sqlundo!='') { //UnDo Befehl ausfuehren - if(pg_query($this->conn, $row->sqlundo)) + if($this->db_query($row->sqlundo)) { //Log Eintrag aus Log entfernen $qry = "DELETE FROM public.tbl_log WHERE log_id='$log_id';"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); $this->errormsg = 'UnDo Eintrag konnte nicht entfernt werden'; return false; } diff --git a/include/lvgesamtnote.class.php b/include/lvgesamtnote.class.php index bb0eb363f..011ed3c91 100644 --- a/include/lvgesamtnote.class.php +++ b/include/lvgesamtnote.class.php @@ -23,69 +23,53 @@ * Klasse Zeugnisnote * @create 2007-06-06 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class lvgesamtnote +class lvgesamtnote extends basis_db { - var $conn; // resource DB-Handle - var $new; // boolean - var $errormsg; // string - var $result=array(); + public $new; // boolean + public $result=array(); //Tabellenspalten - var $lehrveranstaltung_id; // integer - var $student_uid; // varchar(16) - var $mitarbeiter_uid; // varchar(16) - var $studiensemester_kurzbz; // varchar(16) - var $note; // smalint - var $freigabedatum; // date - var $benotungsdatum; // date - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $bemerkung; // text - var $freigabevon_uid; //varchar(16) + public $lehrveranstaltung_id; // integer + public $student_uid; // varchar(16) + public $mitarbeiter_uid; // varchar(16) + public $studiensemester_kurzbz; // varchar(16) + public $note; // smalint + public $freigabedatum; // date + public $benotungsdatum; // date + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $bemerkung; // text + public $freigabevon_uid; //varchar(16) - var $lehrveranstaltung_bezeichung; - var $note_bezeichnung; + public $lehrveranstaltung_bezeichung; + public $note_bezeichnung; - // ********************************************************************* - // * Konstruktor - // * @param $conn Connection - // * $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // ********************************************************************* - function lvgesamtnote($conn, $lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null , $unicode=false) + /** + * Konstruktor + * @param $lehrveranstaltung_id + * $student_uid + * $studiensemester_kurzbz + */ + public function __construct($lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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; - } - } - */ + parent::__construct(); + if($lehrveranstaltung_id!=null && $student_uid!=null && $studiensemester_kurzbz!=null) $this->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz); } - // ************************************************************** - // * Laedt eine LVGesamtNote - // * @param $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // *************************************************************** - function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) + /** + * Laedt eine LVGesamtNote + * @param $lehrveranstaltung_id + * @param $student_uid + * @param $studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) { if(!is_numeric($lehrveranstaltung_id)) { @@ -98,9 +82,9 @@ class lvgesamtnote student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; $this->student_uid = $row->student_uid; @@ -130,11 +114,11 @@ class lvgesamtnote } } - // ************************************* - // * Prueft die Daten vor dem Speichern - // * auf Gueltigkeit - // ************************************* - function validate() + /** + * Prueft die Daten vor dem Speichern + * auf Gueltigkeit + */ + protected function validate() { if(!is_numeric($this->lehrveranstaltung_id)) { @@ -168,25 +152,14 @@ class lvgesamtnote } return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ******************************************************************************* - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ******************************************************************************* - function save($new=null) + + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if($new==null) $new=$this->new; @@ -228,48 +201,48 @@ class lvgesamtnote 'AND studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } else { - $this->errormsg = "Fehler beim Speichern des Datensatzes: ".pg_last_error($this->conn); + $this->errormsg = "Fehler beim Speichern des Datensatzes: ".$this->db_last_error(); return false; } } - // ******************************************************** - // * Loescht den Datenensatz mit der ID die uebergeben wird - // * @param $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // ******************************************************** - function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) + /** + * Loescht den Datenensatz mit der ID die uebergeben wird + * @param $lehrveranstaltung_id + * @param $student_uid + * @param $studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) { $qry = "DELETE FROM campus.tbl_lvgesamtnote WHERE lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' AND student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { - $this->errormsg = 'Fehler beim loeschen der Daten'; + $this->errormsg = 'Fehler beim Loeschen der Daten'; return false; } } - // ********************************************* - // * Laed die Noten - // * @param $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // * @return true wenn ok, false wenn Fehler - // ********************************************* - function getLvGesamtNoten($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) + /** + * Laedt die Noten + * @param $lehrveranstaltung_id + * $student_uid + * $studiensemester_kurzbz + * @return true wenn ok, false wenn Fehler + */ + public function getLvGesamtNoten($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) { $qry = "SELECT tbl_lvgesamtnote.*, @@ -291,11 +264,11 @@ class lvgesamtnote if($student_uid!=null) $qry.=" AND tbl_lvgesamtnote.student_uid='".addslashes($student_uid)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new lvgesamtnote($this->conn, null, null, null, null); + $obj = new lvgesamtnote(); $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; $obj->student_uid = $row->student_uid; @@ -319,9 +292,9 @@ class lvgesamtnote } else { - $this->errormsg = 'Fehler beim laden der Daten'; + $this->errormsg = 'Fehler beim Laden der Daten'; return false; } } } -?> +?> \ No newline at end of file diff --git a/include/lvinfo.class.php b/include/lvinfo.class.php index e5e871bac..d2c462d8f 100644 --- a/include/lvinfo.class.php +++ b/include/lvinfo.class.php @@ -23,62 +23,64 @@ * Klasse lvinfo (FAS-Online) * @create 04-12-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class lvinfo +class lvinfo extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var fachbereich Objekt + public $new; // boolean + public $result = array(); // fachbereich Objekt //Tabellenspalten - var $lehrveranstaltung_id; // @var integer - var $lehrziele; // @var string - var $titel; // @var varchar(256) - var $methodik; // @var string - var $lehrinhalte; // @var string - var $voraussetzungen; // @var string - var $unterlagen; // @var string - var $pruefungsordnung; // @var string - var $anmerkungen; // @var string - var $kurzbeschreibung; // @var string - var $genehmigt; // @var boolean - var $aktiv; // @var boolean - var $sprache; // @var string - var $updateamum; // @var timestamp - var $updatevon=0; // @var string - var $insertamum; // @var timestamp - var $insertvon=0; // @var string + public $lehrveranstaltung_id; // integer + public $lehrziele; // string + public $titel; // varchar(256) + public $methodik; // string + public $lehrinhalte; // string + public $voraussetzungen; // string + public $unterlagen; // string + public $pruefungsordnung; // string + public $anmerkungen; // string + public $kurzbeschreibung; // string + public $genehmigt; // boolean + public $aktiv; // boolean + public $sprache; // string + public $updateamum; // timestamp + public $updatevon=0; // string + public $insertamum; // timestamp + public $insertvon=0; // string - var $lastqry; //zuletzt ausgefuehrte qry (benoetigt fuer log) + public $lastqry; //zuletzt ausgefuehrte qry (benoetigt fuer log) + /** * Konstruktor * @param $conn Connection zur DB * $lvinfo_id ID des zu ladenden Ortes */ - function lvinfo($conn, $lvinfo_id=null) + public function __construct($lvinfo_id=null) { - $this->conn = $conn; + parent::__construct(); + if($lvinfo_id != null && is_numeric($lvinfo_id)) $this->load($lvinfo_id); } + /** * Laedt alle verfuegbaren LVInfos * @return true wenn ok, false im Fehlerfall */ - function getAll() + public function getAll() { - $qry = 'SELECT * FROM campus.tbl_lvinfo order by lvinfo_id;'; + $qry = 'SELECT * FROM campus.tbl_lvinfo ORDER BY lvinfo_id;'; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden der Datensaetze'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $lvinfo_obj = new lvinfo($this->conn); + $lvinfo_obj = new lvinfo(); $lvinfo_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; $lvinfo_obj->lehrziele = $row->lehrziele; @@ -109,21 +111,23 @@ class lvinfo * $sprache * @return true wenn ok, false im Fehlerfall */ - function load($lehrveranstaltung_id, $sprache) + public function load($lehrveranstaltung_id, $sprache) { if($lehrveranstaltung_id == '' || !is_numeric($lehrveranstaltung_id)) { $this->errormsg = 'lvinfo_id ungültig'; return false; } - $qry = "SELECT * FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id = '$lehrveranstaltung_id' AND sprache='".addslashes($sprache)."';"; + $qry = "SELECT * FROM campus.tbl_lvinfo + WHERE lehrveranstaltung_id = '$lehrveranstaltung_id' AND sprache='".addslashes($sprache)."';"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } - if($row=pg_fetch_object($res)) + + if($row = $this->db_fetch_object()) { $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; $this->lehrziele = $row->lehrziele; @@ -157,7 +161,7 @@ class lvinfo * @param $lvinfo_id ID des Datensatzes der geloescht werden soll * @return true wenn ok, false im Fehlerfall */ - function delete($lvinfo_id) + public function delete($lvinfo_id) { if(!is_numeric($lvinfo_id)) { @@ -167,7 +171,7 @@ class lvinfo $qry = "DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$lvinfo_id'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { $this->lastqry = $qry; return true; @@ -178,20 +182,17 @@ class lvinfo return false; } } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } + /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + protected function validate() { //Laenge Pruefen if(strlen($this->sprache)>16) { - $this->errormsg = "Sprache darf nicht laenger als 16 Zeichen sein bei ".$this->lvinfo_id." - $this->sprache"; + $this->errormsg = 'Sprache darf nicht laenger als 16 Zeichen sein'; return false; } if(!is_numeric($this->lehrveranstaltung_id)) @@ -201,14 +202,15 @@ class lvinfo } return true; } + /** * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($this->new) @@ -266,9 +268,8 @@ class lvinfo 'WHERE lehrveranstaltung_id = '.$this->addslashes($this->lehrveranstaltung_id)." AND sprache=".$this->addslashes($this->sprache).";"; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - $this->lastqry=$qry; return true; } @@ -279,7 +280,14 @@ class lvinfo } } - function exists($lehrveranstaltung_id, $sprache=null) + /** + * Prueft ob bereits eine LV-Info angelegt ist + * + * @param $lehrveranstaltung_id + * @param $sprache + * @return boolean + */ + public function exists($lehrveranstaltung_id, $sprache=null) { if(!is_numeric($lehrveranstaltung_id)) { @@ -292,18 +300,14 @@ class lvinfo if(!is_null($sprache)) $qry .= " AND sprache='".addslashes($sprache)."'"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { if($row->anzahl>0) - { return true; - } else - { return false; - } } else { @@ -325,7 +329,7 @@ class lvinfo * @param $target ID der Lehrveranstaltung zu der die LV-Info kopiert werden soll * @return true wenn ok, false wenn Fehler */ - function copy($source, $target) + public function copy($source, $target) { if(!is_numeric($source) || $source=='') { @@ -347,7 +351,7 @@ class lvinfo lehrinhalte, methodik, voraussetzungen, unterlagen, pruefungsordnung, anmerkung, kurzbeschreibung, genehmigt, aktiv, updateamum, updatevon, insertamum, insertvon FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id=$source"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } diff --git a/include/mail.class.php b/include/mail.class.php index f2b363e27..ebd4d9cde 100644 --- a/include/mail.class.php +++ b/include/mail.class.php @@ -30,25 +30,25 @@ class mail { - var $to; - var $CC_recievers; - var $BCC_recievers; - var $sender; - var $replyTo; - var $subject; - var $textContent; - var $htmlContent; - var $attachments; - var $errormsg; + public $to; + public $CC_recievers; + public $BCC_recievers; + public $sender; + public $replyTo; + public $subject; + public $textContent; + public $htmlContent; + public $attachments; + public $errormsg; - // ********************************************************** - // * MAIL - Konstruktor - // * $to Empfaenger - // * $from Absender - // * $subject Betreff - // * $text Text des Mails - // ********************************************************** - function mail($to, $from, $subject, $text) + /** + * MAIL - Konstruktor + * $to Empfaenger + * $from Absender + * $subject Betreff + * $text Text des Mails + */ + public function __construct($to, $from, $subject, $text) { $this->to = $to; $this->subject = $subject; @@ -59,10 +59,10 @@ class mail $attachments=''; } - // *********************************************************** - // * Mail zusammenbauen und senden - // *********************************************************** - function send() + /** + * Mail zusammenbauen und senden + */ + public function send() { //wenn MAIL_DEBUG gesetzt ist dann alles an diese Adresse schicken if(MAIL_DEBUG!='') @@ -151,10 +151,10 @@ class mail return false; } - // ********************************************** - // * Setzt den Text fuer ein Mail - // ********************************************** - function setTextContent($text, $charset = 'UTF-8', $encoding = '8bit') + /** + * Setzt den Text fuer ein Mail + */ + public function setTextContent($text, $charset = 'UTF-8', $encoding = '8bit') { $this->textContent[0] = $text; $this->textContent[1] = $charset; @@ -162,10 +162,10 @@ class mail return true; } - // ********************************************** - // * Setzt den HTMLText fuer ein Mail - // ********************************************** - function setHTMLContent($html, $charset = 'UTF-8', $encoding = '8bit') + /** + * Setzt den HTMLText fuer ein Mail + */ + public function setHTMLContent($html, $charset = 'UTF-8', $encoding = '8bit') { $this->htmlContent[0] = $html; $this->htmlContent[1] = $charset; @@ -176,14 +176,14 @@ class mail return true; } - // *********************************************** - // * Fuegt ein Attachment zum Mail hinzu - // * $file Dateiname des hinzuzufuegenden Files - // * $type MIME Type "application/xls" - // * $name Anzeigename des Files - // * $ContentID die ContentID der Datei falls sie als inline-image genutzt wird - // *********************************************** - function addAttachmentBinary($file, $type, $name, $ContentID = "") + /** + * Fuegt ein Attachment zum Mail hinzu + * $file Dateiname des hinzuzufuegenden Files + * $type MIME Type "application/xls" + * $name Anzeigename des Files + * $ContentID die ContentID der Datei falls sie als inline-image genutzt wird + */ + public function addAttachmentBinary($file, $type, $name, $ContentID = "") { if (!file_exists($file)) { @@ -206,19 +206,19 @@ class mail return true; } - // ******************************************** - // * Setzt den ReplyTo - // ******************************************** - function setReplyTo($repl) + /** + * Setzt den ReplyTo + */ + public function setReplyTo($repl) { $this->replyTo = $repl; return true; } - // ******************************************** - // * Setzt die CC Empfaenger - // ******************************************** - function setCCRecievers($rcvs) + /** + * Setzt die CC Empfaenger + */ + public function setCCRecievers($rcvs) { $this->CC_recievers = ''; if (is_array($rcvs)) @@ -234,10 +234,10 @@ class mail return true; } - // ******************************************** - // * Setzt die BCC Empfaenger - // ******************************************** - function setBCCRecievers($rcvs) + /** + * Setzt die BCC Empfaenger + */ + public function setBCCRecievers($rcvs) { $this->BCC_recievers = ''; if (is_array($rcvs)) diff --git a/include/nation.class.php b/include/nation.class.php index f1f322914..518b5fe8f 100644 --- a/include/nation.class.php +++ b/include/nation.class.php @@ -24,45 +24,32 @@ * Klasse Nation (FAS-Online) * @create 06-04-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class nation +class nation extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $nation = array(); // nation Objekt + public $new; // boolean + public $nation = array(); // nation Objekt //Tabellenspalten - var $code; - var $sperre; - var $kontinent; - var $entwicklungsstand; - var $eu; - var $ewr; - var $kurztext; - var $langtext; - var $engltext; + public $code; + public $sperre; + public $kontinent; + public $entwicklungsstand; + public $eu; + public $ewr; + public $kurztext; + public $langtext; + public $engltext; /** * Konstruktor - * @param $conn Connection - * $code Zu ladende Nation + * @param $code Zu ladende Nation */ - function nation($conn, $code=null, $unicode=false) + public function __construct($code=null) { - $this->conn = $conn; -/* - 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; - } -*/ + parent::__construct(); + if($code != null) $this->load($code); } @@ -73,18 +60,18 @@ class nation * @param $code code der zu ladenden Nation * @return true wenn ok, false im Fehlerfall */ - function load($code) + public function load($code) { //Lesen der Daten aus der Datenbank - $qry = "SELECT * FROM bis.tbl_nation WHERE nation_code='$code';"; - //echo $qry; - if(!$res = pg_query($this->conn,$qry)) + $qry = "SELECT * FROM bis.tbl_nation WHERE nation_code='".addslashes($code)."';"; + + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; } - if($row = pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->code = $code; @@ -110,7 +97,7 @@ class nation * @param ohnesperre wenn dieser Parameter auf true gesetzt ist werden * nur die nationen geliefert dessen Buerger bei uns studieren duerfen */ - function getAll($ohnesperre=false) + public function getAll($ohnesperre=false) { //Lesen der Daten aus der Datenbank $qry = "SELECT * FROM bis.tbl_nation"; @@ -119,15 +106,15 @@ class nation $qry .=" ORDER BY kurztext"; - if(!$res = pg_query($this->conn,$qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $nation = new nation($this->conn); + $nation = new nation(); $nation->code = $row->nation_code; $nation->sperre = ($row->sperre=='t'?true:false); @@ -143,15 +130,12 @@ class nation } return true; } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - // ************************************************************ - // * Speichert die Personendaten in die Datenbank - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function save() + + /** + * Speichert die Personendaten in die Datenbank + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { @@ -167,7 +151,7 @@ class nation $this->addslashes($this->sperre).');'; - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { return true; } diff --git a/include/note.class.php b/include/note.class.php index f9038e1ae..289412f29 100644 --- a/include/note.class.php +++ b/include/note.class.php @@ -24,59 +24,41 @@ * Klasse Note * @create 2007-06-06 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class note +class note extends basis_db { - var $conn; // resource DB-Handle - var $new; // boolean - var $errormsg; // string - var $result=array(); + public $new; // boolean + public $result=array(); //Tabellenspalten - var $note; // smallint - var $bezeichnung; // varchar(32) - var $anmerkung; // varchar(256) - var $farbe; + public $note; // smallint + public $bezeichnung; // varchar(32) + public $anmerkung; // varchar(256) + public $farbe; - - - // ********************************************************************* - // * Konstruktor - // * @param $conn Connection - // * $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // ********************************************************************* - function note($conn, $note = null, $unicode=false) + /** + * Konstruktor + * @param $lehrveranstaltung_id + * $student_uid + * $studiensemester_kurzbz + */ + public function __construct($note = null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - if ($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry="SET CLIENT_ENCODING TO 'LATIN9';"; + parent::__construct(); - if(!pg_query($conn,$qry)) - { - $this->errormsg= "Encoding konnte nicht gesetzt werden"; - return false; - } - } -*/ if($note != null) $this->load($note); } - // ************************************************************** - // * Laedt eine Zeugnisnote - // * @param $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // *************************************************************** - function load($note) + /** + * Laedt eine Note + * @param $lehrveranstaltung_id + * $student_uid + * $studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function load($note) { if(!is_numeric($note)) { @@ -86,9 +68,9 @@ class note $qry = "SELECT * FROM lehre.tbl_note WHERE note='".$note."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->note = $row->note; $this->bezeichnung = $row->bezeichnung; @@ -109,37 +91,27 @@ class note } } - // ************************************* - // * Prueft die Daten vor dem Speichern - // * auf Gueltigkeit - // ************************************* - function validate() + /** + * Prueft die Daten vor dem Speichern + * auf Gueltigkeit + */ + public function validate() { if(!is_numeric($this->note)) { $this->errormsg = 'Note ist ungueltig'; return false; } + return true; } - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ******************************************************************************* - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ******************************************************************************* - function save($new=null) + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if($new==null) $new=$this->new; @@ -164,7 +136,7 @@ class note 'WHERE note='.$this->addslashes($this->note).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -174,36 +146,20 @@ class note return false; } } - - // ******************************************************** - // * Loescht den Datenensatz mit der ID die uebergeben wird - // * @param $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // ******************************************************** - function delete($note) + /** + * Laedt alle Noten + * @return true wenn ok, false wenn Fehler + */ + public function getAll() { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - - // ********************************************* - // * Laed alle Noten - // * @return true wenn ok, false wenn Fehler - // ********************************************* - - function getAll() - { - - $qry = "select * from lehre.tbl_note order by note"; + $qry = "SELECT * FROM lehre.tbl_note ORDER BY note"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $n = new note($this->conn, null, null); + $n = new note(); $n->note = $row->note; $n->bezeichnung = $row->bezeichnung; @@ -216,7 +172,7 @@ class note } else { - $this->errormsg = 'Fehler beim laden der Daten'; + $this->errormsg = 'Fehler beim Laden der Daten'; return false; } } diff --git a/include/organisationseinheit.class.php b/include/organisationseinheit.class.php index 5a3dc6933..4da631f6e 100644 --- a/include/organisationseinheit.class.php +++ b/include/organisationseinheit.class.php @@ -24,7 +24,7 @@ * Klasse Organisationseinheit * */ -require_once('basis_db.class.php'); +require_once(dirname(__FILE__).'/basis_db.class.php'); class organisationseinheit extends basis_db { @@ -112,6 +112,11 @@ class organisationseinheit extends basis_db } return true; } + else + { + $this->errormsg = 'Fehler bei Abfrage'; + return false; + } } /** diff --git a/include/ort.class.php b/include/ort.class.php index 656be6c1e..ebc4e45e4 100644 --- a/include/ort.class.php +++ b/include/ort.class.php @@ -23,53 +23,38 @@ * Klasse ort (FAS-Online) * @create 04-12-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class ort +class ort extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var ort Objekt + public $new; // boolean + public $result = array(); // ort Objekt //Tabellenspalten - var $ort_kurzbz; // @var string - var $bezeichnung; // @var string - var $planbezeichnung; // @var string - var $max_person; // @var integer - var $lehre; // @var boolean - var $reservieren; // @var boolean - var $aktiv; // @var boolean - var $lageplan; // @var oid - var $dislozierung; // @var smallint - var $kosten; // @var numeric(8,2) - var $ausstattung; - var $stockwerk; // @var integer - var $standort_kurzbz; // @var varchar(16) - var $telefonklappe; // @var varchar(8) + public $ort_kurzbz; // string + public $bezeichnung; // string + public $planbezeichnung; // string + public $max_person; // integer + public $lehre; // boolean + public $reservieren; // boolean + public $aktiv; // boolean + public $lageplan; // oid + public $dislozierung; // smallint + public $kosten; // numeric(8,2) + public $ausstattung; + public $stockwerk; // integer + public $standort_kurzbz; // varchar(16) + public $telefonklappe; // varchar(8) /** * Konstruktor * @param $conn Connection zur DB * $ort_kurzbz Kurzbz des zu ladenden Ortes */ - function ort($conn, $ort_kurzbz=null, $unicode=false) + public function __construct($ort_kurzbz=null) { - $this->conn = $conn; - - if($unicode!=null) - { - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE'"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9'"; - - if(!pg_query($this->conn, $qry)) - { - $this->errormsg ='Fehler beim Setzen des Encodings'; - return false; - } - } - + parent::__construct(); + if($ort_kurzbz != null) $this->load($ort_kurzbz); } @@ -78,19 +63,19 @@ class ort * Laedt alle verfuegbaren Orte * @return true wenn ok, false im Fehlerfall */ - function getAll() + public function getAll() { - $qry = 'SELECT * FROM public.tbl_ort order by ort_kurzbz;'; + $qry = 'SELECT * FROM public.tbl_ort ORDER BY ort_kurzbz;'; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden der Datensaetze'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $ort_obj = new ort($this->conn); + $ort_obj = new ort(); $ort_obj->ort_kurzbz = $row->ort_kurzbz; $ort_obj->bezeichnung = $row->bezeichnung; @@ -117,7 +102,7 @@ class ort * @param $fachb_id ID des zu ladenden Ortes * @return true wenn ok, false im Fehlerfall */ - function load($ort_kurzbz) + public function load($ort_kurzbz) { if($ort_kurzbz == '') { @@ -125,15 +110,15 @@ class ort return false; } - $qry = "SELECT * FROM public.tbl_ort WHERE ort_kurzbz = '$ort_kurzbz';"; + $qry = "SELECT * FROM public.tbl_ort WHERE ort_kurzbz = '".addslashes($ort_kurzbz)."';"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } - if($row=pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->ort_kurzbz = $row->ort_kurzbz; $this->bezeichnung = $row->bezeichnung; @@ -142,8 +127,8 @@ class ort $this->aktiv = ($row->aktiv=='t'?true:false); $this->lehre = ($row->lehre=='t'?true:false); $this->lageplan = $row->lageplan; - $this->dislozierung = $row->dislozierung; - $this->kosten = $row->kosten; + $this->dislozierung = $row->dislozierung; + $this->kosten = $row->kosten; $this->reservieren = ($row->reservieren=='t'?true:false); $this->ausstattung = $row->ausstattung; $this->stockwerk = $row->stockwerk; @@ -158,69 +143,50 @@ class ort return true; } - - /** - * Loescht einen Datensatz - * @param $ort_kurzbz ID des Datensatzes der geloescht werden soll - * @return true wenn ok, false im Fehlerfall - */ - function delete($ort_kurzbz) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } + /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + public function validate() { - $this->bezeichnung = str_replace("'",'´',$this->bezeichnung); - $this->ort_kurzbz = str_replace("'",'´',$this->ort_kurzbz); - $this->planbezeichnung = str_replace("'",'´',$this->planbezeichnung); - - //Laenge Pruefen if(strlen($this->bezeichnung)>30) { - $this->errormsg = "Bezeichnung darf nicht laenger als 30 Zeichen sein bei $this->ort_kurzbz - $this->bezeichnung"; + $this->errormsg = 'Bezeichnung darf nicht laenger als 30 Zeichen sein'; return false; } if(strlen($this->planbezeichnung)>30) { - $this->errormsg = "Planbezeichnung darf nicht laenger als 30 Zeichen sein bei $this->ort_kurzbz - $this->planbezeichnung"; + $this->errormsg = 'Planbezeichnung darf nicht laenger als 30 Zeichen sein'; return false; } if(strlen($this->ort_kurzbz)>8) { - $this->errormsg = "Ort_kurzbz darf nicht laenger als 8 Zeichen sein bei $this->ort_kurzbz/b>"; + $this->errormsg = 'Ort_kurzbz darf nicht laenger als 8 Zeichen sein'; + return false; + } + if($this->ort_kurzbz == '') + { + $this->errormsg = 'ort_kurzbz darf nicht leer sein'; return false; } $this->errormsg = ''; return true; } + /** * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($this->new) { - //Pruefen ob ort_kurzbz eine gueltige Bezeichnung ist - if($this->ort_kurzbz == '') - { - $this->errormsg = 'ort_kurzbz darf nicht leer sein'; - return false; - } //Neuen Datensatz anlegen $qry = 'INSERT INTO public.tbl_ort (ort_kurzbz, bezeichnung, planbezeichnung, max_person, aktiv, lehre, reservieren, lageplan, dislozierung, kosten, stockwerk, standort_kurzbz, telefonklappe) VALUES ('. @@ -242,13 +208,6 @@ class ort { //bestehenden Datensatz akualisieren - //Pruefen ob ort_kurzbz gueltig ist - if($this->ort_kurzbz == '') - { - $this->errormsg = 'ort_kurzbz darf nicht leer sein'; - return false; - } - $qry = 'UPDATE public.tbl_ort SET '. 'bezeichnung='.$this->addslashes($this->bezeichnung).', '. 'planbezeichnung='.$this->addslashes($this->planbezeichnung).', '. @@ -265,25 +224,8 @@ class ort 'WHERE ort_kurzbz = '.$this->addslashes($this->ort_kurzbz).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - /*//Log schreiben - $sql = $qry; - $qry = "SELECT nextval('log_seq') as id;"; - if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) - { - $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; - return false; - } - - $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; - if(pg_query($this->conn, $qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; - return false; - }*/ return true; } else @@ -293,17 +235,17 @@ class ort } } - // **** - // * Sucht nach freien Raeumen - // * @param datum ... Datum fuer das der Raum gesucht wird - // * zeit_von ... Zeit ab wann soll der Raum frei sein - // * zeit_bis ... Zeit bis wann soll der Raum frei sein - // * raumtyp ... Art des Raumes (optional) - // * anzpersonen ... Anzahl der Personen die mindestens Platz haben sollen (optional) - // * reservierung ... true wenn nur Raeume aufscheinen sollen die auch Reservierbar sind - // * db_table ... Stundenplantabelle die geprueft werden soll - // * @return true wenn ok, false im Fehlerfall - // **** + /** + * Sucht nach freien Raeumen + * @param datum ... Datum fuer das der Raum gesucht wird + * zeit_von ... Zeit ab wann soll der Raum frei sein + * zeit_bis ... Zeit bis wann soll der Raum frei sein + * raumtyp ... Art des Raumes (optional) + * anzpersonen ... Anzahl der Personen die mindestens Platz haben sollen (optional) + * reservierung ... true wenn nur Raeume aufscheinen sollen die auch Reservierbar sind + * db_table ... Stundenplantabelle die geprueft werden soll + * @return true wenn ok, false im Fehlerfall + */ function search($datum, $zeit_von, $zeit_bis, $raumtyp=null, $anzpersonen=null, $reservierung=true, $db_table='stundenplandev') { $stundevon = 1; @@ -316,8 +258,8 @@ class ort SELECT stunde, extract(epoch from (ende-('".addslashes($zeit_von)."'::time))) AS delta FROM lehre.tbl_stunde ) foo WHERE delta>=0 ORDER BY delta LIMIT 1;"; - if($result = pg_query($this->conn, $qry)) - if($row = pg_fetch_object($result)) + if($this->db_query($qry)) + if($row = $this->db_fetch_object()) $stundevon = $row->stunde; //stundebis ermitteln @@ -327,8 +269,8 @@ class ort SELECT stunde, extract(epoch from (ende-('".addslashes($zeit_bis)."'::time))) AS delta FROM lehre.tbl_stunde ) foo WHERE delta>=0 ORDER BY delta LIMIT 1;"; - if($result = pg_query($this->conn, $qry)) - if($row = pg_fetch_object($result)) + if($this->db_query($qry)) + if($row = $this->db_fetch_object()) $stundebis = $row->stunde; //Freie Raeume suchen @@ -353,12 +295,12 @@ class ort SELECT ort_kurzbz FROM campus.tbl_reservierung WHERE datum='".addslashes($datum)."' AND stunde>='".addslashes($stundevon)."' AND stunde<='".addslashes($stundebis)."' ) "; - //echo $qry; - if($result = pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $ort_obj = new ort($this->conn); + $ort_obj = new ort(); $ort_obj->ort_kurzbz = $row->ort_kurzbz; $ort_obj->bezeichnung = $row->bezeichnung; diff --git a/include/ortraumtyp.class.php b/include/ortraumtyp.class.php index 8004b4cfd..6e96fb82a 100644 --- a/include/ortraumtyp.class.php +++ b/include/ortraumtyp.class.php @@ -23,27 +23,27 @@ * Klasse ortraumtyp (FAS-Online) * @create 04-12-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class ortraumtyp +class ortraumtyp extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var fachbereich Objekt + public $new; // boolean + public $result = array(); // fachbereich Objekt //Tabellenspalten - var $ort_kurzbz; // @var string - var $hierarchie; // @var smallint - var $raumtyp_kurzbz; // @var string + public $ort_kurzbz; // string + public $hierarchie; // smallint + public $raumtyp_kurzbz; // string /** * Konstruktor * @param $conn Connection zur DB * $ort_kurzbz und hierarchie ID des zu ladenden OrtRaumtyps */ - function ortraumtyp($conn, $ort_kurzbz=null, $hierarchie=0) + public function __construct($ort_kurzbz=null, $hierarchie=0) { - $this->conn = $conn; + parent::__construct(); + if($ort_kurzbz != null && $hierarchie!=null && is_numeric($hierarchie)) $this->load($ort_kurzbz, $hierarchie); } @@ -52,19 +52,19 @@ class ortraumtyp * Laedt alle verfuegbaren OrtRaumtypen * @return true wenn ok, false im Fehlerfall */ - function getAll() + public function getAll() { - $qry = 'SELECT * FROM public.tbl_ortraumtyp order by ort_kurzbz, hierarchie;'; + $qry = 'SELECT * FROM public.tbl_ortraumtyp ORDER BY ort_kurzbz, hierarchie;'; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden der Datensaetze'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $ortraumtyp_obj = new ort($this->conn); + $ortraumtyp_obj = new ort(); $ortraumtyp_obj->ort_kurzbz = $row->ort_kurzbz; $ortraumtyp_obj->hierarchie = $row->hierarchie; @@ -80,7 +80,7 @@ class ortraumtyp * @param $ortraumtyp, hierarchie ID des zu ladenden OrtRaumtyps * @return true wenn ok, false im Fehlerfall */ - function load($ort_kurzbz, $hierarchie) + public function load($ort_kurzbz, $hierarchie) { if($ort_kurzbz == '' || !is_numeric($hierarchie) || $hierarchie=='') { @@ -88,15 +88,15 @@ class ortraumtyp return false; } - $qry = "SELECT * FROM public.tbl_ortraumtyp WHERE ort_kurzbz = '$ort_kurzbz' AND hierarchie = '$hierarchie';"; + $qry = "SELECT * FROM public.tbl_ortraumtyp WHERE ort_kurzbz = '".addslashes($ort_kurzbz)."' AND hierarchie = '".addslashes($hierarchie)."';"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } - if($row=pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->ort_kurzbz = $row->ort_kurzbz; $this->hierarchie = $row->hierarchie; @@ -110,53 +110,36 @@ class ortraumtyp return true; } - - /** - * Loescht einen Datensatz - * @param $ort_kurzbz, hierarchie ID des Datensatzes der geloescht werden soll - * @return true wenn ok, false im Fehlerfall - */ - function delete($ort_kurzbz) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } + /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + public function validate() { - $this->ort_kurzbz = str_replace("'",'´',$this->ort_kurzbz); - $this->raumtyp_kurzbz = str_replace("'",'´',$this->raumtyp_kurzbz); - - //Laenge Pruefen if(strlen($this->ort_kurzbz)>8) { - $this->errormsg = "Ort_kurzbz darf nicht laenger als 8 Zeichen sein bei $this->kurzbz, $hierarchie"; + $this->errormsg = 'Ort_kurzbz darf nicht laenger als 8 Zeichen sein'; return false; } if(strlen($this->raumtyp_kurzbz)>8) { - $this->errormsg = "Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein bei $this->kurzbz, $hierarchie - $this->raumtyp_kurzbz"; + $this->errormsg = 'Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein'; return false; } $this->errormsg = ''; return true; } + /** * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($this->new) @@ -190,25 +173,8 @@ class ortraumtyp 'WHERE ort_kurzbz = '.$this->addslashes($this->ort_kurzbz).' AND hierarchie = '.$this->addslashes($this->hierarchie).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - /*//Log schreiben - $sql = $qry; - $qry = "SELECT nextval('log_seq') as id;"; - if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) - { - $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; - return false; - } - - $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; - if(pg_query($this->conn, $qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; - return false; - }*/ return true; } else diff --git a/include/person.class.php b/include/person.class.php index dee7c568d..b4c73a88d 100644 --- a/include/person.class.php +++ b/include/person.class.php @@ -305,7 +305,7 @@ class person extends basis_db } if($this->geschlecht!='m' && $this->geschlecht!='w' && $this->geschlecht!='u') { - $this->errormsg = 'Geschlecht muß w, m oder u sein!'; + $this->errormsg = 'Geschlecht mu� w, m oder u sein!'; return false; } @@ -314,15 +314,15 @@ class person extends basis_db { if(ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$this->gebdatum, $regs)) { - $day = sprintf('%02s',$regs[1]); - $month = sprintf('%02s',$regs[2]); - $year = substr($regs[3],2,2); + //$day = sprintf('%02s',$regs[1]); + //$month = sprintf('%02s',$regs[2]); + //$year = substr($regs[3],2,2); } elseif(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->gebdatum, $regs)) { - $day = sprintf('%02s',$regs[3]); - $month = sprintf('%02s',$regs[2]); - $year = substr($regs[1],2,2); + //$day = sprintf('%02s',$regs[3]); + //$month = sprintf('%02s',$regs[2]); + //$year = substr($regs[1],2,2); } else { diff --git a/include/preinteressent.class.php b/include/preinteressent.class.php index 4cab49fe2..545917842 100644 --- a/include/preinteressent.class.php +++ b/include/preinteressent.class.php @@ -19,72 +19,56 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class preinteressent +class preinteressent extends basis_db { - var $conn; // resource DB-Handle - var $new; // boolean - var $errormsg; // string - var $result = array(); + public $new; // boolean + public $result = array(); //Tabellenspalten - var $preinteressent_id; // serial - var $person_id; - var $studiensemester_kurzbz; // varchar(16) - var $aufmerksamdurch_kurzbz; // varchar(16) - var $firma_id; // integer - var $anmerkung; // text - var $erfassungsdatum; // date - var $einverstaendnis; // boolean - var $absagedatum; // timestamp - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $maturajahr; // numeric(4,0) - var $infozusendung; // date - var $kontaktmedium_kurzbz; // varchar(32) + public $preinteressent_id; // serial + public $person_id; + public $studiensemester_kurzbz; // varchar(16) + public $aufmerksamdurch_kurzbz; // varchar(16) + public $firma_id; // integer + public $anmerkung; // text + public $erfassungsdatum; // date + public $einverstaendnis; // boolean + public $absagedatum; // timestamp + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $maturajahr; // numeric(4,0) + public $infozusendung; // date + public $kontaktmedium_kurzbz; // varchar(32) - var $studiengang_kz; - var $prioritaet; // smallint - var $prioritaet_arr = array('1'=>'niedrg', '2'=>'mittel', '3'=>'hoch'); - var $freigabedatum; // timestamp - var $uebernahmedatum; // timestamp + public $studiengang_kz; + public $prioritaet; // smallint + public $prioritaet_arr = array('1'=>'niedrg', '2'=>'mittel', '3'=>'hoch'); + public $freigabedatum; // timestamp + public $uebernahmedatum; // timestamp - // *********************************************** - // * Konstruktor - // * @param conn Connection zur Datenbank - // * preinteressent_id ID des zu ladenden Datensatzes - // *********************************************** - function preinteressent($conn, $preinteressent_id=null, $unicode=false) + /** + * Konstruktor + * @param preinteressent_id ID des zu ladenden Datensatzes + */ + public function __construct($preinteressent_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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; - } - } -*/ + parent::__construct(); + if($preinteressent_id != null) $this->load($preinteressent_id); } - // *********************************************** - // * Laedt einen Datensatz - // * @param preinteressent_id ID des zu ladenden Datensatzes - // *********************************************** - function load($preinteressent_id) + /** + * Laedt einen Datensatz + * @param preinteressent_id ID des zu ladenden Datensatzes + */ + public function load($preinteressent_id) { - //id auf gueltigkeit pruefen + //id auf Gueltigkeit pruefen if(!is_numeric($preinteressent_id) || $preinteressent_id == '') { $this->errormsg = 'preinteressent_id muss eine gueltige Zahl sein'; @@ -94,9 +78,9 @@ class preinteressent //laden des Datensatzes $qry = "SELECT * FROM public.tbl_preinteressent WHERE preinteressent_id='$preinteressent_id';"; - if($result = pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->preinteressent_id = $row->preinteressent_id; $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; @@ -129,13 +113,13 @@ class preinteressent } } - // ************************************************** - // * Loescht einen Datensatz, erstellt einen UNDO Befehl - // * und einen LOG Eintrag - // * @param preinteressent_id ID des zu loeschenden Datensatzes - // * @return true wenn ok, false im Fehlerfall - // ************************************************** - function delete($preinteressent_id) + /** + * Loescht einen Datensatz, erstellt einen UNDO Befehl + * und einen LOG Eintrag + * @param preinteressent_id ID des zu loeschenden Datensatzes + * @return true wenn ok, false im Fehlerfall + */ + public function delete($preinteressent_id) { //id auf Gueltigkeit pruefen if(!is_numeric($preinteressent_id) || $preinteressent_id == '') @@ -145,12 +129,12 @@ class preinteressent } $undo=''; //UNDO Befehl zusammenbauen - pg_query($this->conn, 'BEGIN;'); + $this->db_query('BEGIN;'); $qry = "SELECT * FROM public.tbl_preinteressent WHERE preinteressent_id = '$preinteressent_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $undo.=" INSERT INTO public.tbl_preinteressent(preinteressent_id, person_id, studiensemester_kurzbz, aufmerksamdurch_kurzbz, firma_id, erfassungsdatum, einverstaendnis, absagedatum, anmerkung, @@ -176,15 +160,15 @@ class preinteressent else { $this->errormsg = 'Fehler beim Erstellen des UNDO Befehls'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } $qry = "SELECT * FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { $undo.=" INSERT INTO public.tbl_preinteressentstudiengang(studiengang_kz, preinteressent_id, prioritaet, freigabedatum, uebernahmedatum, insertamum, insertvon, updateamum, updatevon) VALUES(". @@ -202,17 +186,17 @@ class preinteressent else { $this->errormsg = 'Fehler beim Erstellen des UNDO Befehls'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } $qry = "DELETE FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id'; DELETE FROM public.tbl_preinteressent WHERE preinteressent_id = '$preinteressent_id';"; - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben - $log = new log($this->conn); + $log = new log(); $log->new = true; $log->sql = $qry; @@ -224,72 +208,49 @@ class preinteressent if(!$log->save()) { $this->errormsg = 'Fehler beim Schreiben des Log-Eintrages'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { $this->errormsg = 'Fehler beim Loeschen der Daten'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } - // ****************************************** - // * Prueft die Daten vor dem Speichern - // * @return true wenn ok, false wenn fehler - // ****************************************** - function validate() + /** + * Prueft die Daten vor dem Speichern + * @return true wenn ok, false wenn fehler + */ + protected function validate() { if($this->person_id=='') { $this->errormsg = 'Person_id muss angegeben werden'; return false; } - /* - if($this->studiensemester_kurzbz=='') - { - $this->errormsg = 'Studiensemester_kurzbz muss angegeben werden'; - return false; - } - */ + if($this->aufmerksamdurch_kurzbz=='') { $this->errormsg = 'Aufmerksamdurch muss angegeben werden'; return false; } - /* - if($this->firma_id=='') - { - $this->errormsg = 'Es muss eine Schule angegeben werden'; - return false; - } - */ + return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ********************************************************************* - // * Speichert den aktuellen Datensatz - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $preinteressent_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ********************************************************************* - function save($new=null) + + /** + * Speichert den aktuellen Datensatz + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $preinteressent_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if(!$this->validate()) return false; @@ -338,30 +299,30 @@ class preinteressent " WHERE preinteressent_id='".addslashes($this->preinteressent_id)."'"; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('public.tbl_preinteressent_preinteressent_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->preinteressent_id = $row->id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -375,27 +336,27 @@ class preinteressent } } - // ******************************************* - // * Laedt die Freigegebenen Preinteressenten - // * eines Studienganges welche noch nicht - // * uebernommen wurden - // * @param $studiengang_kz - // * $studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function loadFreigegebene($studiengang_kz, $studiensemester_kurzbz='') + /** + * Laedt die Freigegebenen Preinteressenten + * eines Studienganges welche noch nicht + * uebernommen wurden + * @param $studiengang_kz + * $studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function loadFreigegebene($studiengang_kz, $studiensemester_kurzbz='') { $qry = "SELECT tbl_preinteressent.*, tbl_preinteressentstudiengang.* FROM public.tbl_preinteressent JOIN public.tbl_preinteressentstudiengang USING(preinteressent_id) JOIN public.tbl_person USING(person_id) WHERE (studiengang_kz, person_id) NOT IN (SELECT studiengang_kz, person_id FROM public.tbl_prestudent WHERE person_id=tbl_person.person_id) AND freigabedatum is not null AND tbl_preinteressentstudiengang.studiengang_kz='$studiengang_kz'"; if($studiensemester_kurzbz!='') - $qry.=" AND tbl_preinteressent.studiensemester_kurzbz='$studiensemester_kurzbz'"; + $qry.=" AND tbl_preinteressent.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new preinteressent($this->conn, null, null); + $obj = new preinteressent(); $obj->preinteressent_id = $row->preinteressent_id; $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; @@ -428,27 +389,30 @@ class preinteressent } } - // ******************************************* - // * Laedt die Preinteressenten - // * eines Studienganges welche noch nicht - // * uebernommen wurden - // * @param $studiengang_kz - // * $studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function loadPreinteressenten($studiengang_kz='', $studiensemester_kurzbz=null, $filter='', $nichtfreigegeben=null, $uebernommen=null, $kontaktmedium=null, $absage=false, $erfassungsdatum_von=null, $erfassungsdatum_bis=null) + /** + * Laedt die Preinteressenten + * eines Studienganges welche noch nicht + * uebernommen wurden + * @param $studiengang_kz + * $studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function loadPreinteressenten($studiengang_kz='', $studiensemester_kurzbz=null, $filter='', $nichtfreigegeben=null, $uebernommen=null, $kontaktmedium=null, $absage=false, $erfassungsdatum_von=null, $erfassungsdatum_bis=null) { - $qry = "SELECT distinct tbl_preinteressent.* FROM public.tbl_preinteressent JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_preinteressentstudiengang USING(preinteressent_id) LEFT JOIN public.tbl_kontakt USING(person_id) WHERE true"; + $qry = "SELECT distinct tbl_preinteressent.* + FROM public.tbl_preinteressent JOIN public.tbl_person USING(person_id) + LEFT JOIN public.tbl_preinteressentstudiengang USING(preinteressent_id) + LEFT JOIN public.tbl_kontakt USING(person_id) WHERE true"; if($studiengang_kz!='') - $qry.=" AND tbl_preinteressentstudiengang.studiengang_kz='$studiengang_kz'"; + $qry.=" AND tbl_preinteressentstudiengang.studiengang_kz='".addslashes($studiengang_kz)."'"; if(!is_null($studiensemester_kurzbz)) { if($studiensemester_kurzbz=='') $qry.=" AND tbl_preinteressent.studiensemester_kurzbz is null"; else - $qry.=" AND tbl_preinteressent.studiensemester_kurzbz='$studiensemester_kurzbz'"; + $qry.=" AND tbl_preinteressent.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; } if($filter!='') @@ -473,11 +437,11 @@ class preinteressent else $qry.=" AND absagedatum is null"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new preinteressent($this->conn, null, null); + $obj = new preinteressent(); $obj->preinteressent_id = $row->preinteressent_id; $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; @@ -506,7 +470,13 @@ class preinteressent } } - function loadZuordnungen($preinteressent_id) + /** + * Laedt die Zuordnung von Preinteressenten zu Studiengaengen + * + * @param $preinteressent_id + * @return booelan + */ + public function loadZuordnungen($preinteressent_id) { if(!is_numeric($preinteressent_id) || $preinteressent_id=='') { @@ -514,13 +484,14 @@ class preinteressent return false; } - $qry = "SELECT * FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id' ORDER BY studiengang_kz"; + $qry = "SELECT * FROM public.tbl_preinteressentstudiengang + WHERE preinteressent_id='$preinteressent_id' ORDER BY studiengang_kz"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new preinteressent($this->conn, null, null); + $obj = new preinteressent(); $obj->studiengang_kz = $row->studiengang_kz; $obj->preinteressent_id = $row->preinteressent_id; @@ -543,11 +514,11 @@ class preinteressent } } - // ***************************************** - // * Laedt eine Zuordnung - // * @return true wenn ok, false wenn Fehler - // ***************************************** - function loadZuordnung($preinteressent_id, $studiengang_kz) + /** + * Laedt eine Zuordnung + * @return true wenn ok, false wenn Fehler + */ + public function loadZuordnung($preinteressent_id, $studiengang_kz) { if(!is_numeric($preinteressent_id) || $preinteressent_id=='') { @@ -561,11 +532,12 @@ class preinteressent return false; } - $qry = "SELECT * FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='$studiengang_kz'"; + $qry = "SELECT * FROM public.tbl_preinteressentstudiengang + WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='$studiengang_kz'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->studiengang_kz = $row->studiengang_kz; $this->preinteressent_id = $row->preinteressent_id; @@ -591,12 +563,12 @@ class preinteressent } } - // ******************************************** - // * Speichert die Studiengangszuordnung eines - // * Preinteressent - // * @return true wenn ok, false wenn Fehler - // ******************************************** - function saveZuordnung($new=null) + /** + * Speichert die Studiengangszuordnung eines + * Preinteressent + * @return true wenn ok, false wenn Fehler + */ + public function saveZuordnung($new=null) { if($new==null) $new = $this->new; @@ -628,7 +600,7 @@ class preinteressent " WHERE preinteressent_id='".addslashes($this->preinteressent_id)."' AND studiengang_kz='".addslashes($this->studiengang_kz)."'"; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -639,11 +611,11 @@ class preinteressent } } - // ***************************************** - // * Loescht eine Zuordnung - // * @return true wenn ok, false wenn Fehler - // ***************************************** - function deleteZuordnung($preinteressent_id, $studiengang_kz) + /** + * Loescht eine Zuordnung + * @return true wenn ok, false wenn Fehler + */ + public function deleteZuordnung($preinteressent_id, $studiengang_kz) { if(!is_numeric($preinteressent_id) || $preinteressent_id=='') { @@ -657,9 +629,10 @@ class preinteressent return false; } - $qry = "DELETE FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='$studiengang_kz'"; + $qry = "DELETE FROM public.tbl_preinteressentstudiengang + WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='$studiengang_kz'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -670,11 +643,11 @@ class preinteressent } } - // ****************************************** - // * Laedt alle Preinteressenten einer Person - // * @return true wenn ok, false wenn Fehler - // ****************************************** - function getPreinteressenten($person_id) + /** + * Laedt alle Preinteressenten einer Person + * @return true wenn ok, false wenn Fehler + */ + public function getPreinteressenten($person_id) { if(!is_numeric($person_id) || $person_id=='') { @@ -684,11 +657,11 @@ class preinteressent $qry = "SELECT * FROM public.tbl_preinteressent WHERE person_id='$person_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new preinteressent($this->conn, null, null); + $obj = new preinteressent(); $obj->preinteressent_id = $row->preinteressent_id; $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; diff --git a/include/prestudent.class.php b/include/prestudent.class.php index 1adcc3c85..ada05c4f9 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -23,86 +23,76 @@ class prestudent extends person { //Tabellenspalten - var $prestudent_id; // varchar(16) - var $aufmerksamdurch_kurzbz; - var $studiengang_kz; - var $berufstaetigkeit_code; - var $ausbildungcode; - var $zgv_code; - var $zgvort; - var $zgvdatum; - var $zgvmas_code; - var $zgvmaort; - var $zgvmadatum; - var $aufnahmeschluessel; - var $facheinschlberuf; - var $anmeldungreihungstest; - var $reihungstestangetreten; - var $reihungstest_id; - var $punkte; //rt_gesamtpunkte - var $rt_punkte1; - var $rt_punkte2; - var $bismelden; - var $anmerkung; - var $ext_id_prestudent; - var $dual; + public $prestudent_id; // varchar(16) + public $aufmerksamdurch_kurzbz; + public $studiengang_kz; + public $berufstaetigkeit_code; + public $ausbildungcode; + public $zgv_code; + public $zgvort; + public $zgvdatum; + public $zgvmas_code; + public $zgvmaort; + public $zgvmadatum; + public $aufnahmeschluessel; + public $facheinschlberuf; + public $anmeldungreihungstest; + public $reihungstestangetreten; + public $reihungstest_id; + public $punkte; //rt_gesamtpunkte + public $rt_punkte1; + public $rt_punkte2; + public $bismelden; + public $anmerkung; + public $ext_id_prestudent; + public $dual; - var $status_kurzbz; - var $studiensemester_kurzbz; - var $ausbildungssemester; - var $datum; - var $insertamum; - var $insertvon; - var $updateamum; - var $updatevon; - var $orgform_kurzbz; + public $status_kurzbz; + public $studiensemester_kurzbz; + public $ausbildungssemester; + public $datum; + public $insertamum; + public $insertvon; + public $updateamum; + public $updatevon; + public $orgform_kurzbz; - var $studiensemester_old=''; - var $ausbildungssemester_old=''; + public $studiensemester_old=''; + public $ausbildungssemester_old=''; // ErgebnisArray - var $result=array(); - var $num_rows=0; + public $result=array(); + public $num_rows=0; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional einen Prestudent - // * @param $conn Datenbank-Connection - // * $prestudent_id Prestudent der geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function prestudent($conn, $prestudent_id=null, $unicode=false) + /** + * Konstruktor - Uebergibt die Connection und laedt optional einen Prestudent + * @param $prestudent_id Prestudent der geladen werden soll (default=null) + */ + public function __construct($prestudent_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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; - } - } -*/ + parent::__construct(); + if($prestudent_id != null) $this->load($prestudent_id); } - // *********************************************************** - // * Laedt Prestudent mit der uebergebenen ID - // * @param $uid ID der Person die geladen werden soll - // *********************************************************** - function load($prestudent_id) + /** + * Laedt Prestudent mit der uebergebenen ID + * @param $uid ID der Person die geladen werden soll + */ + public function load($prestudent_id) { - $qry = "SELECT * FROM public.tbl_prestudent WHERE prestudent_id='$prestudent_id'"; - if($result = pg_query($this->conn, $qry)) + if(!is_numeric($prestudent_id)) { - if($row = pg_fetch_object($result)) + $this->errormsg = 'ID ist ungueltig'; + return false; + } + + $qry = "SELECT * FROM public.tbl_prestudent WHERE prestudent_id='$prestudent_id'"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) { $this->prestudent_id = $row->prestudent_id; $this->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz; @@ -147,12 +137,12 @@ class prestudent extends person } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if($this->punkte>9999.9999) { @@ -172,13 +162,13 @@ class prestudent extends person return true; } - // ****************************************************************** - // * Speichert die Benutzerdaten in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt - // * ansonsten der Datensatz mit $uid upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ****************************************************************** - function save() + /** + * Speichert die Benutzerdaten in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt + * ansonsten der Datensatz mit $uid upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { //Personen Datensatz speichern //if(!person::save()) @@ -250,30 +240,30 @@ class prestudent extends person " WHERE prestudent_id='".addslashes($this->prestudent_id)."';"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { if($this->new) { $qry = "SELECT currval('public.tbl_prestudent_prestudent_id_seq') as id;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->prestudent_id = $row->id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { $this->errormsg = 'Fehler beim auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); return false; } } @@ -287,13 +277,13 @@ class prestudent extends person } } - // ****************************************************************** - // * Laden aller Prestudenten, die an $datum zum Reihungstest geladen sind. - // * Wenn $equal auf true gesetzt ist wird genau dieses Datum verwendet, - // * ansonsten werden auch alle mit späterem Datum geladen. - // * @return true wenn erfolgreich, false im Fehlerfall - // ****************************************************************** - function getPrestudentRT($datum, $equal=false) + /** + * Laden aller Prestudenten, die an $datum zum Reihungstest geladen sind. + * Wenn $equal auf true gesetzt ist wird genau dieses Datum verwendet, + * ansonsten werden auch alle mit späterem Datum geladen. + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function getPrestudentRT($datum, $equal=false) { $sql_query='SELECT DISTINCT * FROM public.vw_prestudent WHERE rt_datum'; if ($equal) @@ -302,7 +292,7 @@ class prestudent extends person $sql_query.='>='; $sql_query.="'$datum' ORDER BY nachname,vorname"; - if(!$result=pg_query($this->conn,$sql_query)) + if(!$this->db_query($sql_query)) { $this->errormsg = 'Fehler beim Speichern des Benutzer-Datensatzes:'.$sql_query; return false; @@ -310,9 +300,9 @@ class prestudent extends person $this->num_rows=0; - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $ps=new prestudent($this->conn); + $ps=new prestudent(); $ps->prestudent_id = $row->prestudent_id; $ps->person_id = $row->person_id; $ps->reihungstest_id = $row->reihungstest_id; @@ -366,14 +356,14 @@ class prestudent extends person //$ps->ext_id_prestudent = $row->ext_id_prestudent; $this->result[]=$ps; $this->num_rows++; - } - + } + return true; } - // ******** - // * Laedt die Rolle(n) eines Prestudenten - // ******** - function getPrestudentRolle($prestudent_id, $status_kurzbz=null, $studiensemester_kurzbz=null, $order="datum, insertamum", $ausbildungssemester=null) + /** + * Laedt die Rolle(n) eines Prestudenten + */ + public function getPrestudentRolle($prestudent_id, $status_kurzbz=null, $studiensemester_kurzbz=null, $order="datum, insertamum", $ausbildungssemester=null) { if(!is_numeric($prestudent_id)) { @@ -390,11 +380,11 @@ class prestudent extends person $qry.= " AND ausbildungssemester='".addslashes($ausbildungssemester)."'"; $qry.= ' ORDER BY '.$order; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $rolle = new prestudent($this->conn, null, null); + $rolle = new prestudent(); $rolle->prestudent_id = $row->prestudent_id; $rolle->status_kurzbz = $row->status_kurzbz; @@ -418,10 +408,16 @@ class prestudent extends person } } - // ******** - // * Laedt die Rolle(n) eines Prestudenten - // ******** - function load_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester) + /** + * Laedt die Rolle + * + * @param $prestudent_id + * @param $status_kurzbz + * @param $studiensemester_kurzbz + * @param $ausbildungssemester + * @return boolean + */ + public function load_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester) { if(!is_numeric($prestudent_id) || $prestudent_id=='') { @@ -434,9 +430,9 @@ class prestudent extends person " AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'". " AND ausbildungssemester='".addslashes($ausbildungssemester)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->prestudent_id = $row->prestudent_id; $this->status_kurzbz = $row->status_kurzbz; @@ -464,12 +460,12 @@ class prestudent extends person } } - // ******************************************************************************* - // * Laedt die Interessenten und Bewerber fuer ein bestimmtes Studiensemester - // * @param $studiensemester_kurzbz Studiensemester fuer das die Int. und Bewerber - // * geladen werden sollen - // ******************************************************************************* - function loadIntessentenUndBewerber($studiensemester_kurzbz, $studiengang_kz, $semester=nulll, $typ=null, $orgform=null) + /** + * Laedt die Interessenten und Bewerber fuer ein bestimmtes Studiensemester + * @param $studiensemester_kurzbz Studiensemester fuer das die Int. und Bewerber + * geladen werden sollen + */ + public function loadIntessentenUndBewerber($studiensemester_kurzbz, $studiengang_kz, $semester=nulll, $typ=null, $orgform=null) { $qry = "SELECT *, a.anmerkung, tbl_person.anmerkung as anmerkungen @@ -531,11 +527,11 @@ class prestudent extends person } - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $ps = new prestudent($this->conn, null, null); + $ps = new prestudent(); $ps->person_id = $row->person_id; $ps->staatsbuergerschaft = $row->staatsbuergerschaft; @@ -600,16 +596,16 @@ class prestudent extends person } } - // ******************************************************** - // * Prueft ob eine Person bereits einen PreStudenteintrag - // * fuer einen Studiengang besitzt - // * @param person_id - // * studiengang_kz - // * @return true wenn vorhanden - // * false wenn nicht vorhanden - // * false und errormsg wenn Fehler aufgetreten ist - // ********************************************************* - function exists($person_id, $studiengang_kz) + /** + * Prueft ob eine Person bereits einen PreStudenteintrag + * fuer einen Studiengang besitzt + * @param person_id + * studiengang_kz + * @return true wenn vorhanden + * false wenn nicht vorhanden + * false und errormsg wenn Fehler aufgetreten ist + */ + public function exists($person_id, $studiengang_kz) { if(!is_numeric($person_id)) { @@ -623,10 +619,11 @@ class prestudent extends person return false; } - $qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent WHERE person_id='$person_id' AND studiengang_kz='$studiengang_kz'"; - if($result = pg_query($this->conn, $qry)) + $qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent + WHERE person_id='$person_id' AND studiengang_kz='$studiengang_kz'"; + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { if($row->anzahl>0) { @@ -652,11 +649,11 @@ class prestudent extends person } } - // ******************************************* - // * Speichert die Prestudentrolle - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function save_rolle() + /** + * Speichert die Prestudentrolle + * @return true wenn ok, false im Fehlerfall + */ + public function save_rolle() { if($this->new) { @@ -704,7 +701,7 @@ class prestudent extends person " WHERE prestudent_id='".addslashes($this->prestudent_id)."' AND status_kurzbz='".addslashes($this->status_kurzbz)."' AND studiensemester_kurzbz='".addslashes($this->studiensemester_old)."' AND ausbildungssemester='".addslashes($this->ausbildungssemester_old)."';"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; @@ -716,14 +713,14 @@ class prestudent extends person } } - // ****************************************** - // * Loescht eine Rolle - // * @param $prestudent_id - // * $status_kurzbz - // * $studiensemester_kurzbz - // * @return true wenn ok, false wenn Fehler - // ****************************************** - function delete_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester) + /** + * Loescht eine Rolle + * @param $prestudent_id + * $status_kurzbz + * $studiensemester_kurzbz + * @return true wenn ok, false wenn Fehler + */ + public function delete_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester) { if(!is_numeric($prestudent_id)) { @@ -734,9 +731,9 @@ class prestudent extends person $qry = "DELETE FROM public.tbl_prestudentstatus WHERE prestudent_id='$prestudent_id' AND status_kurzbz='".addslashes($status_kurzbz)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND ausbildungssemester='".addslashes($ausbildungssemester)."'"; if($this->load_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester)) { - pg_query($this->conn, 'BEGIN;'); + $this->db_query('BEGIN;'); - $log = new log($this->conn, null, null); + $log = new log(); $log->executetime = date('Y-m-d H:i:s'); $log->beschreibung = 'Loeschen der Rolle '.$status_kurzbz.' bei '.$prestudent_id; @@ -758,21 +755,21 @@ class prestudent extends person if($log->save(true)) { - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); $this->errormsg = 'Fehler beim Loeschen der Daten'; return false; } } else { - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; return false; } @@ -782,8 +779,15 @@ class prestudent extends person return false; } } - - function getLastStatus($prestudent_id, $studiensemester_kurzbz='') + + /** + * Liefert den Letzten Status eines Prestudenten in einem Studiensemester + * Wenn kein Studiensemester angegeben wird, wird der letztgueltige Status ermittelt + * @param $prestudent_id + * @param $studiensemester_kurzbz + * @return boolean + */ + public function getLastStatus($prestudent_id, $studiensemester_kurzbz='') { if($prestudent_id=='' || !is_numeric($prestudent_id)) { @@ -794,12 +798,12 @@ class prestudent extends person $qry = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='$prestudent_id'"; if($studiensemester_kurzbz!='') - $qry.=" AND studiensemester_kurzbz='$studiensemester_kurzbz'"; + $qry.=" AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; $qry.=" ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->prestudent_id = $row->prestudent_id; $this->status_kurzbz = $row->status_kurzbz; @@ -826,11 +830,11 @@ class prestudent extends person } } - // ********************************************** - // * Laedt alle Prestudenten der Person - // * @return true wenn ok, false wenn Fehler - // ********************************************** - function getPrestudenten($person_id) + /** + * Laedt alle Prestudenten der Person + * @return true wenn ok, false wenn Fehler + */ + public function getPrestudenten($person_id) { if(!is_numeric($person_id) || $person_id=='') { @@ -840,11 +844,11 @@ class prestudent extends person $qry = "SELECT * FROM public.tbl_prestudent WHERE person_id='$person_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new prestudent($this->conn, null, null); + $obj = new prestudent(); $obj->prestudent_id = $row->prestudent_id; $obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz; diff --git a/include/projektarbeit.class.php b/include/projektarbeit.class.php index c201368bd..2fdc70d48 100644 --- a/include/projektarbeit.class.php +++ b/include/projektarbeit.class.php @@ -23,66 +23,47 @@ * Klasse projektarbeit * @create 08-02-2007 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class projektarbeit +class projektarbeit extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var adresse Objekt + public $new; // boolean + public $result = array(); // adresse Objekt //Tabellenspalten - var $projektarbeit_id; // @var integer - var $projekttyp_kurzbz; // @var string - var $titel; // @var string - var $titel_english; // @var string - var $lehreinheit_id; // @var integer - var $student_uid; // @var integer - var $firma_id; // @var integer - var $note; // @var integer - var $punkte; // @var numeric(6,2) - var $beginn; // @var date - var $ende; // @var date - var $faktor; // @var numeric(3,2) - var $freigegeben; // @var boolean - var $gesperrtbis; // @var date - var $stundensatz; // @var numeric(6,2) - var $gesamtstunden; // @var numeric(8,2) - var $themenbereich; // @var sting - var $anmerkung; // @var string - var $ext_id; // @var integer - var $insertamum; // @var timestamp - var $insertvon; // @var bigint - var $updateamum; // @var timestamp - var $updatevon; // @var bigint + public $projektarbeit_id; // integer + public $projekttyp_kurzbz; // string + public $titel; // string + public $titel_english; // string + public $lehreinheit_id; // integer + public $student_uid; // integer + public $firma_id; // integer + public $note; // integer + public $punkte; // numeric(6,2) + public $beginn; // date + public $ende; // date + public $faktor; // numeric(3,2) + public $freigegeben; // boolean + public $gesperrtbis; // date + public $stundensatz; // numeric(6,2) + public $gesamtstunden; // numeric(8,2) + public $themenbereich; // sting + public $anmerkung; // string + public $ext_id; // integer + public $insertamum; // timestamp + public $insertvon; // bigint + public $updateamum; // timestamp + public $updatevon; // bigint /** * Konstruktor - * @param $conn Connection - * $projektarbeit_id ID der Projektarbeit, die geladen werden soll (Default=null) + * @param $projektarbeit_id ID der Projektarbeit, die geladen werden soll (Default=null) */ - function projektarbeit($conn,$projektarbeit_id=null, $unicode=false) + public function __construct($projektarbeit_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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; - } - } -*/ + parent::__construct(); + if($projektarbeit_id != null) $this->load($projektarbeit_id); } @@ -92,7 +73,7 @@ class projektarbeit * @param $projektarbeit_id ID der zu ladenden Projektarbeit * @return true wenn ok, false im Fehlerfall */ - function load($projektarbeit_id) + public function load($projektarbeit_id) { if(!is_numeric($projektarbeit_id)) { @@ -102,9 +83,9 @@ class projektarbeit $qry = "SELECT * FROM lehre.tbl_projektarbeit WHERE projektarbeit_id='$projektarbeit_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->projektarbeit_id = $row->projektarbeit_id; $this->projekttyp_kurzbz = $row->projekttyp_kurzbz; @@ -145,14 +126,13 @@ class projektarbeit } /** - * Prueft die Variablen auf gueltigkeit + * Prueft die Variablen auf Gueltigkeit * @return true wenn ok, false im Fehlerfall */ - function checkvars() + protected function validate() { //Gesamtlaenge pruefen - //$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten'; if ($this->projekttyp_kurzbz==null) { $this->errormsg='Projekttyp_kurzbz darf nicht NULL sein!'; @@ -220,26 +200,17 @@ class projektarbeit $this->errormsg = ''; return true; } - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } + /** * Speichert den aktuellen Datensatz in die Datenbank * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt * andernfalls wird der Datensatz mit der ID in $projektarbeit_id aktualisiert * @return true wenn ok, false im Fehlerfall */ - function save($new=null) + public function save($new=null) { //Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($new==null) @@ -307,31 +278,31 @@ class projektarbeit 'WHERE projektarbeit_id='.$this->addslashes($this->projektarbeit_id).';'; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { if($new) { //Sequence auslesen $qry = "SELECT currval('lehre.tbl_projektarbeit_projektarbeit_id_seq') as id;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->projektarbeit_id = $row->id; - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); return false; } } @@ -350,7 +321,7 @@ class projektarbeit * @param $projektarbeit_id ID die geloescht werden soll * @return true wenn ok, false im Fehlerfall */ - function delete($projektarbeit_id) + public function delete($projektarbeit_id) { if(!is_numeric($projektarbeit_id)) { @@ -360,7 +331,7 @@ class projektarbeit $qry = "DELETE FROM lehre.tbl_projektarbeit WHERE projektarbeit_id='$projektarbeit_id'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -371,20 +342,20 @@ class projektarbeit } } - // ******************************************** - // * Laedt alle Projektarbeiten eines Studenten - // * @param student_uid - // * @return true wenn ok, false wenn Fehler - // ******************************************** - function getProjektarbeit($student_uid) + /** + * Laedt alle Projektarbeiten eines Studenten + * @param student_uid + * @return true wenn ok, false wenn Fehler + */ + public function getProjektarbeit($student_uid) { $qry = "SELECT * FROM lehre.tbl_projektarbeit WHERE student_uid='".addslashes($student_uid)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new projektarbeit($this->conn, null, null); + $obj = new projektarbeit(); $obj->projektarbeit_id = $row->projektarbeit_id; $obj->projekttyp_kurzbz = $row->projekttyp_kurzbz; @@ -412,7 +383,7 @@ class projektarbeit $this->result[] = $obj; } - + return true; } else { @@ -421,12 +392,12 @@ class projektarbeit } } - // ******************************************** - // * Laedt alle Projektarbeiten eines Studienganges/Studiensemesters - // * @param studiengang_kz, studiensemester_kurzbz - // * @return true wenn ok, false wenn Fehler - // ******************************************** - function getProjektarbeitStudiensemester($studiengang_kz, $studiensemester_kurzbz) + /** + * Laedt alle Projektarbeiten eines Studienganges/Studiensemesters + * @param studiengang_kz, studiensemester_kurzbz + * @return true wenn ok, false wenn Fehler + */ + public function getProjektarbeitStudiensemester($studiengang_kz, $studiensemester_kurzbz) { $qry = "SELECT tbl_projektarbeit.* @@ -438,11 +409,11 @@ class projektarbeit tbl_lehrveranstaltung.studiengang_kz='".addslashes($studiengang_kz)."' AND tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new projektarbeit($this->conn, null, null); + $obj = new projektarbeit(); $obj->projektarbeit_id = $row->projektarbeit_id; $obj->projekttyp_kurzbz = $row->projekttyp_kurzbz; @@ -470,7 +441,7 @@ class projektarbeit $this->result[] = $obj; } - + return true; } else { diff --git a/include/projektbetreuer.class.php b/include/projektbetreuer.class.php index 756d625e2..528f7778b 100644 --- a/include/projektbetreuer.class.php +++ b/include/projektbetreuer.class.php @@ -23,58 +23,39 @@ * Klasse projektbetreuer * @create 08-02-2007 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class projektbetreuer +class projektbetreuer extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var adresse Objekt + public $new; // boolean + public $result = array(); // adresse Objekt //Tabellenspalten - var $person_id; // @var integer - var $projektarbeit_id; // @var integer - var $note; // @var integer - var $betreuerart_kurzbz;// @var varchar - var $faktor; // @var numeric(3,2) - var $name; // @var string - var $punkte; // @var numeric(6,2) - var $stunden; // @var numeric(8,4) - var $stundensatz; // @var numeric(6,2) - var $ext_id; // @var integer - var $insertamum; // @var timestamp - var $insertvon; // @var bigint - var $updateamum; // @var timestamp - var $updatevon; // @var bigint + public $person_id; // integer + public $projektarbeit_id; // integer + public $note; // integer + public $betreuerart_kurzbz;// varchar + public $faktor; // numeric(3,2) + public $name; // string + public $punkte; // numeric(6,2) + public $stunden; // numeric(8,4) + public $stundensatz; // numeric(6,2) + public $ext_id; // integer + public $insertamum; // timestamp + public $insertvon; // bigint + public $updateamum; // timestamp + public $updatevon; // bigint - var $person_id_old; + public $person_id_old; /** * Konstruktor - * @param $conn Connection - * $person_id, $projektarbeit ID des Projektbetreuers, der geladen werden soll (Default=null) + * @param $person_id, $projektarbeit ID des Projektbetreuers, der geladen werden soll (Default=null) */ - function projektbetreuer($conn, $person_id=null, $projektarbeit_id=null, $unicode=false) + public function __construct($person_id=null, $projektarbeit_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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; - } - } -*/ + parent::__construct(); + if($projektarbeit_id != null && $person_id!=null) $this->load($person_id, $projektarbeit_id); } @@ -85,7 +66,7 @@ class projektbetreuer * @param $projektarbeit_id ID der zu ladenden Funktion * @return true wenn ok, false im Fehlerfall */ - function load($person_id, $projektarbeit_id, $betreuerart_kurzbz) + public function load($person_id, $projektarbeit_id, $betreuerart_kurzbz) { if(!is_numeric($person_id)) { @@ -101,9 +82,9 @@ class projektbetreuer $qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE person_id='$person_id' AND projektarbeit_id='$projektarbeit_id' AND betreuerart_kurzbz='".addslashes($betreuerart_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->person_id = $row->person_id; $this->projektarbeit_id = $row->projektarbeit_id; @@ -135,15 +116,11 @@ class projektbetreuer } /** - * Prueft die Variablen auf gueltigkeit + * Prueft die Variablen auf Gueltigkeit * @return true wenn ok, false im Fehlerfall */ - function checkvars() + protected function validate() { - - //Gesamtlaenge pruefen - //$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten'; - if($this->betreuerart_kurzbz=='') { $this->errormsg = 'Betreuerart muss eingegeben werden'; @@ -180,35 +157,36 @@ class projektbetreuer return false; } - + //Pruefen ob projektarbeit_id eine gueltige Zahl ist + if(!is_numeric($this->projektarbeit_id)) + { + $this->errormsg = 'projektarbeit_id muss eine gueltige Zahl sein'; + return false; + } + + //Pruefen ob person_id eine gueltige Zahl ist + if(!is_numeric($this->person_id)) + { + $this->errormsg = 'person_id muss eine gueltige Zahl sein'; + return false; + } $this->errormsg = ''; return true; } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - + /** * Speichert den aktuellen Datensatz in die Datenbank * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt * andernfalls wird der Datensatz aktualisiert * @return true wenn ok, false im Fehlerfall */ - function save($new=null) + public function save($new=null) { if($new==null) $new = $this->new; //Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($new) @@ -235,19 +213,6 @@ class projektbetreuer if($this->person_id_old=='') $this->person_id_old = $this->person_id; - //Pruefen ob projektarbeit_id eine gueltige Zahl ist - if(!is_numeric($this->projektarbeit_id)) - { - $this->errormsg = 'projektarbeit_id muss eine gueltige Zahl sein'; - return false; - } - - //Pruefen ob person_id eine gueltige Zahl ist - if(!is_numeric($this->person_id)) - { - $this->errormsg = 'person_id muss eine gueltige Zahl sein'; - return false; - } if($this->betreuerart_kurzbz_old=='') $this->betreuerart_kurzbz_old = $this->betreuerart_kurzbz; @@ -264,8 +229,8 @@ class projektbetreuer 'updatevon='.$this->addslashes($this->updatevon).' '. "WHERE projektarbeit_id='".addslashes($this->projektarbeit_id)."' AND person_id='".addslashes($this->person_id_old)."' AND betreuerart_kurzbz='".addslashes($this->betreuerart_kurzbz_old)."';"; } - //echo $qry; - if(pg_query($this->conn,$qry)) + + if($this->db_query($qry)) { return true; } @@ -282,7 +247,7 @@ class projektbetreuer * @param $projektarbeit_id ID die geloescht werden soll * @return true wenn ok, false im Fehlerfall */ - function delete($person_id, $projektarbeit_id, $betreuerart_kurzbz) + public function delete($person_id, $projektarbeit_id, $betreuerart_kurzbz) { if(!is_numeric($person_id)) { @@ -298,7 +263,7 @@ class projektbetreuer $qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id='".$person_id."' AND projektarbeit_id='".$projektarbeit_id."' AND betreuerart_kurzbz='".addslashes($betreuerart_kurzbz)."';"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -309,11 +274,11 @@ class projektbetreuer } } - // ************************************************ - // * Liefert alle Betreuer zu einer Projektarbeit - // * @param projektarbeit_id - // ************************************************ - function getProjektbetreuer($projektarbeit_id) + /** + * Liefert alle Betreuer zu einer Projektarbeit + * @param projektarbeit_id + */ + public function getProjektbetreuer($projektarbeit_id) { if(!is_numeric($projektarbeit_id)) { @@ -323,11 +288,11 @@ class projektbetreuer $qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id='".$projektarbeit_id."' ORDER BY name"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new projektbetreuer($this->conn, null, null, null); + $obj = new projektbetreuer(); $obj->person_id = $row->person_id; $obj->projektarbeit_id = $row->projektarbeit_id; @@ -346,6 +311,12 @@ class projektbetreuer $this->result[] = $obj; } + return true; + } + else + { + $this->errormsg = 'Fehler bei einer Abfrage'; + return false; } } } diff --git a/include/pruefling.class.php b/include/pruefling.class.php index bdc256235..0f239d073 100644 --- a/include/pruefling.class.php +++ b/include/pruefling.class.php @@ -19,60 +19,46 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class pruefling +class pruefling extends basis_db { //Tabellenspalten - var $pruefling_id; - var $studiengang_kz; - var $idnachweis; - var $registriert; - var $prestudent_id; - var $semester; + public $pruefling_id; + public $studiengang_kz; + public $idnachweis; + public $registriert; + public $prestudent_id; + public $semester; // ErgebnisArray - var $result=array(); - var $num_rows=0; - var $errormsg; - var $new; + public $result=array(); + public $num_rows=0; + public $new; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional einen pruefling - // * @param $conn Datenbank-Connection - // * $frage_id Frage die geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function pruefling($conn, $pruefling_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional einen pruefling + * @param $frage_id Frage die geladen werden soll (default=null) + */ + public function __construct($pruefling_id=null) { - $this->conn = $conn; -/* - 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; - } -*/ + parent::__construct(); + if($pruefling_id != null) $this->load($pruefling_id); } - // *********************************************************** - // * Laedt Pruefling mit der uebergebenen ID - // * @param $pruefling_id ID der Frage die geladen werden soll - // *********************************************************** - function load($pruefling_id) + /** + * Laedt Pruefling mit der uebergebenen ID + * @param $pruefling_id ID der Frage die geladen werden soll + */ + public function load($pruefling_id) { $qry = "SELECT * FROM testtool.tbl_pruefling WHERE pruefling_id='".addslashes($pruefling_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->pruefling_id = $row->pruefling_id; $this->studiengang_kz = $row->studiengang_kz; @@ -90,39 +76,28 @@ class pruefling } else { - $this->errormsg = "Fehler beim laden: $qry"; + $this->errormsg = "Fehler beim Laden: $qry"; return false; } } - - // ************************************************ - // * 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'); - } - - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { return true; } - // ****************************************************************** - // * Speichert die Benutzerdaten in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt - // * ansonsten der Datensatz mit $uid upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ****************************************************************** - function save() + /** + * Speichert die Benutzerdaten in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt + * ansonsten der Datensatz mit $uid upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { //Variablen auf Gueltigkeit pruefen if(!$this->validate()) @@ -148,29 +123,29 @@ class pruefling " WHERE pruefling_id='".addslashes($this->pruefling_id)."';"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { if($this->new) { $qry = "SELECT currval('testtool.tbl_pruefling_pruefling_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->pruefling_id = $row->id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); $this->errormsg = 'Fehler beim Lesen der Sequence'; return false; } } else { - pg_query($this->conn, 'ROLLBACK;'); + $this->db_query('ROLLBACK;'); $this->errormsg = 'Fehler beim Lesen der Sequence'; return false; } @@ -182,18 +157,25 @@ class pruefling } else { - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); $this->errormsg = 'Fehler beim Speichern der Frage:'.$qry; return false; } } - function getPruefling($prestudent_id) + /** + * Laedt einen Puefling anhand der Prestudent_id + * + * @param $prestudent_id + * @return boolean + */ + public function getPruefling($prestudent_id) { $qry = "SELECT * FROM testtool.tbl_pruefling WHERE prestudent_id='".addslashes($prestudent_id)."'"; - if($result = pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->pruefling_id = $row->pruefling_id; $this->studiengang_kz = $row->studiengang_kz; @@ -211,7 +193,7 @@ class pruefling } else { - $this->errormsg = "Fehler beim laden: $qry"; + $this->errormsg = "Fehler beim Laden: $qry"; return false; } } @@ -223,9 +205,9 @@ class pruefling * @param $pruefling_id * @param $gebiet_id */ - function getPrueflingLevel($pruefling_id, $gebiet_id) + public function getPrueflingLevel($pruefling_id, $gebiet_id) { - $gebiet = new gebiet($this->conn, $gebiet_id); + $gebiet = new gebiet($gebiet_id); //wenn Levelsystem fuer dieses Gebiet aktiviert ist if($gebiet->level_start!='') @@ -234,11 +216,12 @@ class pruefling $max_level = 0; $min_level = 0; - $qry = "SELECT max(level) as max, min(level) as min FROM testtool.tbl_frage WHERE gebiet_id='".addslashes($gebiet_id)."'"; + $qry = "SELECT max(level) as max, min(level) as min FROM testtool.tbl_frage + WHERE gebiet_id='".addslashes($gebiet_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $max_level = $row->max; $min_level = $row->min; @@ -272,9 +255,9 @@ class pruefling $aktueller_level=$gebiet->level_start; $anzahl_richtig=0; $anzahl_falsch=0; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { if($row->punkte>0) { @@ -313,6 +296,11 @@ class pruefling return $aktueller_level; } + else + { + $this->errormsg = 'Fehler bei einer Abfrage'; + return false; + } } else return -1; @@ -324,16 +312,16 @@ class pruefling * @param $prestudent_id * @return Endpunkte des Reihungstests */ - function getReihungstestErgebnis($prestudent_id) + public function getReihungstestErgebnis($prestudent_id) { $qry = "SELECT * FROM testtool.vw_auswertung WHERE prestudent_id='".addslashes($prestudent_id)."'"; $ergebnis=0; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { //wenn maxpunkte ueberschritten wurde -> 100% if($row->punkte>=$row->maxpunkte) @@ -345,6 +333,11 @@ class pruefling } return $ergebnis; } + else + { + $this->errormsg = 'Fehler bei einer Abfrage'; + return false; + } } } ?> diff --git a/include/pruefung.class.php b/include/pruefung.class.php index a32c9a463..b6812ce24 100644 --- a/include/pruefung.class.php +++ b/include/pruefung.class.php @@ -20,69 +20,51 @@ * Rudolf Hangl and * Gerald Raab . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class pruefung +class pruefung extends basis_db { - var $conn; // resource DB-Handle - var $new; // boolean - var $errormsg; // string - var $result = array(); // pruefung Objekt + public $new; // boolean + public $result = array(); // pruefung Objekt - var $pruefung_id; - var $lehreinheit_id; // integer - var $student_uid; // varchar(16) - var $mitarbeiter_uid; // varchar(16) - var $note; // smallint - var $pruefungstyp_kurzbz; // varchar(16) - var $datum; // Date - var $anmerkung; // varchar(256) - var $insertamum; // timestamp) - var $insertvon; // varchar(16) - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $ext_id; // bigint + public $pruefung_id; + public $lehreinheit_id; // integer + public $student_uid; // varchar(16) + public $mitarbeiter_uid; // varchar(16) + public $note; // smallint + public $pruefungstyp_kurzbz; // varchar(16) + public $datum; // Date + public $anmerkung; // varchar(256) + public $insertamum; // timestamp) + public $insertvon; // varchar(16) + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $ext_id; // bigint - var $lehrveranstaltung_bezeichnung; - var $lehrveranstaltung_id; - var $note_bezeichnung; - var $pruefungstyp_beschreibung; - var $studiensemester_kurzbz; + public $lehrveranstaltung_bezeichnung; + public $lehrveranstaltung_id; + public $note_bezeichnung; + public $pruefungstyp_beschreibung; + public $studiensemester_kurzbz; - // ************************************************************** - // * Konstruktor - // * @param conn Connection zur Datenbank - // * pruefung_id ID der zu ladenden Pruefung - // * unicode Wenn true, dann wird das Encoding auf UNICODE - // * gesetzt wenn false dann auf LATIN9 - // ************************************************************** - function pruefung($conn, $pruefung_id=null, $unicode=false) + /** + * Konstruktor + * @param pruefung_id ID der zu ladenden Pruefung + */ + public function __construct($pruefung_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + parent::__construct(); - if(!pg_query($conn,$qry)) - { - $this->errormsg = "Encoding konnte nicht gesetzt werden"; - return false; - } - } -*/ if($pruefung_id!=null) $this->load($pruefung_id); } - // ***************************************************** - // * Laedt einen Prüfungsdatensatz - // * @param pruefung_id ID - // * @return true wenn ok, false im Fehlerfall - // ***************************************************** - function load($pruefung_id) + /** + * Laedt einen Prüfungsdatensatz + * @param pruefung_id ID + * @return true wenn ok, false im Fehlerfall + */ + public function load($pruefung_id) { if(!is_numeric($pruefung_id)) { @@ -93,9 +75,9 @@ class pruefung $qry = "SELECT tbl_pruefung.*, tbl_lehreinheit.lehrveranstaltung_id, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz FROM lehre.tbl_pruefung JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE pruefung_id=$pruefung_id"; - if($res = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->pruefung_id = $row->pruefung_id; $this->lehreinheit_id=$row->lehreinheit_id; @@ -123,28 +105,28 @@ class pruefung return true; } - // ******************************************* - // * Liefert alle Studiengaenge - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function getAll($order=null, $student=null) + /** + * Liefert alle Pruefungen + * @return true wenn ok, false im Fehlerfall + */ + public function getAll($order=null, $student=null) { $qry = 'SELECT * FROM lehre.tbl_pruefung'; if ($student) - $qry.=' WHERE student ="'.$student.'"'; + $qry.=' WHERE student ="'.addslashes($student).'"'; if($order!=null) $qry .=" ORDER BY $order"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $pruef_obj = new pruefung($this->conn); + $pruef_obj = new pruefung(); $pruef_obj->lehreinheit_id=$row->lehreinheit_id; $pruef_obj->student_uid=$row->student_uid; $pruef_obj->mitarbeiter_uid=$row->mitarbeiter_uid; @@ -164,12 +146,12 @@ class pruefung return true; } - // **************************************************** - // * Loescht eine Pruefung - // * @param $preufung_id ID der zu loeschenden Pruefung - // * @return true wenn ok, false im Fehlerfall - // **************************************************** - function delete($pruefung_id) + /** + * Loescht eine Pruefung + * @param $preufung_id ID der zu loeschenden Pruefung + * @return true wenn ok, false im Fehlerfall + */ + public function delete($pruefung_id) { if(!is_numeric($pruefung_id)) { @@ -179,7 +161,7 @@ class pruefung $qry = "DELETE FROM lehre.tbl_pruefung WHERE pruefung_id='$pruefung_id'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -190,45 +172,30 @@ class pruefung } } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ******************************************* - // * Prueft die Gueltigkeit der Variablen - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function checkvars() + /** + * Prueft die Gueltigkeit der Variablen + * @return true wenn ok, false im Fehlerfall + */ + public function validate() { //Laenge Pruefen if(strlen($this->anmerkung)>256) { - $this->errormsg = "Anmerkung darf nicht laenger als 256 Zeichen sein bei $this->ext_id - $this->anmerkung"; - return false; - } - if(strlen($this->insertvon)>16) - { - $this->errormsg = "Insertvon darf nicht laenger als 16 Zeichen sein bei $this->ext_id - $this->insertvon"; - return false; - } - if(strlen($this->updatevon)>10) - { - $this->errormsg = "Updatevon darf nicht laenger als 16 Zeichen sein bei $this->ext_id - $this->updatevon"; + $this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein'; return false; } $this->errormsg = ''; return true; } - // ******************************************* - // * Speichert den aktuellen Datensatz - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function save() + /** + * Speichert den aktuellen Datensatz + * @return true wenn ok, false im Fehlerfall + */ + public function save() { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) { return false; } @@ -276,32 +243,32 @@ class pruefung 'ext_id='.$this->addslashes($this->ext_id).' '. 'WHERE pruefung_id='.$this->addslashes($this->pruefung_id).';'; } - //echo $qry; - if(pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { if($this->new) { //Sequence auslesen $qry = "SELECT currval('lehre.tbl_pruefung_pruefung_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->pruefung_id = $row->id; - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -309,18 +276,18 @@ class pruefung } else { - pg_query($this->conn, 'ROLLBACK'); - $this->errormsg = 'Fehler beim Speichern der Pruefung (Class pruefung->save()):'.pg_last_error($this->conn); + $this->db_query('ROLLBACK'); + $this->errormsg = 'Fehler beim Speichern der Pruefung:'.$this->db_last_error(); return false; } } - // ***************************************** - // * Liefert alle Pruefungen eines Studenten - // * @param student_uid - // * @return true wenn ok, false wenn Fehler - // ***************************************** - function getPruefungen($student_uid, $pruefungstyp=null,$lv_id=null,$stsem=null) + /** + * Liefert alle Pruefungen eines Studenten + * @param student_uid + * @return true wenn ok, false wenn Fehler + */ + public function getPruefungen($student_uid, $pruefungstyp=null,$lv_id=null,$stsem=null) { $qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz @@ -331,18 +298,18 @@ class pruefung AND tbl_pruefung.note = tbl_note.note AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz"; if ($pruefungstyp != null) - $qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".$pruefungstyp."'"; + $qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes(pruefungstyp)."'"; if ($lv_id != null) - $qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".$lv_id."'"; + $qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'"; if ($stsem != null) - $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".$stsem."'"; + $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'"; $qry .= " ORDER BY datum DESC"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new pruefung($this->conn, null, null); + $obj = new pruefung(); $obj->pruefung_id = $row->pruefung_id; $obj->lehreinheit_id = $row->lehreinheit_id; @@ -373,7 +340,15 @@ class pruefung } } - function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null) + /** + * Laedt die Pruefungen zu einer Lehrveranstaltung + * + * @param $lv_id + * @param $pruefungstyp + * @param $stsem + * @return boolean + */ + public function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null) { $qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz @@ -383,18 +358,18 @@ class pruefung AND tbl_pruefung.note = tbl_note.note AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz"; if ($pruefungstyp != null) - $qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".$pruefungstyp."'"; + $qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes($pruefungstyp)."'"; if ($lv_id != null) - $qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".$lv_id."'"; + $qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'"; if ($stsem != null) - $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".$stsem."'"; + $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'"; $qry .= " ORDER BY datum DESC"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new pruefung($this->conn, null, null); + $obj = new pruefung(); $obj->pruefung_id = $row->pruefung_id; $obj->lehreinheit_id = $row->lehreinheit_id; diff --git a/include/raumtyp.class.php b/include/raumtyp.class.php index 45a880e1c..6112a4a99 100644 --- a/include/raumtyp.class.php +++ b/include/raumtyp.class.php @@ -23,51 +23,50 @@ * Klasse ortraumtyp (FAS-Online) * @create 04-12-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class raumtyp +class raumtyp extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var fachbereich Objekt + public $new; // boolean + public $result = array(); // fachbereich Objekt //Tabellenspalten - var $beschreibung; // @var string - var $raumtyp_kurzbz; // @var string + public $beschreibung; // string + public $raumtyp_kurzbz; // string /** * Konstruktor - * @param $conn Connection zur DB - * $ort_kurzbz und hierarchie ID des zu ladenden OrtRaumtyps + * @param $ort_kurzbz und hierarchie ID des zu ladenden Raumtyps */ - function raumtyp($conn, $raumtyp_kurzbz=null) + public function __construct($raumtyp_kurzbz=null) { - $this->conn = $conn; + parent::__construct(); + if($raumtyp_kurzbz != null) $this->load($raumtyp_kurzbz); } /** - * Laedt alle verfuegbaren OrtRaumtypen + * Laedt alle verfuegbaren Raumtypen * @return true wenn ok, false im Fehlerfall */ - function getAll() + public function getAll() { - $qry = 'SELECT * FROM public.tbl_raumtyp order by raumtyp_kurzbz;'; + $qry = 'SELECT * FROM public.tbl_raumtyp ORDER BY raumtyp_kurzbz;'; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden der Datensaetze'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $raumtyp_obj = new raumtyp($this->conn); + $raumtyp_obj = new raumtyp(); - $raumtyp_obj->beschreibung = $row->beschreibung; - $raumtyp_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; + $raumtyp_obj->beschreibung = $row->beschreibung; + $raumtyp_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $this->result[] = $raumtyp_obj; @@ -80,7 +79,7 @@ class raumtyp * @param $raumtyp ID des zu ladenden Raumtyps * @return true wenn ok, false im Fehlerfall */ - function load($raumtyp_kurzbz) + public function load($raumtyp_kurzbz) { if($raumtyp_kurzbz == '') { @@ -88,15 +87,15 @@ class raumtyp return false; } - $qry = "SELECT * FROM public.tbl_raumtyp WHERE raumtyp_kurzbz = '$raumtyp_kurzbz';"; + $qry = "SELECT * FROM public.tbl_raumtyp WHERE raumtyp_kurzbz = '".addslashes($raumtyp_kurzbz)."';"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } - if($row=pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->beschreibung = $row->beschreibung; $this->raumtyp_kurzbz = $row->kurzbz; @@ -111,52 +110,40 @@ class raumtyp return true; } - /** - * Loescht einen Datensatz - * @param $raumtyp_kurzbz ID des Datensatzes der geloescht werden soll - * @return true wenn ok, false im Fehlerfall - */ - function delete($raumtyp_kurzbz) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + public function validate() { - $this->beschreibung = str_replace("'",'´',$this->beschreibung); - $this->raumtyp_kurzbz = str_replace("'",'´',$this->raumtyp_kurzbz); - - //Laenge Pruefen if(strlen($this->beschreibung)>256) { - $this->errormsg = "Beschreibung darf nicht laenger als 256 Zeichen sein bei $this->raumtyp_kurzbz - ".$this->beschreibung; + $this->errormsg = 'Beschreibung darf nicht laenger als 256 Zeichen sein'; return false; } if(strlen($this->raumtyp_kurzbz)>8) { - $this->errormsg = "Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein bei $this->raumtyp_kurzbz"; + $this->errormsg = 'Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein'; + return false; + } + if($this->raumtyp_kurzbz == '') + { + $this->errormsg = 'Keine gültige Kurzbz'; return false; } $this->errormsg = ''; return true; } + /** * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if($this->new) @@ -176,38 +163,13 @@ class raumtyp else { //bestehenden Datensatz akualisieren - - //Pruefen ob id gueltig ist - if($this->raumtyp_kurzbz == '') - { - $this->errormsg = 'Keine gültige ID'; - return false; - } - $qry = 'UPDATE public.tbl_raumtyp SET '. 'beschreibung='.$this->addslashes($this->beschreibung).' '. 'WHERE raumtyp_kurzbz = '.$this->addslashes($this->ort_kurzbz).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - /*//Log schreiben - $sql = $qry; - $qry = "SELECT nextval('log_seq') as id;"; - if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) - { - $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; - return false; - } - - $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; - if(pg_query($this->conn, $qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; - return false; - }*/ return true; } else diff --git a/include/raumtyp_old.class.php b/include/raumtyp_old.class.php deleted file mode 100644 index 3952fbed5..000000000 --- a/include/raumtyp_old.class.php +++ /dev/null @@ -1,128 +0,0 @@ -conn = $conn; -/* - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - if(!pg_query($conn,$qry)) - { - $this->errormsg = "Encoding konnte nicht gesetzt werden"; - return false; - } -*/ - if($raum_id != null) - $this->load($raum_id); - } - - /** - * Laedt einen Datensatz - * @param $raum_id ID des zu ladenden Datensatzes - * @return true wenn ok, false im Fehlerfall - */ - function load($raum_id) - { - if(!is_numeric($raum_id) || $raum_id == '') - { - $this->errormsg = 'raum_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT * FROM raumtyp WHERE raumtyp_pk = '$raum_id';"; - - if(!$res = pg_query($this->conn, $qry)) - { - $this->errormsg = 'Fehler beim laden des Datenstatzes'; - return false; - } - - if($row = pg_fetch_object($res)) - { - $this->raumtyp_id = $row->raumtyp_pk; - $this->bezeichnung = $row->bezeichnung; - $this->kurzbezeichnung = $row->kurzbezeichnung; - $this->plaetze = $row->plaetze; - $this->updateamum = $row->creationdate; - $this->updatevon = $row->creationuser; - } - else - { - $this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden'; - return false; - } - return true; - } - - /** - * Laedt alle Datensaetze - * @return ture wenn ok, false im Fehlerfall - */ - function getAll() - { - $qry = "SELECT * FROM raumtyp;"; - - if(!$res = pg_query($this->conn, $qry)) - { - $this->errormsg = 'Fehler beim laden der Datensaetze'; - return false; - } - - while($row = pg_fetch_object($res)) - { - $raum_obj = new raumtyp($this->conn); - - $raum_obj->raumtyp_id = $row->raumtyp_pk; - $raum_obj->bezeichnung = $row->bezeichnung; - $raum_obj->kurzbezeichnung = $row->kurzbezeichnung; - $raum_obj->plaetze = $row->plaetze; - $raum_obj->updateamum = $row->creationdate; - $raum_obj->updatevon = $row->creationuser; - - $this->result[] = $raum_obj; - } - return true; - } - - /** - * Speichert den aktuellen Datensatz - * @return true wenn ok, false im Fehlerfall - */ - function save() - { - $this->errormsg = 'Noch nicht Implementiert'; - return false; - } - - /** - * Loescht einen Datensatz - * @return true wenn ok, false im Fehlerfall - */ - function delete($raum_id) - { - $this->errormsg = 'Noch nicht Implementiert'; - return false; - } -} -?> \ No newline at end of file diff --git a/include/reihungstest.class.php b/include/reihungstest.class.php index e50adc9f9..0cfc669a9 100644 --- a/include/reihungstest.class.php +++ b/include/reihungstest.class.php @@ -23,54 +23,37 @@ * Klasse Reihungstest * @create 10-01-2007 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class reihungstest +class reihungstest extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $done=false; // @var boolean - var $result = array(); + public $new; // boolean + public $done=false; // boolean + public $result = array(); //Tabellenspalten - Var $reihungstest_id; // @var integer - var $studiengang_kz; // @var integer - var $ort_kurzbz; // @var string - var $anmerkung; // @var string - var $datum; // @var date - var $uhrzeit; // @var time without time zone - var $ext_id; // @var integer - var $insertamum; // @var timestamp - var $insertvon; // @var bigint - var $updateamum; // @var timestamp - var $updatevon; // @var bigint + public $reihungstest_id;// integer + public $studiengang_kz; // integer + public $ort_kurzbz; // string + public $anmerkung; // string + public $datum; // date + public $uhrzeit; // time without time zone + public $ext_id; // integer + public $insertamum; // timestamp + public $insertvon; // bigint + public $updateamum; // timestamp + public $updatevon; // bigint /** * Konstruktor - * @param $conn Connection - * $kontakt_id ID der Adresse die geladen werden soll (Default=null) + * @param $reihungstest_id ID der Adresse die geladen werden soll (Default=null) */ - function reihungstest($conn,$reihungstest_id=null, $unicode=false) + public function __construct($reihungstest_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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; - } - } -*/ + parent::__construct(); + + if(!is_null($reihungstest_id)) + $this->load($reihungstest_id); } /** @@ -78,7 +61,7 @@ class reihungstest * @param $sreihungstest_id ID des zu ladenden Reihungstests * @return true wenn ok, false im Fehlerfall */ - function load($reihungstest_id) + public function load($reihungstest_id) { if(!is_numeric($reihungstest_id)) { @@ -86,11 +69,12 @@ class reihungstest return false; } - $qry = "SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id='$reihungstest_id'"; - if($result = pg_query($this->conn, $qry)) + $qry = "SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id='".addslashes($reihungstest_id)."'"; + + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) - { + if($row = $this->db_fetch_object()) + { $this->reihungstest_id = $row->reihungstest_id; $this->studiengang_kz = $row->studiengang_kz; $this->ort_kurzbz = $row->ort_kurzbz; @@ -117,22 +101,23 @@ class reihungstest } } - // **** - // * Liefert alle Reihungstests - // * wenn ein Datum uebergeben wird, dann werden alle Reihungstests ab diesem - // * Datum zurueckgeliefert - // **** - function getAll($datum=null) + /** + * Liefert alle Reihungstests + * wenn ein Datum uebergeben wird, dann werden alle Reihungstests ab diesem + * Datum zurueckgeliefert + */ + public function getAll($datum=null) { $qry = "SELECT * FROM public.tbl_reihungstest "; if($datum!=null) - $qry.=" WHERE datum>='$datum'"; + $qry.=" WHERE datum>='".addslashes($datum)."'"; $qry.=" ORDER BY datum DESC, uhrzeit"; - if($result = pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new reihungstest($this->conn, null, null); + $obj = new reihungstest(); $obj->reihungstest_id = $row->reihungstest_id; $obj->studiengang_kz = $row->studiengang_kz; @@ -156,39 +141,28 @@ class reihungstest return false; } } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } + /** - * Prueft die Variablen auf gueltigkeit + * Prueft die Variablen auf Gueltigkeit * @return true wenn ok, false im Fehlerfall */ - function checkvars() + private function validate() { //Zahlenfelder pruefen if(!is_numeric($this->studiengang_kz)) { - $this->errormsg='studiengang_kz enthaelt ungueltige Zeichen:'.$this->reihungstest_id.' - Studiengang: '.$row->studiengang_kz; + $this->errormsg='studiengang_kz enthaelt ungueltige Zeichen'; return false; } //Gesamtlaenge pruefen - //$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten'; if(strlen($this->ort_kurzbz)>8) { - $this->errormsg = 'Ort_kurzbz darf nicht länger als 8 Zeichen sein - Studiengang: '.$row->studiengang_kz; + $this->errormsg = 'Ort_kurzbz darf nicht länger als 8 Zeichen sein'; return false; } if(strlen($this->anmerkung)>64) { - $this->errormsg = 'Anmerkung darf nicht länger als 64 Zeichen sein - Studiengang: '.$row->studiengang_kz; + $this->errormsg = 'Anmerkung darf nicht länger als 64 Zeichen sein'; return false; } @@ -202,10 +176,11 @@ class reihungstest * andernfalls wird der Datensatz mit der ID in $reihungstest_id aktualisiert * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { - $this->done=false; - + if(!$this->validate()) + return false; + if($this->new) { //Neuen Datensatz einfuegen @@ -220,105 +195,72 @@ class reihungstest $this->addslashes($this->ext_id).', now(), '. $this->addslashes($this->insertvon).', now(), '. $this->addslashes($this->updatevon).');'; - $this->done=true; } else { - $qry="SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id='$this->reihungstest_id';"; - if($resultz = pg_query($this->conn, $qry)) - { - while($rowz = pg_fetch_object($resultz)) - { - $update=false; - if($rowz->studiengang_kz!=$this->studiengang_kz) $update=true; - if($rowz->ort_kurzbz!=$this->ort_kurzbz) $update=true; - if($rowz->anmerkung!=$this->anmerkung) $update=true; - if($rowz->datum!=$this->datum) $update=true; - if($rowz->uhrzeit!=$this->uhrzeit) $update=true; - if($rowz->ext_id!=$this->ext_id) $update=true; - - if($update) - { - $qry='UPDATE public.tbl_reihungstest SET '. - 'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '. - 'ort_kurzbz='.$this->addslashes($this->ort_kurzbz).', '. - 'anmerkung='.$this->addslashes($this->anmerkung).', '. - 'datum='.$this->addslashes($this->datum).', '. - 'uhrzeit='.$this->addslashes($this->uhrzeit).', '. - 'ext_id='.$this->addslashes($this->ext_id).', '. - 'updateamum= now(), '. - 'updatevon='.$this->addslashes($this->updatevon).' '. - 'WHERE reihungstest_id='.$this->addslashes($this->reihungstest_id).';'; - $this->done=true; - } - } - } - else - { - return false; - } + $qry='UPDATE public.tbl_reihungstest SET '. + 'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '. + 'ort_kurzbz='.$this->addslashes($this->ort_kurzbz).', '. + 'anmerkung='.$this->addslashes($this->anmerkung).', '. + 'datum='.$this->addslashes($this->datum).', '. + 'uhrzeit='.$this->addslashes($this->uhrzeit).', '. + 'ext_id='.$this->addslashes($this->ext_id).', '. + 'updateamum= now(), '. + 'updatevon='.$this->addslashes($this->updatevon).' '. + 'WHERE reihungstest_id='.$this->addslashes($this->reihungstest_id).';'; } - if ($this->done) + + if($this->db_query($qry)) { - if(pg_query($this->conn, $qry)) + if($this->new) { - if($this->new) + $qry = "SELECT currval('public.tbl_reihungstest_reihungstest_id_seq') as id"; + if($this->db_query($qry)) { - $qry = "SELECT currval('public.tbl_reihungstest_reihungstest_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($row = $this->db_fetch_object()) { - if($row = pg_fetch_object($result)) - { - $this->reihungstest_id = $row->id; - pg_query($this->conn, 'COMMIT'); - return true; - } - else - { - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); - return false; - } + $this->reihungstest_id = $row->id; + $this->db_query('COMMIT'); + return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; - } + } + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; } - return true; } - else - { - $this->errormsg = 'Fehler beim Speichern der Daten: '.$this->reihungstest_id.'/'.$qry; - return false; - } - } - else - { return true; } - } - - /** - * Loescht den Datenensatz mit der ID die uebergeben wird - * @param $reihungstest_id ID die geloescht werden soll - * @return true wenn ok, false im Fehlerfall - */ - function delete($reihungstest_id) - { - //noch nicht implementiert! - } - - function getReihungstest($studiengang_kz) - { - $qry = "SELECT * FROM public.tbl_reihungstest WHERE studiengang_kz='$studiengang_kz'"; - if($result = pg_query($this->conn, $qry)) + else { - while($row = pg_fetch_object($result)) + $this->errormsg = 'Fehler beim Speichern der Daten'; + return false; + } + } + + /** + * Liefert die Reihungstests eines Studienganges + * + * @param $studiengang_kz + * @return true wenn ok, sonst false + */ + public function getReihungstest($studiengang_kz) + { + $qry = "SELECT * FROM public.tbl_reihungstest WHERE studiengang_kz='".addslashes($studiengang_kz)."'"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) { - $obj = new reihungstest($this->conn, null, null); + $obj = new reihungstest(); $obj->reihungstest_id = $row->reihungstest_id; $obj->studiengang_kz = $row->studiengang_kz; diff --git a/include/reservierung.class.php b/include/reservierung.class.php index 45491fb3a..3f4c400c9 100644 --- a/include/reservierung.class.php +++ b/include/reservierung.class.php @@ -19,72 +19,45 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class reservierung +class reservierung extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $reservierungen = array(); // reservierung Objekt + public $new; // boolean + public $reservierungen = array(); // reservierung Objekt //Tabellenspalten - var $reservierung_id; // int - var $ort_kurzbz; // varchar(8) - var $studiengang_kz; // int - var $uid; // varchar(32) - var $stunde; // smalint - var $datum; // date - var $titel; // varchar(10) - var $beschreibung; // varchar(32) - var $semester; // smalint - var $verband; // char(1) - var $gruppe; // char(1) - var $gruppe_kurzbz; // varchar(10) + public $reservierung_id; // int + public $ort_kurzbz; // varchar(8) + public $studiengang_kz; // int + public $uid; // varchar(32) + public $stunde; // smalint + public $datum; // date + public $titel; // varchar(10) + public $beschreibung; // varchar(32) + public $semester; // smalint + public $verband; // char(1) + public $gruppe; // char(1) + public $gruppe_kurzbz; // varchar(10) - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Reservierung - // * @param $conn Datenbank-Connection - // * $reservierung_id - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function reservierung($conn, $reservierung_id=null, $unicode=false) + /** + * Konstruktor - Uebergibt die Connection und laedt optional eine Reservierung + * @param $reservierung_id + */ + public function __construct($reservierung_id=null) { - $this->conn = $conn; -/* - 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; - } - else - */ - $this->new = true; + parent::__construct(); + $this->new = true; if($reservierung_id!=null) $this->load($reservierung_id); } - - // ********************************************************* - // * Laedt eine Reservierung - // * @param reservierung_id - // ********************************************************* - function load($reservierung_id) - { - $this->errormsg = 'Not implemented'; - return false; - } - - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(strlen($this->ort_kurzbz)>8) { @@ -140,24 +113,13 @@ class reservierung 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 Reservierung 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($new=null) + /** + * Speichert Reservierung 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)) $this->new = $new; @@ -200,7 +162,7 @@ class reservierung " WHERE reservierung_id='".addslashes($this->reservierung_id)."'"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben $this->new = false; @@ -213,12 +175,12 @@ class reservierung } } - // ************************************************************ - // * Loescht eine Reservierung - // * @param reservierung_id ID der zu leoschenden Reservierung - // * @return true wenn ok, false im Fehlerfall - // ************************************************************ - function delete($reservierung_id) + /** + * Loescht eine Reservierung + * @param reservierung_id ID der zu leoschenden Reservierung + * @return true wenn ok, false im Fehlerfall + */ + public function delete($reservierung_id) { if(!is_numeric($reservierung_id)) { @@ -228,7 +190,7 @@ class reservierung $qry = "DELETE FROM campus.tbl_reservierung WHERE reservierung_id='$reservierung_id'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { diff --git a/include/resturlaub.class.php b/include/resturlaub.class.php index 661da2296..ca98a56af 100644 --- a/include/resturlaub.class.php +++ b/include/resturlaub.class.php @@ -23,72 +23,51 @@ * Klasse bankverbindung * @create 20-12-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class resturlaub +class resturlaub extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var adresse Objekt + public $new; + public $result = array(); //Tabellenspalten - var $mitarbeiter_uid; - var $resturlaubstage; - var $mehrarbeitsstunden; - var $urlaubstageprojahr; - var $updateamum; - var $updatevon; - var $insertamum; - var $insertvon; + public $mitarbeiter_uid; + public $resturlaubstage; + public $mehrarbeitsstunden; + public $urlaubstageprojahr; + public $updateamum; + public $updatevon; + public $insertamum; + public $insertvon; - var $vorname; - var $vornamen; - var $nachname; + public $vorname; + public $vornamen; + public $nachname; - // ** - // * Konstruktor - // * @param $conn Connection - // * $uid - // ** - function resturlaub($conn, $uid=null, $unicode=false) + /** + * Konstruktor + * @param $uid + */ + public function __construct($uid=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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; - } - } -*/ + parent::__construct(); + if($uid!=null) $this->load($uid); - } - // ** - // * Laedt die Resturlaubstage eines Mitarbeiters - // * @param $mitarbeiter_uid ID der zu ladenden Resturlaubstage - // * @return true wenn ok, false im Fehlerfall - // ** - function load($mitarbeiter_uid) + /** + * Laedt die Resturlaubstage eines Mitarbeiters + * @param $mitarbeiter_uid ID der zu ladenden Resturlaubstage + * @return true wenn ok, false im Fehlerfall + */ + public function load($mitarbeiter_uid) { $qry = "SELECT * FROM campus.tbl_resturlaub WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->mitarbeiter_uid = $row->mitarbeiter_uid; $this->resturlaubstage = $row->resturlaubstage; @@ -113,11 +92,11 @@ class resturlaub } } - // ** - // * Prueft die Variablen auf gueltigkeit - // * @return true wenn ok, false im Fehlerfall - // ** - function validate() + /** + * Prueft die Variablen auf Gueltigkeit + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if($this->resturlaubstage!='' && !is_numeric($this->resturlaubstage)) { @@ -139,24 +118,13 @@ class resturlaub return true; } - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ** - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ** - function save() + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save() { //Variablen pruefen if(!$this->validate()) @@ -186,8 +154,8 @@ class resturlaub 'updatevon='.$this->addslashes($this->updatevon). ' WHERE mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).';'; } - //echo $qry; - if(pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { return true; } @@ -198,20 +166,20 @@ class resturlaub } } - // *********************************** - // * Liefert die Resturlaubstage der - // * Fixangestellten - // *********************************** - function getResturlaubFixangestellte() + /** + * Liefert die Resturlaubstage der + * Fixangestellten + */ + public function getResturlaubFixangestellte() { $qry = "SELECT * FROM campus.vw_mitarbeiter LEFT JOIN campus.tbl_resturlaub ON(uid=mitarbeiter_uid) WHERE fixangestellt=true AND aktiv=true ORDER BY nachname, vorname"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new resturlaub($this->conn, null, null); + $obj = new resturlaub(); $obj->mitarbeiter_uid = $row->uid; $obj->resturlaubstage = $row->resturlaubstage; diff --git a/include/schluesseltyp.class.php b/include/schluesseltyp.class.php index 0c9b6e871..b31bc4eed 100644 --- a/include/schluesseltyp.class.php +++ b/include/schluesseltyp.class.php @@ -24,78 +24,38 @@ * Klasse schluesseltyp (FAS-Online) * @create 03-01-2006 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class schluesseltyp +class schluesseltyp extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - //var $schluesseltyp = array(); // schluesseltyp Objekt + public $new; // boolean //Tabellenspalten - var $schluesseltyp; //string - var $beschreibung; //string - var $anzahl; //smallint - var $kaution; //numeric(5,2) + public $schluesseltyp; //string + public $beschreibung; //string + public $anzahl; //smallint + public $kaution; //numeric(5,2) /** * Konstruktor - * @param $conn Connection - * $code Zu ladende Schluesseltyp */ - function schluesseltyp($conn, $code=null, $unicode=false) + public function __construct() { - $this->conn = $conn; -/* - 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; - } -*/ - } - - - /** - * Laedt die Funktion mit der ID $schluesseltyp - * @param $code code des zu ladenden schluesseltyps - * @return true wenn ok, false im Fehlerfall - */ - function load($code) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; + parent::__construct(); } /** - * Laedt alle schluesseltypen + * Speichert die Daten in die Datenbank + * @return true wenn erfolgreich, false im Fehlerfall */ - function getAll() - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - // ************************************************************ - // * Speichert die Daten in die Datenbank - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function save() + public function save() { $qry1='SELECT * FROM public.tbl_schluesseltyp WHERE beschreibung='.$this->addslashes($this->beschreibung).';'; - if($result1=pg_query($this->conn,$qry1)) + if($this->db_query($qry1)) { - if(pg_num_rows($result1)>0) //eintrag gefunden + if($this->db_num_rows()>0) //eintrag gefunden { - if($row1 = pg_fetch_object($result1)) + if($row1 = $this->db_fetch_object()) { if($row1->anzahl=null) { @@ -120,7 +80,7 @@ class schluesseltyp $this->addslashes($this->kaution).');'; echo nl2br($qry."\n"); } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { return true; } diff --git a/include/student.class.php b/include/student.class.php index 42d3216f3..a322affd2 100644 --- a/include/student.class.php +++ b/include/student.class.php @@ -24,56 +24,39 @@ class student extends benutzer { //Tabellenspalten - var $matrikelnr; - var $prestudent_id; - var $studiengang_kz; - var $semester; - var $verband; - var $gruppe; - var $ext_id_student; + public $matrikelnr; + public $prestudent_id; + public $studiengang_kz; + public $semester; + public $verband; + public $gruppe; + public $ext_id_student; - var $studiensemester_kurzbz; + public $studiensemester_kurzbz; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional einen Studenten - // * @param $conn Datenbank-Connection - // * $uid Student der geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function student($conn, $uid=null, $unicode=false) + /** + * Konstruktor - Laedt optional einen Studenten + * @param $uid Student der geladen werden soll (default=null) + */ + public function __construct($uid=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - 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; - } - } -*/ + parent::__construct(); + //Student laden if($uid!=null) $this->load($uid); } - // ************************************************** - // * Laedt die Daten eines Studenten - // * Wenn Studiensemester_kurzbz angegeben wird, dann werden - // * Studiengang, Semester, Verband und Gruppe aus der Tabelle - // * Studentlehrverband geholt. - // * @param uid - // * studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // ************************************************** - function load($uid, $studiensemester_kurzbz=null) + /** + * Laedt die Daten eines Studenten + * Wenn Studiensemester_kurzbz angegeben wird, dann werden + * Studiengang, Semester, Verband und Gruppe aus der Tabelle + * Studentlehrverband geholt. + * @param uid + * studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function load($uid, $studiensemester_kurzbz=null) { if(!benutzer::load($uid)) return false; @@ -84,9 +67,9 @@ class student extends benutzer tbl_studentlehrverband.verband as verband, tbl_studentlehrverband.gruppe as gruppe FROM public.tbl_student JOIN public.tbl_studentlehrverband USING(student_uid) WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND student_uid='".addslashes($uid)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->uid = $row->student_uid; $this->matrikelnr = $row->matrikelnr; @@ -116,12 +99,12 @@ class student extends benutzer } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(strlen($this->uid)>16) { @@ -173,19 +156,19 @@ class student extends benutzer } - // ************************************************************ - // * Speichert die Studentendaten in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - // * angelegt, ansonsten der Datensatz mit $person_id upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function save($new=null, $savebenutzer=true) + /** + * Speichert die Studentendaten in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz mit $person_id upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save($new=null, $savebenutzer=true) { //Variablen checken if(!$this->validate()) return false; - pg_query($this->conn,'BEGIN;'); + $this->db_query('BEGIN;'); if($new==null) $new = $this->new; @@ -195,7 +178,7 @@ class student extends benutzer //Basisdaten speichern if(!benutzer::save()) { - pg_query($this->conn,'ROLLBACK;'); + $this->db_query('ROLLBACK;'); return false; } } @@ -234,15 +217,15 @@ class student extends benutzer " WHERE student_uid='".addslashes($this->uid)."';"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - pg_query($this->conn,'COMMIT;'); + $this->db_query('COMMIT;'); //Log schreiben return true; } else { - pg_query($this->conn,'ROLLBACK;'); + $this->db_query('ROLLBACK;'); $this->errormsg = 'Fehler beim Speichern des Studenten-Datensatzes'.$qry; return false; } @@ -259,32 +242,31 @@ class student extends benutzer * @param integer stg_kz Kennzahl des Studiengangs * @return integer Anzahl der gefundenen Einträge; negativ bei Fehler */ - - function getStudents($stg_kz,$sem=null,$ver=null,$grp=null,$gruppe=null, $stsem=null) + public function getStudents($stg_kz,$sem=null,$ver=null,$grp=null,$gruppe=null, $stsem=null) { $where = ''; if ($gruppe!=null) { - $where=" gruppe_kurzbz='".$gruppe."' AND tbl_benutzer.uid=tbl_benutzergruppe.uid"; + $where=" gruppe_kurzbz='".addslashes($gruppe)."' AND tbl_benutzer.uid=tbl_benutzergruppe.uid"; if($stsem!=null) - $where.=" AND tbl_benutzergruppe.studiensemester_kurzbz='$stsem'"; + $where.=" AND tbl_benutzergruppe.studiensemester_kurzbz='".addslashes($stsem)."'"; } else { if ($stg_kz>=0) { - $where.=" tbl_studentlehrverband.studiengang_kz=$stg_kz"; + $where.=" tbl_studentlehrverband.studiengang_kz='".addslashes($stg_kz)."'"; if ($sem!=null) - $where.=" AND tbl_studentlehrverband.semester=$sem"; + $where.=" AND tbl_studentlehrverband.semester='".addslashes($sem)."'"; if ($ver!=null) - $where.=" AND tbl_studentlehrverband.verband='".$ver."'"; + $where.=" AND tbl_studentlehrverband.verband='".addslashes($ver)."'"; if ($grp!=null) - $where.=" AND tbl_studentlehrverband.gruppe='".$grp."'"; + $where.=" AND tbl_studentlehrverband.gruppe='".addslashes($grp)."'"; } } if($stsem!=null) - $where.=" AND tbl_studentlehrverband.studiensemester_kurzbz='$stsem'"; + $where.=" AND tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."'"; //$sql_query="SELECT * FROM campus.vw_student WHERE $where ORDER by nachname,vorname"; $sql_query = "SELECT *, tbl_student.semester as std_semester, tbl_student.verband as std_verband, tbl_student.gruppe as std_gruppe, tbl_student.studiengang_kz as std_studiengang_kz, @@ -294,17 +276,16 @@ class student extends benutzer $sql_query.= ",public.tbl_benutzergruppe"; $sql_query.= " WHERE tbl_prestudent.prestudent_id=tbl_student.prestudent_id AND tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_student.student_uid AND tbl_studentlehrverband.student_uid=tbl_student.student_uid AND $where ORDER BY nachname, vorname"; //echo $sql_query; - if(!($erg=pg_query($this->conn, $sql_query))) + if(!$this->db_query($sql_query)) { - $this->errormsg=pg_errormessage($this->conn); + $this->errormsg=$this->db_last_error(); return false; } - $num_rows=pg_num_rows($erg); $result=array(); - for($i=0;$i<$num_rows;$i++) + + while($row = $this->db_fetch_object()) { - $row=pg_fetch_object($erg,$i); - $l=new student($this->conn, null, null); + $l=new student(); // Personendaten $l->uid=$row->uid; $l->person_id=$row->person_id; @@ -348,20 +329,21 @@ class student extends benutzer return $result; } - // **** - // * Prueft ob die StudentLehrverband Zuteilung - // * bereits existiert - // * @param student_uid - // * studiensemester_kurzbz - // * @return true wenn vorhanden, false wenn nicht - // **** - function studentlehrverband_exists($student_uid, $studiensemester_kurzbz) + /** + * Prueft ob die StudentLehrverband Zuteilung + * bereits existiert + * @param student_uid + * @param studiensemester_kurzbz + * @return true wenn vorhanden, false wenn nicht + */ + public function studentlehrverband_exists($student_uid, $studiensemester_kurzbz) { - $qry = "SELECT count(*) as anzahl FROM public.tbl_studentlehrverband WHERE student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; + $qry = "SELECT count(*) as anzahl FROM public.tbl_studentlehrverband + WHERE student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { if($row->anzahl>0) return true; @@ -381,20 +363,22 @@ class student extends benutzer } } - // **** - // * Prueft ob die StudentLehrverband Zuteilung - // * bereits existiert - // * @param student_uid - // * studiensemester_kurzbz - // * @return true wenn vorhanden, false wenn nicht - // **** - function load_studentlehrverband($student_uid, $studiensemester_kurzbz) + /** + * Prueft ob die StudentLehrverband Zuteilung + * bereits existiert + * @param student_uid + * studiensemester_kurzbz + * @return true wenn vorhanden, false wenn nicht + */ + public function load_studentlehrverband($student_uid, $studiensemester_kurzbz) { - $qry = "SELECT * FROM public.tbl_studentlehrverband WHERE student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; + $qry = "SELECT * FROM public.tbl_studentlehrverband + WHERE student_uid='".addslashes($student_uid)."' + AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->uid = $row->student_uid; $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; @@ -422,10 +406,12 @@ class student extends benutzer } } - // **** - // * Speichert die Zuteilung von Student zu Lehrverband - // **** - function save_studentlehrverband($new=null) + /** + * Speichert die Zuteilung von Student zu Lehrverband + * @param $new + * @return boolean + */ + public function save_studentlehrverband($new=null) { if($new==null) $new = $this->new; @@ -455,30 +441,36 @@ class student extends benutzer " updatevon=".$this->addslashes($this->updatevon). " WHERE student_uid='".addslashes($this->uid)."' AND studiensemester_kurzbz='".addslashes($this->studiensemester_kurzbz)."'"; } - //echo $qry; - if(pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { return true; } else { - $this->errormsg = 'Fehler beim Speichern der Studentlehrverband zuordnung'; + $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 - // **************************************** - function getUid($prestudent_id) + /** + * 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_student WHERE prestudent_id='$prestudent_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { return $row->student_uid; } @@ -495,18 +487,18 @@ class student extends benutzer } } - // **************************************** - // * Laedt die UID anhand der Matrikelnummer - // * @param matrikelnummer - // * @return uid wenn ok, false wenn Fehler - // **************************************** - function getUidFromMatrikelnummer($matrikelnummer) + /** + * Laedt die UID anhand der Matrikelnummer + * @param matrikelnummer + * @return uid wenn ok, false wenn Fehler + */ + public function getUidFromMatrikelnummer($matrikelnummer) { $qry = "SELECT student_uid FROM public.tbl_student WHERE matrikelnr='".addslashes($matrikelnummer)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { return $row->student_uid; } diff --git a/include/studentnote.class.php b/include/studentnote.class.php index d4488a742..f070eae47 100755 --- a/include/studentnote.class.php +++ b/include/studentnote.class.php @@ -20,251 +20,237 @@ * Rudolf Hangl and * gerald Raab . */ +/** + * Notenverwaltung fuer das Kreuzerltool + */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class studentnote +class studentnote extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $beispiele = array(); // lehreinheit Objekt + public $new; // boolean + public $beispiele = array(); // lehreinheit Objekt - //Vars - var $uebung_id; // serial - var $gewicht; // smalint - var $punkte; // Real - var $note; - var $note_gesamt; - var $negativ; - var $fehlt; + public $uebung_id; // serial + public $gewicht; // smalint + public $punkte; // Real + public $note; + public $note_gesamt; + public $negativ; + public $fehlt; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Uebung - // * @param $conn Datenbank-Connection - // * $uebung_id - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function studentnote($conn, $unicode=false) + /** + * Konstruktor - Laedt optional eine Uebung + * @param $uebung_id + */ + public function __construct() { - $this->conn = $conn; -/* - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; - - if(!pg_query($this->conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } -*/ + parent::__construct(); } - function calc_gesamtnote($lehreinheit_id, $ss, $student_uid) + /** + * Berechnet die Gesamtnote aus den Uebungen einer Lehreinheit + * + * @param $lehreinheit_id + * @param $ss Studiensemester + * @param $student_uid + */ + public function calc_gesamtnote($lehreinheit_id, $ss, $student_uid) { + $studentgesamtnote = 0; + $counter = 0; + $gewichte = 0; + $negativ_all = false; + $note_x_gewicht = 0; + $note_x_gewicht_l1 = 0; + $gewichte_l1 = 0; + $fehlt_all = false; + $beispiele = false; + + $ueb1_obj = new uebung(); + $ueb1_obj->load_uebung($lehreinheit_id,1); + foreach($ueb1_obj->uebungen as $ueb1) { - $conn = $this->conn; - $studentgesamtnote = 0; - $counter = 0; - $gewichte = 0; - $negativ_all = false; - $note_x_gewicht = 0; - $note_x_gewicht_l1 = 0; - $gewichte_l1 = 0; - $fehlt_all = false; - $beispiele = false; - - $ueb1_obj = new uebung($conn); - $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) - $negativ_all = $this->negativ; - 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; - } - else - { - $this->studentgesamtnote = "n"; - $this->negativ = $negativ_all; - $this->fehlt = $fehlt_all; - } + $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) + $negativ_all = $this->negativ; + 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; + } + else + { + $this->studentgesamtnote = "n"; + $this->negativ = $negativ_all; + $this->fehlt = $fehlt_all; } } - function calc_l1_note($uebung_id, $student_uid, $lehreinheit_id) + /** + * ?? berechnet irgendwas... + * + * @param $uebung_id + * @param $student_uid + * @param lehreinheit_id + */ + public function calc_l1_note($uebung_id, $student_uid, $lehreinheit_id) { + $studentgesamtnote = 0; + $counter = 0; + $gewichte = 0; + $negativ = false; + $note_x_gewicht = 0; + $note_x_gewicht_l1 = 0; + $gewichte_l1 = 0; + $fehlt = false; + $beispiele = false; + $punkte_gesamt = 0; + $punkte_mitarbeit = 0; + $punkte_eingetragen = 0; + $l1_gewicht = 0; + $ueb1 = new uebung($uebung_id); + + $ueb_obj = new uebung(); + $ueb_obj->load_uebung($lehreinheit_id, 2, $uebung_id); + if ($ueb_obj->uebungen) { - $conn = $this->conn; - $studentgesamtnote = 0; - $counter = 0; - $gewichte = 0; - $negativ = false; $note_x_gewicht = 0; - $note_x_gewicht_l1 = 0; - $gewichte_l1 = 0; - $fehlt = false; - $beispiele = false; + $gewichte = 0; $punkte_gesamt = 0; - $punkte_mitarbeit = 0; - $punkte_eingetragen = 0; - $l1_gewicht = 0; - $ueb1 = new uebung($conn, $uebung_id); - $ueb_obj = new uebung($conn); - $ueb_obj->load_uebung($lehreinheit_id, 2, $uebung_id); - if ($ueb_obj->uebungen) + foreach ($ueb_obj->uebungen as $ueb) { - $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 ($ueb->abgabe && !$ueb->beispiele) + { + if ($this->calc_note($ueb->uebung_id, $student_uid)) + { + if (is_numeric($this->note)) { - if (is_numeric($this->note)) - { - if ($ueb->positiv && $this->note == 5) - $negativ = true; - $note_x_gewicht += ($this->note * $this->gewicht); - $gewichte += $this->gewicht; - } - else - { - $fehlt = true; - if ($ueb->positiv) - $negativ = true; - } + if ($ueb->positiv && $this->note == 5) + $negativ = true; + $note_x_gewicht += ($this->note * $this->gewicht); + $gewichte += $this->gewicht; + } + else + { + $fehlt = true; + if ($ueb->positiv) + $negativ = true; } } - else - { - $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; - } - } - - if ($gewichte > 0) - { - $l1_note = ($note_x_gewicht / $gewichte); - $l1_gewicht = $ueb1->gewicht; - } - //if ($punkte_gesamt > 0) - if ($beispiele) - { - - 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='$lehreinheit_id' and tbl_uebung.liste_id = '$ueb1->uebung_id'"; - $punkte_moeglich=1; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_moeglich = $row->punktegesamt_alle; - if ($punkte_moeglich == 0) - $punkte_moeglich = 1; - $punkte_ns = $punkte_gesamt/$punkte_moeglich*100; - } - else - $punkte_ns = $punkte_gesamt; - - //Prozentpunkte - $qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_ns."' and uebung_id = '".$ueb1->uebung_id."'"; - - // Punkteanzahl - //$qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_gesamt."' and uebung_id = '".$ueb1->uebung_id."'"; - - if($result=pg_query($this->conn, $qry)) - { - if($row = pg_fetch_object($result)) - $note = $row->note; - else - $note = 5; - } - if ($ueb1->positiv && ($note == 5)) - $negativ = true; - $l1_note = $note; - //$l1_note = ($note * $ueb1->gewicht); - if ($note != null) - $l1_gewicht = $ueb1->gewicht; - else - $l1_gewicht = 0; - } - if ($ueb1->positiv && $beispiele && ($punkte_gesamt == 0)) - $negativ = true; - //else if ($beispiele && ($punkte_gesamt == 0)) - // $felt = true; - } - // keine kreuzerllisten/abgaben - else - { - $s = new uebung($conn); - $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; - $l1_gewicht = $ueb1->gewicht; } else { - $fehlt = true; - if ($ueb1->positiv) - $negativ = true; + $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; } } - if ($l1_gewicht > 0) - { - $this->l1_note = $l1_note; - $this->l1_gewicht = $l1_gewicht; - $this->negativ = $negativ; - $this->fehlt = $fehlt; - $this->punkte_gesamt_l1 = $punkte_gesamt; - $this->punkte_eingetragen_l1 = $punkte_eingetragen; - $this->punkte_mitarbeit_l1 = $punkte_mitarbeit; + if ($gewichte > 0) + { + $l1_note = ($note_x_gewicht / $gewichte); + $l1_gewicht = $ueb1->gewicht; + } + //if ($punkte_gesamt > 0) + if ($beispiele) + { + + 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='$lehreinheit_id' and tbl_uebung.liste_id = '$ueb1->uebung_id'"; + $punkte_moeglich=1; + if($this->db_query($qry)) + if($row = $this->db_fetch_object()) + $punkte_moeglich = $row->punktegesamt_alle; + if ($punkte_moeglich == 0) + $punkte_moeglich = 1; + $punkte_ns = $punkte_gesamt/$punkte_moeglich*100; + } + else + $punkte_ns = $punkte_gesamt; + //Prozentpunkte + $qry = "SELECT min(note) as note FROM campus.tbl_notenschluesseluebung WHERE punkte <= '".$punkte_ns."' AND uebung_id = '".$ueb1->uebung_id."'"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + $note = $row->note; + else + $note = 5; + } + if ($ueb1->positiv && ($note == 5)) + $negativ = true; + $l1_note = $note; + + if ($note != null) + $l1_gewicht = $ueb1->gewicht; + else + $l1_gewicht = 0; + } + if ($ueb1->positiv && $beispiele && ($punkte_gesamt == 0)) + $negativ = true; + } + else + { + $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; + $l1_gewicht = $ueb1->gewicht; } else { - $this->l1_note = null; - $this->l1_gewicht = 0; - $this->negativ = $negativ; - $this->fehlt = $fehlt; - $this->punkte_gesamt_l1 = null; - $this->punkte_eingetragen_l1 = null; - $this->punkte_mitarbeit_l1 = null; + $fehlt = true; + if ($ueb1->positiv) + $negativ = true; } } + + if ($l1_gewicht > 0) + { + $this->l1_note = $l1_note; + $this->l1_gewicht = $l1_gewicht; + $this->negativ = $negativ; + $this->fehlt = $fehlt; + $this->punkte_gesamt_l1 = $punkte_gesamt; + $this->punkte_eingetragen_l1 = $punkte_eingetragen; + $this->punkte_mitarbeit_l1 = $punkte_mitarbeit; + + } + else + { + $this->l1_note = null; + $this->l1_gewicht = 0; + $this->negativ = $negativ; + $this->fehlt = $fehlt; + $this->punkte_gesamt_l1 = null; + $this->punkte_eingetragen_l1 = null; + $this->punkte_mitarbeit_l1 = null; + } } - - - // ********************************************************* - // * berechnet die note der übung - // * @param uebung_id, student_uid - // * setzt this->note, this->gewicht - // ********************************************************* - function calc_note($uebung_id, $student_uid) + /** + * berechnet die note der übung + * @param uebung_id, student_uid + * setzt this->note, this->gewicht + */ + public function calc_note($uebung_id, $student_uid) { if(!is_numeric($uebung_id)) { @@ -277,7 +263,7 @@ class studentnote $punkte_eingetragen = 0; $punkte_gesamt = 0; $mitarbeit = 0; - $ueb = new uebung($this->conn); + $ueb = new uebung(); $ueb->load($uebung_id); if($ueb->load_studentuebung($student_uid, $uebung_id)) @@ -296,12 +282,12 @@ class studentnote } - // ********************************************************* - // * berechnet die punkte der übung (kreuzerlliste) - // * @param uebung_id, student_uid - // * setzt this->punkte_gesamt - // ********************************************************* - function calc_punkte($uebung_id, $student_uid) + /** + * berechnet die punkte der übung (kreuzerlliste) + * @param uebung_id, student_uid + * setzt this->punkte_gesamt + */ + public function calc_punkte($uebung_id, $student_uid) { if(!is_numeric($uebung_id)) { @@ -315,23 +301,25 @@ class studentnote $punkte_gesamt = 0; $mitarbeit = 0; $ueb = new uebung($this->conn); - //Eingetragen diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$student_uid' AND vorbereitet=true"; - $punkte_eingetragen=0; - if($result=pg_query($this->conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - if($ueb->load_studentuebung($student_uid, $uebung_id)) - { - $mitarbeit = $ueb->mitarbeitspunkte; - } + + //Eingetragen diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$student_uid' AND vorbereitet=true"; + $punkte_eingetragen=0; + if($this->db_query($qry)) + if($row = $this->db_fetch_object()) + $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); + + if($ueb->load_studentuebung($student_uid, $uebung_id)) + { + $mitarbeit = $ueb->mitarbeitspunkte; + } - $punkte_gesamt = $punkte_eingetragen + $mitarbeit; + $punkte_gesamt = $punkte_eingetragen + $mitarbeit; - $this->punkte_gesamt = $punkte_gesamt; - $this->punkte_eingetragen = $punkte_eingetragen; - $this->punkte_mitarbeit = $mitarbeit; - return true; + $this->punkte_gesamt = $punkte_gesamt; + $this->punkte_eingetragen = $punkte_eingetragen; + $this->punkte_mitarbeit = $mitarbeit; + return true; } } diff --git a/include/studiengang.class.php b/include/studiengang.class.php index 8b7dc0d03..8f0cff007 100644 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -20,65 +20,52 @@ * Rudolf Hangl and * Gerald Raab . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class studiengang +class studiengang extends basis_db { - var $conn; // resource DB-Handle - var $new; // boolean - var $errormsg; // string - var $result = array(); // studiengang Objekt + public $new; // boolean + public $result = array(); // studiengang Objekt - var $studiengang_kz; // integer - var $kurzbz; // varchar(5) - var $kurzbzlang; // varchar(10) - var $bezeichnung; // varchar(128) - var $english; // varchar(128) - var $typ; // char(1) - var $farbe; // char(6) - var $email; // varchar(64) - var $max_semester; // smallint - var $max_verband; // char(1) - var $max_gruppe; // char(1) - var $erhalter_kz; // smallint - var $bescheid; // varchar(256) - var $bescheidbgbl1; // varchar(16) - var $bescheidbgbl2; // varchar(16) - var $bescheidgz; // varchar(16) - var $bescheidvom; // Date - var $titelbescheidvom; // Date - var $ext_id; // bigint - var $orgform_kurzbz; - var $zusatzinfo_html; - var $sprache; - var $testtool_sprachwahl; + public $studiengang_kz; // integer + public $kurzbz; // varchar(5) + public $kurzbzlang; // varchar(10) + public $bezeichnung; // varchar(128) + public $english; // varchar(128) + public $typ; // char(1) + public $farbe; // char(6) + public $email; // varchar(64) + public $max_semester; // smallint + public $max_verband; // char(1) + public $max_gruppe; // char(1) + public $erhalter_kz; // smallint + public $bescheid; // varchar(256) + public $bescheidbgbl1; // varchar(16) + public $bescheidbgbl2; // varchar(16) + public $bescheidgz; // varchar(16) + public $bescheidvom; // Date + public $titelbescheidvom; // Date + public $ext_id; // bigint + public $orgform_kurzbz; + public $zusatzinfo_html; + public $sprache; + public $testtool_sprachwahl; - var $kuerzel; // = typ + kurzbz (Bsp: BBE) + public $kuerzel; // = typ + kurzbz (Bsp: BBE) - var $studiengang_typ_arr = array(); - var $kuerzel_arr = array(); + public $studiengang_typ_arr = array(); + public $kuerzel_arr = array(); - // ************************************************************** - // * Konstruktor - // * @param conn Connection zur Datenbank - // * studiengang_kz Kennzahl des zu ladenden Studienganges - // ************************************************************** - function studiengang($conn, $studiengang_kz=null, $unicode=false) + /** + * Konstruktor + * @param studiengang_kz Kennzahl des zu ladenden Studienganges + */ + public function __construct($studiengang_kz=null) { - $this->conn = $conn; -/* - 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(is_numeric($studiengang_kz)) + parent::__construct(); + + if(!is_null($studiengang_kz)) $this->load($studiengang_kz); $this->studiengang_typ_arr["b"] = "Bachelor"; @@ -88,12 +75,12 @@ class studiengang $this->studiengang_typ_arr["e"] = "Erhalter"; } - // ***************************************************** - // * Laedt einen Studiengang - // * @param stg_id ID des Studienganges der zu laden ist - // * @return true wenn ok, false im Fehlerfall - // ***************************************************** - function load($studiengang_kz) + /** + * Laedt einen Studiengang + * @param studiengang_kz KZ des Studienganges der zu Laden ist + * @return true wenn ok, false im Fehlerfall + */ + public function load($studiengang_kz) { if(!is_numeric($studiengang_kz)) { @@ -101,11 +88,11 @@ class studiengang return false; } - $qry = "SELECT * FROM public.tbl_studiengang WHERE studiengang_kz=$studiengang_kz"; + $qry = "SELECT * FROM public.tbl_studiengang WHERE studiengang_kz='".addslashes($studiengang_kz)."'"; - if($res = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->studiengang_kz=$row->studiengang_kz; $this->kurzbz=$row->kurzbz; @@ -145,11 +132,13 @@ class studiengang return true; } - // ******************************************* - // * Liefert alle Studiengaenge - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function getAll($order=null, $aktiv=true) + /** + * Liefert alle Studiengaenge + * @param $order Sortierreihenfolge + * @param $aktiv wenn true dann nur aktive sonst alle + * @return true wenn ok, false im Fehlerfall + */ + public function getAll($order=null, $aktiv=true) { $qry = 'SELECT * FROM public.tbl_studiengang'; if ($aktiv) @@ -158,15 +147,15 @@ class studiengang if($order!=null) $qry .=" ORDER BY $order"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = pg_fetch_object($res)) + while($row = $this->db_fetch_object()) { - $stg_obj = new studiengang($this->conn); + $stg_obj = new studiengang(); $stg_obj->studiengang_kz=$row->studiengang_kz; $stg_obj->kurzbz=$row->kurzbz; @@ -202,76 +191,57 @@ class studiengang return true; } - - /** - * Loescht einen Studiengang - * @param $stg_id ID des zu loeschenden Studienganges - * @return true wenn ok, false im Fehlerfall - */ - function delete($stg_id) - { - $this->errormsg = 'Noch nicht implementiert'; - return false; - } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } + /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + private function validate() { - $this->bezeichnung = str_replace("'",'´',$this->bezeichnung); - $this->kurzbz = str_replace("'",'´',$this->kurzbz); - $this->kurzbzlang = str_replace("'",'´',$this->kurzbzlang); - $this->english = str_replace("'",'´',$this->english); - //Laenge Pruefen if(strlen($this->bezeichnung)>128) { - $this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei $this->ext_id - $this->bezeichnung"; + $this->errormsg = 'Bezeichnung darf nicht laenger als 128 Zeichen sein.'; return false; } if(strlen($this->kurzbz)>5) { - $this->errormsg = "Kurzbez darf nicht laenger als 5 Zeichen sein bei $this->ext_id - $this->kurzbz"; + $this->errormsg = 'Kurzbez darf nicht laenger als 5 Zeichen sein.'; return false; } if(strlen($this->kurzbzlang)>10) { - $this->errormsg = "Kurzbezlang darf nicht laenger als 10 Zeichen sein bei $this->ext_id - $this->kurzbzlang"; + $this->errormsg = 'Kurzbezlang darf nicht laenger als 10 Zeichen sein'; return false; } if(strlen($this->english)>128) { - $this->errormsg = "english darf nicht laenger als 128 Zeichen sein bei $this->ext_id - $this->english"; + $this->errormsg = 'english darf nicht laenger als 128 Zeichen sein'; + return false; + } + if(!is_numeric($this->studiengang_kz)) + { + $this->errormsg = 'studiengang_kz ungueltig! ('.$this->studiengang_kz.'/'.$this->ext_id.')'; return false; } $this->errormsg = ''; return true; } + /** * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - function save() + public function save() { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) { return false; } if($this->new) { - //Pruefen ob studiengang_kz gueltig ist - if(!is_numeric($this->studiengang_kz)) - { - $this->errormsg = 'studiengang_kz ungueltig! ('.$this->studiengang_kz.'/'.$this->ext_id.')'; - return false; - } //Neuen Datensatz anlegen $qry = 'INSERT INTO public.tbl_studiengang (studiengang_kz, kurzbz, kurzbzlang, bezeichnung, english, typ, farbe, email, telefon, max_verband, max_semester, max_gruppe, erhalter_kz, bescheid, bescheidbgbl1, @@ -304,13 +274,6 @@ class studiengang { //bestehenden Datensatz akualisieren - //Pruefen ob studiengang_kz gueltig ist - if(!is_numeric($this->studiengang_kz)) - { - $this->errormsg = 'studiengang_kz ungueltig.'; - return false; - } - $qry = 'UPDATE public.tbl_studiengang SET '. 'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '. 'kurzbz='.$this->addslashes($this->kurzbz).', '. @@ -337,26 +300,9 @@ class studiengang 'zusatzinfo_html='.$this->addslashes($this->zusatzinfo_html).' '. 'WHERE studiengang_kz='.$this->addslashes($this->studiengang_kz).';'; } - //echo $qry; - if(pg_query($this->conn, $qry)) - { - /*//Log schreiben - $sql = $qry; - $qry = "SELECT nextval('log_seq') as id;"; - if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) - { - $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; - return false; - } - $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; - if(pg_query($this->conn, $qry)) - return true; - else - { - $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; - return false; - }*/ + if($this->db_query($qry)) + { return true; } else @@ -366,22 +312,21 @@ class studiengang } } - // ******************************************* - // * Setzt Studiengaenge aktiv/inaktiv - // * benoetigt studiengang_kz und 'on'/'off' - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - - function toggleAktiv($studiengang_kz) + /** + * Setzt Studiengaenge aktiv/inaktiv + * benoetigt studiengang_kz und 'on'/'off' + * @return true wenn ok, false im Fehlerfall + */ + public function toggleAktiv($studiengang_kz) { if(!is_numeric($studiengang_kz)) { $this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein'; return false; } - $qry = "UPDATE public.tbl_studiengang SET aktiv = NOT aktiv WHERE studiengang_kz='$studiengang_kz'"; + $qry = "UPDATE public.tbl_studiengang SET aktiv = NOT aktiv WHERE studiengang_kz='".addslashes($studiengang_kz)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } diff --git a/include/studiensemester.class.php b/include/studiensemester.class.php index d1d8108e0..5b23ea76c 100644 --- a/include/studiensemester.class.php +++ b/include/studiensemester.class.php @@ -174,13 +174,13 @@ class studiensemester extends basis_db */ public function getNearestTillNext() { - if(!$nearest=$this->getNearest()) + if(!$this->getNearest()) return false; $start=$this->start; $studiensemester_kurzbz=$this->studiensemester_kurzbz; - if (!$next=$this->getNextFrom($this->studiensemester_kurzbz)) + if (!$this->getNextFrom($this->studiensemester_kurzbz)) return false; $ende=$this->start; @@ -367,6 +367,7 @@ class studiensemester extends basis_db else { $this->errormsg = 'Fehler beim Ermitteln des vorangegangenen Studiensemesters'; + return false; } } @@ -389,19 +390,19 @@ class studiensemester extends basis_db } else { - $this->errormsg = 'Es wurde kein vorjähriges Studiensemester gefunden'; + $this->errormsg = 'Es wurde kein vorj�hriges Studiensemester gefunden'; return false; } } else { - $this->errormsg = 'Es wurde kein vorjähriges Studiensemester gefunden'; + $this->errormsg = 'Es wurde kein vorj�hriges Studiensemester gefunden'; return false; } } else { - $this->errormsg = 'Fehler beim Ermitteln des vorjährigen Studiensemesters'; + $this->errormsg = 'Fehler beim Ermitteln des vorj�hrigen Studiensemesters'; return false; } } @@ -519,6 +520,11 @@ class studiensemester extends basis_db else return $studiensemester_kurzbz; } + else + { + $this->errormsg='Fehler bei einer Abfrage'; + return false; + } } } ?> \ No newline at end of file diff --git a/include/stunde.class.php b/include/stunde.class.php index f446f9627..b3cea6cea 100644 --- a/include/stunde.class.php +++ b/include/stunde.class.php @@ -19,60 +19,33 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class stunde +class stunde extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $stunden = array(); // stunde Objekt + public $new; // boolean + public $stunden = array(); // stunde Objekt //Tabellenspalten - var $stunde; // smalint - var $beginn; // time without timezone - var $ende; // time without timezone + public $stunde; // smalint + public $beginn; // time without timezone + public $ende; // time without timezone - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Stunde - // * @param $conn Datenbank-Connection - // * $stunde Stunde die geladen werden soll - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function stunde($conn, $stunde=null, $unicode=false) + /** + * Konstruktor + */ + public function __construct() { - $this->conn = $conn; -/* - 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($stunde!=null) - $this->load($stunde); + parent::__construct(); } - // ********************************************************* - // * Laedt eine Stunde - // * @param $stunde - // ********************************************************* - function load($stunde) - { - return true; - } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(!is_numeric($this->stunde)) { @@ -82,24 +55,13 @@ class stunde 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 eine Stunde in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - // * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function save() + /** + * Speichert eine Stunde in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { //Variablen auf Gueltigkeit pruefen if(!$this->validate()) @@ -120,9 +82,8 @@ class stunde " WHERE stunde=".$this->stunde; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - //Log schreiben return true; } else diff --git a/include/stundenplan.class.php b/include/stundenplan.class.php index 48f3f73c3..b62f703e3 100644 --- a/include/stundenplan.class.php +++ b/include/stundenplan.class.php @@ -19,76 +19,61 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class stundenplan +class stundenplan extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $stundenplan = array(); // stundenplan Objekt - var $stpl_table; + public $new; // boolean + public $stundenplan = array(); // stundenplan Objekt + public $stpl_table; //Tabellenspalten - var $stundenplan_id; - var $unr; - var $mitarbeiter_uid; - var $datum; - var $stunde; - var $ort_kurzbz; - var $gruppe_kurzbz; - var $titel; - var $anmerkung; - var $lehreinheit_id; - var $studiengang_kz; - var $semester; - var $verband; - var $gruppe; - var $fix; - var $updateamum; - var $updatevon; - var $insertamum; - var $insertvon; + public $stundenplan_id; + public $unr; + public $mitarbeiter_uid; + public $datum; + public $stunde; + public $ort_kurzbz; + public $gruppe_kurzbz; + public $titel; + public $anmerkung; + public $lehreinheit_id; + public $studiengang_kz; + public $semester; + public $verband; + public $gruppe; + public $fix; + public $updateamum; + public $updatevon; + public $insertamum; + public $insertvon; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional einen Stundenplaneintrag - // * @param $conn Datenbank-Connection - // * $stundenplantabelle - // * $stundenplan_id - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function stundenplan($conn, $stundenplantabelle, $stundenplan_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional einen Stundenplaneintrag + * @param $stundenplantabelle + * @param $stundenplan_id + */ + public function __construct($stundenplantabelle, $stundenplan_id=null) { - $this->conn = $conn; -/* - 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; - } -*/ + parent::__construct(); + $this->stpl_table = $stundenplantabelle; if($stundenplan_id!=null) $this->load($stundenplan_id); } - // ********************************************************* - // * Laedt einen Stundenplaneintrag - // * @param stundenplan_id - // ********************************************************* - function load($stundenplan_id) + /** + * Laedt einen Stundenplaneintrag + * @param stundenplan_id + */ + public function load($stundenplan_id) { $qry = "SELECT * FROM lehre.tbl_$this->stpl_table WHERE ".$this->stpl_table."_id='$stundenplan_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $id = $this->stpl_table.'_id'; $this->stundenplan_id = $row->$id; @@ -126,35 +111,23 @@ class stundenplan } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { - 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 Stundenplaneintrag 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($new=null) + /** + * Speichert Stundenplaneintrag 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; @@ -209,22 +182,23 @@ class stundenplan " WHERE ".$this->stpl_table."_id=".$this->addslashes($this->stundenplan_id).";"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; } else { - $this->errormsg = 'Fehler beim Speichern des Stundenplanes:'.pg_last_error($this->conn); + $this->errormsg = 'Fehler beim Speichern des Stundenplanes:'.$this->db_last_error(); return false; } } - // **** - // * Loescht einen Eintrag aus der Stundenplantabelle - // **** - function delete($id) + /** + * Loescht einen Eintrag aus der Stundenplantabelle + * @param id stundenplan_id + */ + public function delete($id) { if(!is_numeric($id)) { @@ -234,13 +208,13 @@ class stundenplan $qry = "DELETE FROM lehre.tbl_$this->stpl_table WHERE ".$this->stpl_table."_id='$id'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } else { - $this->errormsg = 'Fehler beim Loeschen des Eintrages: '.pg_last_error($this->conn); + $this->errormsg = 'Fehler beim Loeschen des Eintrages: '.$this->db_last_error(); return false; } } diff --git a/include/uebung.class.php b/include/uebung.class.php index 7e6f5b962..3a2ac62ef 100644 --- a/include/uebung.class.php +++ b/include/uebung.class.php @@ -19,84 +19,69 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class uebung +class uebung extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $uebungen = array(); // lehreinheit Objekt + public $new; // boolean + public $uebungen = array(); // lehreinheit Objekt //Tabellenspalten - var $uebung_id; // serial - var $gewicht; // smalint - var $punkte; // Real - var $angabedatei; // oid - var $freigabevon; // timestamp - var $freigabebis; // timestamp - var $abgabe; // boolean - var $beispiele; // boolean - var $bezeichnung; // varchar(32) - var $positiv; // boolean - var $defaultbemerkung; // text - var $lehreinheit_id; // integer - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $statistik; // boolean - var $liste_id; //integer - var $maxbsp; //smallint - var $maxstd; //smallint - var $nummer; //smallint - var $prozent; + 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 - var $student_uid; // varchar(16) - var $mitarbeiter_uid; // varchar(16) - var $abgabe_id; // integer - var $note; // smalint - var $mitarbeitspunkte; // smalint - var $anmerkung; // text - var $benotungsdatum; // timestamp + 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 - var $abgabe_abgabe_id; // integer - var $abgabedatei; // varchar(64) - var $abgabezeit; // timestamp - var $abgabe_anmerkung; // text + public $abgabe_abgabe_id; // integer + public $abgabedatei; // varchar(64) + public $abgabezeit; // timestamp + public $abgabe_anmerkung; // text - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Uebung - // * @param $conn Datenbank-Connection - // * $uebung_id - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function uebung($conn, $uebung_id=null, $unicode=false) + /** + * Konstruktor - laedt optional eine Uebung + * @param $uebung_id + */ + public function __construct($uebung_id=null) { - $this->conn = $conn; -/* - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; - - if(!pg_query($this->conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } -*/ + parent::__construct(); + if($uebung_id!=null) $this->load($uebung_id); } - // ********************************************************* - // * Laedt die Uebung - // * @param uebung_id - // ********************************************************* - function load($uebung_id) + /** + * Laedt die Uebung + * @param uebung_id + */ + public function load($uebung_id) { if(!is_numeric($uebung_id)) { @@ -105,9 +90,9 @@ class uebung } $qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id='$uebung_id'"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->uebung_id = $row->uebung_id; $this->gewicht = $row->gewicht; @@ -146,25 +131,38 @@ class uebung } } - function toggle_prozent_punkte($uebung_id) + /** + * 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 = '".$uebung_id."'"; - if(pg_query($this->conn, $qry)) + $qry = "UPDATE campus.tbl_uebung SET prozent = not prozent WHERE uebung_id = '".$uebung_id."'"; + if($this->db_query($qry)) return true; else { - return false; $this->errormsg = "toggle misslungen"; + return false; } } - function load_studentuebung($student_uid, $uebung_id) + /** + * 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='$student_uid' AND uebung_id='$uebung_id'"; + $qry = "SELECT * FROM campus.tbl_studentuebung WHERE student_uid='".addslashes($student_uid)."' AND uebung_id='".addslashes($uebung_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->student_uid = $row->student_uid; $this->mitarbeiter_uid = $row->mitarbeiter_uid; @@ -189,18 +187,24 @@ class uebung } else { - $this->errormsg = 'Fehler beim laden des eintrages'; + $this->errormsg = 'Fehler beim Laden des eintrages'; return false; } } - function load_abgabe($abgabe_id) + /** + * Laedt eine Abgabe + * + * @param $abgabe_id + * @return boolean + */ + public function load_abgabe($abgabe_id) { - $qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = '$abgabe_id'"; + $qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = '".addslashes($abgabe_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->abgabe_id = $row->abgabe_id; $this->abgabedatei = $row->abgabedatei; @@ -221,13 +225,19 @@ class uebung } } - function check_studentuebung($uebung_id) + /** + * 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='$uebung_id'"; + $qry = "SELECT * FROM campus.tbl_studentuebung WHERE uebung_id='".addslashes($uebung_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if (pg_num_rows($result) >0) + if($this->db_num_rows() >0) return true; else return false; @@ -236,16 +246,43 @@ class uebung return false; } - function get_next_nummer() + /** + * 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"; - $result = pg_query($this->conn, $qry); - $row = pg_fetch_object($result); - $next = $row->max + 1; - $this->next_nummer = $next; + 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; + } } - function load_uebung($lehreinheit_id, $level=null, $uebung_id=null) + /** + * 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)) { @@ -260,11 +297,11 @@ class uebung $qry .= " and liste_id = '".$uebung_id."'"; $qry .= " ORDER BY bezeichnung"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $uebung_obj = new uebung($this->conn); + $uebung_obj = new uebung(); $uebung_obj->uebung_id = $row->uebung_id; $uebung_obj->gewicht = $row->gewicht; @@ -295,17 +332,17 @@ class uebung } else { - $this->errormsg = 'Fehler beim laden der Uebung'; + $this->errormsg = 'Fehler beim Laden der Uebung'; return false; } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(!is_numeric($this->lehreinheit_id)) { @@ -319,25 +356,14 @@ class uebung } 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 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 - // ************************************************************ - function save($new=null) + + /** + * 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; @@ -396,30 +422,30 @@ class uebung " WHERE uebung_id=".$this->addslashes($this->uebung_id).";"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('campus.tbl_uebung_uebung_id_seq') as id;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->uebung_id = $row->id; - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn,'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn,'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -433,12 +459,12 @@ class uebung } } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate_studentuebung() + /** + * 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)) { @@ -453,13 +479,13 @@ class uebung 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 - // ************************************************************ - function studentuebung_save($new=null) + /** + * 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; @@ -503,9 +529,9 @@ class uebung " WHERE uebung_id=".$this->addslashes($this->uebung_id)." AND student_uid=".$this->addslashes($this->student_uid).";"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - return true; + return true; } else { @@ -514,7 +540,13 @@ class uebung } } -function abgabe_save($new=null) + /** + * Speichert eine Abgabe + * + * @param $new + * @return boolean + */ + public function abgabe_save($new=null) { if(is_null($new)) $new = $this->new; @@ -537,30 +569,30 @@ function abgabe_save($new=null) " WHERE abgabe_id=".$this->addslashes($this->abgabe_id).";"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('campus.tbl_abgabe_abgabe_id_seq') as id;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row=pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->abgabe_id = $row->id; - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn,'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn,'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -574,12 +606,11 @@ function abgabe_save($new=null) } } - - // ************************************************************ - // * Loescht eine Uebung plus die abhaengigen eintraege in den - // * Tabellen studentuebung, studentbeispiel, und beispiel - // ************************************************************ - function delete($uebung_id) + /** + * Loescht eine Uebung plus die abhaengigen eintraege in den + * Tabellen studentuebung, studentbeispiel, und beispiel + */ + public function delete($uebung_id) { if(!is_numeric($uebung_id)) { @@ -589,28 +620,27 @@ function abgabe_save($new=null) // subuebungen wegraeumen $qry = "SELECT * FROM campus.tbl_uebung WHERE liste_id = '".$uebung_id."'"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) - { - - foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$row->uebung_id.".*") as $angabe) - { - 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='$row->uebung_id'); - DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id'); - DELETE FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id'; - DELETE FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id'; - DELETE FROM campus.tbl_studentuebung WHERE uebung_id = '$row->uebung_id'; - DELETE FROM campus.tbl_uebung WHERE uebung_id='$row->uebung_id';"; + while($row = $this->db_fetch_object()) + { + foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$row->uebung_id.".*") as $angabe) + { + 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='$row->uebung_id'); + DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id'); + DELETE FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id'; + DELETE FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id'; + DELETE FROM campus.tbl_studentuebung WHERE uebung_id = '$row->uebung_id'; + DELETE FROM campus.tbl_uebung WHERE uebung_id='$row->uebung_id';"; - if(!pg_query($qry)) - { - $this->errormsg = 'Fehler beim Loeschen der Daten'; - return false; - } + if(!$this->db_query($qry)) + { + $this->errormsg = 'Fehler beim Loeschen der Daten'; + return false; + } } } @@ -627,23 +657,20 @@ function abgabe_save($new=null) DELETE FROM campus.tbl_studentuebung WHERE uebung_id = '$uebung_id'; DELETE FROM campus.tbl_uebung WHERE uebung_id='$uebung_id';"; - if(pg_query($qry)) + 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 - // ************************************************************ - function delete_abgabe($abgabe_id) + /** + * 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)) { @@ -653,29 +680,35 @@ function abgabe_save($new=null) // subuebungen wegraeumen $qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = '".$abgabe_id."'"; - if($result=pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { - - - if(file_exists(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei)) - unlink(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei); + 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 = '$abgabe_id'; - DELETE FROM campus.tbl_abgabe WHERE abgabe_id = '$abgabe_id'"; + $qry = "UPDATE campus.tbl_studentuebung set abgabe_id = null where abgabe_id = '$abgabe_id'; + DELETE FROM campus.tbl_abgabe WHERE abgabe_id = '$abgabe_id'"; - if(!pg_query($qry)) - { - $this->errormsg = 'Fehler beim Loeschen der Daten'; - return false; - } - else - return true; + 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; + } } - } ?> \ No newline at end of file diff --git a/include/variable.class.php b/include/variable.class.php index 03c0555fb..39d57cc47 100644 --- a/include/variable.class.php +++ b/include/variable.class.php @@ -34,14 +34,11 @@ class variable extends basis_db public $name; // varchar(64) public $wert; // varchar(64) - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Variable - // * @param $conn Datenbank-Connection - // * $uid - // * $name - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* + /** + * Konstruktor - Laedt optional eine Variable + * @param $uid + * @param $name + */ public function __construct($uid=null, $name=null) { parent::__construct(); @@ -50,11 +47,11 @@ class variable extends basis_db $this->load($uid, $name); } - // ********************************************************* - // * Laedt eine Variable - // * @param $uid - // * @param $name - // ********************************************************* + /** + * Laedt eine Variable + * @param $uid + * @param $name + */ public function load($uid, $name) { $qry = "SELECT wert FROM public.tbl_variable WHERE uid='".addslashes($uid)."' AND name='".addslashes($name)."'"; @@ -75,12 +72,12 @@ class variable extends basis_db return false; } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - private function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(strlen($this->uid)>32) { @@ -101,12 +98,12 @@ class variable extends basis_db return true; } - // ************************************************************ - // * Speichert Variable 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 - // ************************************************************ + /** + * Speichert Variable 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)) @@ -142,9 +139,9 @@ class variable extends basis_db } } - // **** - // * Loescht einen Variableneintrag - // **** + /** + * Loescht einen Variableneintrag + */ public function delete($name, $uid) { if($name=='' || $uid == '') @@ -164,14 +161,14 @@ class variable extends basis_db } } - // ****** - // * Liefert alle Variablen eines Benutzers - // ****** + /** + * Liefert alle Variablen eines Benutzers + */ public function getVars($uid) { $qry = "SELECT * FROM public.tbl_variable WHERE uid='".addslashes($uid)."' ORDER BY name"; - if($result = $this->db_query($qry)) + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) { @@ -207,8 +204,6 @@ class variable extends basis_db $this->errormsg.=$this->db_last_error(); return false; } - else - $num_rows = $this->db_num_rows(); while($row=$this->db_fetch_object()) { diff --git a/include/vorlage.class.php b/include/vorlage.class.php index 9c8053897..9bf9e8544 100644 --- a/include/vorlage.class.php +++ b/include/vorlage.class.php @@ -19,85 +19,52 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class vorlage +class vorlage extends basis_db { // ErgebnisArray - var $result=array(); - var $num_rows=0; - var $errormsg; - var $new; + public $result=array(); + public $num_rows=0; + public $errormsg; + public $new; //Tabellenspalten - var $vorlage_kurzbz; - var $studiengang_kz; - var $version; - var $text; + public $vorlage_kurzbz; + public $studiengang_kz; + public $version; + public $text; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection - // * @param $conn Datenbank-Connection - // ************************************************************************* - function vorlage($conn) + /** + * Konstruktor + */ + public function __construct() { - $this->conn = $conn; + parent::__construct(); } - // *********************************************************** - // * Laedt Vorschlag mit der uebergebenen ID - // * @param $vorlage_kurzbz, studiengang_kz, version - // *********************************************************** - function load($vorlage_kurzbz, $studiengang_kz, $version) - { - return false; - } - - // ************************************************ - // * 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'); - } - - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() - { - return true; - } - - // ****************************************************************** - // * Speichert die Benutzerdaten in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt - // * ansonsten der Datensatz mit $uid upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ****************************************************************** - function save() - { - return false; - } - - function getAktuelleVorlage($studiengang_kz, $vorlage_kurzbz) + /** + * Liefert die Aktuelle Vorlage + * + * @param $studiengang_kz + * @param $vorlage_kurzbz + * @return boolean + */ + public function getAktuelleVorlage($studiengang_kz, $vorlage_kurzbz) { $qry = "SELECT * FROM public.tbl_vorlagestudiengang WHERE (studiengang_kz=0 OR studiengang_kz='".addslashes($studiengang_kz)."') AND vorlage_kurzbz='".addslashes($vorlage_kurzbz)."' ORDER BY studiengang_kz DESC, version DESC LIMIT 1"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->vorlage_kurzbz = $row->vorlage_kurzbz; $this->studiengang_kz = $row->studiengang_kz; $this->version = $row->version; $this->text = $row->text; + return true; } else { diff --git a/include/vorschlag.class.php b/include/vorschlag.class.php index 0700d53a3..aaab09bca 100644 --- a/include/vorschlag.class.php +++ b/include/vorschlag.class.php @@ -19,67 +19,53 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class vorschlag +class vorschlag extends basis_db { //Tabellenspalten - var $vorschlag_id; - var $frage_id; - var $nummer; - var $punkte; + public $vorschlag_id; + public $frage_id; + public $nummer; + public $punkte; - var $text; - var $bild; - var $audio; + public $text; + public $bild; + public $audio; - var $insertamum; - var $insertvon; - var $updateamum; - var $updatevon; + public $insertamum; + public $insertvon; + public $updateamum; + public $updatevon; // ErgebnisArray - var $result=array(); - var $num_rows=0; - var $errormsg; - var $new; + public $result=array(); + public $num_rows=0; + public $new; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional einen vorschlag - // * @param $conn Datenbank-Connection - // * $frage_id Frage die geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function vorschlag($conn, $vorschlag_id=null, $unicode=false) + /** + * Konstruktor - Laedt optional einen vorschlag + * @param $frage_id Frage die geladen werden soll (default=null) + */ + public function __construct($vorschlag_id=null) { - $this->conn = $conn; -/* - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + parent::__construct(); - if(!pg_query($conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } -*/ if($vorschlag_id != null) $this->load($vorschlag_id); } - // *********************************************************** - // * Laedt Vorschlag mit der uebergebenen ID - // * @param $vorschlag_id ID des Vorschlages der geladen werden soll - // *********************************************************** - function load($vorschlag_id, $sprache='German') + /** + * Laedt Vorschlag mit der uebergebenen ID + * @param $vorschlag_id ID des Vorschlages der geladen werden soll + */ + public function load($vorschlag_id, $sprache='German') { $qry = "SELECT * FROM testtool.tbl_vorschlag WHERE vorschlag_id='".addslashes($vorschlag_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->vorschlag_id = $row->vorschlag_id; $this->frage_id = $row->frage_id; @@ -101,13 +87,19 @@ class vorschlag } } - function loadVorschlagSprache($vorschlag_id, $sprache) + /** + * Laedt die Vorschlaege in einer Sprache + * + * @param $vorschlag_id + * @param $sprache + */ + public function loadVorschlagSprache($vorschlag_id, $sprache) { $qry = "SELECT * FROM testtool.tbl_vorschlag_sprache WHERE vorschlag_id='".addslashes($vorschlag_id)."' AND sprache='".addslashes($sprache)."'"; - if($result_sprache = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row_sprache = pg_fetch_object($result_sprache)) + if($row_sprache = $this->db_fetch_object()) { $this->text = $row_sprache->text; $this->bild = $row_sprache->bild; @@ -116,34 +108,23 @@ class vorschlag } } - // ************************************************ - // * 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'); - } - - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { return true; } - // ****************************************************************** - // * Speichert die Benutzerdaten in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt - // * ansonsten der Datensatz mit $uid upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ****************************************************************** - function save() + /** + * Speichert die Benutzerdaten in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt + * ansonsten der Datensatz mit $uid upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { //Variablen auf Gueltigkeit pruefen if(!$this->validate()) @@ -171,30 +152,30 @@ class vorschlag " WHERE vorschlag_id='".addslashes($this->vorschlag_id)."';"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { if($this->new) { $qry = "SELECT currval('testtool.tbl_vorschlag_vorschlag_id_seq') as id"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->vorschlag_id = $row->id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); return false; } } @@ -215,7 +196,7 @@ class vorschlag * * @return true wenn ok, false wenn Fehler */ - function validate_vorschlagsprache() + protected function validate_vorschlagsprache() { return true; } @@ -225,7 +206,7 @@ class vorschlag * * @return true wenn ok, false wenn Fehler */ - function save_vorschlagsprache() + public function save_vorschlagsprache() { //Variablen auf Gueltigkeit pruefen if(!$this->validate_vorschlagsprache()) @@ -234,9 +215,9 @@ class vorschlag $qry = "SELECT * FROM testtool.tbl_vorschlag_sprache WHERE vorschlag_id='".addslashes($this->vorschlag_id)."' AND sprache='".addslashes($this->sprache)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if(pg_num_rows($result)>0) + if($this->db_num_rows()>0) $this->new=false; else $this->new=true; @@ -270,7 +251,7 @@ class vorschlag " WHERE vorschlag_id='".addslashes($this->vorschlag_id)."' AND sprache='".addslashes($this->sprache)."';"; } - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -281,7 +262,7 @@ class vorschlag } } - function getVorschlag($frage_id, $sprache, $random) + public function getVorschlag($frage_id, $sprache, $random) { $qry = "SELECT * FROM testtool.tbl_vorschlag WHERE frage_id='".addslashes($frage_id)."'"; if($random) @@ -289,11 +270,11 @@ class vorschlag else $qry.=" ORDER BY nummer"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $vs = new vorschlag($this->conn); + $vs = new vorschlag(); $vs->vorschlag_id = $row->vorschlag_id; $vs->frage_id = $row->frage_id; $vs->nummer = $row->nummer; @@ -301,9 +282,9 @@ class vorschlag $qry = "SELECT * FROM testtool.tbl_vorschlag_sprache WHERE vorschlag_id='".addslashes($row->vorschlag_id)."' AND sprache='".addslashes($sprache)."'"; - if($result_sprache = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row_sprache = pg_fetch_object($result_sprache)) + if($row_sprache = $this->db_fetch_object()) { $vs->text = $row_sprache->text; $vs->bild = $row_sprache->bild; @@ -318,21 +299,27 @@ class vorschlag } else { - $this->errormsg = 'Fehler beim laden der Daten'; + $this->errormsg = 'Fehler beim Laden der Daten'; return false; } } - function delete($vorschlag_id) + /** + * Loescht einen Vorschlag + * + * @param $vorschlag_id + * @return boolean + */ + public function delete($vorschlag_id) { $qry = "DELETE FROM testtool.tbl_vorschlag WHERE vorschlag_id='".addslashes($vorschlag_id)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { - $this->errormsg = 'Fehler beim loeschen'; + $this->errormsg = 'Fehler beim Löschen'; return false; } } } -?> +?> \ No newline at end of file diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php index 2a40d2ba4..ba180013b 100644 --- a/include/wochenplan.class.php +++ b/include/wochenplan.class.php @@ -1,13 +1,24 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . + */ /**************************************************************************** * @class Stundenplan * @author Christian Paminger @@ -17,70 +28,73 @@ * @brief Klasse zm Berechnen und Anzeigen des Stundenplans. * Abhaengig: von functions.inc.php *****************************************************************************/ +require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/lehrstunde.class.php'); +require_once(dirname(__FILE__).'/ferien.class.php'); +require_once(dirname(__FILE__).'/benutzerberechtigung.class.php'); +require_once(dirname(__FILE__).'/datum.class.php'); -require_once('lehrstunde.class.php'); -require_once('ferien.class.php'); -require_once('benutzerberechtigung.class.php'); -require_once('datum.class.php'); - -class wochenplan +class wochenplan extends basis_db { - var $conn; // @brief Connection zur Datenbank - var $crlf; // @brief Return Linefeed - var $type; // @brief Typ des Plans (Student, Lektor, Verband, Ort) - var $user; // @brief Benutzergruppe - var $user_uid; // @brief id in der Datenbank des Benutzers - var $link; // @brief Link auf eigene Seite - var $kal_link; // @brief Link auf den kalender + public $conn; // @brief Connection zur Datenbank + public $crlf; // @brief Return Linefeed + public $type; // @brief Typ des Plans (Student, Lektor, Verband, Ort) + public $user; // @brief Benutzergruppe + public $user_uid; // @brief id in der Datenbank des Benutzers + public $link; // @brief Link auf eigene Seite + public $kal_link; // @brief Link auf den kalender - var $stg_kz; // @brief Kennzahl des Studiengangs - var $stg_bez; // @brief Bezeichnung Studiengang - var $stg_kurzbz; // @brief Kurzbezeichnung Studiengang - var $stg_kurzbzlang;// @brief lange Kurzbezeichnung Studiengang - var $sem; // @brief Semester - var $ver; // @brief Verband (A,B,C,...) - var $grp; // @brief Gruppe (1,2) + public $stg_kz; // @brief Kennzahl des Studiengangs + public $stg_bez; // @brief Bezeichnung Studiengang + public $stg_kurzbz; // @brief Kurzbezeichnung Studiengang + public $stg_kurzbzlang;// @brief lange Kurzbezeichnung Studiengang + public $sem; // @brief Semester + public $ver; // @brief Verband (A,B,C,...) + public $grp; // @brief Gruppe (1,2) - var $pers_uid; // @brief Account Name der Person (PK) - var $pers_titelpost; // @brief Titel der Person - var $pers_titelpre; // @brief Titel der Person - var $pers_nachname; // @brief Personendaten - var $pers_vorname; // @brief Personendaten - var $pers_vornamen; // @brief Personendaten + public $pers_uid; // @brief Account Name der Person (PK) + public $pers_titelpost; // @brief Titel der Person + public $pers_titelpre; // @brief Titel der Person + public $pers_nachname; // @brief Personendaten + public $pers_vorname; // @brief Personendaten + public $pers_vornamen; // @brief Personendaten - var $ort_kurzbz; // @brief Ort PK - var $ort_bezeichnung; - var $ort_planbezeichnung; - var $ort_ausstattung; + public $ort_kurzbz; // @brief Ort PK + public $ort_bezeichnung; + public $ort_planbezeichnung; + public $ort_ausstattung; - var $gruppe_kurzbz; - var $gruppe_bezeichnung; + public $gruppe_kurzbz; + public $gruppe_bezeichnung; - var $datum; // @brief Datum des Montags der zu zeichnenden Woche - var $datum_nextweek; - var $datum_next4week; - var $datum_prevweek; - var $datum_prev4week; - var $datum_begin; - var $datum_end; - var $kalenderwoche; + public $datum; // @brief Datum des Montags der zu zeichnenden Woche + public $datum_nextweek; + public $datum_next4week; + public $datum_prevweek; + public $datum_prev4week; + public $datum_begin; + public $datum_end; + public $kalenderwoche; - var $studiensemester_now; - var $studiensemester_next; + public $studiensemester_now; + public $studiensemester_next; - var $std_plan; - var $stunde; + public $std_plan; + public $stunde; - var $wochenplan; - var $errormsg; + public $wochenplan; + public $errormsg; - function wochenplan($type,$conn) + /** + * Konstruktor + * @param $type + */ + public function __construct($type) { - $this->type=$type; - $this->conn=$conn; - // Suchpfad einstellen - if (!$result=pg_query($this->conn, 'SET search_path TO lehre;')) - $this->errormsg=pg_last_error($this->conn); + parent::__construct(); + + $this->type=$type; + $this->link='stpl_week.php?type='.$type; $this->kal_link='stpl_kalender.php?type='.$type; $this->datum=mktime(); @@ -88,7 +102,11 @@ class wochenplan $this->crlf=crlf(); } - function init_stdplan() + /** + * initialisiert den Studenplan + * + */ + public function init_stdplan() { //Stundenplan Array initialisieren (Anzahl auf 0 setzten) unset($this->std_plan); @@ -100,16 +118,20 @@ class wochenplan } } - /************************************************************************** - * @brief Funktion load_data ladet alle Zusatzinformationen fuer die Darstellung - * und ueberprueft die Daten - * - * @param datum Datum eines Tages in der angeforderten Woche - * - * @return gruppe_kurzbz + /** + * Funktion load_data ladet alle Zusatzinformationen fuer die Darstellung + * und ueberprueft die Daten * + * @param $type + * @param $uid + * @param $ort_kurzbz + * @param $studiengang_kz + * @param $sem + * @param $ver + * @param $grp + * @param $gruppe */ - function load_data($type, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe=NULL) + public function load_data($type, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe=NULL) { /////////////////////////////////////////////////////////////////////// // Parameter Checken @@ -176,28 +198,27 @@ class wochenplan else $sql_query="SELECT uid, titelpre, titelpost, nachname, vorname, vornamen FROM campus.vw_mitarbeiter WHERE uid='$this->pers_uid'"; //echo $sql_query; - if (!($result=pg_exec($this->conn, $sql_query))) + if (!$this->db_query($sql_query)) { - $this->errormsg=pg_last_error($this->conn); + $this->errormsg=$this->db_last_error(); return false; } - if (pg_num_rows($result)!=1) + if($row = $this->db_fetch_object()) { - $this->errormsg='Error: Cannot identify UID "'.$this->pers_uid.'"!'; - return false; - } - $this->pers_uid=pg_result($result,0,'"uid"'); - $this->pers_titelpre=pg_result($result,0,'"titelpre"'); - $this->pers_titelpost=pg_result($result,0,'"titelpost"'); - $this->pers_nachname=pg_result($result,0,'"nachname"'); - $this->pers_vorname=pg_result($result,0,'"vorname"'); - $this->pers_vornamen=pg_result($result,0,'"vornamen"'); - if ($this->type=='student') - { - $this->stg_kz=pg_result($result,0,'"studiengang_kz"'); - $this->sem=pg_result($result,0,'"semester"'); - $this->ver=pg_result($result,0,'"verband"'); - $this->grp=pg_result($result,0,'"gruppe"'); + $this->pers_uid = $row->uid; + $this->pers_titelpre = $row->titelpre; + $this->pers_titelpost = $row->titelpost; + $this->pers_nachname = $row->nachname; + $this->pers_vorname =$row->vorname; + $this->pers_vornamen = $row->vornamen; + + if ($this->type=='student') + { + $this->stg_kz = $row->studiengang_kz; + $this->sem = $row->semester; + $this->ver = $row->verband; + $this->grp = $row->gruppe; + } } } @@ -206,13 +227,16 @@ class wochenplan { $sql_query="SELECT bezeichnung, ort_kurzbz, planbezeichnung, ausstattung FROM public.tbl_ort WHERE ort_kurzbz='$this->ort_kurzbz'"; //echo $sql_query; - if (!$result=pg_query($this->conn, $sql_query)) - $this->errormsg=pg_last_error($this->conn); - $this->ort_bezeichnung=pg_result($result,0,'"bezeichnung"'); - $this->ort_kurzbz=pg_result($result,0,'"ort_kurzbz"'); - $this->ort_planbezeichnung=pg_result($result,0,'"planbezeichnung"'); - $this->ort_ausstattung=pg_result($result,0,'"ausstattung"'); - $this->link.='&ort_kurzbz='.$this->ort_kurzbz; //Link erweitern + if (!$this->db_query($sql_query)) + $this->errormsg=$this->db_last_error(); + if($row = $this->db_fetch_object()) + { + $this->ort_bezeichnung = $row->bezeichnung; + $this->ort_kurzbz = $row->ort_kurzbz; + $this->ort_planbezeichnung = $row->planbezeichnung; + $this->ort_ausstattung = $row->ausstattung; + $this->link.='&ort_kurzbz='.$this->ort_kurzbz; //Link erweitern + } } // Studiengangsdaten ermitteln @@ -220,45 +244,51 @@ class wochenplan { $sql_query="SELECT bezeichnung, kurzbz, kurzbzlang, typ FROM public.tbl_studiengang WHERE studiengang_kz=$this->stg_kz"; //echo $sql_query; - if(!($result=pg_exec($this->conn, $sql_query))) - die(pg_last_error($this->conn)); - $this->stg_bez=pg_result($result,0,'"bezeichnung"'); - $this->stg_kurzbz=pg_result($result,0,'"typ"').pg_result($result,0,'"kurzbz"'); - $this->stg_kurzbzlang=pg_result($result,0,'"kurzbzlang"'); + if(!($this->db_query($sql_query))) + die($this->db_last_error()); + if($row = db_fetch_object()) + { + $this->stg_bez = $row->bezeichnung; + $this->stg_kurzbz = $row->typ.$row->kurzbz; + $this->stg_kurzbzlang = $row->kurzbzlang; + } } // Stundentafel abfragen $sql_query="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde"; - if(!$this->stunde=pg_exec($this->conn, $sql_query)) - die(pg_last_error($this->conn)); + if(!$this->db_query($sql_query)) + die($this->db_last_error()); + $this->stunde = $this->db_result; // Studiensemesterdaten ermitteln $sql_query="SELECT * FROM public.tbl_studiensemester WHERE now()conn, $sql_query)) - die(pg_last_error($this->conn)); + if(!$this->db_query($sql_query)) + die($this->db_last_error()); else { - $row=pg_fetch_object($result); - $this->studiensemester_now->name=$row->studiensemester_kurzbz; - $this->studiensemester_now->start=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8,2),substr($row->start,0,4)); - $this->studiensemester_now->ende=mktime(0,0,0,substr($row->ende,5,2),substr($row->ende,8,2),substr($row->ende,0,4)); - $row=pg_fetch_object($result); - $this->studiensemester_next->name=$row->studiensemester_kurzbz; - $this->studiensemester_next->start=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8,2),substr($row->start,0,4)); - $this->studiensemester_next->ende=mktime(0,0,0,substr($row->ende,5,2),substr($row->ende,8,2),substr($row->ende,0,4)); + if($row = $this->db_fetch_object()) + { + $this->studiensemester_now->name=$row->studiensemester_kurzbz; + $this->studiensemester_now->start=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8,2),substr($row->start,0,4)); + $this->studiensemester_now->ende=mktime(0,0,0,substr($row->ende,5,2),substr($row->ende,8,2),substr($row->ende,0,4));# + } + if($row = $this->db_fetch_object()) + { + $this->studiensemester_next->name=$row->studiensemester_kurzbz; + $this->studiensemester_next->start=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8,2),substr($row->start,0,4)); + $this->studiensemester_next->ende=mktime(0,0,0,substr($row->ende,5,2),substr($row->ende,8,2),substr($row->ende,0,4)); + } } return true; } - /************************************************************************** - * @brief Funktion load_week ladet die Stundenplandaten einer Woche + /** + * Funktion load_week ladet die Stundenplandaten einer Woche * * @param datum Datum eines Tages in der angeforderten Woche - * * @return true oder false - * */ - function load_week($datum, $stpl_view='stundenplan') + public function load_week($datum, $stpl_view='stundenplan') { // Pruefung der Attribute if (!isset($this->type)) @@ -281,7 +311,7 @@ class wochenplan $this->kalenderwoche=kalenderwoche($this->datum); // Stundenplandaten ermittlen - $this->wochenplan=new lehrstunde($this->conn); + $this->wochenplan=new lehrstunde(); $anz=$this->wochenplan->load_lehrstunden($this->type,$this->datum_begin,$this->datum_end,$this->pers_uid,$this->ort_kurzbz,$this->stg_kz,$this->sem,$this->ver,$this->grp,$this->gruppe_kurzbz, $stpl_view); if ($anz<0) { @@ -337,7 +367,11 @@ class wochenplan return true; } - function draw_header() + /** + * Schreibt den Stundenplan Header im HTML-Format + * + */ + public function draw_header() { echo ''.$this->crlf; echo ' '.$this->crlf; @@ -399,18 +433,25 @@ class wochenplan { // Orte abfragen $sql_query="SELECT * FROM public.tbl_ort WHERE aktiv AND lehre ORDER BY ort_kurzbz"; - if(!$result_ort=pg_exec($this->conn, $sql_query)) - die(pg_last_error($this->conn)); - $num_rows_ort=pg_numrows($result_ort); + if(!$this->db_query($sql_query)) + die($this->db_last_error()); + $num_rows_ort=$this->db_num_rows(); // vorigen Ort bestimmen for ($i=0;$i<($num_rows_ort-1);$i++) - if (pg_result($result_ort,$i+1,'"ort_kurzbz"')==$this->ort_kurzbz) - $prev_ort=pg_fetch_object($result_ort,$i); + { + $row = $this->db_fetch_object(null,$i+1); + + if ($row->ort_kurzbz==$this->ort_kurzbz) + $prev_ort=$this->db_fetch_object(null,$i); + } // naechsten Ort bestimmen for ($i=1;$i<$num_rows_ort;$i++) - if (pg_result($result_ort,$i-1,'"ort_kurzbz"')==$this->ort_kurzbz) - $next_ort=pg_fetch_object($result_ort,$i); + { + $row = $this->db_fetch_object(null, $i-1); + if ($row->ort_kurzbz==$this->ort_kurzbz) + $next_ort=$this->db_fetch_object(null,$i); + } // Ort Jump echo ''.$this->crlf; @@ -425,7 +466,7 @@ class wochenplan echo " '.$this->crlf; for ($i=0;$i<$num_rows_stunde; $i++) { - $beginn=pg_result($result_stunde,$i,'"beginn"'); + $row = $this->db_fetch_object($result_stunde); + $beginn=$row->beginn; $beginn=substr($beginn,0,5); - $ende=pg_result($result_stunde,$i,'"ende"'); + $ende=$row->ende; $ende=substr($ende,0,5); - $stunde=pg_result($result_stunde,$i,'"stunde"'); + $stunde=$row->stunde; echo ' '.$this->crlf; - } + } echo ' '.$this->crlf; // Von Montag bis Samstag $datum_now=mktime(); @@ -508,7 +551,8 @@ class wochenplan echo ' '.$this->crlf; //.strftime("%A %d %B %Y",$this->datum) for ($k=0; $k<$num_rows_stunde; $k++) { - $j=pg_result($result_stunde,$k,'"stunde"'); + $row = $this->db_fetch_object($result_stunde, $k); + $j = $row->stunde; // Stunde aufbereiten if (isset($this->std_plan[$i][$j][0]->lehrfach)) { @@ -588,10 +632,6 @@ class wochenplan else $lf=$lehrfach[0].'
'; - //$lkt=$this->std_plan[$i][$j][0]->lektor.'
'; - //$lvb=$this->std_plan[$i][$j][0]->stg.'-'.$this->std_plan[$i][$j][0]->sem.$this->std_plan[$i][$j][0]->ver.$this->std_plan[$i][$j][0]->grp.'
'; - - // Blinken oder nicht ? if ($kollision) { @@ -658,26 +698,25 @@ class wochenplan } } - /************************************************************************** - * @brief Funktion draw_week_xul Stundenplan im XUL-Format + /** + * Funktion draw_week_xul Stundenplan im XUL-Format * * @param datum Datum eines Tages in der angeforderten Woche - * * @return true oder false - * */ - function draw_week_xul($semesterplan, $uid, $wunsch=null, $ignore_kollision=false) + public function draw_week_xul($semesterplan, $uid, $wunsch=null, $ignore_kollision=false) { //echo $wunsch; global $cfgStdBgcolor; $count=0; - $berechtigung=new benutzerberechtigung($this->conn); + $berechtigung=new benutzerberechtigung(); $berechtigung->getBerechtigungen($uid); // Stundentafel abfragen $sql_query="SELECT * FROM lehre.tbl_stunde ORDER BY stunde"; - if(!$result_stunde=pg_query($this->conn, $sql_query)) - $this->errormsg=pg_last_error($this->conn); - $num_rows_stunde=pg_numrows($result_stunde); + if(!$this->db_query($sql_query)) + $this->errormsg=$this->db_last_error(); + $result_stunde = $this->db_result; + $num_rows_stunde=$this->db_num_rows($result_stunde); // Kontext Menue echo ' @@ -715,7 +754,7 @@ class wochenplan '.$this->crlf; //BeginnEnde for ($i=0;$i<$num_rows_stunde; $i++) { - $row=pg_fetch_object($result_stunde,$i); + $row=$this->db_fetch_object($result_stunde,$i); $beginn=substr($row->beginn,0,5); $ende=substr($row->ende,0,5); $stunde=$row->stunde; @@ -732,7 +771,7 @@ class wochenplan $datum=$this->datum; // Ferien holen - $ferien=new ferien($this->conn); + $ferien=new ferien(); if ($this->type=='verband') $ferien->getAll($this->stg_kz); else @@ -745,7 +784,8 @@ class wochenplan echo ''; for ($k=0; $k<$num_rows_stunde; $k++) { - $j=pg_result($result_stunde,$k,'"stunde"'); + $row = $this->db_fetch_object($result_stunde, $k); + $j=$row->stunde; if (isset($wunsch[$i][$j])) $index=$wunsch[$i][$j]; else @@ -910,8 +950,7 @@ class wochenplan $updatevonam.='am '; foreach ($updateamum as $u) $updatevonam.=$u.' '; - //$updatevonam='Geaendert von '.$updatevon.', am '.$updateamum; - + // Blinken oder nicht ? if ($kollision) { @@ -984,7 +1023,7 @@ class wochenplan '.$this->crlf; //BeginnEnde for ($i=0;$i<$num_rows_stunde; $i++) { - $row=pg_fetch_object($result_stunde,$i); + $row=$this->db_fetch_object($result_stunde,$i); $beginn=substr($row->beginn,0,5); $ende=substr($row->ende,0,5); $stunde=$row->stunde; @@ -1001,17 +1040,15 @@ class wochenplan - /************************************************************************** - * @brief Funktion load_stpl_search sucht Vorschlag fuer Stundenverschiebung + /** + * Funktion load_stpl_search sucht Vorschlag fuer Stundenverschiebung * * @param datum der Aktuellen Woche * @param stpl_id Array der stundenplan_id's * @param db_stpl_table Name der DB-Tabelle - * * @return true oder false - * */ - function load_stpl_search($datum,$stpl_id,$db_stpl_table, $block=1) + public function load_stpl_search($datum,$stpl_id,$db_stpl_table, $block=1) { // Initatialisierung der Variablen $lehrverband=array(); @@ -1027,10 +1064,11 @@ class wochenplan $this->datum_end=date("Y-m-d",$this->datum_end); // Stundentafel abfragen $sql_query='SELECT min(stunde),max(stunde)FROM lehre.tbl_stunde'; - if(!$result_stunde=pg_exec($this->conn, $sql_query)) - die(pg_last_error($this->conn)); - $min_stunde=pg_result($result_stunde,0,'min'); - $max_stunde=pg_result($result_stunde,0,'max'); + if(!$this->db_query($sql_query)) + die($this->db_last_error()); + $row = $this->db_fetch_object(); + $min_stunde=$row->min; + $max_stunde=$row->max; // Stundenplaneintraege holen $sql_query="SELECT * FROM $stpl_view WHERE"; $stplids=''; @@ -1039,14 +1077,14 @@ class wochenplan $stplids=substr($stplids,3); $sql_query.=$stplids; //echo $sql_query; - if(!$result_stpl=pg_exec($this->conn, $sql_query)) - die(pg_last_error($this->conn)); - $num_rows_stpl=pg_numrows($result_stpl); + if(!$this->db_query($sql_query)) + die($this->db_last_error()); + $num_rows_stpl=$this->db_num_rows(); // Daten aufbereiten $leids=''; for ($i=0;$i<$num_rows_stpl;$i++) { - $row=pg_fetch_object($result_stpl,$i); + $row=$this->db_fetch_object(null,$i); //$block=$row->stundenblockung; //$raumtyp[$i]=$row->raumtyp; //$raumtypalt[$i]=$row->raumtypalternativ; @@ -1067,8 +1105,8 @@ class wochenplan // Raumtypen $leids = substr($leids, 0, strlen($leids)-1); $qry = "SELECT raumtyp, raumtypalternativ FROM lehre.tbl_lehreinheit WHERE lehreinheit_id IN ($leids)"; - if($result = pg_query($this->conn, $qry)){ - while($row = pg_fetch_object($result)) + if($this->db_query($qry)){ + while($row = $this->db_fetch_object()) { $raumtyp[]=$row->raumtyp; $raumtyp[]=$row->raumtypalternativ; @@ -1115,33 +1153,30 @@ class wochenplan // Raeume die in Frage kommen, aufgrund der Raumtypen $sql_query="SELECT DISTINCT ort_kurzbz, hierarchie FROM public.tbl_ort JOIN public.tbl_ortraumtyp USING (ort_kurzbz) WHERE ($rtype) AND aktiv AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY hierarchie,ort_kurzbz"; - // WHERE aktiv AND lehre AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY ort_kurzbz"; // NATURAL JOIN tbl_ortraumtyp WHERE $rtype hierarchie - //echo $sql_query; - if(!$result=pg_exec($this->conn, $sql_query)) - die(pg_last_error($this->conn)); - $num_orte=pg_numrows($result); - for ($i=0;$i<$num_orte;$i++) - $orte[]=pg_fetch_result($result,$i,"ort_kurzbz"); + + if(!$this->db_query($sql_query)) + die($this->db_last_error()); + while($row = $this->db_fetch_object()) + $orte[]=$row->ort_kurzbz; // Raster vorbereiten for ($t=1;$t<=TAGE_PRO_WOCHE;$t++) + { for ($s=$min_stunde;$s<=$max_stunde;$s++) { $raster[$t][$s]->ort=array(); $raster[$t][$s]->kollision=false; } - + } // Stundenplanabfrage bauen (Wo ist Kollision?) $sql_query="SELECT DISTINCT datum, stunde FROM $stpl_view WHERE datum>='$this->datum_begin' AND datum<'$this->datum_end' AND ($lkt $gruppen OR ($lvb) ) AND unr!=$unr"; //AND unr!=$unr" //echo $sql_query; - if(!$result_kollision=pg_exec($this->conn, $sql_query)) - die(pg_last_error($this->conn)); - $num_k=pg_numrows($result_kollision); - for ($i=0;$i<$num_k;$i++) + if(!$this->db_query($sql_query)) + die($this->db_last_error()); + while($row = $this->db_fetch_object()) { - $row=pg_fetch_object($result_kollision,$i); $mtag=substr($row->datum, 8,2); $month=substr($row->datum, 5,2); $jahr=substr($row->datum, 0,4); @@ -1158,12 +1193,11 @@ class wochenplan $sql_query.=" UNION SELECT DISTINCT datum, stunde, ort_kurzbz FROM campus.tbl_reservierung WHERE datum>='$this->datum_begin' AND datum<'$this->datum_end' "; - if(!$result_besetzt=pg_exec($this->conn, $sql_query)) - die(pg_last_error($this->conn)); - $num_b=pg_numrows($result_besetzt); - for ($i=0;$i<$num_b;$i++) + if(!$this->db_query($sql_query)) + die($this->db_last_error()); + + while($row = $this->db_fetch_object()) { - $row=pg_fetch_object($result_besetzt,$i); $mtag=substr($row->datum, 8,2); $month=substr($row->datum, 5,2); $jahr=substr($row->datum, 0,4); @@ -1186,17 +1220,15 @@ class wochenplan return true; } - /************************************************************************** - * @brief Funktion load_lva_search sucht Vorschlag fuer LVAs + /** + * Funktion load_lva_search sucht Vorschlag fuer LVAs * * @param datum der Aktuellen Woche * @param lva_id Array der lvaIDs * @param db_stpl_table Name der DB-Tabelle - * * @return true oder false - * */ - function load_lva_search($datum,$lva_id,$db_stpl_table,$type) + public function load_lva_search($datum,$lva_id,$db_stpl_table,$type) { // Initialiseren der Variablen $lehrverband=array(); @@ -1213,10 +1245,11 @@ class wochenplan $this->datum_end=date("Y-m-d",$this->datum_end); // Stundentafel abfragen $sql_query='SELECT min(stunde),max(stunde) FROM lehre.tbl_stunde'; - if(!$result_stunde=pg_exec($this->conn, $sql_query)) - die(pg_last_error($this->conn)); - $min_stunde=pg_result($result_stunde,0,'min'); - $max_stunde=pg_result($result_stunde,0,'max'); + if(!$this->db_query($sql_query)) + die($this->db_last_error()); + $row = $this->db_fetch_object(); + $min_stunde=$row->min; + $max_stunde=$row->max; // LEs holen $sql_query='SELECT *, (planstunden-verplant::smallint) AS offenestunden FROM '.$lva_stpl_view.' WHERE'; @@ -1227,9 +1260,9 @@ class wochenplan $sql_query.=$lvas; //$this->errormsg.=$sql_query; //return false; - if(!$result_lva=pg_exec($this->conn, $sql_query)) - die(pg_last_error($this->conn)); - $num_rows_lva=pg_numrows($result_lva); + if(!$this->db_query($sql_query)) + die($this->db_last_error()); + $num_rows_lva=$this->db_num_rows(); // Arrays setzen //$wochenrythmus=array(); $verplant=array(); @@ -1240,7 +1273,8 @@ class wochenplan // Daten aufbereiten for ($i=0;$i<$num_rows_lva;$i++) { - $row=pg_fetch_object($result_lva,$i); + $row=$this->db_fetch_object(null,$i); + $raumtyp[$i]=$row->raumtyp; $raumtypalt[$i]=$row->raumtypalternativ; if ($row->gruppe_kurzbz!=null && $row->gruppe_kurzbz!='') @@ -1363,14 +1397,17 @@ class wochenplan $sql_query="SELECT DISTINCT ort_kurzbz, hierarchie FROM public.tbl_ort JOIN public.tbl_ortraumtyp USING (ort_kurzbz) WHERE ($rtype) AND aktiv AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY hierarchie,ort_kurzbz"; // //echo $sql_query; - if(!$result=pg_query($this->conn, $sql_query)) + if(!$this->db_query($sql_query)) { - $this->errormsg=pg_last_error($this->conn); + $this->errormsg=$this->db_last_error(); return false; } - $num_orte=pg_numrows($result); + $num_orte=$this->db_num_rows(); for ($i=0;$i<$num_orte;$i++) - $orte[]=pg_fetch_result($result,$i,"ort_kurzbz"); + { + $row = $this->db_fetch_object(null, $i); + $orte[]=$row->ort_kurzbz; + } // Suche nach freien Orten. Bei 'lva_multi_search' wird die Schleife (do) aktiv $count=0; @@ -1410,17 +1447,15 @@ class wochenplan $sql_query.=" AND unr!=$unr"; //$this->errormsg.=htmlspecialchars($sql_query); //return false; - if(!$result_kollision=pg_query($this->conn, $sql_query)) + if(!$this->db_query($sql_query)) { - //die(pg_last_error($this->conn)); - $this->errormsg=pg_last_error($this->conn).$sql_query; + $this->errormsg = $this->db_last_error().$sql_query; return false; } - $num_k=pg_numrows($result_kollision); + // Kollisionen ins Raster eintragen - for ($i=0;$i<$num_k;$i++) + while($row = $this->db_fetch_object()) { - $row=pg_fetch_object($result_kollision,$i); $mtag=substr($row->datum, 8,2); $month=substr($row->datum, 5,2); $jahr=substr($row->datum, 0,4); @@ -1435,23 +1470,19 @@ class wochenplan ($rtype)"; if (is_numeric($unr)) $sql_query.=" AND unr!=$unr"; - //echo $sql_query; // Reservierungen beruecksichtigen $sql_query.=" UNION SELECT distinct datum, stunde, ort_kurzbz FROM campus.tbl_reservierung WHERE datum>='$datum_begin' AND datum<'$datum_end'"; - if(!$result_besetzt=pg_query($this->conn, $sql_query)) + if(!$this->db_query($sql_query)) { - $this->errormsg=pg_last_error($this->conn).$sql_query; + $this->errormsg = $this->db_last_error().$sql_query; return false; } - $num_b=pg_numrows($result_besetzt); - - // Besetzte Orte ins Raster eintragen - for ($i=0;$i<$num_b;$i++) + + while($row = $this->db_fetch_object()) { - $row=pg_fetch_object($result_besetzt,$i); $mtag=substr($row->datum, 8,2); $month=substr($row->datum, 5,2); $jahr=substr($row->datum, 0,4); @@ -1499,24 +1530,23 @@ class wochenplan } - /************************************************************************** - * @brief Funktion draw_week_csv Stundenplan im CSV-Format + /** + * Funktion draw_week_csv Stundenplan im CSV-Format * * @param target Ziel-System zB Outlook - * * @return true oder false - * */ - function draw_week_csv($target, $lvplan_kategorie) + public function draw_week_csv($target, $lvplan_kategorie) { if (!date("w",$this->datum)) $this->datum=jump_day($this->datum,1); - $num_rows_stunde=pg_numrows($this->stunde); + $num_rows_stunde=$this->db_num_rows($this->stunde); for ($i=1; $i<=TAGE_PRO_WOCHE; $i++) { for ($k=0; $k<$num_rows_stunde; $k++) { - $j=pg_result($this->stunde,$k,'"stunde"'); // get id of hour + $row = $this->db_fetch_object($this->stunde, $k); + $j=$row->stunde; // get id of hour if (isset($this->std_plan[$i][$j][0]->lehrfach)) { // Daten aufbereiten @@ -1584,21 +1614,22 @@ class wochenplan else $lvb=$lehrverband[0]; - - $start_time=pg_result($this->stunde,$k,'"beginn"'); + $row = $this->db_fetch_object($this->stunde, $k); + $start_time=$row->beginn; // Blockungen erkennen if (($this->std_plan[$i][$j][0]->unr == $this->std_plan[$i][$j+1][0]->unr) && $this->std_plan[$i][$j][0]!=0 && $k<($num_rows_stunde-1)) { - $end_time=pg_result($this->stunde,++$k,'"ende"'); + $row = $this->db_fetch_object($this->stunde, ++$k); + $end_time=$row->ende; if (($this->std_plan[$i][$j][0]->unr == $this->std_plan[$i][$j+2][0]->unr) && $k<($num_rows_stunde-2)) { - $end_time=pg_result($this->stunde,++$k,'"ende"'); + $end_time=$row->ende; if (($this->std_plan[$i][$j][0]->unr == $this->std_plan[$i][$j+3][0]->unr) && $k<($num_rows_stunde-3)) - $end_time=pg_result($this->stunde,++$k,'"ende"'); + $end_time=$row->ende; } } else - $end_time=pg_result($this->stunde,$k,'"ende"'); + $end_time=$row->ende; //$start_time=substr($start_time,0,5); //$end_time=substr($end_time,0,5); //$start_date=$this->datum[year].'/'.$this->datum[mon].'/'.$this->datum[mday]; diff --git a/include/zeitaufzeichnung.class.php b/include/zeitaufzeichnung.class.php index f1d9dbc04..dbcad6aca 100644 --- a/include/zeitaufzeichnung.class.php +++ b/include/zeitaufzeichnung.class.php @@ -23,70 +23,50 @@ * Klasse Zeitaufzeichnung * @create 06-11-2007 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class zeitaufzeichnung +class zeitaufzeichnung extends basis_db { - var $conn; // resource DB-Handle - var $new; // boolean - var $errormsg; // string - var $result = array(); // zeitaufzeichnung Objekt - var $done=false; // boolean + public $new; // boolean + public $result = array(); // zeitaufzeichnung Objekt + public $done=false; // boolean //Tabellenspalten - var $zeitaufzeichnung_id; // serial - var $uid; // varchar(16) - var $aktivitaet_kurzbz; // varchar(16) - var $start; // timestamp - var $ende; // timestamp - var $beschreibung; // varchar(256) - var $studiengang_kz; // integer - var $fachbereich_kurzbz; // varchar(16) - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $projekt_kurzbz; // varchar(16) + public $zeitaufzeichnung_id; // serial + public $uid; // varchar(16) + public $aktivitaet_kurzbz; // varchar(16) + public $start; // timestamp + public $ende; // timestamp + public $beschreibung; // varchar(256) + public $studiengang_kz; // integer + public $fachbereich_kurzbz; // varchar(16) + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $projekt_kurzbz; // varchar(16) - // ************************************************************************* - // * Konstruktor - // * @param $conn Connection - // * $zeitaufzeichnung_id ID der Zeitaufzeichnung die geladen werden soll (Default=null) - // * $unicode wenn false dann wird das Encoding auf LATIN9 gesetzt - // * wenn true dann auf UNICODE - // * wenn null dann wird das Encoding nicht veraendert - // ************************************************************************* - function zeitaufzeichnung($conn, $zeitaufzeichnung_id=null,$unicode=false) + /** + * Konstruktor + * @param $zeitaufzeichnung_id ID der Zeitaufzeichnung die geladen werden soll (Default=null) + */ + public function __construct($zeitaufzeichnung_id=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - if ($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + parent::__construct(); - if(!pg_query($conn,$qry)) - { - $this->errormsg = "Encoding konnte nicht gesetzt werden"; - return false; - } - } -*/ if($zeitaufzeichnung_id != null) $this->load($zeitaufzeichnung_id); } - // *********************************************** - // * Laedt die Zeitaufzeichnung mit der ID $zeitaufzeichnung_id - // * @param $adress_id ID der zu ladenden Adresse - // * @return true wenn ok, false im Fehlerfall - // *********************************************** - function load($zeitaufzeichnung_id) + /** + * Laedt die Zeitaufzeichnung mit der ID $zeitaufzeichnung_id + * @param $adress_id ID der zu ladenden Adresse + * @return true wenn ok, false im Fehlerfall + */ + public function load($zeitaufzeichnung_id) { - //Pruefen ob zeitaufzeichnung_id eine gueltige Zahl ist if(!is_numeric($zeitaufzeichnung_id) || $zeitaufzeichnung_id == '') { @@ -97,13 +77,13 @@ class zeitaufzeichnung //Daten aus der Datenbank lesen $qry = "SELECT * FROM campus.tbl_zeitaufzeichnung WHERE zeitaufzeichnung_id='$zeitaufzeichnung_id'"; - if(!$result = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; } - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->zeitaufzeichnung_id = $row->zeitaufzeichnung_id; $this->uid = $row->uid; @@ -128,34 +108,23 @@ class zeitaufzeichnung return true; } - // ******************************************* - // * Prueft die Variablen auf Gueltigkeit - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen auf Gueltigkeit + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { $this->errormsg = ''; return true; } - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // *********************************************************************** - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // *********************************************************************** - function save() + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save() { //Variablen pruefen if(!$this->validate()) @@ -204,30 +173,30 @@ class zeitaufzeichnung 'WHERE zeitaufzeichnung_id='.$this->zeitaufzeichnung_id.';'; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { if($this->new) { //naechste ID aus der Sequence holen $qry="SELECT currval('campus.tbl_zeitaufzeichnung_zeitaufzeichnung_id_seq') as id;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->zeitaufzeichnung_id = $row->id; - pg_query($this->conn, 'COMMIT'); + $this->db_query('COMMIT'); return true; } else { - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); $this->errormsg = "Fehler beim Auslesen der Sequence"; return false; } } else { - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); $this->errormsg = 'Fehler beim Auslesen der Sequence'; return false; } @@ -241,12 +210,12 @@ class zeitaufzeichnung return true; } - // ******************************************************** - // * Loescht den Datenensatz mit der ID die uebergeben wird - // * @param $zeitaufzeichnnung_id ID die geloescht werden soll - // * @return true wenn ok, false im Fehlerfall - // ******************************************************** - function delete($zeitaufzeichnung_id) + /** + * Loescht den Datenensatz mit der ID die uebergeben wird + * @param $zeitaufzeichnnung_id ID die geloescht werden soll + * @return true wenn ok, false im Fehlerfall + */ + public function delete($zeitaufzeichnung_id) { //Pruefen ob zeitaufzeichnung_id eine gueltige Zahl ist if(!is_numeric($zeitaufzeichnung_id) || $zeitaufzeichnung_id == '') @@ -258,7 +227,7 @@ class zeitaufzeichnung //loeschen des Datensatzes $qry="DELETE FROM campus.tbl_zeitaufzeichnung WHERE zeitaufzeichnung_id='$zeitaufzeichnung_id';"; - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { return true; } diff --git a/include/zeitsperre.class.php b/include/zeitsperre.class.php index 6679fa6d3..ca3244323 100644 --- a/include/zeitsperre.class.php +++ b/include/zeitsperre.class.php @@ -19,50 +19,49 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class zeitsperre +class zeitsperre extends basis_db { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var news Objekt + public $new; // boolean + public $result = array(); // news Objekt //Tabellenspalten - var $zeitsperre_id; // serial - var $zeitsperretyp_kurzbz; // varchar(8) - var $mitarbeiter_uid; // varchar(16) - var $bezeichnung; // varchar(32) - var $vondatum; // date - var $vonstunde; // smallint - var $bisdatum; // date - var $bisstunde; // smallint - var $erreichbarkeit_kurzbz; // varchar(5) - var $vertretung_uid; // varchar(16) - var $updateamum; // timestamp - var $updatevon; // string - var $insertamum; // timestamp - var $insertvon; // string - var $freigabeamum; - var $freigabevon; + public $zeitsperre_id; // serial + public $zeitsperretyp_kurzbz; // varchar(8) + public $mitarbeiter_uid; // varchar(16) + public $bezeichnung; // varchar(32) + public $vondatum; // date + public $vonstunde; // smallint + public $bisdatum; // date + public $bisstunde; // smallint + public $erreichbarkeit_kurzbz; // varchar(5) + public $vertretung_uid; // varchar(16) + public $updateamum; // timestamp + public $updatevon; // string + public $insertamum; // timestamp + public $insertvon; // string + public $freigabeamum; + public $freigabevon; /** * Konstruktor - * @param $conn Connection zur DB - * $zeitsperre_id ID der zu ladenden Funktion + * @param $zeitsperre_id ID der zu ladenden Funktion */ - function zeitsperre($conn, $zeitsperre_id=null) + public function __construct($zeitsperre_id=null) { - $this->conn = $conn; + parent::__construct(); + if($zeitsperre_id != null) $this->load($zeitsperre_id); } - // ********************************** - // * Laedt alle Zeitsperren bei denen - // * ende>=now() ist und uid=$uid - // ********************************** - function getzeitsperren($uid, $bisgrenze=true) + /** + * Laedt alle Zeitsperren bei denen + * ende>=now() ist und uid=$uid + */ + public function getzeitsperren($uid, $bisgrenze=true) { unset($this->result); $this->result=array(); @@ -72,22 +71,23 @@ class zeitsperre WHERE mitarbeiter_uid='".addslashes($uid)."'"; if($bisgrenze) + { $qry.=" AND ( (date_part('month',vondatum)>=9 AND date_part('year', vondatum)>='".(date('Y')-1)."') OR (date_part('month',vondatum)<9 AND date_part('year', vondatum)>='".(date('Y'))."') )"; - //$qry.=" AND bisdatum>=now()::date"; - + } + $qry.= " ORDER BY vondatum DESC"; - //echo $qry; - if($result = pg_query($this->conn, $qry)) + + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new zeitsperre($this->conn); + $obj = new zeitsperre(); $obj->zeitsperre_id = $row->zeitsperre_id; $obj->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz; @@ -117,7 +117,7 @@ class zeitsperre } else { - $this->errormsg = 'Fehler beim laden der Zeitsperren'; + $this->errormsg = 'Fehler beim Laden der Zeitsperren'; return false; } } @@ -127,9 +127,8 @@ class zeitsperre * @param $zeitsperre_id ID der zu laden ist * @return true wenn ok, false im Fehlerfall */ - function load($zeitsperre_id) + public function load($zeitsperre_id) { - if(!is_numeric($zeitsperre_id)) { $this->errormsg = 'zeitsperre_id muß eine gültige Zahl sein'; @@ -138,13 +137,13 @@ class zeitsperre $qry = "SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperre_id = '$zeitsperre_id';"; - if(!$res = pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } - if($row=pg_fetch_object($res)) + if($row = $this->db_fetch_object()) { $this->zeitsperre_id = $row->zeitsperre_id; $this->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz; @@ -177,7 +176,7 @@ class zeitsperre * @param $zeitsperre_id id des Datensatzes der geloescht werden soll * @return true wenn ok, false im Fehlerfall */ - function delete($zeitsperre_id) + public function delete($zeitsperre_id) { if(!is_numeric($zeitsperre_id)) { @@ -187,25 +186,20 @@ class zeitsperre $qry = "DELETE FROM campus.tbl_zeitsperre WHERE zeitsperre_id='$zeitsperre_id'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { - $this->errormsg = 'Fehler beim Löschen'; + $this->errormsg = 'Fehler beim Löschen'; return false; } } - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - function checkvars() + protected function validate() { if(strlen($this->bezeichnung)>32) { @@ -236,10 +230,10 @@ class zeitsperre * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - function save($new = null) + public function save($new = null) { //Gueltigkeit der Variablen pruefen - if(!$this->checkvars()) + if(!$this->validate()) return false; if(!is_null($new)) @@ -298,7 +292,7 @@ class zeitsperre 'WHERE zeitsperre_id = '.$this->addslashes($this->zeitsperre_id).';'; } - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -313,7 +307,7 @@ class zeitsperre * Liefert ZeitsperreTypen eines Tages * @return string wenn ok, false im Fehlerfall */ - function getTyp($datum) + public function getTyp($datum) { $datum_obj=new datum(); $typ=''; @@ -332,7 +326,7 @@ class zeitsperre * Liefert Erreichbarkeit der Zeitsperre eines Tages * @return string wenn ok, false im Fehlerfall */ - function getErreichbarkeit($datum) + public function getErreichbarkeit($datum) { $datum_obj=new datum(); $erbk=''; diff --git a/include/zeitwunsch.class.php b/include/zeitwunsch.class.php index 303cb0d82..8e3bc0597 100644 --- a/include/zeitwunsch.class.php +++ b/include/zeitwunsch.class.php @@ -19,86 +19,61 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class zeitwunsch +class zeitwunsch extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $zeitwuensche = array(); // zeitwunsch Objekt + public $conn; // resource DB-Handle + public $errormsg; // string + public $new; // boolean + public $zeitwuensche = array(); // zeitwunsch Objekt //Tabellenspalten - var $stunde; // smalint - var $mitarbeiter_uid; // varchar(32) - var $tag; // smalint - var $gewicht; // smalint - var $min_stunde; - var $max_stunde; + public $stunde; // smalint + public $mitarbeiter_uid; // varchar(32) + public $tag; // smalint + public $gewicht; // smalint + public $min_stunde; + public $max_stunde; - // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform - // * @param $conn Datenbank-Connection - // * $uid Uid des Mitarbeiters - // * $tag Tag des Zeitwunsches - // * $stunde Stunde des Zeitwunsches - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // ************************************************************************* - function zeitwunsch($conn, $mitarbeiter_uid=null, $tag=null, $stunde=null, $unicode=false) + /** + * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform + */ + public function __construct() { - $this->conn = $conn; -/* - 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; - } -*/ - // ggf Mitarbeiter laden - if($mitarbeiter_uid != null && $tag!=null && $stunde!=null) - $this->load($mitarbeiter_uid, $tag, $stunde); - + parent::__construct(); + $this->init(); } - function init() + /** + * Initialisierung + * + */ + private function init() { // Stundenraster abfragen $sql='SELECT min(stunde) AS min_stunde,max(stunde) AS max_stunde FROM lehre.tbl_stunde;'; - if(!$result=pg_query($this->conn, $sql)) + if(!$this->db_query($sql)) { - $this->errormsg=pg_last_error($this->conn); + $this->errormsg=$this->db_last_error(); return false; } else { - $row=pg_fetch_object($result); + $row=$this->db_fetch_object(); $this->min_stunde=$row->min_stunde; $this->max_stunde=$row->max_stunde; } return true; } - // ********************************************************* - // * Laedt einen Zeitwunsch - // * @param - // ********************************************************* - function load($mitarbeiter_uid, $tag, $stunde) - { - return true; - } - - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() { if(strlen($this->mitarbeiter_uid)>32) { @@ -128,25 +103,14 @@ class zeitwunsch 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 einen Zeitwunsch in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - // * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function save() + + /** + * Speichert einen Zeitwunsch in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { //Variablen auf Gueltigkeit pruefen if(!$this->validate()) @@ -166,9 +130,8 @@ class zeitwunsch tag=".$this->tag.' AND stunde='.$this->stunde; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { - //Log schreiben return true; } else @@ -180,18 +143,20 @@ class zeitwunsch /** * Zeitwunsch einer Person laden + * @param uid + * @param datum * @return boolean Ergebnis steht in Array $zeitwunsch wenn true */ - function loadPerson($uid,$datum=null) + public function loadPerson($uid,$datum=null) { // Zeitwuensche abfragen - if(!$result=pg_query($this->conn, "SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid='$uid'")) + if(!$this->db_query("SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid='".addslashes($uid)."'")) { - $this->errormsg=pg_last_error($this->conn); + $this->errormsg = $this->db_last_error(); return false; } else - while ($row=pg_fetch_object($result)) + while ($row = $this->db_fetch_object()) $this->zeitwunsch[$row->tag][$row->stunde]=$row->gewicht; if (!is_null($datum)) @@ -203,15 +168,15 @@ class zeitwunsch // Zeitsperren abfragen $sql="SELECT vondatum,vonstunde,bisdatum,bisstunde FROM campus.tbl_zeitsperre - WHERE mitarbeiter_uid='$uid' AND vondatum<='$ende' AND bisdatum>'$start'"; - if(!$result=pg_query($this->conn, $sql)) + WHERE mitarbeiter_uid='".addslashes($uid)."' AND vondatum<='$ende' AND bisdatum>'$start'"; + if(!$this->db_query($sql)) { - $this->errormsg=pg_last_error($this->conn); + $this->errormsg=$this->db_last_error(); return false; } else { - while ($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { $beginn=montag($datum); for ($i=1;$i<=7;$i++) @@ -257,7 +222,7 @@ class zeitwunsch * Zeitwunsch der Personen in Lehreinheiten laden * @return true oder false */ - function loadZwLE($le_id,$datum=null) + public function loadZwLE($le_id,$datum=null) { //$this->init(); // SUB-Select fuer LVAs @@ -273,13 +238,13 @@ class zeitwunsch FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid IN ('.$sql_query_le.') GROUP BY tag,stunde'; // Zeitwuensche abfragen - if(!$result=pg_query($this->conn, $sql_query)) + if(!$this->db_query($sql_query)) { - $this->errormsg=pg_last_error($this->conn); + $this->errormsg = $this->db_last_error(); return false; } else - while ($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) $this->zeitwunsch[$row->tag][$row->stunde]=$row->gewicht; // *********************************************************** @@ -295,12 +260,12 @@ class zeitwunsch $sql="SELECT vondatum,vonstunde,bisdatum,bisstunde FROM campus.tbl_zeitsperre WHERE mitarbeiter_uid IN ($sql_query_le) AND vondatum<='$ende' AND bisdatum>'$start'"; - if(!$result=pg_query($this->conn, $sql)) + if(!$this->db_query($sql)) { - $this->errormsg=pg_last_error($this->conn); + $this->errormsg = $this->db_last_error(); return false; } - while ($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { $beginn=montag($datum); for ($i=1;$i<=7;$i++) @@ -339,6 +304,5 @@ class zeitwunsch } return true; } - } -?> +?> \ No newline at end of file diff --git a/include/zeugnisnote.class.php b/include/zeugnisnote.class.php index c343a7c56..a0bbe1583 100644 --- a/include/zeugnisnote.class.php +++ b/include/zeugnisnote.class.php @@ -23,70 +23,54 @@ * Klasse Zeugnisnote * @create 2007-06-06 */ +require_once(dirname(__FILE__).'/basis_db.class.php'); -class zeugnisnote +class zeugnisnote extends basis_db { - var $conn; // resource DB-Handle - var $new; // boolean - var $errormsg; // string - var $result=array(); + public $new; // boolean + public $result=array(); //Tabellenspalten - var $lehrveranstaltung_id; // integer - var $student_uid; // varchar(16) - var $studiensemester_kurzbz; // varchar(16) - var $note; // smalint - var $uebernahmedatum; // date - var $benotungsdatum; // date - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $ext_id; // bigint - var $bemerkung; // text + public $lehrveranstaltung_id; // integer + public $student_uid; // varchar(16) + public $studiensemester_kurzbz; // varchar(16) + public $note; // smalint + public $uebernahmedatum; // date + public $benotungsdatum; // date + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $ext_id; // bigint + public $bemerkung; // text - var $lehrveranstaltung_bezeichung; - var $note_bezeichnung; - var $zeugnis; - var $lv_lehrform_kurzbz; + public $lehrveranstaltung_bezeichung; + public $note_bezeichnung; + public $zeugnis; + public $lv_lehrform_kurzbz; - // ********************************************************************* - // * Konstruktor - // * @param $conn Connection - // * $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // ********************************************************************* - function zeugnisnote($conn, $lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null , $unicode=false) + /** + * Konstruktor + * @param $lehrveranstaltung_id + * $student_uid + * $studiensemester_kurzbz + */ + public function __construct($lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null) { - $this->conn = $conn; -/* - if($unicode!=null) - { - if ($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry="SET CLIENT_ENCODING TO 'LATIN9';"; + parent::__construct(); - if(!pg_query($conn,$qry)) - { - $this->errormsg= "Encoding konnte nicht gesetzt werden"; - return false; - } - } -*/ if($lehrveranstaltung_id!=null && $student_uid!=null && $studiensemester_kurzbz!=null) $this->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz); } - // ************************************************************** - // * Laedt eine Zeugnisnote - // * @param $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // *************************************************************** - function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) + /** + * Laedt eine Zeugnisnote + * @param $lehrveranstaltung_id + * $student_uid + * $studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) { if(!is_numeric($lehrveranstaltung_id)) { @@ -99,9 +83,9 @@ class zeugnisnote student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; $this->student_uid = $row->student_uid; @@ -130,11 +114,11 @@ class zeugnisnote } } - // ************************************* - // * Prueft die Daten vor dem Speichern - // * auf Gueltigkeit - // ************************************* - function validate() + /** + * Prueft die Daten vor dem Speichern + * auf Gueltigkeit + */ + protected function validate() { if(!is_numeric($this->lehrveranstaltung_id)) { @@ -169,24 +153,13 @@ class zeugnisnote return true; } - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ******************************************************************************* - // * Speichert den aktuellen Datensatz in die Datenbank - // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - // * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert - // * @return true wenn ok, false im Fehlerfall - // ******************************************************************************* - function save($new=null) + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) { if($new==null) $new=$this->new; @@ -226,34 +199,32 @@ class zeugnisnote 'AND studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).';'; } - //if(pg_send_query($this->conn, $qry)) - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } else { - //echo $qry; $this->errormsg='Fehler beim Speichern der Zeugnisnote'; return false; } } - // ******************************************************** - // * Loescht den Datenensatz mit der ID die uebergeben wird - // * @param $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // ******************************************************** - function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) + /** + * Loescht den Datenensatz mit der ID die uebergeben wird + * @param $lehrveranstaltung_id + * $student_uid + * $studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) { $qry = "DELETE FROM lehre.tbl_zeugnisnote WHERE lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' AND student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { @@ -262,14 +233,14 @@ class zeugnisnote } } - // ********************************************* - // * Laed die Noten - // * @param $lehrveranstaltung_id - // * $student_uid - // * $studiensemester_kurzbz - // * @return true wenn ok, false wenn Fehler - // ********************************************* - function getZeugnisnoten($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) + /** + * Laedt die Noten + * @param $lehrveranstaltung_id + * $student_uid + * $studiensemester_kurzbz + * @return true wenn ok, false wenn Fehler + */ + public function getZeugnisnoten($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz) { $where=''; if($lehrveranstaltung_id!=null) @@ -321,11 +292,11 @@ class zeugnisnote WHERE true $where2 ORDER BY sort"; //echo $qry; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new zeugnisnote($this->conn, null, null, null, null); + $obj = new zeugnisnote(); $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; $obj->student_uid = $row->uid; diff --git a/rdf/lehrverbandsgruppe.rdf.php b/rdf/lehrverbandsgruppe.rdf.php index 98125ad31..47f1a778b 100644 --- a/rdf/lehrverbandsgruppe.rdf.php +++ b/rdf/lehrverbandsgruppe.rdf.php @@ -111,7 +111,7 @@ function draw_orgformpart($stg_kz) $qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz not in('VBB','ZGS')"; if($stg_obj->db_query($qry)) { - while($row = $stg_opj->db_fetch_object()) + while($row = $stg_obj->db_fetch_object()) { draw_orgformsubmenu($stg_kz, $row->orgform_kurzbz); } @@ -122,7 +122,7 @@ function draw_orgformsubmenu($stg_kz, $orgform) { global $conn, $stsem_obj, $rdf_url, $orgform_sequence; - $stg_obj = new studiengang($conn, $stg_kz); + $stg_obj = new studiengang($stg_kz); $stg_kurzbz = $stg_obj->kuerzel; echo ' @@ -175,7 +175,7 @@ function draw_orgformsubmenu($stg_kz, $orgform) - ZGV erfüllt + ZGV erfüllt '.$stg_kurzbz.' '.$stg_kz.' '.$stsem->studiensemester_kurzbz.' @@ -461,7 +461,7 @@ while ($row=$dbo->db_fetch_object()) - ZGV erfüllt + ZGV erfüllt studiengang_kz; ?> studiensemester_kurzbz; ?> diff --git a/rdf/reihungstest.rdf.php b/rdf/reihungstest.rdf.php index 01ed5491f..fc7052bc8 100644 --- a/rdf/reihungstest.rdf.php +++ b/rdf/reihungstest.rdf.php @@ -19,7 +19,6 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ -// header für no cache header("Cache-Control: no-cache"); header("Cache-Control: post-check=0, pre-check=0",false); header("Expires Mon, 26 Jul 1997 05:00:00 GMT"); @@ -29,14 +28,10 @@ header("Content-type: application/xhtml+xml"); // xml echo ''; // DAO -require_once('../vilesci/config.inc.php'); +require_once('../config/vilesci.config.inc.php'); require_once('../include/reihungstest.class.php'); require_once('../include/studiengang.class.php'); -// Datenbank Verbindung -if (!$conn = pg_pconnect(CONN_STRING)) - $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; - $rdf_url='http://www.technikum-wien.at/reihungstest'; ?> @@ -46,7 +41,6 @@ $rdf_url='http://www.technikum-wien.at/reihungstest'; xmlns:RT="/rdf#" > - getAll(); foreach ($stg_obj->result as $row) $stg[$row->studiengang_kz]=$row->kuerzel; -$rt = new reihungstest($conn, null, true); +$rt = new reihungstest(); $rt->getAll(); foreach ($rt->result as $row) { diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index f2e1c8c38..f6de88348 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -19,7 +19,7 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ -// header für no cache +// header fuer no cache header("Cache-Control: no-cache"); header("Cache-Control: post-check=0, pre-check=0",false); header("Expires Mon, 26 Jul 1997 05:00:00 GMT"); @@ -32,7 +32,7 @@ if(isset($_GET['xmlformat']) && $_GET['xmlformat']=='xml') else echo ''; // DAO -require_once('../vilesci/config.inc.php'); +require_once('../config/vilesci.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/person.class.php'); require_once('../include/benutzer.class.php'); @@ -43,7 +43,7 @@ require_once('../include/studiensemester.class.php'); require_once('../include/prestudent.class.php'); require_once('../include/studiengang.class.php'); -// *********** Funktionen *************************++ +// *********** Funktionen ************************* function convdate($date) { list($d,$m,$y) = explode('.',$date); @@ -52,7 +52,8 @@ function convdate($date) function checkfilter($row, $filter2) { - global $conn, $studiensemester_kurzbz, $kontofilterstg; + global $studiensemester_kurzbz, $kontofilterstg; + $db = new basis_db(); if($filter2=='dokumente') { @@ -61,8 +62,8 @@ function checkfilter($row, $filter2) dokument_kurzbz NOT IN( SELECT dokument_kurzbz FROM tbl_dokumentprestudent WHERE prestudent_id='$row->prestudent_id') AND studiengang_kz='$row->studiengang_kz'"; - if($result_filter = pg_query($conn, $qry)) - if($row_filter = pg_fetch_object($result_filter)) + if($db->db_query($qry)) + if($row_filter = $db->db_fetch_object()) if($row_filter->anzahl==0) return false; } @@ -73,8 +74,8 @@ function checkfilter($row, $filter2) if($kontofilterstg=='true') $qry.=" AND studiengang_kz='$row->studiengang_kz'"; //echo $qry; - if($result_filter = pg_query($conn, $qry)) - if($row_filter = pg_fetch_object($result_filter)) + if($db->db_query($qry)) + if($row_filter = $db->db_fetch_object()) if($row_filter->summe=='0.00' || $row_filter->summe=='' || $row_filter->summe=='0') return false; } @@ -82,15 +83,15 @@ function checkfilter($row, $filter2) { // Alle Personen die keine Studiengebuehrbelastung haben // Incoming werden nicht beruecksichtigt - $prestudent = new prestudent($conn, null, null); + $prestudent = new prestudent(); $prestudent->getLastStatus($row->prestudent_id); $qry = "SELECT count(*) as anzahl FROM public.tbl_konto WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND person_id='".addslashes($row->person_id)."' AND buchungstyp_kurzbz='Studiengebuehr'"; - if($result_filter = pg_query($conn, $qry)) - if($row_filter = pg_fetch_object($result_filter)) + if($db->db_query($qry)) + if($row_filter = $db->db_fetch_object()) if($row_filter->anzahl>0 || $prestudent->status_kurzbz=='Incoming') return false; } @@ -99,15 +100,15 @@ function checkfilter($row, $filter2) // Alle Personen die keine Belastung auf den uebergebenen Buchungstyp haben // Incoming werden nicht beruecksichtigt list($filter, $buchungstyp) = split(';',$filter2); - $prestudent = new prestudent($conn, null, null); + $prestudent = new prestudent(); $prestudent->getLastStatus($row->prestudent_id); $qry = "SELECT count(*) as anzahl FROM public.tbl_konto WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND person_id='".addslashes($row->person_id)."' AND buchungstyp_kurzbz='$buchungstyp'"; - if($result_filter = pg_query($conn, $qry)) - if($row_filter = pg_fetch_object($result_filter)) + if($db->db_query($qry)) + if($row_filter = $db->db_fetch_object()) if($row_filter->anzahl>0 || $prestudent->status_kurzbz=='Incoming') return false; } @@ -115,9 +116,9 @@ function checkfilter($row, $filter2) { //Alle Personen die den ZGV Typ eingetragen haben aber noch kein Datum $qry = "SELECT zgv_code, zgvdatum, zgvmas_code, zgvmadatum FROM public.tbl_prestudent WHERE prestudent_id='$row->prestudent_id'"; - if($result_filter = pg_query($conn, $qry)) + if($db->db_query($qry)) { - if($row_filter = pg_fetch_object($result_filter)) + if($row_filter = $db->db_fetch_object()) { if(($row_filter->zgv_code!='' && $row_filter->zgvdatum=='') || ($row_filter->zgvmas_code!='' && $row_filter->zgvmadatum=='')) @@ -132,20 +133,10 @@ function checkfilter($row, $filter2) function draw_content_liste($row) { - global $rdf_url, $datum_obj, $conn, $stg_arr; + global $rdf_url, $datum_obj, $stg_arr; $status=''; - /*$mail_privat = ''; - $qry_mail = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$row->person_id' AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1"; - if($result_mail = pg_query($conn, $qry_mail)) - { - if($row_mail = pg_fetch_object($result_mail)) - { - $mail_privat = $row_mail->kontakt; - } - }*/ - - $prestudent = new prestudent($conn, null, null); + $prestudent = new prestudent(); $prestudent->getLastStatus($row->prestudent_id); $status = $prestudent->status_kurzbz; $orgform = $prestudent->orgform_kurzbz; @@ -189,14 +180,15 @@ function draw_content_liste($row) function draw_content($row) { - global $rdf_url, $datum_obj, $conn; + global $rdf_url, $datum_obj; + $db = new basis_db(); $status=''; $mail_privat = ''; $qry_mail = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$row->person_id' AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1"; - if($result_mail = pg_query($conn, $qry_mail)) + if($db->db_query($qry_mail)) { - if($row_mail = pg_fetch_object($result_mail)) + if($row_mail = $db->db_fetch_object()) { $mail_privat = $row_mail->kontakt; } @@ -204,7 +196,7 @@ function draw_content($row) if($row->prestudent_id!='') { - $prestudent = new prestudent($conn, null, null); + $prestudent = new prestudent(); $prestudent->getLastStatus($row->prestudent_id); $status = $prestudent->status_kurzbz; $orgform = $prestudent->orgform_kurzbz; @@ -293,15 +285,12 @@ function draw_prestudent($row) } // ******* Init ************************** -// Datenbank Verbindung -if (!$conn = pg_pconnect(CONN_STRING)) - $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; if(isset($_SERVER['REMOTE_USER'])) { $user = get_uid(); - loadVariables($conn, $user); + loadVariables($user); } $gruppe_kurzbz=(isset($_GET['gruppe_kurzbz'])?$_GET['gruppe_kurzbz']:null); @@ -318,6 +307,8 @@ $ss = (isset($_GET['ss'])?$_GET['ss']:null); $filter2 = (isset($_GET['filter2'])?$_GET['filter2']:null); $orgform = (isset($_GET['orgform'])?$_GET['orgform']:null); +$db = new basis_db(); + if($studiensemester_kurzbz=='aktuelles') $studiensemester_kurzbz = $semester_aktuell; @@ -333,7 +324,7 @@ $datum_obj = new datum(); if($xmlformat=='rdf') { $stg_arr = array(); - $stg_obj = new studiengang($conn, null, null); + $stg_obj = new studiengang(); $stg_obj->getAll(null, false); foreach ($stg_obj->result as $row) $stg_arr[$row->studiengang_kz]=$row->kuerzel; @@ -352,9 +343,9 @@ if($xmlformat=='rdf') if(isset($uid)) { - $student=new student($conn,null,true); + $student=new student(); $student->load($uid, $studiensemester_kurzbz); - $prestd = new prestudent($conn, null, true); + $prestd = new prestudent(); draw_content($student); $prestd->load($student->prestudent_id); @@ -414,22 +405,25 @@ if($xmlformat=='rdf') $sql_query.= "JOIN public.tbl_benutzergruppe USING (uid) "; $sql_query.="LEFT JOIN public.tbl_studentlehrverband ON (tbl_studentlehrverband.student_uid=tbl_student.student_uid AND tbl_studentlehrverband.studiensemester_kurzbz='$studiensemester_kurzbz')"; $sql_query.="WHERE ".$where.' ORDER BY nachname, vorname'; - //echo $sql_query; - if($result = pg_query($conn, $sql_query)) - while($row = pg_fetch_object($result)) + + + if($db->db_query($sql_query)) + { + while($row = $db->db_fetch_object()) { if(checkfilter($row, $filter2)) draw_content_liste($row); } + } } elseif($typ=='incoming') { $qry = "SELECT prestudent_id FROM public.tbl_prestudentstatus WHERE status_kurzbz='Incoming' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if($result = pg_query($conn, $qry)) + if($db->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $db->db_fetch_object()) { - $student=new student($conn,null,true); + $student=new student(); if($uid = $student->getUid($row->prestudent_id)) { //Wenn kein Eintrag fuers aktuelle Studiensemester da ist, dann @@ -437,7 +431,7 @@ if($xmlformat=='rdf') if(!$student->load($uid, $studiensemester_kurzbz)) $student->load($uid); } - $prestd = new prestudent($conn, null, true); + $prestd = new prestudent(); $prestd->load($row->prestudent_id); if($uid!='') { @@ -456,7 +450,7 @@ if($xmlformat=='rdf') 'warteliste','absage','zgv','reihungstestangemeldet', 'reihungstestnichtangemeldet'))) { - $prestd = new prestudent($conn, null, true); + $prestd = new prestudent(); if($studiengang_kz!=null) { @@ -466,7 +460,7 @@ if($xmlformat=='rdf') { if(checkfilter($row, $filter2)) { - $student=new student($conn,null,true); + $student=new student(); if($uid = $student->getUid($row->prestudent_id)) { if(!$student->load($uid, $studiensemester_kurzbz)) @@ -499,7 +493,7 @@ if($xmlformat=='rdf') { if($filter!='') { - $filter = utf8_decode($filter); + //$filter = utf8_decode($filter); $qry = "SELECT prestudent_id FROM public.tbl_person JOIN tbl_prestudent USING (person_id) LEFT JOIN tbl_student using(prestudent_id) @@ -508,11 +502,11 @@ if($xmlformat=='rdf') vorname ~* '".addslashes($filter)."' OR student_uid ~* '".addslashes($filter)."' OR matrikelnr = '".addslashes($filter)."';"; - if($result = pg_query($conn, $qry)) + if($db->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $db->db_fetch_object()) { - $student=new student($conn,null,true); + $student=new student(); if($uid = $student->getUid($row->prestudent_id)) { //Wenn kein Eintrag fuers aktuelle Studiensemester da ist, dann @@ -520,7 +514,7 @@ if($xmlformat=='rdf') if(!$student->load($uid, $studiensemester_kurzbz)) $student->load($uid); } - $prestd = new prestudent($conn, null, true); + $prestd = new prestudent(); $prestd->load($row->prestudent_id); if($uid!='') { @@ -537,7 +531,7 @@ if($xmlformat=='rdf') } elseif(isset($prestudent_id)) { - $student=new student($conn,null,true); + $student=new student(); if($uid = $student->getUid($prestudent_id)) { //Wenn kein Eintrag fuers aktuelle Studiensemester da ist, dann @@ -545,7 +539,7 @@ if($xmlformat=='rdf') if(!$student->load($uid, $studiensemester_kurzbz)) $student->load($uid); } - $prestd = new prestudent($conn, null, true); + $prestd = new prestudent(); $prestd->load($prestudent_id); if($uid!='') { @@ -574,10 +568,10 @@ else { if($uid!='') { - $student = new student($conn); + $student = new student(); $student->load($uid); - $studiengang = new studiengang($conn); + $studiengang = new studiengang(); $studiengang->load($student->studiengang_kz); $typ=''; @@ -594,9 +588,9 @@ else $qry = "SELECT * FROM campus.vw_benutzer JOIN public.tbl_benutzerfunktion USING(uid) WHERE funktion_kurzbz='rek'"; $rektor = ''; - if($result = pg_query($conn, $qry)) + if($db->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $db->db_fetch_object()) { $rektor = $row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost; } @@ -606,25 +600,25 @@ else $studiensemester_kurzbz=''; $qry = "SELECT * FROM public.tbl_prestudentstatus JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE prestudent_id='$student->prestudent_id' AND status_kurzbz in('Student','Incoming') ORDER BY datum LIMIT 1"; - if($result = pg_query($conn, $qry)) + if($db->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $db->db_fetch_object()) { $studienbeginn = $row->start; $studiensemester = $row->studiensemester_kurzbz; } } - $stsem = new studiensemester($conn); + $stsem = new studiensemester(); //$aktstsem = $stsem->getaktorNext(); $stsem->load($ss); $qry = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='$student->prestudent_id' AND studiensemester_kurzbz='$ss' ORDER BY datum DESC"; $semester=0; - if($result = pg_query($conn, $qry)) + if($db->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $db->db_fetch_object()) { $semester = $row->ausbildungssemester; } diff --git a/rdf/studiengang.rdf.php b/rdf/studiengang.rdf.php index ff550df70..18fd9dc2a 100644 --- a/rdf/studiengang.rdf.php +++ b/rdf/studiengang.rdf.php @@ -1,11 +1,26 @@ , + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens . */ -// header für no cache + header("Cache-Control: no-cache"); header("Cache-Control: post-check=0, pre-check=0",false); header("Expires Mon, 26 Jul 1997 05:00:00 GMT"); @@ -15,15 +30,11 @@ header("Content-type: application/xhtml+xml"); // xml echo ''; // DAO -require_once('../vilesci/config.inc.php'); +require_once('../config/vilesci.config.inc.php'); require_once('../include/studiengang.class.php'); -// Datenbank Verbindung -if (!$conn = @pg_pconnect(CONN_STRING)) - $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; - // raumtypen holen -$studiengangDAO=new studiengang($conn); +$studiengangDAO=new studiengang(); $studiengangDAO->getAll('typ, kurzbz', false); $rdf_url='http://www.technikum-wien.at/studiengang';
Stunde 
Beginn 
Ende 
'.$stunde.'
 '.$beginn .' 
 '.$ende.' 
'.date("l",$datum).'
'.date("j. M y",$datum).'