diff --git a/cis/public/bibliothek_allgemein.html b/cis/public/bibliothek_allgemein.html index e237cbad9..d5db80d0e 100644 --- a/cis/public/bibliothek_allgemein.html +++ b/cis/public/bibliothek_allgemein.html @@ -120,25 +120,35 @@ Uhr - 20:00 Uhr
- Raum B.2.08
(nach dem Durchgang im 2. Stock) + Raum B.2.08

+ Mag. Nadine +Rapold
+ + + + (nach dem Durchgang im 2. Stock)
+ Bibliothekarin
+
-
- -
- - - - Benutzungsordnung   - + nadine.rapold@technikum-wien.at
+ + + + Benutzungsordnung +
+ + Tel: 01 / 333 40 77 - 209
@@ -149,38 +159,42 @@ Uhr - 20:00 Uhr
-  Wichtige Hinweise +  Wichtige +Hinweise -
- Diplomarbeiten
- Da sich die Diplomarbeiten ab sofort in einem Raum im 5. Stock befinden, ist die Einsicht - nur nach vorheriger Ankündigung möglich. Bitte suchen Sie in der Liste der Diplomarbeiten - jene Arbeiten, für die Sie sich interessieren (max. 5) heraus und senden Sie uns ein - entsprechendes e-mail. Sie können die Diplomarbeiten am folgenden Tag in der Bibliothek - einsehen und max. 4 Werke für ein Monat entlehnen. Danke für Ihre Kooperation!
-
- +
+ Diplomarbeiten
+Da sich die Diplomarbeiten ab sofort in einem Raum im 5. Stock +befinden, ist die Einsicht nur nach vorheriger Ankündigung +möglich. Bitte suchen Sie in der Liste der Diplomarbeiten jene +Arbeiten, für die Sie sich interessieren (max. 5) heraus und +senden Sie uns ein entsprechendes e-mail. Sie können die +Diplomarbeiten am folgenden Tag in der Bibliothek einsehen und max. 4 +Werke für ein Monat entlehnen. Danke für Ihre Kooperation!
+
+ - - ENERGYbase
- Medien, bei denen im Online-Katalog unter "Standort" ENERGYbase verzeichnet ist, finden Sie in der - Bibliothek des Studienganges "Urbane erneuerbare Energietechnologien". - Bitte setzen sie sich wegen der Benützung der Bibliothek mit der Studiengangsassistenz in Verbindung: -

