Anpassungen an neue Datenbankklasse

This commit is contained in:
Andreas Österreicher
2009-06-02 14:55:31 +00:00
parent ed3129ad5a
commit aa91265b7b
11 changed files with 460 additions and 460 deletions
+50 -36
View File
@@ -120,25 +120,35 @@ Uhr - 20:00 Uhr<br>
</td>
</tr>
<tr>
<td colspan="2">Raum B.2.08 <br>(nach dem Durchgang im 2. Stock)
<td colspan="2">Raum B.2.08 <br>
</td>
<td class="tdvertical"><br>
</td>
<td class="tdvertical" valign="bottom"><b>Mag. Nadine
Rapold</b><br>
</td>
</tr>
<tr>
<td colspan="2">(nach dem Durchgang im 2. Stock) </td>
<td class="tdvertical"><br>
</td>
<td class="tdvertical">Bibliothekarin<br>
</td>
</tr>
<tr>
<td colspan="2"><br>
</td>
<td class="tdvertical"><br>
</td>
<td class="tdvertical"><br>
</td>
</tr>
<tr>
<td colspan="2"><a class="Item" href="info/verordnungen/benutzungsordnung_bibliothek.doc">Benutzungsordnung</a></td>
<td>&nbsp;</td>
<td></td>
<td><a href="mailto:nadine.rapold@technikum-wien.at"
class="Item">nadine.rapold@technikum-wien.at</a><br>
</td>
</tr>
<tr>
<td valign="top" colspan="2"><a class="Item"
href="info/verordnungen/benutzungsordnung_bibliothek.doc">Benutzungsordnung</a></td>
<td valign="top"><br>
</td>
<td valign="top">Tel: 01 / 333 40 77 - 209</td>
</tr>
<tr>
<td colspan="2"><br>
@@ -149,38 +159,42 @@ Uhr - 20:00 Uhr<br>
</td>
</tr>
<tr>
<td class="ContentHeader2" colspan="4">&nbsp;Wichtige Hinweise</td>
<td class="ContentHeader2" colspan="4">&nbsp;Wichtige
Hinweise</td>
</tr>
<tr>
<td colspan="4"><br>
<b>Diplomarbeiten</b><br>
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!<br>
<br>
</td>
<td colspan="4"><br>
<b>Diplomarbeiten</b><br>
Da sich die Diplomarbeiten ab sofort in einem Raum im 5. Stock
befinden, ist die Einsicht nur nach vorheriger Ank&uuml;ndigung
m&ouml;glich. Bitte suchen Sie in der Liste der Diplomarbeiten jene
Arbeiten, f&uuml;r die Sie sich interessieren (max. 5) heraus und
senden Sie uns ein entsprechendes e-mail. Sie k&ouml;nnen die
Diplomarbeiten am folgenden Tag in der Bibliothek einsehen und max. 4
Werke f&uuml;r ein Monat entlehnen. Danke f&uuml;r Ihre Kooperation!<br>
<br>
</td>
</tr>
<tr>
<td colspan="4">
<b>ENERGYbase</b><br>
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:
<br><br>
<b>Kontakt:</b> <br>
Susanne Fürnkranz<br>
Officezeiten: Mittwoch und Donnerstag 9:00-12:00 und 13:30-16:00 Uhr<br>
<a href="mailto:fuernkra@technikum-wien.at" class="Item">fuernkra@technikum-wien.at</a><bR>
Tel. 01 / 333 40 77 - 564<br>
Raum E.E.02<br>
Giefinggasse 6, 1210 Wien<br>
Schnellbahn - Station Siemensstraße<br>
Autobus 31A - Station Giefinggasse<br>
</td>
<td colspan="4"> <b>ENERGYbase</b><br>
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&uuml;tzung der Bibliothek mit der Studiengangsassistenz in
Verbindung: <br>
<br>
<b>Kontakt:</b> <br>
Susanne F&uuml;rnkranz<br>
Officezeiten: Mittwoch und Donnerstag 9:00-12:00 und 13:30-16:00 Uhr<br>
<a href="mailto:fuernkra@technikum-wien.at"
class="Item">fuernkra@technikum-wien.at</a><br>
Tel. 01 / 333 40 77 - 564<br>
Raum E.E.02<br>
Giefinggasse 6, 1210 Wien<br>
Schnellbahn - Station Siemensstra&szlig;e<br>
Autobus 31A - Station Giefinggasse<br>
</td>
</tr>
</tbody>
</table>
</td>
+2 -1
View File
@@ -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();
}
+26 -43
View File
@@ -19,40 +19,23 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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;
}
}
}
?>
+62 -93
View File
@@ -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)
{
+166 -149
View File
@@ -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;
}
+66 -85
View File
@@ -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;
+21 -8
View File
@@ -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()
+3 -7
View File
@@ -20,7 +20,7 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// 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 '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// 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';
+36 -18
View File
@@ -1,7 +1,28 @@
<?php
/* Copyright (C) 2009 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
require_once('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
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)
<?php
$stg_kz=null;
$sem=null;
while ($row=pg_fetch_object($result))
while ($row=$dbo->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
+5 -8
View File
@@ -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 '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
$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');
+23 -12
View File
@@ -1,11 +1,26 @@
<?php
/*
* Created on 02.12.2004
/* Copyright (C) 2009 Technikum-Wien
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/
// 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 '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// 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';