- Kontakt:
- Susanne Fürnkranz
- Officezeiten: Mittwoch und Donnerstag 9:00-12:00 und 13:30-16:00 Uhr
- fuernkra@technikum-wien.at
- Tel. 01 / 333 40 77 - 564
- Raum E.E.02
- Giefinggasse 6, 1210 Wien
- Schnellbahn - Station Siemensstraße
- Autobus 31A - Station Giefinggasse
- + ENERGYbase
+Medien, bei denen im Online-Katalog unter "Standort" ENERGYbase +verzeichnet ist, finden Sie in der Bibliothek des Studienganges "Urbane +erneuerbare Energietechnologien". Bitte setzen sie sich wegen der +Benützung der Bibliothek mit der Studiengangsassistenz in +Verbindung:
+
+ Kontakt:
+Susanne Fürnkranz
+Officezeiten: Mittwoch und Donnerstag 9:00-12:00 und 13:30-16:00 Uhr
+ fuernkra@technikum-wien.at
+Tel. 01 / 333 40 77 - 564
+Raum E.E.02
+Giefinggasse 6, 1210 Wien
+Schnellbahn - Station Siemensstraße
+Autobus 31A - Station Giefinggasse
+ - diff --git a/include/basis_db.class.php b/include/basis_db.class.php index e6525c34a..54fd93d3f 100644 --- a/include/basis_db.class.php +++ b/include/basis_db.class.php @@ -14,7 +14,8 @@ abstract class db extends basis abstract function db_connect(); abstract function db_query($sql); - abstract function db_num_rows(); + abstract function db_fetch_object($result=null, $i=null); + abstract function db_num_rows($result=null); abstract function db_last_error(); } diff --git a/include/benutzer.class.php b/include/benutzer.class.php index 66c4228b8..6fd3ca05b 100644 --- a/include/benutzer.class.php +++ b/include/benutzer.class.php @@ -19,40 +19,23 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ - +require_once('person.class.php'); class benutzer extends person { //Tabellenspalten - var $uid; // varchar(32) - var $bnaktiv=true; // boolean - var $alias; // varchar(256) - var $bn_ext_id; + public $uid; // varchar(32) + public $bnaktiv=true; // boolean + public $alias; // varchar(256) + public $bn_ext_id; // ************************************************************************* // * Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer - // * @param $conn Datenbank-Connection - // * $uid Benutzer der geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen + // * @param $uid Benutzer der geladen werden soll (default=null) // ************************************************************************* - function benutzer($conn, $uid=null, $unicode=false) + 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); @@ -62,12 +45,13 @@ class benutzer extends person // * Laedt Benutzer mit der uebergebenen ID // * @param $uid ID der Person die geladen werden soll // *********************************************************** - function load($uid) + public function load($uid) { $qry = "SELECT * FROM public.tbl_benutzer WHERE 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->uid; $this->bnaktiv = ($row->aktiv=='t'?true:false); @@ -95,7 +79,7 @@ class benutzer extends person // * auf Gueltigkeit. // * @return true wenn ok, false im Fehlerfall // ******************************************* - function validate() + protected function validate() { if(strlen($this->uid)>32) { @@ -125,10 +109,10 @@ class benutzer extends person if($this->alias!='') { - $qry = "SELECT * FROM tbl_benutzer WHERE alias='".addslashes($this->alias)."' AND uid!='".$this->uid."'"; - if($result = pg_query($this->conn, $qry)) + $qry = "SELECT * FROM public.tbl_benutzer WHERE alias='".addslashes($this->alias)."' AND uid!='".addslashes($this->uid)."'"; + if($this->db_query($qry)) { - if(pg_num_rows($result)>0) + if($this->db_num_rows()>0) { $this->errormsg = 'Dieser Alias ist bereits vergeben'; return false; @@ -149,7 +133,7 @@ class benutzer extends person // * ansonsten der Datensatz mit $uid upgedated // * @return true wenn erfolgreich, false im Fehlerfall // ****************************************************************** - function save($new=null, $saveperson=true) + public function save($new=null, $saveperson=true) { if($saveperson) { @@ -183,9 +167,9 @@ class benutzer extends person //Wenn der Aktiv Status geaendert wurde, dann auch updateaktivamum und updateaktivvon setzen $upd=''; $qry = "SELECT aktiv FROM public.tbl_benutzer WHERE uid='".addslashes($this->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()) { $aktiv = ($row->aktiv=='t'?true:false); @@ -203,7 +187,7 @@ class benutzer extends person " WHERE uid='".addslashes($this->uid)."';"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; @@ -218,13 +202,13 @@ class benutzer extends person // **** // * Prueft ob die UID bereits existiert // **** - function uid_exists($uid) + public function uid_exists($uid) { $qry = "SELECT * FROM public.tbl_benutzer WHERE 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) { $this->errormsg = ''; return true; @@ -247,13 +231,13 @@ class benutzer extends person // **** // * Prueft ob der alias bereits existiert // **** - function alias_exists($alias) + public function alias_exists($alias) { $qry = "SELECT * FROM public.tbl_benutzer WHERE alias='".addslashes($alias)."'"; - 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 = ''; return true; @@ -270,7 +254,6 @@ class benutzer extends person $this->errormsg = 'Fehler bei DatenbankAbfrage'; return false; } - } } ?> \ No newline at end of file diff --git a/include/konto.class.php b/include/konto.class.php index e51d9be68..b017ff22d 100644 --- a/include/konto.class.php +++ b/include/konto.class.php @@ -29,65 +29,45 @@ require_once ('basis_db.class.php'); class konto extends basis_db { //var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var adresse Objekt - var $buch_nr = array(); - var $buch_date = array(); + public $new; // @var boolean + public $errormsg; // @var string + public $result = array(); // @var adresse Objekt + public $buch_nr = array(); + public $buch_date = array(); //Tabellenspalten - var $buchungsnr; - var $person_id; - var $studiengang_kz; - var $studiensemester_kurzbz; - var $buchungsnr_verweis; - var $betrag; - var $buchungsdatum; - var $buchungstext; - var $mahnspanne; - var $buchungstyp_kurzbz; - var $updateamum; - var $updatevon; - var $insertamum; - var $insertvon; - var $ext_id; - var $anrede; - var $titelpost; - var $titelpre; - var $nachname; - var $vorname; - var $vornamen; - var $standardbetrag; - var $standardtext; - - //var $beschreibung; + public $buchungsnr; + public $person_id; + public $studiengang_kz; + public $studiensemester_kurzbz; + public $buchungsnr_verweis; + public $betrag; + public $buchungsdatum; + public $buchungstext; + public $mahnspanne; + public $buchungstyp_kurzbz; + public $updateamum; + public $updatevon; + public $insertamum; + public $insertvon; + public $ext_id; + public $anrede; + public $titelpost; + public $titelpre; + public $nachname; + public $vorname; + public $vornamen; + public $standardbetrag; + public $standardtext; // ************************************************************************** // * Konstruktor - // * @param $conn Connection - // * $buchungsnr ID der Adresse die geladen werden soll (Default=null) + // * @param $buchungsnr ID der Adresse die geladen werden soll (Default=null) // ************************************************************************** - function konto($buchungsnr=null, $unicode=false) + public function __construct($buchungsnr=null) { parent::__construct(); - //$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->db_conn,$qry)) - { - $this->errormsg = "Encoding konnte nicht gesetzt werden"; - return false; - } - } - + if($buchungsnr!=null) $this->load($buchungsnr); } @@ -97,7 +77,7 @@ class konto extends basis_db // * @param $buchungsnr ID der zu ladenden Email // * @return true wenn ok, false im Fehlerfall // ************************************************ - function load($buchungsnr) + public function load($buchungsnr) { if(!is_numeric($buchungsnr)) { @@ -108,7 +88,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 buchungsnr='$buchungsnr'"; - if($result = $this->db_query($qry)) + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) { @@ -152,7 +132,7 @@ class konto extends basis_db // * Prueft die Variablen auf gueltigkeit // * @return true wenn ok, false im Fehlerfall // ******************************************* - function validate() + private function validate() { $this->betrag = str_replace(',','.',$this->betrag); if(!is_numeric($this->betrag)) @@ -188,17 +168,6 @@ class konto extends basis_db 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 @@ -206,7 +175,7 @@ class konto extends basis_db // * @param $new true wenn insert false wenn update // * @return true wenn ok, false im Fehlerfall // *********************************************************************** - function save($new=null) + public function save($new=null) { //Variablen pruefen if(!$this->validate()) @@ -258,29 +227,29 @@ class konto extends basis_db } //echo $qry; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { if($new) { $qry = "SELECT currval('public.tbl_konto_buchungsnr_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->buchungsnr = $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; } } @@ -298,13 +267,13 @@ class konto extends basis_db // * @param buchungsnr ID die geloescht werden soll // * @return true wenn ok, false im Fehlerfall // ******************************************************** - function delete($buchungsnr) + public function delete($buchungsnr) { //Pruefen ob Verweise auf diese Buchung Vorhanden sind $qry = "SELECT count(*) as anzahl FROM public.tbl_konto WHERE buchungsnr_verweis='".addslashes($buchungsnr)."'"; - 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) { @@ -315,7 +284,7 @@ class konto extends basis_db { //Wenn keine Verweise Vorhanden sind, dann die Buchung loeschen $qry = "DELETE FROM public.tbl_konto WHERE buchungsnr='".addslashes($buchungsnr)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { @@ -343,7 +312,7 @@ class konto extends basis_db // * @param person_id, filter // * @return true wenn ok, false wenn fehler // ****************************************** - function getBuchungen($person_id, $filter='alle', $studiengang_kz='') + public function getBuchungen($person_id, $filter='alle', $studiengang_kz='') { if(!is_numeric($person_id)) { @@ -377,11 +346,11 @@ class konto extends basis_db FROM public.tbl_konto JOIN public.tbl_person USING (person_id) WHERE person_id='".$person_id."' $stgwhere ORDER BY buchungsdatum"; //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()) { - $buchung = new konto($this->conn, null, null); + $buchung = new konto(); $buchung->buchungsnr = $row->buchungsnr; $buchung->person_id = $row->person_id; @@ -427,15 +396,15 @@ class konto extends basis_db // * Liefert alle Buchungstypen // * @return true wenn ok, false wenn Fehler // ****************************************** - function getBuchungstyp() + public function getBuchungstyp() { $qry = "SELECT * FROM public.tbl_buchungstyp 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()) { - $typ = new konto($this->conn, null, null); + $typ = new konto(); $typ->buchungstyp_kurzbz = $row->buchungstyp_kurzbz; $typ->beschreibung = $row->beschreibung; @@ -457,13 +426,13 @@ class konto extends basis_db // * Berechnet den offenen Betrag // * einer Buchung // ****************************** - function getDifferenz($buchungsnr) + public function getDifferenz($buchungsnr) { $qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto WHERE buchungsnr='$buchungsnr' OR buchungsnr_verweis='$buchungsnr'"; - 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->differenz*(-1); else { @@ -484,15 +453,15 @@ class konto extends basis_db // * student_uid und studiensemester // * gibt true/false zurueck und setzt bei true das buchungsdatum $this->buchungsdatum // ****************************** - function checkStudienbeitrag($uid, $stsem) + 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"; - $subres = pg_query($this->conn, $subqry); - if (pg_num_rows($subres)==0) + $this->db_query($subqry); + if ($this->db_num_rows()==0) return false; else { - while ($subrow = pg_fetch_object($subres)) + while ($subrow = $this->db_fetch_object()) { $buch_nr[] = $subrow->buchungsnr; $buch_date[] = $subrow->buchungsdatum; @@ -502,9 +471,9 @@ class konto extends basis_db $qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto WHERE buchungsnr='".$buch_nr[0]."' OR buchungsnr_verweis='".$buch_nr[0]."'"; - 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->differenz == 0) { diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php index 219bdde84..a5ea0a1ac 100644 --- a/include/mitarbeiter.class.php +++ b/include/mitarbeiter.class.php @@ -24,67 +24,62 @@ * benutzer.class.php * functions.inc.php */ +require_once('person.class.php'); +require_once('benutzer.class.php'); +require_once('functions.inc.php'); + class mitarbeiter extends benutzer { - var $new; - var $errormsg; - var $result=array(); + public $new; + public $errormsg; + public $result=array(); //Tabellenspalten - var $ausbildungcode; //integer - var $personalnummer; //serial - var $kurzbz; //varchar(8) - var $lektor; //boolean - var $fixangestellt; //boolean - var $standort_kurzbz; //varchar(16) - var $telefonklappe; //varchar(25) - var $ort_kurzbz; //varchar(8) - var $ext_id_mitarbeiter; //bigint - var $stundensatz; - var $anmerkung; - var $bismelden; - var $vorgesetzte=array(); - var $untergebene=array(); + public $ausbildungcode; //integer + public $personalnummer; //serial + public $kurzbz; //varchar(8) + public $lektor; //boolean + public $fixangestellt; //boolean + public $standort_kurzbz; //varchar(16) + public $telefonklappe; //varchar(25) + public $ort_kurzbz; //varchar(8) + public $ext_id_mitarbeiter; //bigint + public $stundensatz; + public $anmerkung; + public $bismelden; + public $vorgesetzte=array(); + public $untergebene=array(); // ************************************************************************* - // * Konstruktor - Uebergibt die Connection und laedt optional einen Mitarbeiter - // * @param $conn Datenbank-Connection - // * $uid Mitarbeiter der geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen + // * Konstruktor - laedt optional einen Mitarbeiter + // * @param $uid Mitarbeiter der geladen werden soll (default=null) // ************************************************************************* - function mitarbeiter($conn, $uid=null, $unicode=false) + 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\n"; - return false; - } - } - + parent::__construct(); + //Mitarbeiter laden if($uid!=null) $this->load($uid); } - function load($uid) + /** + * Laedt einen Mitarbeiter + * + * @param $uid + * @return true wenn ok, sonst false + */ + public function load($uid) { if(!benutzer::load($uid)) return false; - $qry = "SELECT * FROM public.tbl_mitarbeiter LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid) WHERE mitarbeiter_uid='".addslashes($uid)."'"; - if($result = pg_query($this->conn, $qry)) + $qry = "SELECT * FROM public.tbl_mitarbeiter LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid) + WHERE mitarbeiter_uid='".addslashes($uid)."'"; + + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->ausbildungcode = $row->ausbildungcode; $this->personalnummer = $row->personalnummer; @@ -120,7 +115,7 @@ class mitarbeiter extends benutzer // * ueberprueft die Variablen auf Gueltigkeit // * @return true wenn gueltig, false im Fehlerfall // ************************************************ - function validate() + protected function validate() { //if(utf8_strlen($this->uid)>16) //{ @@ -181,13 +176,13 @@ class mitarbeiter extends benutzer // * Speichert die Mitarbeiterdaten in die Datenbank // * @return true wenn ok, false im Fehlerfall // ************************************************* - function save($new=null, $savebenutzer=true) + 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; @@ -197,7 +192,7 @@ class mitarbeiter extends benutzer //Basisdaten speichern if(!benutzer::save()) { - pg_query($this->conn,'ROLLBACK;'); + $this->db_query('ROLLBACK;'); return false; } } @@ -210,9 +205,9 @@ class mitarbeiter extends benutzer { //Wenn keine Personalnummer angegeben wurde, dann die naechste freie Suchen $qry = "SELECT nextval('public.tbl_mitarbeiter_personalnummer_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()) { $personalnummer = $row->id; } @@ -229,12 +224,12 @@ class mitarbeiter extends benutzer } //Da die Personalnummer auch direkt uebergeben werden kann, ist es moeglich, dass die Personalnummer - //aus dem Serial schon vergeben ist. Deshalb wird zur sicherheit nochmal ueberprueft ob die Nr + //aus dem Serial schon vergeben ist. Deshalb wird zur Sicherheit nochmal ueberprueft ob die Nr //noch frei ist. $qry = "SELECT personalnummer FROM public.tbl_mitarbeiter WHERE personalnummer='$personalnummer'"; - 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->personalnummer = $personalnummer; } @@ -251,9 +246,9 @@ class mitarbeiter extends benutzer //Preufen ob die Personalnummer schon vergeben ist $qry = "SELECT personalnummer FROM public.tbl_mitarbeiter WHERE personalnummer='$this->personalnummer'"; - 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 = 'Personalnummer ist bereits vergeben!'; return false; @@ -303,24 +298,25 @@ class mitarbeiter extends benutzer " WHERE mitarbeiter_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->errormsg = "*****\nFehler beim Speichern des Mitarbeiter-Datensatzes: ".$this->uid."\n".$qry."\n".pg_errormessage($this->conn)."\n*****\n"; + $this->db_query('ROLLBACK;'); + $this->errormsg = "Fehler beim Speichern des Mitarbeiter-Datensatzes:".$this->db_last_error(); return false; } } + /** * gibt array mit allen Mitarbeitern zurueck * @return array mit Mitarbeitern */ - function getMitarbeiter($lektor=true,$fixangestellt=null,$stg_kz=null,$fachbereich_id=null) + public function getMitarbeiter($lektor=true,$fixangestellt=null,$stg_kz=null) { $sql_query='SELECT DISTINCT campus.vw_mitarbeiter.* FROM campus.vw_mitarbeiter LEFT OUTER JOIN public.tbl_benutzerfunktion USING (uid) @@ -344,21 +340,20 @@ class mitarbeiter extends benutzer if (!is_null($stg_kz)) $sql_query.=' AND studiengang_kz='.$stg_kz; - //if ($fachbereich_id!=null) - // $sql_query.=' AND fachbereich_id='.$fachbereich_id; - $sql_query.=' ORDER BY nachname, vornamen, kurzbz'; - //echo $sql_query; - if(!($erg=pg_query($this->conn, $sql_query))) + + $sql_query.=' ORDER BY nachname, vornamen, kurzbz'; + + if(!$this->db_query($sql_query)) { - $this->errormsg=pg_errormessage($this->conn); + $this->errormsg=$this->db_last_error(); return false; } - $num_rows=pg_numrows($erg); + $num_rows=$this->db_num_rows(); $result=array(); for($i=0;$i<$num_rows;$i++) { - $row=pg_fetch_object($erg,$i); - $l=new mitarbeiter($this->conn); + $row=$this->db_fetch_object(null,$i); + $l=new mitarbeiter(); // Personendaten $l->uid=$row->uid; $l->titelpre=$row->titelpre; @@ -379,18 +374,26 @@ class mitarbeiter extends benutzer $l->personalnummer=$row->personalnummer; $l->kurzbz=$row->kurzbz; $l->lektor=$row->lektor=='t'?true:false; - //$l->bismelden=$row->bismelden=='t'?true:false; $l->fixangestellt=$row->fixangestellt=='t'?true:false; $l->standort_kurzbz = $row->standort_kurzbz; $l->telefonklappe=$row->telefonklappe; - //$l->ort_kurzbz=$row->ort_kurzbz; + // Lektor in Array speichern $result[]=$l; } return $result; } - function getMitarbeiterStg($lektor=true,$fixangestellt, $stge, $fkt_kurzbz) + /** + * Liefert Mitarbeiter die einem eine Funktion in den uebergebenen Studiengaengen haben + * + * @param $lektor + * @param $fixangestellt + * @param $stge Array mit Studiengaengen + * @param $fkt_kurzbz + * @return boolean + */ + public function getMitarbeiterStg($lektor=true,$fixangestellt, $stge, $fkt_kurzbz) { $sql_query='SELECT DISTINCT campus.vw_mitarbeiter.*, tbl_benutzerfunktion.studiengang_kz FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion USING (uid) @@ -432,17 +435,18 @@ class mitarbeiter extends benutzer $sql_query.=' ORDER BY studiengang_kz, nachname, vorname, kurzbz'; //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_numrows($erg); + + $num_rows=$this->db_num_rows(); $result=array(); for($i=0;$i<$num_rows;$i++) { - $row=pg_fetch_object($erg,$i); - $l=new mitarbeiter($this->conn); + $row=$this->db_fetch_object(null,$i); + $l=new mitarbeiter(); // Personendaten $l->uid=$row->uid; $l->titelpre=$row->titelpre; @@ -475,24 +479,31 @@ class mitarbeiter extends benutzer return $result; } - function getMitarbeiterZeitsperre($von,$bis) + /** + * Liefert die Mitarbeiter, die im angegebenen Intervall eine Zeitsperre eingetragen haben + * + * @param $von + * @param $bis + * @return boolean + */ + public function getMitarbeiterZeitsperre($von,$bis) { $sql_query="SELECT DISTINCT nachname, vorname, uid,titelpre, titelpost, vornamen FROM campus.vw_mitarbeiter JOIN campus.tbl_zeitsperre ON (uid=mitarbeiter_uid) WHERE ('$von'<=bisdatum AND '$bis'>=bisdatum) OR ('$bis'>=vondatum AND '$von'<=vondatum) ORDER BY nachname"; - //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_numrows($erg); + + $num_rows=$this->db_num_rows(); $result=array(); for($i=0;$i<$num_rows;$i++) { - $row=pg_fetch_object($erg,$i); - $l=new mitarbeiter($this->conn); + $row=$this->db_fetch_object(null,$i); + $l=new mitarbeiter(); // Personendaten $l->uid=$row->uid; $l->titelpre=$row->titelpre; @@ -500,22 +511,7 @@ class mitarbeiter extends benutzer $l->vorname=$row->vorname; $l->vornamen=$row->vornamen; $l->nachname=$row->nachname; - //$l->gebdatum=$row->gebdatum; - //$l->gebort=$row->gebort; - //$l->gebzeit=$row->gebzeit; - //$l->foto=$row->foto; - //$l->anmerkung=$row->anmerkung; - //$l->aktiv=$row->aktiv=='t'?true:false; - //$l->homepage=$row->homepage; - //$l->updateamum=$row->updateamum; - //$l->updatevon=$row->updatevon; - // Lektorendaten - //$l->personalnummer=$row->personalnummer; - //$l->kurzbz=$row->kurzbz; - //$l->lektor=$row->lektor=='t'?true:false; - //$l->fixangestellt=$row->fixangestellt=='t'?true:false; - //$l->standort_kurzbz = $row->standort_kurzbz; - //$l->telefonklappe=$row->telefonklappe; + // Lektor in Array speichern $result[]=$l; } @@ -527,7 +523,7 @@ class mitarbeiter extends benutzer // * @param lehreinheit_id // * @return true wenn ok, false wenn Fehler // ****************************************** - function getMitarbeiterFromLehreinheit($lehreinheit_id) + public function getMitarbeiterFromLehreinheit($lehreinheit_id) { if(!is_numeric($lehreinheit_id)) { @@ -538,11 +534,11 @@ class mitarbeiter extends benutzer $qry = "SELECT uid, vorname, vornamen, nachname, titelpre, titelpost, kurzbz FROM lehre.tbl_lehreinheitmitarbeiter JOIN campus.vw_mitarbeiter ON(mitarbeiter_uid=uid) 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()) { - $obj = new mitarbeiter($this->conn, null, null); + $obj = new mitarbeiter(); $obj->uid = $row->uid; $obj->vorname = $row->vorname; @@ -568,7 +564,7 @@ class mitarbeiter extends benutzer // * @param lehrveranstaltung_id // * @return true wenn ok, false wenn Fehler // ************************************************* - function getMitarbeiterFromLehrveranstaltung($lehrveranstaltung_id) + public function getMitarbeiterFromLehrveranstaltung($lehrveranstaltung_id) { if(!is_numeric($lehrveranstaltung_id)) { @@ -579,11 +575,11 @@ class mitarbeiter extends benutzer $qry = "SELECT uid, vorname, vornamen, nachname, titelpre, titelpost, kurzbz FROM lehre.tbl_lehreinheitmitarbeiter, campus.vw_mitarbeiter, lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lehrveranstaltung_id' AND mitarbeiter_uid=uid AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.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()) { - $obj = new mitarbeiter($this->conn, null, null); + $obj = new mitarbeiter(); $obj->uid = $row->uid; $obj->vorname = $row->vorname; @@ -604,7 +600,18 @@ class mitarbeiter extends benutzer } } - function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $verwendung, $studiensemester_kurzbz) + /** + * Laedt das Personal + * + * @param $fix wenn true werden nur fixangestellte geladen + * @param $stgl wenn true werden nur studiengangsleiter geladen + * @param $fbl wenn true werden nur fachbereichsleiter geladen + * @param $aktiv wenn true werden nur aktive geladen, wenn false dann nur inaktve, wenn null dann alle + * @param $karenziert wenn true werden alle geladen die karenziert sind + * @param $verwendung wenn true werden alle geladen die eine BIS-Verwendung eingetragen haben + * @return boolean + */ + public function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $verwendung) { $qry = "SELECT distinct on(mitarbeiter_uid) *, tbl_benutzer.aktiv as aktiv, tbl_mitarbeiter.insertamum, tbl_mitarbeiter.insertvon FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN public.tbl_benutzerfunktion USING(uid) LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid) WHERE true"; @@ -630,12 +637,12 @@ class mitarbeiter extends benutzer { $qry.=" AND NOT EXISTS(SELECT * FROM bis.tbl_bisverwendung WHERE (ende>now() or ende is null) AND tbl_bisverwendung.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid)"; } - //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 mitarbeiter($this->conn, null, null); + $obj = new mitarbeiter(); $obj->person_id = $row->person_id; $obj->staatsbuergerschaft = $row->staatsbuergerschaft; @@ -691,13 +698,13 @@ class mitarbeiter extends benutzer // **** // * Prueft ob die Kurzbz bereits existiert // **** - function kurzbz_exists($kurzbz) + public function kurzbz_exists($kurzbz) { $qry = "SELECT * FROM public.tbl_mitarbeiter WHERE kurzbz='".addslashes($kurzbz)."'"; - 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 = ''; return true; @@ -721,14 +728,14 @@ class mitarbeiter extends benutzer // * Laedt die Mitarbeiter deren // * Nachname mit $filter beginnt // ************************************* - function getMitarbeiterFilter($filter) + public function getMitarbeiterFilter($filter) { $qry = "SELECT * FROM campus.vw_mitarbeiter WHERE nachname ~* '".addslashes($filter).".*'"; - 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 mitarbeiter($this->conn, null, null); + $obj = new mitarbeiter(); $obj->uid = $row->uid; $obj->vorname = $row->vorname; @@ -749,7 +756,13 @@ class mitarbeiter extends benutzer } } - function searchPersonal($filter) + /** + * Liefert die Personen die den Suchkriterien entsprechen + * + * @param $filter + * @return boolean + */ + public function searchPersonal($filter) { $qry = "SELECT distinct on(mitarbeiter_uid) *, tbl_benutzer.aktiv as aktiv, tbl_mitarbeiter.insertamum, @@ -761,12 +774,11 @@ class mitarbeiter extends benutzer if(is_numeric($filter)) $qry.="OR personalnummer = '".addslashes($filter)."'"; - //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 mitarbeiter($this->conn, null, null); + $obj = new mitarbeiter(); $obj->person_id = $row->person_id; $obj->staatsbuergerschaft = $row->staatsbuergerschaft; @@ -825,20 +837,21 @@ class mitarbeiter extends benutzer * gibt array mit allen Mitarbeitern zurueck * @return array mit Mitarbeitern */ - function getMitarbeiterInstitut($institut) + public function getMitarbeiterInstitut($institut) { $sql_query="SELECT DISTINCT campus.vw_mitarbeiter.* FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion USING (uid) - WHERE funktion_kurzbz='oezuordnung' AND fachbereich_kurzbz='$institut' ORDER BY nachname, vorname"; + WHERE funktion_kurzbz='oezuordnung' AND fachbereich_kurzbz='".addslashes($institut)."' + ORDER BY nachname, vorname"; - if($erg=pg_query($this->conn, $sql_query)) + if($this->db_query($sql_query)) { - $num_rows=pg_numrows($erg); + $num_rows=$this->db_num_rows(); $result=array(); for($i=0;$i<$num_rows;$i++) { - $row=pg_fetch_object($erg,$i); - $l=new mitarbeiter($this->conn); + $row=$this->db_fetch_object(null,$i); + $l=new mitarbeiter(); // Personendaten $l->uid=$row->uid; $l->titelpre=$row->titelpre; @@ -859,11 +872,10 @@ class mitarbeiter extends benutzer $l->personalnummer=$row->personalnummer; $l->kurzbz=$row->kurzbz; $l->lektor=$row->lektor=='t'?true:false; - //$l->bismelden=$row->bismelden=='t'?true:false; $l->fixangestellt=$row->fixangestellt=='t'?true:false; $l->standort_kurzbz = $row->standort_kurzbz; $l->telefonklappe=$row->telefonklappe; - //$l->ort_kurzbz=$row->ort_kurzbz; + // Lektor in Array speichern $result[]=$l; } @@ -871,7 +883,7 @@ class mitarbeiter extends benutzer } else { - $this->errormsg=pg_errormessage($this->conn); + $this->errormsg=$this->db_last_error(); return false; } } @@ -880,7 +892,7 @@ class mitarbeiter extends benutzer * gibt UID des Vorgesetzten zurueck * @return uid */ - function getVorgesetzte($uid=null) + public function getVorgesetzte($uid=null) { $return=false; if (is_null($uid)) @@ -890,26 +902,31 @@ class mitarbeiter extends benutzer WHEN studiengang_kz is not null THEN (SELECT uid FROM public.tbl_benutzerfunktion WHERE studiengang_kz=a.studiengang_kz AND funktion_kurzbz='stgl' LIMIT 1) ELSE '' END as vorgesetzter - FROM public.tbl_benutzerfunktion a WHERE funktion_kurzbz='oezuordnung' AND uid='$uid'"; - $result = pg_query($this->conn, $qry); - while($row = pg_fetch_object($result)) + FROM public.tbl_benutzerfunktion a WHERE funktion_kurzbz='oezuordnung' AND uid='".addslashes($uid)."'"; + if($this->db_query($qry)) { - if ($row->vorgesetzter!='') + while($row = $this->db_fetch_object()) { - $this->vorgesetzte[]=$row->vorgesetzter; - $return=true; + if ($row->vorgesetzter!='') + { + $this->vorgesetzte[]=$row->vorgesetzter; + $return=true; + } } - } - $this->vorgesetzte = array_unique($this->vorgesetzte); - + $this->vorgesetzte = array_unique($this->vorgesetzte); + } + else + { + $this->errormsg = 'Fehler bei einer Datenbankabfrage!'; + } return $return; } // ************************ // * gibt die UIDs der Untergebenen zurück // ************************ - function getUntergebene($uid=null) + public function getUntergebene($uid=null) { if (is_null($uid)) $uid=$this->uid; @@ -918,11 +935,11 @@ class mitarbeiter extends benutzer $qry = "SELECT * FROM public.tbl_benutzerfunktion WHERE (funktion_kurzbz='fbl' OR funktion_kurzbz='stgl') AND uid='".addslashes($uid)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { $institut=''; $stge=''; - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { if($row->funktion_kurzbz=='fbl') { @@ -954,9 +971,9 @@ class mitarbeiter extends benutzer if($stge!='') $qry.=" OR (funktion_kurzbz='ass' AND studiengang_kz in($stge))"; - 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->untergebene[]=$row->uid; } diff --git a/include/person.class.php b/include/person.class.php index a39bff0e7..dee7c568d 100644 --- a/include/person.class.php +++ b/include/person.class.php @@ -22,68 +22,52 @@ /* * Benoetigt functions.inc.php */ +require_once('basis_db.class.php'); -class person +class person extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $personen = array(); // person Objekt - var $done=false; // boolean + public $errormsg; // string + public $new; // boolean + public $personen = array(); // person Objekt + public $done=false; // boolean //Tabellenspalten - var $person_id; // integer - var $sprache; // varchar(16) - var $anrede; // varchar(16) - var $titelpost; // varchar(32) - var $titelpre; // varchar(64) - var $nachname; // varchar(64) - var $vorname; // varchar(32) - var $vornamen; // varchar(128) - var $gebdatum; // date - var $gebort; // varchar(128) - var $gebzeit; // time - var $foto; // text - var $anmerkungen; // varchar(256) - var $homepage; // varchar(256) - var $svnr; // char(10) - var $ersatzkennzeichen; // char(10) - var $familienstand; // char(1) - var $anzahlkinder; // smalint - var $aktiv; // boolean - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $geschlecht; // varchar(1) - var $staatsbuergerschaft; // varchar(3) - var $geburtsnation; // varchar(3); - var $ext_id; // bigint - var $kurzbeschreibung; // text + public $person_id; // integer + public $sprache; // varchar(16) + public $anrede; // varchar(16) + public $titelpost; // varchar(32) + public $titelpre; // varchar(64) + public $nachname; // varchar(64) + public $vorname; // varchar(32) + public $vornamen; // varchar(128) + public $gebdatum; // date + public $gebort; // varchar(128) + public $gebzeit; // time + public $foto; // text + public $anmerkungen; // varchar(256) + public $homepage; // varchar(256) + public $svnr; // char(10) + public $ersatzkennzeichen; // char(10) + public $familienstand; // char(1) + public $anzahlkinder; // smalint + public $aktiv; // boolean + public $insertamum; // timestamp + public $insertvon; // varchar(16) + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $geschlecht; // varchar(1) + public $staatsbuergerschaft;// varchar(3) + public $geburtsnation; // varchar(3); + public $ext_id; // bigint + public $kurzbeschreibung; // text // ************************************************************************* // * Konstruktor - Uebergibt die Connection und laedt optional eine Person - // * @param $conn Datenbank-Connection - // * $person_id Person die geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen + // * @param $person_id Person die geladen werden soll (default=null) // ************************************************************************* - function person($conn, $person_id=null, $unicode=false) + public function __construct($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\n"; - return false; - } - } + parent::__construct(); if($person_id != null) $this->load($person_id); @@ -93,7 +77,7 @@ class person // * Laedt Person mit der uebergebenen ID // * @param $person_id ID der Person die geladen werden soll // ********************************************************* - function load($person_id) + public function load($person_id) { //person_id auf gueltigkeit pruefen if(is_numeric($person_id) && $person_id!='') @@ -104,13 +88,13 @@ class person geschlecht, staatsbuergerschaft, geburtsnation, kurzbeschreibung FROM public.tbl_person WHERE person_id='$person_id'"; - if(!$result=pg_query($this->conn,$qry)) + if(!$this->db_query($qry)) { $this->errormsg = "Fehler beim Lesen der Personendaten\n"; return false; } - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->person_id = $row->person_id; $this->sprache = $row->sprache; @@ -161,7 +145,7 @@ class person // * auf Gueltigkeit. // * @return true wenn ok, false im Fehlerfall // ******************************************* - function validate() + protected function validate() { $this->nachname = trim($this->nachname); $this->vorname = trim($this->vorname); @@ -256,9 +240,9 @@ class person { //Pruefen ob bereits ein Eintrag mit dieser SVNR vorhanden ist $qry = "SELECT person_id FROM public.tbl_person WHERE svnr='$this->svnr'"; - 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->person_id!=$this->person_id) { @@ -362,24 +346,13 @@ class person 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 die Personendaten 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() + public function save() { //Variablen auf Gueltigkeit pruefen if(!person::validate()) @@ -459,16 +432,24 @@ class person ' WHERE person_id='.$this->person_id.';'; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { if($this->new) { $qry = "SELECT currval('public.tbl_person_person_id_seq') AS id;"; - if($row=pg_fetch_object(pg_query($this->conn,$qry))) - $this->person_id=$row->id; - else + if($this->db_query($qry)) { - $this->errormsg = "Sequence konnte nicht ausgelesen werden\n"; + if($row=$this->db_fetch_object()) + $this->person_id=$row->id; + else + { + $this->errormsg = "Sequence konnte nicht ausgelesen werden\n"; + return false; + } + } + else + { + $this->errormsg = "Fehler beim Auslesen der Sequence"; return false; } } @@ -478,18 +459,18 @@ class person } else { - $this->errormsg = "Fehler beim Speichern des Person-Datensatzes:".pg_errormessage($this->conn); + $this->errormsg = "Fehler beim Speichern des Person-Datensatzes:".$this->db_last_error(); return false; } } + /** * Liefert die Tabellenelemente die den Kriterien der Parameter entsprechen - * @param $nn Nachname - * $vn Vorname - * $order Sortierkriterium + * @param $filter String mit Vorname oder Nachname + * @param $order Sortierkriterium * @return array mit LPersonen oder false=fehler */ - function getTab($filter, $order='person_id') + public function getTab($filter, $order='person_id') { $sql_query = "SELECT * FROM public.tbl_person WHERE true "; @@ -505,11 +486,11 @@ class person if($filter=='') $sql_query .= " LIMIT 30"; - 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 person($this->conn); + $l = new person(); $l->person_id = $row->person_id; $l->staatsbuergerschaft = $row->staatsbuergerschaft; $l->geburtsnation = $row->geburtsnation; @@ -543,7 +524,7 @@ class person } else { - $this->errormsg = pg_errormessage($this->conn); + $this->errormsg = $this->db_last_error(); return false; } return true; diff --git a/include/pgsql.class.php b/include/pgsql.class.php index b79473c99..658702e8f 100644 --- a/include/pgsql.class.php +++ b/include/pgsql.class.php @@ -30,17 +30,30 @@ class basis_db extends db } } - function db_num_rows() - { - return pg_num_rows($this->db_result); - } - - function db_fetch_object($result = null) + function db_num_rows($result=null) { if(is_null($result)) - return pg_fetch_object($this->db_result); + return pg_num_rows($this->db_result); + else + return pg_num_rows($result); + } + + function db_fetch_object($result = null, $i=null) + { + if(is_null($result)) + { + if(is_null($i)) + return pg_fetch_object($this->db_result); + else + return pg_fetch_object($this->db_result, $i); + } else - return pg_fetch_object($result); + { + if(is_null($i)) + return pg_fetch_object($result); + else + return pg_fetch_object($result, $i); + } } function db_last_error() diff --git a/rdf/buchungstyp.rdf.php b/rdf/buchungstyp.rdf.php index 5dba9a27b..0b83963f6 100644 --- a/rdf/buchungstyp.rdf.php +++ b/rdf/buchungstyp.rdf.php @@ -20,7 +20,7 @@ * Rudolf Hangl . */ -// header für no cache +// 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"); @@ -30,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/konto.class.php'); -// Datenbank Verbindung -if (!$conn = @pg_pconnect(CONN_STRING)) - $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; - // studiensemester holen -$typ = new konto($conn,null, true); +$typ = new konto(); $typ->getBuchungstyp(); $rdf_url='http://www.technikum-wien.at/buchungstyp'; diff --git a/rdf/lehrverbandsgruppe.rdf.php b/rdf/lehrverbandsgruppe.rdf.php index e894c9237..98125ad31 100644 --- a/rdf/lehrverbandsgruppe.rdf.php +++ b/rdf/lehrverbandsgruppe.rdf.php @@ -1,7 +1,28 @@ , + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens + */ header("Content-type: application/vnd.mozilla.xul+xml"); -echo ''; -require_once('../vilesci/config.inc.php'); +echo ''; +require_once('../config/vilesci.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/studiensemester.class.php'); @@ -9,12 +30,10 @@ require_once('../include/studiengang.class.php'); $rdf_url='http://www.technikum-wien.at/lehrverbandsgruppe/'; -if (!$conn = pg_pconnect(CONN_STRING)) - $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; - $berechtigt_studiengang=array(); $uid=''; -$berechtigung=new benutzerberechtigung($conn); +$berechtigung=new benutzerberechtigung(); +$dbo = new basis_db(); // Berechtigungen ermitteln if(!isset($_SERVER['REMOTE_USER'])) @@ -68,21 +87,20 @@ else die('Keine Berechtigung'); } //echo $sql_query; -if(!$result=pg_query($conn, $sql_query)) - $error_msg.=pg_errormessage($conn); +if(!$dbo->db_query($sql_query)) + $error_msg.=$dbo->db_last_error(); else - $num_rows=pg_numrows($result); + $num_rows=$dbo->db_num_rows(); -$stsem_obj = new studiensemester($conn); +$stsem_obj = new studiensemester(); $stsem_obj->getAll(); - //Bei Mischformen werden die Organisationsformen //getrennt aufgelistet function draw_orgformpart($stg_kz) { global $conn, $orgform_sequence; - $stg_obj = new studiengang($conn, $stg_kz); + $stg_obj = new studiengang($stg_kz); //Zusatzfilterung nur bei Mischformen anzeigen if($stg_obj->orgform_kurzbz!='VBB') @@ -91,9 +109,9 @@ function draw_orgformpart($stg_kz) $orgform_sequence[$stg_kz]=''; $qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz not in('VBB','ZGS')"; - if($result = pg_query($conn, $qry)) + if($stg_obj->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $stg_opj->db_fetch_object()) { draw_orgformsubmenu($stg_kz, $row->orgform_kurzbz); } @@ -262,9 +280,9 @@ function draw_orgformsubmenu($stg_kz, $orgform) $sem=''; $ver=''; //echo $qry; - if($result = pg_query($conn, $qry)) + if($stg_obj->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $stg_obj->db_fetch_object()) { if ($sem!=$row->semester) { @@ -397,7 +415,7 @@ function draw_orgformsubmenu($stg_kz, $orgform) db_fetch_object()) { if ($stg_kz!=$row->studiengang_kz) { @@ -592,7 +610,7 @@ draw_orgformpart($stg_kz); $ver=null; for ($i=0;$i<$num_rows;$i++) { - $row=pg_fetch_object($result,$i); + $row=$dbo->db_fetch_object(null,$i); if ($stg_kz!=$row->studiengang_kz) { //Verband schliessen diff --git a/rdf/mitarbeiter.rdf.php b/rdf/mitarbeiter.rdf.php index 79186d149..f479e27d7 100644 --- a/rdf/mitarbeiter.rdf.php +++ b/rdf/mitarbeiter.rdf.php @@ -28,7 +28,7 @@ header("Pragma: no-cache"); header("Content-type: application/xhtml+xml"); // DAO -include('../vilesci/config.inc.php'); +require_once('../config/vilesci.config.inc.php'); require_once('../include/person.class.php'); require_once('../include/benutzer.class.php'); require_once('../include/mitarbeiter.class.php'); @@ -36,9 +36,6 @@ require_once('../include/benutzerberechtigung.class.php'); require_once('../include/studiengang.class.php'); require_once('../include/functions.inc.php'); -if (!$conn = pg_pconnect(CONN_STRING)) - $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; - if (isset($_GET['lektor'])) { if($_GET['lektor']=='true') @@ -87,9 +84,9 @@ if(isset($_GET['lehrveranstaltung_id']) && is_numeric($_GET['lehrveranstaltung_i } else { - echo ''; + echo ''; $lehrveranstaltung_id=null; - $mitarbeiter=new mitarbeiter($conn); + $mitarbeiter=new mitarbeiter(); } // Mitarbeiter holen @@ -125,7 +122,7 @@ if($lehrveranstaltung_id==null && $filter==null && $mitarbeiter_uid==null) { $ma=$mitarbeiter->getMitarbeiter($lektor,$fixangestellt,$stg_kz,$fachbereich_id); - $stg_obj = new studiengang($conn); + $stg_obj = new studiengang(); $stg_obj->getAll('typ, kurzbz', false); foreach ($stg_obj->result as $stg) $stg_arr[$stg->studiengang_kz]=$stg->kuerzel; @@ -159,7 +156,7 @@ if($lehrveranstaltung_id==null && $filter==null && $mitarbeiter_uid==null) if ($user) { - $bb=new benutzerberechtigung($conn); + $bb=new benutzerberechtigung(); if($bb->getBerechtigungen(get_uid())) { $stge=$bb->getStgKz('admin'); diff --git a/rdf/studiensemester.rdf.php b/rdf/studiensemester.rdf.php index f7f8e5b60..24928ac9f 100644 --- a/rdf/studiensemester.rdf.php +++ b/rdf/studiensemester.rdf.php @@ -1,11 +1,26 @@ , + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens */ -// header für no cache +// 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"); @@ -13,17 +28,13 @@ header("Pragma: no-cache"); // content type setzen header("Content-type: application/vnd.mozilla.xul+xml"); // xml -echo ''; +echo ''; // DAO -require_once('../vilesci/config.inc.php'); +require_once('../config/vilesci.config.inc.php'); require_once('../include/studiensemester.class.php'); -// Datenbank Verbindung -if (!$conn = @pg_pconnect(CONN_STRING)) - $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; - // studiensemester holen -$studiensemesterDAO=new studiensemester($conn); +$studiensemesterDAO=new studiensemester(); $studiensemesterDAO->getAll(); $rdf_url='http://www.technikum-wien.at/studiensemester';