Anpassung der RDFs an Datenbankklasse

This commit is contained in:
Andreas Österreicher
2009-06-18 15:32:21 +00:00
parent fb1fc4ae57
commit 6241258141
143 changed files with 1239 additions and 13393 deletions
+1 -1
View File
@@ -52,7 +52,7 @@ class abschlusspruefung extends basis_db
*/
public function __construct($abschlusspruefung_id=null)
{
parent::__constuct();
parent::__construct();
if(!is_null($abschlusspruefung_id))
$this->load($abschlusspruefung_id);
+1 -1
View File
@@ -135,7 +135,7 @@ class adresse extends basis_db
return false;
}
while($row = $this->db_fetch_object($res))
while($row = $this->db_fetch_object())
{
$adr_obj = new adresse();
-357
View File
@@ -1,357 +0,0 @@
<?php
/**
* Klasse Adresse (FAS-Online)
* @create 13-03-2006
*/
class adresse
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var adresse Objekt
//Tabellenspalten
var $adresse_id; // @var integer
var $bismeldeadresse; // @var boolean
var $gemeinde; // @var string
var $name; // @var string
var $nation; // @var string
var $ort; // @var string
var $person_id; // @var integer
var $plz; // @var string
var $strasse; // @var string
var $typ; // @var integer
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
var $zustelladresse; // @var boolean
/**
* Konstruktor
* @param $conn Connection
* $adress_id ID der Adresse die geladen werden soll (Default=null)
*/
function adresse($conn,$adress_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($adress_id != null)
$this->load($adress_id);
}
/**
* Laedt die Funktion mit der ID $adress_id
* @param $adress_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
function load($adress_id)
{
//Pruefen ob adress_id eine gueltige Zahl ist
if(!is_numeric($adress_id) || $adress_id == '')
{
$this->errormsg = 'Adress_id muss eine Zahl sein';
return false;
}
//Daten aus der Datenbank lesen
$qry = "SELECT * FROM adresse WHERE adresse_pk=$adress_id";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = pg_fetch_object($res))
{
$this->adresse_id = $row->adresse_pk;
$this->bismeldeadresse = ($row->bismeldeadresse=='J'?true:false);
$this->gemeinde = $row->gemeinde;
$this->name = $row->name;
$this->nation = $row->nation;
$this->ort = $row->ort;
$this->person_id = $row->person_fk;
$this->plz = $row->plz;
$this->strasse = $row->strasse;
$this->typ = $row->typ;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
$this->zustelladresse = ($row->zustelladresse=='J'?true:false);
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Laedt alle adressen zu der Person die uebergeben wird
* @param $pers_id ID der Person zu der die Adressen geladen werden sollen
* @return true wenn ok, false im Fehlerfall
*/
function load_pers($pers_id)
{
//Pruefen ob pers_id eine gueltige Zahl ist
if(!is_numeric($pers_id) || $pers_id == '')
{
$this->errormsg = 'person_id muss eine gueltige Zahl sein';
return false;
}
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM adresse WHERE person_fk=$pers_id";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$adr_obj = new adresse($this->conn);
$adr_obj->adresse_id = $row->adresse_pk;
$adr_obj->bismeldeadresse = ($row->bismeldeadresse=='J'?true:false);
$adr_obj->gemeinde = $row->gemeinde;
$adr_obj->name = $row->name;
$adr_obj->nation = $row->nation;
$adr_obj->ort = $row->ort;
$adr_obj->person_id = $row->person_fk;
$adr_obj->plz = $row->plz;
$adr_obj->strasse = $row->strasse;
$adr_obj->typ = $row->typ;
$adr_obj->updateamum = $row->creationdate;
$adr_obj->updatevon = $row->creationuser;
$adr_obj->zustelladresse = ($row->zustelladresse=='J'?true:false);
$this->result[] = $adr_obj;
}
return true;
}
/**
* Laedt alle Adressen aus der Datenbank
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "SELECT * FROM adresse";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$adr_obj = new adresse($this->conn);
$adr_obj->adresse_id = $row->adresse_pk;
$adr_obj->bismeldeadresse = ($row->bismeldeadresse=='J'?true:false);
$adr_obj->gemeinde = $row->gemeinde;
$adr_obj->name = $row->name;
$adr_obj->nation = $row->nation;
$adr_obj->ort = $row->ort;
$adr_obj->person_id = $row->person_fk;
$adr_obj->plz = $row->plz;
$adr_obj->strasse = $row->strasse;
$adr_obj->typ = $row->typ;
$adr_obj->updateamum = $row->creationdate;
$adr_obj->updatevon = $row->creationuser;
$adr_obj->zustelladresse = ($row->zustelladresse=='J'?true:false);
$this->result[] = $adr_obj;
}
return true;
}
/**
* Prueft die Variablen auf gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
//Zahlenfelder pruefen
$this->errormsg='Ein Zahlenfeld enthaelt ungueltige Zeichen';
if(!is_numeric($this->person_id))
{
$this->errormsg='Person_id enthaelt ungueltige Zeichen:'.$this->person_id;
return false;
}
if(!is_numeric($this->typ))
{
$this->errormsg='Typ enthaelt ungueltige Zeichen';
return false;
}
//Gesamtlaenge pruefen
$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
if(strlen($this->name)>255)
{
$this->errormsg = 'Name darf nicht länger als 255 Zeichen sein';
return false;
}
if(strlen($this->strasse)>255)
{
$this->errormsg = 'Strasse darf nicht länger als 255 Zeichen sein';
return false;
}
if(strlen($this->plz)>10)
{
$this->errormsg = 'Plz darf nicht länger als 10 Zeichen sein';
return false;
}
if(strlen($this->ort)>255)
{
$this->errormsg = 'Ort darf nicht länger als 255 Zeichen sein';
return false;
}
if(strlen($this->nation)>3)
{
$this->errormsg = 'Nation darf nicht länger als 3 Zeichen sein';
return false;
}
if(strlen($this->gemeinde)>255)
{
$this->errormsg = 'Gemeinde darf nicht länger als 255 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
//Variablen pruefen
if(!$this->checkvars())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
//naechste ID aus der Sequence holen
$qry="SELECT nextval('adresse_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn,$qry)))
{
$this->errormsg = 'Fehler beim auslesen der Sequence';
return false;
}
$this->adresse_id = $row->id;
$qry="INSERT INTO adresse (adresse_pk, person_fk, name, strasse, plz, typ, ort, nation, creationdate, creationuser,".
" gemeinde, bismeldeadresse, zustelladresse) VALUES(".
" $this->adresse_id, $this->person_id, '$this->name', '$this->strasse', '$this->plz', $this->typ, '$this->ort',".
" '$this->nation', now(), $this->updatevon, '$this->gemeinde', '".($this->bismeldeadresse?'J':'N')."',".
" '".($this->zustelladresse?'J':'N')."');";
}
else
{
//Updaten des bestehenden Datensatzes
//Pruefen ob adresse_id eine gueltige Zahl ist
if(!is_numeric($this->adresse_id))
{
$this->errormsg = 'adresse_id muss eine gueltige Zahl sein';
return false;
}
$qry="UPDATE adresse SET person_fk='$this->person_id', name='$this->name', strasse='$this->strasse', plz='$this->plz',".
" typ='$this->typ', ort='$this->ort', nation='$this->nation', gemeinde='$this->gemeinde',".
" bismeldeadresse='".($this->bismeldeadresse?'J':'N')."', zustelladresse='".($this->zustelladresse?'J':'N')."'".
" WHERE adresse_pk='$this->adresse_id'";
}
if(pg_query($this->conn,$qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $adress_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($adress_id)
{
//Pruefen ob adresse_id eine gueltige Zahl ist
if(!is_numeric($adress_id) || $adress_id == '')
{
$this->errormsg = 'adresse_id muss eine gueltige Zahl sein';
return false;
}
//loeschen des Datensatzes
$qry="DELETE FROM adresse WHERE adresse_pk=$adress_id;";
if(pg_query($this->conn,$qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim loeschen der Daten';
return false;
}
}
}
?>
-184
View File
@@ -1,184 +0,0 @@
<?php
/**
* Klasse ausbildungssemester (FAS-Online)
* @create 15-03-2006
*/
class ausbildungssemester
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var ausbildungssemester Objekt
var $ausbildungssemester_id; // @var integer
var $studiengang_id; // @var integer
var $name; // @var string
var $personenstatus; // @var integer
var $semester; // @var integer
var $updatevon=0; // @var timestamp
var $updateamum; // @var string
/**
* Konstruktor
* @param $conn Connection zur Datenbank
* $ausbildungssemester_id ID des zu ladenden Datensatzes
*/
function ausbildungssemester($conn, $ausbildungssemester_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($ausbildungssemester_id != null)
$this->load($ausbildungssemester_id);
}
/**
* Laedt einen Datensatz aus der Datenbank
* @param $ausbildungssemester_id ID des zu ladenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function load($ausbildungssemester_id)
{
if(!is_numeric($ausbildungssemester_id) || $ausbildungssemester_id == '')
{
$this->errormsg = 'ausbildungssemester_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM ausbildungssemester WHERE ausbildungssemester_pk = '$ausbildungssemester_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
{
$this->ausbildungssemester_id = $row->ausbildungssemester_pk;
$this->studiengang_id = $row->studiengang_fk;
$this->semester = $row->semester;
$this->name = $row->name;
$this->personenstatus = $row->personenstatus;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
return true;
}
/**
* Liefert alle ausbildungssemester zu einem Studiengang
* @param $studiengang_id Studiengang_id des Ausbildungssemesters
* @return true wenn ok, false im Fehlerfall
*/
function load_stg($studiengang_id)
{
if(!is_numeric($studiengang_id) || $studiengang_id == '')
{
$this->errormsg = 'studiengang_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM ausbildungssemester WHERE studiengang_fk = '$studiengang_id' order by semester";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
while($row = pg_fetch_object($res))
{
$ausb_obj = new ausbildungssemester($this->conn);
$ausb_obj->ausbildungssemester_id = $row->ausbildungssemester_pk;
$ausb_obj->studiengang_id = $row->studiengang_fk;
$ausb_obj->semester = $row->semester;
$ausb_obj->name = $row->name;
$ausb_obj->personenstatus = $row->personenstatus;
$ausb_obj->updateamum = $row->creationdate;
$ausb_obj->updatevon = $row->creationuser;
$this->result[] = $ausb_obj;
}
return true;
}
/**
* Liefert alle Ausbildungssemester
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "SELECT * FROM ausbildungssemester;";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
while($row = pg_fetch_object($res))
{
$ausb_obj = new ausbildungssemester($this->conn);
$ausb_obj->ausbildungssemester_id = $row->ausbildungssemester_pk;
$ausb_obj->studiengang_id = $row->studiengang_fk;
$ausb_obj->semester = $row->semester;
$ausb_obj->name = $row->name;
$ausb_obj->personenstatus = $row->personenstatus;
$ausb_obj->updateamum = $row->creationdate;
$ausb_obj->updatevon = $row->creationuser;
$this->result[] = $ausb_obj;
}
return true;
}
/**
* Checkt die Variablen vor dem Speichern
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
if(!checkvars())
return false;
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Loescht den Datensatz mit der ID die uebergeben wurde
* @param $ausbildungssemester_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($ausbildungssemester_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
}
?>
-342
View File
@@ -1,342 +0,0 @@
<?php
/**
* Klasse bankverbindung (FAS-Online)
* @create 07-03-2006
*/
class bankverbindung
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var bankverbindung Objekt
//Tabellenspalten
var $bankverbindung_id; // @var integer
var $person_id; // @var integer
var $name; // @var string
var $anschrift; // @var string
var $blz; // @var string
var $bic; // @var string
var $kontonr; // @var string
var $iban; // @var string
var $typ; // @var integer
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
/**
* Konstruktor
* @param $conn Connection zur Datenbank
* $bank_id Zu ladende ID (Default=null)
*/
function bankverbindung($conn, $bank_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($bank_id != null)
$this->load($bank_id);
}
/**
* Prueft die gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
//Gesamtlaenge pruefen
$this->errormsg = 'Eine der Maximiallaengen wurde ueberschritten';
if(strlen($this->name)>255)
{
$this->errormsg = 'Name darf nicht länger als 255 Zeichen sein';
return false;
}
if(strlen($this->anschrift)>255)
{
$this->errormsg = 'Anschrift darf nicht länger als 255 Zeichen sein';
return false;
}
if(strlen($this->blz)>15)
{
$this->errormsg = 'BLZ darf nicht länger als 15 Zeichen sein';
return false;
}
if(strlen($this->bic)>15)
{
$this->errormsg = 'BIC darf nicht länger als 15 Zeichen sein';
return false;
}
if(strlen($this->kontonr)>25)
{
$this->errormsg = 'KontoNr darf nicht länger als 25 Zeichen sein';
return false;
}
if(strlen($this->iban)>25)
{
$this->errormsg = 'IBAN darf nicht länger als 25 Zeichen sein';
return false;
}
//Zahlenwerte ueberpruefen
$this->errormsg = 'Ein Zahlenfeld enthaelt ungueltige Zeichen';
if(!is_numeric($this->person_id)) return false;
if(!is_numeric($this->typ)) return false;
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
//Naechste ID aus der Sequence holen
$qry = "SELECT nextval('bankverbindung_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim auslesen der Sequence';
return false;
}
$this->bankverbindung_id = $row->id;
$qry = "INSERT INTO bankverbindung (bankverbindung_pk, person_fk, name, anschrift, blz, bic,".
" kontonr, iban, typ, creationdate, creationuser) VALUES(".
" '$this->bankverbindung_id', '$this->person_id', '$this->name', '$this->anschrift',".
" '$this->blz', '$this->bic', '$this->kontonr', '$this->iban', '$this->typ', now(), $this->updatevon);";
}
else
{
//Datensatz Updaten
//ID pruefen
if(!is_numeric($this->bankverbindung_id))
{
$this->errormsg = 'bankverbindung_id muss eine Zahl sein';
return false;
}
$qry="UPDATE bankverbindung SET person_fk='$this->person_id', name='$this->name',".
" anschrift='$this->anschrift', blz='$this->blz', bic='$this->bic',".
" kontonr='$this->kontonr', iban='$this->iban', typ='$this->typ'".
" WHERE bankverbindung_pk=$this->bankverbindung_id";
}
if(pg_query($this->conn, $qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datensatz mit der uebergebenen ID
* @param $bank_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($bank_id)
{
if(!is_numeric($bank_id) || $bank_id == '')
{
$this->errormsg = 'bank_id muss eine Zahl sein';
return false;
}
$qry="DELETE FROM bankverbindung WHERE bankverbindung_pk=$bank_id";
if(!pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim loeschen der Daten';
return false;
}
else
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
}
/**
* Liefert die Bankverbindung mit der uebergebenen ID
* @param $bank_id ID der bankverbindung
* @return true wenn ok, false im Fehlerfall
*/
function load($bank_id)
{
if(!is_numeric($bank_id) || $bank_id == '')
{
$this->errormsg = 'bank_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM bankverbindung WHERE bankverbindung_pk=$bank_id";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = pg_fetch_object($res))
{
$this->bankverbindung_id = $row->bankverbindung_pk;
$this->person_id = $row->person_fk;
$this->name = $row->name;
$this->anschrift = $row->anschrift;
$this->blz = $row->blz;
$this->bic = $row->bic;
$this->kontonr = $row->kontonr;
$this->iban = $row->iban;
$this->typ = $row->typ;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Liefert alle Bankverbindungen der Person die uebergeben wird
* @param $pers_id ID der Person
* @return true wenn ok, false im Fehlerfall
*/
function load_pers($pers_id)
{
if(!is_numeric($pers_id) || $pers_id == '')
{
$this->errormsg = 'pers_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM bankverbindung WHERE person_fk=$pers_id";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$bank_obj = new bankverbindung($this->conn);
$bank_obj->bankverbindung_id = $row->bankverbindung_pk;
$bank_obj->person_id = $row->person_fk;
$bank_obj->name = $row->name;
$bank_obj->anschrift = $row->anschrift;
$bank_obj->blz = $row->blz;
$bank_obj->bic = $row->bic;
$bank_obj->kontonr = $row->kontonr;
$bank_obj->iban = $row->iban;
$bank_obj->typ = $row->typ;
$bank_obj->updateamum = $row->creationdate;
$bank_obj->updatevon = $row->creationuser;
$this->result[] = $bank_obj;
}
return true;
}
/**
* Liefert alle Bankverbindungen
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "SELECT * FROM bankverbindung";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$bank_obj = new bankverbindung($this->conn);
$bank_obj->bankverbindung_id = $row->bankverbindung_pk;
$bank_obj->person_id = $row->person_fk;
$bank_obj->name = $row->name;
$bank_obj->anschrift = $row->anschrift;
$bank_obj->blz = $row->blz;
$bank_obj->bic = $row->bic;
$bank_obj->kontonr = $row->kontonr;
$bank_obj->iban = $row->iban;
$bank_obj->typ = $row->typ;
$bank_obj->updateamum = $row->creationdate;
$bank_obj->updatevon = $row->creationuser;
$this->result[] = $bank_obj;
}
return true;
}
function getTypBezeichnung($id)
{
switch($id)
{
case 1: return 'Privatkonto';
case 2: return 'Firmenkonto';
default: return '';
}
}
}
?>
-386
View File
@@ -1,386 +0,0 @@
<?php
/**
* Klasse fuer Berechtigungen der User
* @author Christian Paminger
* @version 1.0
* @updated 11-Feb-2004
*/
class benutzer
{
/**
* interne userberechtigung_id (Zaehler aus DB)
* @var integer
*/
var $userberechtigung_id;
/**
* @var integer
*/
var $studiengang_kz;
/**
* @var integer
*/
var $fachbereich_id;
/**
* @var string
*/
var $berechtigung_kurzbz;
/**
* @var string
*/
var $uid;
/**
* @var string
*/
var $studiensemester_kurzbz;
/**
* @var integer
*/
var $start;
/**
* @var integer
*/
var $ende;
/**
* @var integer
*/
var $starttimestamp;
/**
* @var integer
*/
var $endetimestamp;
/**
* @var string
*/
var $art;
/**
* @var array
*/
var $berechtigungen=array();
/**
* @var string
*/
var $variable;
var $conn; //Vilesci Connection
/**
* @var boolean
*/
var $new;
var $errormsg;
function benutzer($conn)
{
$this->conn=$conn;
$this->new=true;
}
/**
* Ladet die Attribute der Berechtigung aus der Datenbank. Bei Fehler ist der
* Rueckgabewert 'false' und die Fehlermeldung steht in 'errormsg'.
* @return boolean true=ok, false=fehler
*/
function load($id)
{
// Berechtigung holen
$sql_query="SELECT * FROM public.tbl_benutzerberechtigung WHERE benutzerberechtigung_id=$id";
//echo $sql_query;
if(!($erg=pg_query($this->conn, $sql_query)))
{
$this->errormsg=pg_errormessage($this->conn);
return false;
}
$num_rows=pg_num_rows($erg);
if($num_rows!=1)
{
$this->errormsg="Zuwenige oder zuviele Ergebnisse (Anzahl: $num_rows)!";
return false;
}
$row=pg_fetch_object($erg,0);
$this->userberechtigung_id=$row->benutzerberechtigung_id;
$this->studiengang_kz=$row->studiengang_kz;
$this->fachbereich_id=$row->fachbereich_kurzbz;
$this->berechtigung_kurzbz=$row->berechtigung_kurzbz;
$this->uid=$row->uid;
$this->studiensemester_kurzbz=$row->studiensemester_kurzbz;
$this->start=$row->start;
$this->ende=$row->ende;
$this->art=$row->art;
$this->new=false;
return true;
}
/**
* @return boolean true=ok, false=fehler
*/
function save()
{
/*
// Connection holen
if (is_null($conn=$this->getConnection()))
{
return false;
}
// Daten zur Person speichern
if (!person::save()) {
$this->errormsg.="Daten zur LVA konnten nicht gespeichert werden.";
return false;
}
if ($this->new) {
$qry="INSERT INTO tbl_lehrveranstaltung(lvnr,unr,einheit_kurzbz,".
"lektor,lehrfach_nr,studiengang_kz,fachbereich_id,semester,verband,".
"gruppe,raumtyp,raumtypalternativ,semesterstunden,stundenblockung,".
"wochenrythmus,start_kw,anmerkung)".
"values(".
"'".$this->lvnr."',".
"'".$this->unr."',".
"'".$this->einheit_kurzbz."',".
"'".$this->lektor."',".
(strlen($this->lehrfach_nr)>0?$this->lehrfach_nr:NULL).",".
(strlen($this->studiengang_kz)>0?$this->studiengang_kz:NULL).",".
(strlen($this->fachbereich_id)>0?$this->fachbereich_id:NULL).",".
(strlen($this->semester)>0?$this->semester:NULL).",".
"'".$this->verband."',".
"'".$this->gruppe."',".
(strlen($this->raumtyp)>0?"'".$this->raumtyp."'":NULL).",".
(strlen($this->raumtypalternativ)>0?"'".$this->raumtypalternativ."'":NULL).",".
(strlen($this->semesterstunden)>0?$this->semesterstunden:NULL).",".
(strlen($this->stundenblockung)>0?$this->stundenblockung:NULL).",".
(strlen($this->wochenrythmus)>0?$this->wochenrythmus:NULL).",".
(strlen($this->start_kw)>0?$this->start_kw:NULL).",".
(strlen($this->anmerkung)>0?"'".$this->anmerkung."'":NULL).",".
")";
} else
{
$qry="UPDATE tbl_lehrveranstaltung ".
"SET lvnr='".$this->lvnr."',".
"unr='".$this->unr."',".
"einheit_kurzbz='".$this->einheit_kurzbz."',".
"lektor='".$this->lehrfach_nr."',".
"lehrfach_nr=".(strlen($this->lehrfach_nr)>0?$this->lehrfach_nr:NULL).",".
"studiengang_kz=".(strlen($this->studiengang_kz)>0?$this->studiengang_kz:NULL).",".
"fachbereich_id=".(strlen($this->fachbereich_id)>0?$this->fachbereich_id:NULL).",".
"semester=".(strlen($this->semester)>0?$this->semester:NULL).",".
"verband='".$this->verband."',".
"gruppe='".$this->gruppe."',".
"raumtyp=".(strlen($this->raumtyp)>0?"'".$this->raumtyp."'":NULL).",".
"raumtypalternativ=".(strlen($this->raumtypalternativ)>0?"'".$this->raumtypalternativ."'":NULL).",".
"semesterstunden=".(strlen($this->semesterstunden)>0?$this->semesterstunden:NULL).",".
"stundenblockung=".(strlen($this->stundenblockung)>0?$this->stundenblockung:NULL).",".
"wochenrythmus=".(strlen($this->wochenrythmus)>0?$this->wochenrythmus:NULL).",".
"start_kw=".(strlen($this->start_kw)>0?$this->start_kw:NULL).",".
"anmerkung=".(strlen($this->anmerkung)>0?"'".$this->anmerkung."'":NULL).
" WHERE lehrveranstaltung_id='".$this->lehrveranstaltung_id."'";
}
//echo "<br>".$qry;
if(!@pg_query($conn, $qry))
{
$this->errormsg=pg_errormessage($conn);
return false;
}
return true;
*/
}
/**
* Rueckgabewert ist ein Array mit den Ergebnissen. Bei Fehler false und die
* Fehlermeldung liegt in errormsg.
* Wenn der Parameter stg_kz NULL ist tritt einheit_kurzbzb in Kraft.
* @param string $uid UserID
* @return variabel Array mit LVA; <b>false</b> bei Fehler
*/
function getBerechtigungen($uid)
{
// Berechtigungen holen
$sql_query="SELECT * FROM public.tbl_benutzerberechtigung WHERE uid='$uid' AND (start<now() OR start IS NULL) AND (ende>now() OR ende IS NULL)";
//echo $sql_query;
if(!$erg=@pg_query($this->conn, $sql_query))
{
$this->errormsg=pg_errormessage($this->conn);
return false;
}
//$num_rows=pg_numrows($erg);
while($row=pg_fetch_object($erg))
{
$b=new benutzer($this->conn);
$b->userberechtigung_id=$row->benutzerberechtigung_id;
$b->studiengang_kz=$row->studiengang_kz;
$b->fachbereich_id=$row->fachbereich_kurzbz;
$b->berechtigung_kurzbz=$row->berechtigung_kurzbz;
$b->uid=$row->uid;
$b->studiensemester_kurzbz=$row->studiensemester_kurzbz;
$b->start=$row->start;
if ($row->start!=null)
$b->starttimestamp=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8),substr($row->start,0,4));
else
$b->starttimestamp=null;
$b->ende=$row->ende;
if ($row->ende!=null)
$b->endetimestamp=mktime(23,59,59,substr($row->ende,5,2),substr($row->ende,8),substr($row->ende,0,4));
else
$b->endetimestamp=null;
$b->art=$row->art;
$this->berechtigungen[]=$b;
}
return true;
}
function isBerechtigt($berechtigung,$studiengang_kz=null,$art=null)
{
$timestamp=time();
foreach ($this->berechtigungen as $b)
{
if($berechtigung == $b->berechtigung_kurzbz && $studiengang_kz==null && $art==null)
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return true;
}
else
return true;
if ($berechtigung==$b->berechtigung_kurzbz
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0) && $art==null)
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return true;
}
else
return true;
if ($berechtigung==$b->berechtigung_kurzbz
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0)
&& strstr($b->art,$art))
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return true;
}
else
return true;
}
return false;
}
/**
* Gibt Array mit Kennzahlen der Studiengaenge sortiert zurueck.
* Optional wird auf Berechtigung eingeschraenkt.
* Wenn Berechtigung ueber alle Studiengaenge steht im ersten Feld 0.
*/
function getStgKz($berechtigung=null)
{
$studiengang_kz=array();
$timestamp=time();
foreach ($this->berechtigungen as $b)
if ($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null)
$studiengang_kz[]=$b->studiengang_kz;
$studiengang_kz=array_unique($studiengang_kz);
sort($studiengang_kz);
return $studiengang_kz;
}
/**
* Setzt die Studiensemester Variable
*/
function setVariableStudiensemester($user,$stsem)
{
//Vorhandende Variable aendern
$qry = "Update public.tbl_variable SET wert='$stsem' WHERE uid='$user' AND name='semester_aktuell'";
if($result = pg_query($this->conn,$qry))
{
if(pg_affected_rows($result)==0)
{
//Falls Variable nicht vorhanden ist eine neue anlegen
$qry = "INSERT INTO public.tbl_variable(uid, name, wert) values('$user', 'semester_aktuell', '$stsem')";
if(pg_query($this->conn,$qry))
return true;
else
{
$this->errormsg.=pg_errormessage($this->conn);
return false;
}
}
else
return true;
}
else
{
$this->errormsg.=pg_errormessage($this->conn);
return false;
}
}
function getpossibilities($variable)
{
$ret = array();
switch($variable)
{
case 'semester_aktuell':
$qry = "Select * from public.tbl_studiensemester order by start";
if($result = pg_query($this->conn,$qry))
{
while($row=pg_fetch_object($result))
$ret[] = $row->studiensemester_kurzbz;
}
break;
}
return $ret;
}
function loadVariables($user)
{
if(!($result=pg_query($this->conn, "SELECT * FROM public.tbl_variable WHERE uid='$user'")))
{
$this->errormsg.=pg_errormessage($this->conn);
return false;
}
else
$num_rows=@pg_numrows($result);
while($row=pg_fetch_object($result))
{
$this->variable->{$row->name}=$row->wert;
}
if (!isset($this->variable->semester_aktuell))
{
if(!($result=pg_query($this->conn, 'SELECT * FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1')))
{
$this->errormsg.=pg_errormessage($this->conn);
return false;
}
else
{
$num_rows=@pg_numrows($result);
if ($num_rows>0)
{
$row=pg_fetch_object($result);
$this->variable->semester_aktuell=$row->studiensemester_kurzbz;
}
}
}
if (!isset($this->variable->db_stpl_table))
$this->variable->db_stpl_table='stundenplan';
if (!isset($this->variable->fas_id))
$this->variable->fas_id=0;
if (!isset($this->variable->sleep_time))
$this->variable->sleep_time=300;
return true;
}
}
?>
-240
View File
@@ -1,240 +0,0 @@
<?php
/* Copyright (C) 2006 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse benutzerfunktion (FAS-Online)
* @create 04-12-2006
*/
class benutzerfunktion
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var benutzerfunktion Objekt
//Tabellenspalten
var $benutzerfunktion_id; // @var serial
var $fachbereich_kurzbz; // @var integer
var $uid; // @var varchar(16)
var $studiengang_kz; // @var integer
var $funktion_kurzbz; // @var varchar(16)
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
var $insertamum; // @var timestamp
var $insertvon=0; // @var string
var $ext_id; // @var bigint
/**
* Konstruktor
* @param $conn Connection zur DB
* $benutzerfunktion_id ID der zu ladenden Funktion
*/
function benutzerfunktion($conn, $benutzerfunktion_id=null)
{
$this->conn = $conn;
if($benutzerfunktion_id != null)
$this->load($benutzerfunktion_id);
}
/**
* Laedt alle verfuegbaren Benutzerfunktionen
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = 'SELECT * FROM public.tbl_benutzerfunktion ORDER BY benutzerfunktion_id;';
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim Laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
{
$pfunktion_obj = new personenfunktion($this->conn);
$pfunktion_obj->benutzerfunktion_id = $row->benutzerfunktion_id;
$pfunktion_obj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$pfunktion_obj->uid = $row->uid;
$pfunktion_obj->studiengang_kz = $row->studiengang_kz;
$pfunktion_obj->funktion_kurzbz = $row->funtion_kurzbz;
$pfunktion_obj->insertamum = $row->insertamum;
$pfunktion_obj->insertvon = $row->insertvon;
$pfunktion_obj->updateamum = $row->updateamum;
$pfunktion_obj->updatevon = $row->updatevon;
$this->result[] = $pfunktion_obj;
}
return true;
}
/**
* Laedt eine Benutzerfunktion
* @param $bnutzerfunktion_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
function load($benutzerfunktion_id)
{
if($benutzerfunktion_id == '')
{
$this->errormsg = 'benutzerfunktion_id muß eine gültige Zahl sein';
return false;
}
$qry = "SELECT * FROM public.tbl_benutzerfunktion WHERE benutzerfunktion_id = '$this->benutzerfunktion_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
{
$this->benutzerfunktion_id = $row->benutzerfunktion_id;
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$this->uid = $row->uid;
$this->studiengang_kz = $row->studiengang_kz;
$this->funktion_kurzbz = $row->funktion_kurzbz;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Loescht einen Datensatz
* @param $fbenutzerfunktion_id id des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($benutzerfunktion_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
//Gueltigkeit der Variablen pruefen
//if(!$this->checkvars())
// return false;
if($this->new)
{
//Neuen Datensatz anlegen
//Pruefen ob uid vorhanden
$qry = "SELECT uid FROM public.tbl_benutzer WHERE uid = '$this->uid';";
if(!$resx = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
else
{
if (pg_num_rows($resx)==0)
{
$this->errormsg = "uid <b>$this->uid</b> in Tabelle tbl_benutzer nicht gefunden!";
return false;
}
}
$qry = 'INSERT INTO public.tbl_benutzerfunktion (fachbereich_kurzbz, uid, studiengang_kz, funktion_kurzbz, insertamum, insertvon,
updateamum, updatevon) VALUES ('.
$this->addslashes($this->fachbereich_kurzbz).', '.
$this->addslashes($this->uid).', '.
$this->addslashes($this->studiengang_kz).', '.
$this->addslashes($this->funktion_kurzbz).', '.
$this->addslashes($this->insertamum).', '.
$this->addslashes($this->insertvon).', '.
$this->addslashes($this->updateamum).', '.
$this->addslashes($this->updatevon).'); ';
}
else
{
//bestehenden Datensatz akualisieren
//Pruefen ob benutzerfunktion_id eine gueltige Zahl ist
if(!is_numeric($this->benutzerfunktion_id) || $this->benutzerfunktion_id == '')
{
$this->errormsg = 'benutzerfunktion_id muss eine gueltige Zahl sein';
return false;
}
$qry = 'UPDATE public.tbl_benutzerfunktion SET '.
'benutzerfunktion_id='.$this->addslashes($this->benutzerfunktion_id).', '.
'fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).', '.
'uid='.$this->addslashes($this->uid).', '.
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
'funktion_kurzbz='.$this->addslashes($this->funktion_kurzbz).', '.
'insertamum='.$this->addslashes($this->insertamum).', '.
'insertvon='.$this->addslashes($this->insertvon).', '.
'updateamum='.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE benutzerfunktion_id = '.$this->addslashes($this->benutzerfunktion_id).';';
}
if(pg_query($this->conn, $qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes - '.$this->uid;
return false;
}
}
}
?>
-312
View File
@@ -1,312 +0,0 @@
<?php
/**
* Klasse email (FAS-Online)
* @create 14-03-2006
*/
class email
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var email Objekt
//Tabellenspalten
var $email_id; // @var integer
var $person_id; // @var integer
var $email; // @var string
var $name; // @var string
var $typ; // @var integer
var $zustelladresse; // @var boolean
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
/**
* Konstruktor
* @param conn Connection zur Datenbank
* mail_id ID des zu ladenden Datensatzes
*/
function email($conn, $mail_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($mail_id != null)
$this->load($mail_id);
}
/**
* Laedt einen Datensatz
* @param mail_id ID des zu ladenden Datensatzes
*/
function load($mail_id)
{
//mail_id auf gueltigkeit pruefen
if(!is_numeric($mail_id) || $mail_id == '')
{
$this->errormsg = 'mail_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT * FROM email WHERE email_pk='$mail_id';";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
if($row=pg_fetch_object($res))
{
$this->email_id = $row->email_pk;
$this->person_id = $row->person_fk;
$this->email = $row->email;
$this->name = $row->name;
$this->typ = $row->typ;
$this->zustelladresse = ($row->zustelladresse=='J'?true:false);
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
return true;
}
/**
* Laedt alle Datensaetze
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
/* Frisst zu viel Speicher und wird beendet
$qry = "SELECT * FROM email;";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$mail_obj = new email($this->conn);
$mail_obj->email_id = $row->email_pk;
$mail_obj->person_id = $row->person_fk;
$mail_obj->email = $row->email;
$mail_obj->name = $row->name;
$mail_obj->typ = $row->typ;
$mail_obj->zustelladresse = ($row->zustelladresse=='J'?true:false);
$mail_obj->updateamum = $row->creationdate;
$mail_obj->updatevon = $row->creationuser;
$this->result[] = $mail_obj;
}
return true;
*/
return false;
}
/**
* Laedt alle Datensaetze zu einer person
* @param pers_id ID der Person zu der die Mails geladen werden sollen
* @return true wenn ok, false im Fehlerfall
*/
function load_pers($pers_id)
{
//pers_id auf gueltigkeit pruefen
if(!is_numeric($pers_id) || $pers_id == '')
{
$this->errormsg = 'pers_id muss eine gueltige Zahl sein';
return false;
}
//Datensaetze laden
$qry = "SELECT * FROM email WHERE person_fk='$pers_id';";
if(!$result = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($result))
{
$mail_obj = new email($this->conn);
$mail_obj->email_id = $row->email_pk;
$mail_obj->person_id = $row->person_fk;
$mail_obj->email = $row->email;
$mail_obj->name = $row->name;
$mail_obj->typ = $row->typ;
$mail_obj->zustelladresse = ($row->zustelladresse=='J'?true:false);
$mail_obj->updateamum = $row->creationdate;
$mail_obj->updatevon = $row->creationuser;
$this->result[] = $mail_obj;
}
return true;
}
/**
* Loescht einen Datensatz
* @param mail_id ID des zu leoschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($mail_id)
{
//mail_id auf gueltigkeit pruefen
if(!is_numeric($mail_id) || $mail_id == '')
{
$this->errormsg = 'mail_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM email WHERE email_pk = '$mail_id';";
if(pg_query($this->conn,$qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim loeschen';
return false;
}
}
/**
* Prueft die variablen auf gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
//Gesamtlaenge pruefen
if(strlen($this->name)>255)
{
$this->errormsg = 'Name darf nicht mehr als 255 Zeichen lang sein';
return false;
}
if(strlen($this->email)>255)
{
$this->errormsg = 'EMail darf nicht mehr als 255 Zeichen lang sein';
return false;
}
//Zahlenfelder pruefen
if(!is_numeric($this->person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($this->typ))
{
$this->errormsg = 'Typ muss eine gueltige Zahl sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $email_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
if(!$this->checkvars())
return false;
if($this->new)
{
//Neuen Datensatz anlegen
//Naechste ID aus Sequence holen
$qry = "SELECT nextval('email_seq') as id;";
if(!$row=pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim auslesen der ID aus der Sequence';
return false;
}
$this->email_id = $row->id;
$qry = "INSERT INTO email (email_pk, person_fk, name, email, typ, creationdate, creationuser, zustelladresse)".
" VALUES ('$this->email_id', '$this->person_id', '$this->name', '$this->email', '$this->typ', now(),".
" $this->updatevon, '".($this->zustelladresse?'J':'N')."');";
}
else
{
//Bestehenden Datensatz aktualisieren
//email_id auf gueltigkeit pruefen
if(!is_numeric($this->email_id) || $this->email_id == '')
{
$this->errormsg = 'email_id muss eine gueltige Zahl sein';
return false;
}
$qry = "UPDATE email SET person_fk = '$this->person_id', name = '$this->name', email = '$this->email',".
" typ = '$this->typ', zustelladresse = '".($this->zustelladresse?'J':'N')."' WHERE email_pk = '$this->email_id';";
}
if(pg_query($this->conn, $qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim speichern des Datensatzes';
return false;
}
}
}
?>
-129
View File
@@ -1,129 +0,0 @@
<?php
/**
* Klasse fachbereich (FAS-Online)
* @create 14-03-2006
*/
class fachbereich
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var fachbereich Objekt
//Tabellenspalten
var $fachbereich_id; // @var integer
var $erhalter_id; // @var integer
var $name; // @var string
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
/**
* Konstruktor
* @param $conn Connection zur DB
* $fachb_id ID des zu ladenden Fachbereiches
*/
function fachbereich($conn, $fachb_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($fachb_id != null)
$this->load($fachb_id);
}
/**
* Laedt alle verfuegbaren Fachbereiche
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = 'SELECT * FROM fachbereich order by name;';
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
{
$fachb_obj = new fachbereich($this->conn);
$fachb_obj->fachbereich_id = $row->fachbereich_pk;
$fachb_obj->erhalter_id = $row->erhalter_fk;
$fachb_obj->name = $row->name;
$fachb_obj->updateamum = $row->creationdate;
$fachb_obj->updatevon = $row->creationuser;
$this->result[] = $fachb_obj;
}
return true;
}
/**
* Laedt einen Fachbereich
* @param $fachb_id ID des zu ladenden Fachbereiches
* @return true wenn ok, false im Fehlerfall
*/
function load($fachb_id)
{
if(!is_numeric($fachb_id) || $fachb_id == '')
{
$this->errormsg = 'fachb_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM fachbereich WHERE fachbereich_pk = '$fachb_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
{
$this->fachbereich_id = $row->fachbereich_pk;
$this->erhalter_id = $row->erhalter_fk;
$this->name = $row->name;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Loescht einen Datensatz
* @param $fachb_id id des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($fachb_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
}
?>
-29
View File
@@ -1,29 +0,0 @@
<?php
/**
* Liefert die ID eines Studiensemesters aus der FAS Datenbank
* @param conn_fas Connection zur FAS Datenbank
* conn_vilesci Connection zur Vilesci Datenbank
* stsem Studiensemester im Format: 'WS2006', 'SS2006'
*/
function getStudiensemesterIdFromName($conn_fas, $stsem)
{
$qry = 'SELECT studiensemester_pk from studiensemester where art=';
if(substr($stsem,0,2)=='WS')
$qry .='1';
else
$qry .='2';
$qry .= ' AND jahr=';
$qry .= substr($stsem,2,4);
$stsem_id=0;
if($result=@pg_query($conn_fas,$qry))
if($row=pg_fetch_object($result))
$stsem_id=$row->studiensemester_pk;
else
echo pg_last_error($conn_fas);
return $stsem_id;
}
?>
-693
View File
@@ -1,693 +0,0 @@
<?php
/**
* Klasse funktionen (FAS-Online)
* Verwaltet die Funktionen der Mitarbeiter
* @create 07-03-2006
*/
class funktion
{
var $conn; // @var resource DB-Handle
var $errormsg; // @var string
var $new; // @var boolean
var $result = array(); // @var funktion Objekt
//vars fuer Tabellenspalten
var $funktion_id; // @var integer
var $mitarbeiter_id; // @var integer
var $studiensemester_id; // @var integer
var $erhalter_id; // @var integer
var $studiengang_id; // @var integer
var $fachbereich_id; // @var integer
var $name; // @var string
var $funktion; // @var integer ( 0 = Mitarbeiter, 1 = Lektor, 2 = Fachbereichskoordinatior, 3 = Assistenz,
// 4 = Rektor, 5 = Studiengangsleiter, 6 = Fachbereichsleiter)
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
var $beschart1; // @var integer ( 1 = Dienstverhaeltnis zum Bund, 2 = Dienstverhaeltnis zu einer anderen Gebietskoerperschaft,
// 3 = Echter Dienstvertrag, 4 = Freier Dienstvertrag, 5 = Lehre/Ausbildung, 6 = Sonstiges)
var $beschart2; // @var integer ( 1 = befristet, 2 = unbefristet)
var $verwendung; // @var integer
var $hauptberuflich; // @var boolean
var $hauptberuf; // @var integer
var $entwicklungsteam; // @var boolean
var $besonderequalifikation; // @var integer
var $sws; // @var float wird nicht verwendet
var $ausmass; // @var float ( 1 = Vollzeit, 2 = <=15 Wochenstd, 3 = 15-25 Wochenstd, 4 = 26-36 Wochenstd, 5 = Karenz)
var $status; // @var integer Aktstatus der Person (wird bei loeschen einer funktion gesetzt)
/**
* Konstruktor
* @param $conn Connection zur Datenbank
* $fkt_id Id der zu ladenden Funktion (Default=null)
*/
function funktion($conn, $fkt_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($fkt_id != null)
$this->load($fkt_id);
}
/**
* loescht die Funktion mit der uebergebenen ID
* @param $funktion_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($funktion_id)
{
//Pruefen ob funktion_id gueltig ist
if(is_numeric($funktion_id) && $funktion_id != '')
{
//Person ermitteln
$person_id=0;
$mitarbeiter_id=0;
$qry = "Select person_fk, mitarbeiter_pk from mitarbeiter join funktion on(mitarbeiter_pk=mitarbeiter_fk) where funktion_pk = $funktion_id";
if($row=pg_fetch_object(pg_query($this->conn,$qry)))
{
$person_id = $row->person_fk;
$mitarbeiter_id = $row->mitarbeiter_pk;
}
else
{
$this->errormsg = 'Fehler beim ermitteln der Person';
return false;
}
$qry = "DELETE FROM funktion WHERE funktion_pk=$funktion_id;";
$sql = $qry;
if(pg_query($this->conn,$qry))
{
//Neuen aktstatus ermitteln
$qry = "Select aktstatus from person where person_pk=$person_id";
if($row=pg_fetch_object(pg_query($this->conn,$qry)))
{
$aktstatus = $row->aktstatus;
if($aktstatus!=150) //wenn er nicht ausgeschieden ist
{
//Funktionen holen
$qry = "Select funktion from funktion where ".
"studiensemester_fk = (Select studiensemester_pk from studiensemester where aktuell='J')".
" AND mitarbeiter_fk = '$mitarbeiter_id'";
if($result = pg_query($this->conn, $qry))
{
$fkt=array();
$i=0;
while($row=pg_fetch_object($result))
{
$fkt[$i]=$row->funktion;
$i++;
}
//Aktstatus ermitteln
if(in_array(5,$fkt)) //STGL
$aktstatus = 104;
elseif(in_array(6,$fkt)) //FBL
$aktstatus = 103;
elseif(in_array(2,$fkt)) //FBK
$aktstatus = 102;
elseif(in_array(1,$fkt)) //LKT
$aktstatus = 101;
else
$aktstatus = 100; //Mitarbeiter
$this->status = $aktstatus;
//neuen akstatus setzen
$qry = "Update person set aktstatus = $aktstatus where person_pk = $person_id";
if(pg_query($qry))
{
//Log schreiben
$sql .= $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim setzen des Aktstatus';
return false;
}
}
}
else
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden des aktuellen Status';
return false;
}
}
else
{
$this->errormsg = 'Beim loeschen ist ein Fehler aufgetreten';
return false;
}
}
else
{
$this->errormsg = 'funktion_id muss eine gueltige Zahl sein';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
//Hochkomma und HTML Tags ersetzen
//$this->name = $this->name;
//Maximallaenge pruefen
$this->errormsg = 'Die Maximallaenge eines Feldes wurde ueberschritten';
if(strlen($this->name)>255) return false;
//Zahlenwerte ueberpruefen
/*
$this->errormsg = 'Ein Zahlenfeld enthaelt ungueltige Zeichen';
if(!is_numeric($this->funktion)) return false;
if(!is_numeric($this->beschart1)) return false;
if(!is_numeric($this->beschart2)) return false;
if(!is_numeric($this->verwendung)) return false;
if(!is_numeric($this->hauptberuf)) return false;
if(!is_numeric($this->sws)) $this->sws=0;
if(!is_numeric($this->ausmass)) return false;
if(!is_numeric($this->mitarbeiter_id)) return false;
if(!is_numeric($this->erhalter_id)) return false;
if(!is_numeric($this->studiengang_id)) return false;
if(!is_numeric($this->fachbereich_id)) return false;
if(!is_numeric($this->studiensemester_id)) return false;
if(!is_numeric($this->besonderequalifikation)) return false;
*/
$this->errormsg = '';
return true;
}
/**
* Speichert die Daten in die Datenbank
* @return true wenn OK, false im Fehlerfall
*/
function save()
{
if(!$this->checkvars())
return false;
//neuen aktstatus ermitteln
if($status=$this->getaktstatus())
$statusqry = "Update person SET aktstatus=$status where person_pk = (Select person_fk from mitarbeiter where mitarbeiter_pk='$this->mitarbeiter_id');";
else
$statusqry = "";
if($this->new)
{
//Naechste ID aus der Sequence holen
$qry = "SELECT nextval('funktion_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn,$qry)))
{
$this->errormsg = 'Sequence konnte nicht ausgelesen werden';
return false;
}
$this->funktion_id = $row->id;
$qry= $statusqry."INSERT INTO funktion (funktion_pk, mitarbeiter_fk, studiensemester_fk, erhalter_fk, studiengang_fk,".
" fachbereich_fk, name, funktion, creationdate, creationuser, beschart1, beschart2, verwendung,".
" hauptberuflich, hauptberuf, entwicklungsteam, besonderequalifikation, sws, ausmass) VALUES(".
" '$this->funktion_id','$this->mitarbeiter_id', '$this->studiensemester_id', '$this->erhalter_id',".
($this->studiengang_id!=''?" '$this->studiengang_id'":'null').",".
($this->fachbereich_id!=''?" '$this->fachbereich_id'":'null').",".
($this->name!=''?" '$this->name'":'null').",".
($this->funktion!=''?" '$this->funktion'":'null').", now(), $this->updatevon,".
($this->beschart1!=''?" '$this->beschart1'":'null').",".
($this->beschart2!=''?" '$this->beschart2'":'null').",".
($this->verwendung!=''?" '$this->verwendung'":'null').", '".($this->hauptberuflich?'J':'N')."',".
($this->hauptberuf!=''?" '$this->hauptberuf'":'null').", '".($this->entwicklungsteam?'J':'N')."',".
($this->besonderequalifikation!=''?" '$this->besonderequalifikation'":'null').", null,".
($this->ausmass!=''?" '$this->ausmass'":'null').")";
}
else
{
if(!is_numeric($this->mitarbeiter_id) && !is_numeric($this->funktion_id))
{
$this->errormsg = 'mitarbeiter_id und funktion_id muessen eine gueltige Zahl sein';
return false;
}
$qry= $statusqry. "UPDATE funktion SET ".
" studiensemester_fk=".($this->studiensemester_id!=''?"'$this->studiensemester_id'":'null').",".
" erhalter_fk=".($this->erhalter_id!=''?"'$this->erhalter_id'":'null').",".
" studiengang_fk=".($this->studiengang_id!=''?"'$this->studiengang_id'":'null').",".
" fachbereich_fk=".($this->fachbereich_id!=''?"'$this->fachbereich_id'":'null').",".
" name=".($this->name!=''?"'$this->name'":'null').",".
" funktion=".($this->funktion!=''?"'$this->funktion'":'null').",".
" beschart1=".($this->beschart1!=''?"'$this->beschart1'":'null').",".
" beschart2=".($this->beschart2!=''?"'$this->beschart2'":'null').",".
" verwendung=".($this->verwendung!=''?"'$this->verwendung'":'null').",".
" hauptberuflich='".($this->hauptberuflich?'J':'N')."',".
" hauptberuf=".($this->hauptberuf!=''?"'$this->hauptberuf'":'null').",".
" entwicklungsteam='".($this->entwicklungsteam?'J':'N')."',".
" besonderequalifikation=".($this->besonderequalifikation!=''?"'$this->besonderequalifikation'":'null').",".
" sws=".($this->sws!=''?"'$this->sws'":'null').",".
" ausmass=".($this->ausmass!=''?"'$this->ausmass'":'null').
" WHERE funktion_pk=$this->funktion_id"; // AND mitarbeiter_fk=$this->mitarbeiter_id";
}
if(pg_query($this->conn,$qry))
{
$qry = "UPDATE funktion SET hauptberuflich='".($this->hauptberuflich?'J':'N')."', hauptberuf=".($this->hauptberuf!=''?"'$this->hauptberuf'":'null')." WHERE mitarbeiter_fk ='$this->mitarbeiter_id' AND studiensemester_fk='$this->studiensemester_id'";
if(!pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler beim Updaten der Funktionen';
return false;
}
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten'.$qry;
return false;
}
}
/**
* Ermittelt den neuen aktstatus einer Person
*/
function getaktstatus()
{
$aktstatus=100;
//Aktuellen Status holen
$qry = "Select aktstatus from person join mitarbeiter on(person_fk=person_pk) where mitarbeiter_pk='".$this->mitarbeiter_id."'";
if($result = pg_query($this->conn,$qry))
{
if($row = pg_fetch_object($result))
$aktstatus = $row->aktstatus;
else
{
$this->errormsg = 'Fehler beim Laden des aktuellen Status';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden des aktuellen Status';
return false;
}
/*
//Wenn die Funktion das aktuelle Studiensemester betrifft
$qry = "Select studiensemester_pk from studiensemester where aktuell='J'";
if($result = pg_query($this->conn,$qry))
{
if($row=pg_fetch_object($result))
{
if($row->studiensemester_pk == $this->studiensemester_id)
{
*/
//Neuen Status setzen
if($this->funktion == 1 && $aktstatus < 101) //Lektor
$aktstatus = 101;
elseif($this->funktion == 2 && $aktstatus < 102) //Fachbereichskoordinator
$aktstatus = 102;
elseif($this->funktion == 6 && $aktstatus < 103) //Fachbereichsleiter
$aktstatus = 103;
elseif($this->funktion == 5 && $aktstatus < 104) //Studiengangsleiter
$aktstatus = 104;
/* }
}
else
{
$this->errormsg = 'Fehler beim Laden des aktuellen Studiensemesters';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden des aktuellen Studiensemesters';
return false;
}*/
$this->status = $aktstatus;
return $aktstatus;
}
/**
* Laedt eine Funktion aus der DB
* @param $fkt_id ID der zu ladenden Funktion
* @return true wenn erfolgreich geladen, false im Fehlerfall
*/
function load($fkt_id)
{
//Pruefen ob fkt_id gueltig ist
if(!is_numeric($fkt_id))
{
$this->errormsg = 'funktion_id muss eine Zahl sein';
return false;
}
$qry = "SELECT * FROM funktion WHERE funktion_pk=$fkt_id";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = pg_fetch_object($res))
{
$this->funktion_id = $row->funktion_pk;
$this->mitarbeiter_id = $row->mitarbeiter_fk;
$this->studiensemester_id = $row->studiensemester_fk;
$this->erhalter_id = $row->erhalter_fk;
$this->studiengang_id = $row->studiengang_fk;
$this->fachbereich_id = $row->fachbereich_fk;
$this->name = $row->name;
$this->funktion = $row->funktion;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
$this->beschart1 = $row->beschart1;
$this->beschart2 = $row->beschart2;
$this->verwendung = $row->verwendung;
$this->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
$this->hauptberuf = $row->hauptberuf;
$this->entwicklungsteam = ($row->entwicklungsteam=='J'?true:false);
$this->besonderequalifikation = $row->besonderequalifikation;
$this->sws = $row->sws;
$this->ausmass = $row->ausmass;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Laedt die Funktion(en) eines Mitarbeiters
* @param $ma_id ID des zu ladenden Mitarbeiters
* @return true wenn erfolgreich geladen, false im Fehlerfall
*/
function load_pers($ma_id, $stsem='')
{
//pruefen ob ma_id gueltig ist
if(!is_numeric($ma_id))
{
$this->errormsg = 'mitarbeiter_id muss eine Zahl sein';
return false;
}
$qry="SELECT * FROM funktion WHERE mitarbeiter_fk=$ma_id";
if($stsem!='')
$qry.= " AND studiensemester_fk='$stsem'";
$qry.=" ORDER BY studiensemester_fk DESC, funktion_pk";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$fkt_obj = new funktion($this->conn);
$fkt_obj->funktion_id = $row->funktion_pk;
$fkt_obj->mitarbeiter_id = $row->mitarbeiter_fk;
$fkt_obj->studiensemester_id = $row->studiensemester_fk;
$fkt_obj->erhalter_id = $row->erhalter_fk;
$fkt_obj->studiengang_id = $row->studiengang_fk;
$fkt_obj->fachbereich_id = $row->fachbereich_fk;
$fkt_obj->name = $row->name;
$fkt_obj->funktion = $row->funktion;
$fkt_obj->updateamum = $row->creationdate;
$fkt_obj->updatevon = $row->creationuser;
$fkt_obj->beschart1 = $row->beschart1;
$fkt_obj->beschart2 = $row->beschart2;
$fkt_obj->verwendung = $row->verwendung;
$fkt_obj->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
$fkt_obj->hauptberuf = $row->hauptberuf;
$fkt_obj->entwicklungsteam = ($row->entwicklungsteam=='J'?true:false);
$fkt_obj->besonderequalifikation = $row->besonderequalifikation;
$fkt_obj->sws = $row->sws;
$fkt_obj->ausmass = $row->ausmass;
$this->result[] = $fkt_obj;
}
return true;
}
function getMitarbeiter($stg,$fb,$funktion,$stsem=null)
{
$qry = "SELECT
mitarbeiter_fk
FROM
funktion
WHERE
studiengang_fk='$stg' AND
fachbereich_fk='$fb'
GROUP BY mitarbeiter_fk";
if($result = pg_query($this->conn,$qry))
{
while($row = pg_fetch_object($result))
{
$fkt = new funktion($this->conn);
$fkt->mitarbeiter_id = $row->mitarbeiter_fk;
$this->result[] = $fkt;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim laden der Mitarbeiter';
return false;
}
}
/**
* Laedt alle Funktionen
* @return true wenn erfolgreich geladen, false im Fehlerfall
*/
function getAll()
{
/*Eventuell Speicherprobleme
$qry = "SELECT * FROM funktion";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row=pg_fetch_object($res))
{
$fkt_obj = new funktion($this->conn);
$fkt_obj->funktion_id = $row->funktion_pk;
$fkt_obj->mitarbeiter_id = $row->mitarbeiter_fk;
$fkt_obj->studiensemester_id = $row->studiensemester_fk;
$fkt_obj->erhalter_id = $row->erhalter_fk;
$fkt_obj->studiengang_id = $row->studiengang_fk;
$fkt_obj->fachbereich_id = $row->fachbereich_fk;
$fkt_obj->name = $row->name;
$fkt_obj->funktion = $row->funktion;
$fkt_obj->updateamum = $row->creationdate;
$fkt_obj->updatevon = $row->creationuser;
$fkt_obj->beschart1 = $row->beschart1;
$fkt_obj->beschart2 = $row->beschart2;
$fkt_obj->verwendung = $row->verwendung;
$fkt_obj->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
$fkt_obj->hauptberuf = $row->hauptberuf;
$fkt_obj->entwicklungsteam = ($row->entwicklungsteam=='J'?true:false);
$fkt_obj->besonderequalifikation = $row->besonderequalifikation;
$fkt_obj->sws = $row->sws;
$fkt_obj->ausmass = $row->ausmass;
$this->result[] = $fkt_obj;
}
return true;
*/
return false;
}
function FunktionExists($mitarbeiter_id, $studiengang_id, $fachbereich_id, $studiensemester_id, $funktion)
{
$qry = "SELECT
count(*) as anzahl
FROM
funktion
WHERE
mitarbeiter_fk='$mitarbeiter_id' AND
studiengang_fk='$studiengang_id' AND
fachbereich_fk='$fachbereich_id' AND
studiensemester_fk = '$studiensemester_id' AND
funktion='$funktion'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
if($row->anzahl>0)
return true;
else
{
return false;
}
}
else
{
return false;
$this->errormsg = 'Fehler beim auslesen der Funktionen';
}
}
else
{
return false;
$this->errormsg = 'Fehler beim auslesen der Funktionen';
}
}
function getNameFunktion($id)
{
switch($id)
{
case 0: return 'Mitarbeiter';
case 1: return 'Lektor';
case 2: return 'Fachbereichskoordinatior';
case 3: return 'Assistenz';
case 4: return 'Rektor';
case 5: return 'Studiengangsleiter';
case 6: return 'Fachbereichsleiter';
default: return '';
}
}
function getNameBeschart1($id)
{
switch($id)
{
case 1: return 'Dienstverhältnis zum Bund';
case 2: return 'Dienstverhältnis zu einer anderen Gebietskörperschaft';
case 3: return 'Echter Dienstvertrag';
case 4: return 'Freier Dienstvertrag';
case 5: return 'Lehr- oder Ausbildungsverhältnis';
case 6: return 'Sonstiges Beschäftigungsverhältnis';
default: return '';
}
}
function getNameBeschart2($id)
{
switch($id)
{
case 1: return 'befristet';
case 2: return 'unbefristet';
default: return '';
}
}
function getNameVerwendung($id)
{
switch($id)
{
case 1: return 'Lehr- und Forschungspersonal';
case 2: return 'Lehr- und Forschungshilfspersonal';
case 3: return 'Akademische dienste für Studierende';
case 4: return 'Soziale Dienste und Gesundheitsdienste';
case 5: return 'Studiengangsleiter/in';
case 6: return 'Leiter/in FH-Kollegium';
case 7: return 'Management';
case 8: return 'Verwaltung';
case 9: return 'Hauspersonal, Gebäude-/Haustechnik';
default: return '';
}
}
function getNameHauptberuf($id)
{
switch($id)
{
case '': return '';
case 0: return 'Universität';
case 1: return 'Fachhochschule';
case 2: return 'Andere postsekundäre Bildungseinrichtung';
case 3: return 'Allgemeinbildende höhere Schule';
case 4: return 'Berufsbildende höhere Schule';
case 5: return 'Andere Schule';
case 6: return 'Öffentlicher Sektor';
case 7: return 'Unternehmenssektor';
case 8: return 'Freiberuflich tätig';
case 9: return 'Privater gemeinnütziger Sektor';
case 10: return 'Ausserhochschulische Forschungseinrichtung';
case 11: return 'Internationale Organisation';
case 12: return 'Sonstiges';
default: return '';
}
}
function getNameBesonderequalifikation($id)
{
switch($id)
{
case 0: return 'keine';
case 1: return 'Habilitation';
case 2: return 'der Habilitation gleichwertige Qualifikation';
case 3: return 'berufliche Tätigkeit';
default: return '';
}
}
function getNameAusmass($id)
{
switch($id)
{
case 1: return 'Vollzeit';
case 2: return '<= 15 Wochenstunden';
case 3: return '16 - 25 Wochenstunden';
case 4: return '26 - 35 Wochenstunden';
case 5: return 'Karenz';
default: return '';
}
}
}
?>
-204
View File
@@ -1,204 +0,0 @@
<?php
/**
* Klasse gruppe (FAS-Online)
* @create 15-03-2006
*/
class gruppe
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var gruppe Objekt
var $ausbildungssemester_id; // @var integer
var $gruppe_id; // @var integer
var $name; // @var string
var $nummerintern; // @var integer
var $obergruppe_id; // @var integer
var $ordnung; // @var integer
var $studiengang_id; // @var integer
var $typ; // @var integer ( Ebene ??)
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
var $fullname; // @var string
/**
* Konstruktor
* @param $conn Connection zur Datenbank
* $gruppe_id ID der zu ladenden Gruppe
*/
function gruppe($conn, $gruppe_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($gruppe_id != null)
$this->load($gruppe_id);
}
/**
* Laedt eine Gruppe
* @param gruppe_id ID der Gruppe
* @return true wenn ok, false im Fehlerfall
*/
function load($gruppe_id)
{
//gruppe_id auf gueltigkeit pruefen
if(!is_numeric($gruppe_id) || $gruppe_id =='')
{
$this->errormsg = 'gruppe_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM gruppe WHERE gruppe_pk='$gruppe_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
if($row = pg_fetch_object($res))
{
$this->ausbildungssemester_id = $row->ausbildungssemester_fk;
$this->gruppe_id = $row->gruppe_pk;
$this->name = $row->name;
$this->nummerintern = $row->nummerintern;
$this->obergruppe_id = $row->obergruppe_fk;
$this->ordnung = $row->ordnung;
$this->studiengang_id = $row->studiengang_fk;
$this->typ = $row->typ;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
$this->fullname = $this->getFullName($row->gruppe_pk);
}
else
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
return true;
}
/**
* Liefert den vollen namen einer Gruppe
* @param $gruppe_id
* @return voller name, false im Fehlerfall
*/
function getFullName($gruppe_id)
{
//gruppe_id auf gueltigkeit pruefen
if(!is_numeric($gruppe_id) || $gruppe_id == '')
{
$this->errormsg = 'gruppe_id muss eine gueltige Zahl sein';
return false;
}
//gesamten gruppennamen ermitteln
$qry = "SELECT fas_function_get_fullname_from_gruppe($gruppe_id) as fullname;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Gruppenname konnte nicht ermittelt werden';
return false;
}
return $row->fullname;
}
/**
* Laedt alle Gruppen eines Studienganges/studiensemesters/ausbildungssemesters
* @param studiengang_id ID des studienganges
* studiensemester_id ID des Studiensemesters (optional)
* ausbildungssemester_id ID des Ausbildungssemesters (optional)
* @return true wenn ok, false im Fehlerfall
*/
function load_gruppen($studiengang_id, $studiensemester_id=null, $ausbildungssemester_id=null)
{
//Pruefen ob gueltige Werte uebergeben wurden
if(!is_numeric($studiengang_id) || $studiengang_id == '')
{
$this->errormsg = 'studiengang_id muss eine gueltige Zahl sein';
return false;
}
if($studiensemester_id!=null && (!is_numeric($studiensemester_id) || $studiensemester_id == ''))
{
$this->errormsg = 'studiensemester_id muss eine gueltige Zahl sein';
return false;
}
if($ausbildungssemester_id!=null && (!is_numeric($ausbildungssemester_id) || $ausbildungssemester_id == ''))
{
$this->errormsg = 'ausbildungssemester_id muss eine gueltige Zahl sein';
return false;
}
//Befehl zusammenbauen
$qry = "SELECT * FROM gruppe WHERE studiengang_fk='$studiengang_id' ";
if($ausbildungssemester_id!=null)
$qry .= "AND ausbildungssemester_fk='$ausbildungssemester_id' ";
if($studiensemester_id != null)
$qry .= "AND studiensemester_fk='$studiensemester_id' ";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
//Daten laden
while($row = pg_fetch_object($res))
{
$grp_obj = new gruppe($this->conn);
$grp_obj->ausbildungssemester_id = $row->ausbildungssemester_fk;
$grp_obj->gruppe_id = $row->gruppe_pk;
$grp_obj->name = $row->name;
$grp_obj->nummerintern = $row->nummerintern;
$grp_obj->obergruppe_id = $row->obergruppe_fk;
$grp_obj->ordnung = $row->ordnung;
$grp_obj->studiengang_id = $row->studiengang_fk;
$grp_obj->typ = $row->typ;
$grp_obj->updateamum = $row->creationdate;
$grp_obj->updatevon = $row->creationuser;
$grp_obj->fullname = $this->getFullName($row->gruppe_pk);
$this->result[] = $grp_obj;
}
return true;
}
/**
* Speichert den aktuellen Datensatz in die DB
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Loescht einen Datensatz
* @param $gruppe_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($gruppe_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
}
?>
File diff suppressed because it is too large Load Diff
-131
View File
@@ -1,131 +0,0 @@
<?php
/**
* Klasse lehrform (FAS-Online)
* @create 15-03-2006
*/
class lehrform
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var lehrform Objekt
var $lehrform_id; // @var integer
var $bezeichnung; // @var string
var $kurzbezeichnung; // @var string
var $standardfaktor; // @var float
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
/**
* Konstruktor
* @param $conn Conection zur Datenbank
* $lehrform_id ID der zu Ladenden Lehrform
*/
function lehrform($conn, $lehrform_id=null)
{
$this->conn = $conn;
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
if($lehrform_id != null)
$this->load($lehrform_id);
}
/**
* Laedt einen Datensatz
* @param $lform_id ID des zu ladenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function load($lform_id)
{
//pruefen ob lform_id eine gueltige Zahl ist
if(!is_numeric($lform_id) || $lform_id == '')
{
$this->errormsg = 'lehrform_id muss eine gueltige Zahl sein';
return false;
}
//Datensatz laden
$qry = "SELECT * FROM lehrform WHERE lehrform_pk = '$lform_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Der Datensatz konnte nicht geladen werden';
return false;
}
if($row = pg_fetch_object($res))
{
$this->lehrform_id = $row->lehrform_pk;
$this->bezeichnung = $row->bezeichnung;
$this->kurzbezeichnung = $row->kurzbezeichnung;
$this->standardfaktor = $row->standardfaktor;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Der Datensatz konnte nicht geladen werden';
return false;
}
return true;
}
/**
* Liefert alle lehrformen
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "SELECT * FROM lehrform;";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Der Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
{
$form_obj = new lehrform($this->conn);
$form_obj->lehrform_id = $row->lehrform_pk;
$form_obj->bezeichnung = $row->bezeichnung;
$form_obj->kurzbezeichnung = $row->kurzbezeichnung;
$form_obj->standardfaktor = $row->standardfaktor;
$form_obj->updateamum = $row->creationdate;
$form_obj->updatevon = $row->creationdate;
$this->result[] = $form_obj;
}
return true;
}
/**
* Loescht einen Datensatz
* @param lehrform_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($lehrform_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Speichert einen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
$this->errormsg = 'Noch nicht implemeniert';
return false;
}
}
?>
-126
View File
@@ -1,126 +0,0 @@
<?php
/**
* Klasse lehrfunktion (FAS-Online)
* @create 14-03-2006
*/
class lehrfunktion
{
var $conn; // @var resource DB-Connection
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var lehrfunktion Objekt
var $lehrfunktion_id; // @var integer
var $bezeichnung; // @var string
var $standardfaktor; // @var float
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
/**
* Konstruktor
* @param conn Connection zur DB
* lehrfkt_id ID der zu ladenden lehrfunktion
*/
function lehrfunktion($conn, $lehrfkt_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($lehrfkt_id != null)
$this->load($lehrfkt_id);
}
/**
* Laedt eine Lehrfunktion
* @param lehrfkt_id ID des Datensatzes der zu laden ist
* @return true wenn ok, false im Fehlerfall
*/
function load($lehrfkt_id)
{
if(!is_numeric($lehrfkt_id) || $lehrfkt_id == '')
{
$this->errormsg = 'lehrfunktion_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehrfunktion WHERE lehrfunktion_pk = '$lehrfkt_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
if($row = pg_fetch_object($res))
{
$this->lehrfunktion_id = $row->lehrfunktion_pk;
$this->bezeichnung = $row->bezeichnung;
$this->standardfaktor = $row->standardfaktor;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Laedt alle Lehrfunktionen
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "SELECT * FROM lehrfunktion;";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
{
$lehrfkt_obj = new lehrfunktion($this->conn);
$lehrfkt_obj->lehrfunktion_id = $row->lehrfunktion_id;
$lehrfkt_obj->bezeichnung = $row->bezeichnung;
$lehrfkt_obj->standardfaktor = $row->standardfaktor;
$lehrfkt_obj->updateamum = $row->creationdate;
$lehrfkt_obj->updatevon = $row->creationuser;
$this->result[] = $lehrfkt_obj;
}
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Loescht den Datensatz mit der ID die uebergeben wird
* @param lehrfkt_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($lehrfkt_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
}
?>
-429
View File
@@ -1,429 +0,0 @@
<?php
/**
* Klasse lehrveranstaltung (FAS-Online)
* @create 16-03-2006
*/
class lehrveranstaltung
{
var $conn; // @var resource DB-Handle
var $errormsg; // @var string
var $new; // @var boolean
var $result = array(); // @var lehrveranstaltung Objekt
var $lehrveranstaltung_id; // @var integer
var $art; // @var integer
var $ausbildungssemester_id; // @var integer
var $beschreibung; // @var string
var $ectspunkte; // @var float
var $fachbereich_id; // @var integer
var $kategorie; // @var integer
var $kurzbezeichnung; // @var string
var $name; // @var string
var $notenlektor_id; // @var integer
var $nummer; // @var string
var $nummerintern; // @var integer
var $sortierung; // @var integer
var $studentenwochenstunden; // @var float
var $studiengang_id; // @var integer
var $studiensemester_id; // @var integer
var $updateamum=0; // @var timestamp
var $updatevon; // @var string
/**
* Konstruktor
* @param $conn Connection zur Datenbank
* $lehrveranstaltung_id ID der zu ladenden Lehrveranstaltung
*/
function lehrveranstaltung($conn, $lehrveranstaltung_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($lehrveranstaltung_id != null)
$this->load($lehrveranstaltung_id);
}
/**
* Laedt einen Datensatz
* @param $lehrveranstaltung_id ID des zu ladenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function load($lehrveranstaltung_id)
{
//gueltigkeit von lehrveranstaltung_id pruefen
if(!is_numeric($lehrveranstaltung_id) || $lehrveranstaltung_id == '')
{
$this->errormsg = 'lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehrveranstaltung WHERE lehrveranstaltung_pk = '$lehrveranstaltung_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
if($row = pg_fetch_object($res))
{
$this->lehrveranstaltung_id = $row->lehrveranstaltung_pk;
$this->art = $row->art;
$this->ausbildungssemester_id = $row->ausbildungssemester_fk;
$this->beschreibung = $row->beschreibung;
$this->ectspunkte = $row->ectspunkte;
$this->fachbereich_id = $row->fachbereich_fk;
$this->kategorie = $row->kategorie;
$this->kurzbezeichnung = $row->kurzbezeichnung;
$this->name = $row->name;
$this->notenlektor_id = $row->notenlektor_fk;
$this->nummer = $row->nummer;
$this->nummerintern = $row->nummerintern;
$this->sortierung = $row->sortierung;
$this->studentenwochenstunden = $row->studentenwochenstunden;
$this->studiengang_id = $row->studiengang_fk;
$this->studiensemester_id = $row->studiensemester_fk;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
return true;
}
/**
* Liefert alle Lehrveranstaltungen
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "SELECT * FROM lehrveranstaltung;";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
{
$lv_obj = new lehrveranstaltung($this->conn);
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_pk;
$lv_obj->art = $row->art;
$lv_obj->ausbildungssemester_id = $row->ausbildungssemester_fk;
$lv_obj->beschreibung = $row->beschreibung;
$lv_obj->ectspunkte = $row->ectspunkte;
$lv_obj->fachbereich_id = $row->fachbereich_fk;
$lv_obj->kategorie = $row->kategorie;
$lv_obj->kurzbezeichnung = $row->kurzbezeichnung;
$lv_obj->name = $row->name;
$lv_obj->notenlektor_id = $row->notenlektor_fk;
$lv_obj->nummer = $row->nummer;
$lv_obj->nummerintern = $row->nummerintern;
$lv_obj->sortierung = $row->sortierung;
$lv_obj->studentenwochenstunden = $row->studentenwochenstunden;
$lv_obj->studiengang_id = $row->studiengang_fk;
$lv_obj->studiensemester_id = $row->studiensemester_fk;
$lv_obj->updateamum = $row->creationdate;
$lv_obj->updatevon = $row->creationuser;
$this->result[] = $lv_obj;
}
return true;
}
/**
* Liefert alle Lehrveranstaltungen zu einem Studiengang/Studiensemester/Ausbildungssemester
* @param $studiengang_id ID des Studienganges
* $studiensemester_id ID des Studiensemesters (optional)
* $ausbildungssemester_id ID des ausbildungssemesters (optional)
* @return true wenn ok, false im Fehlerfall
*/
function load_lva($studiengang_id, $studiensemester_id=null, $ausbildungssemester_id=null)
{
//Variablen pruefen
if(!is_numeric($studiengang_id) || $studiengang_id =='')
{
$this->errormsg = 'studiengang_id muss eine gueltige Zahl sein';
return false;
}
if($studiensemester_id != null && (!is_numeric($studiensemester_id) || $studiensemester_id == ''))
{
$this->errormsg = 'studiensemester_id muss eine gueltige Zahl sein';
return false;
}
if($ausbildungssemester_id != null && (!is_numeric($ausbildungssemester_id) || $ausbildungssemester_id == ''))
{
$this->errormsg = 'ausbildungssemester_id muss eine gueltige Zahl sein';
return false;
}
//Select Befehl zusammenbauen
$qry = "SELECT * FROM lehrveranstaltung WHERE studiengang_fk = '$studiengang_id'";
if($studiensemester_id != null)
$qry .= " AND studiensemester_fk = '$studiensemester_id'";
if($ausbildungssemester_id != null)
$qry .= " AND ausbildungssemester_fk = '$ausbildungssemester_id'";
$qry .= " ORDER BY name";
//Datensaetze laden
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
{
$lv_obj = new lehrveranstaltung($this->conn);
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_pk;
$lv_obj->art = $row->art;
$lv_obj->ausbildungssemester_id = $row->ausbildungssemester_fk;
$lv_obj->beschreibung = $row->beschreibung;
$lv_obj->ectspunkte = $row->ectspunkte;
$lv_obj->fachbereich_id = $row->fachbereich_fk;
$lv_obj->kategorie = $row->kategorie;
$lv_obj->kurzbezeichnung = $row->kurzbezeichnung;
$lv_obj->name = $row->name;
$lv_obj->notenlektor_id = $row->notenlektor_fk;
$lv_obj->nummer = $row->nummer;
$lv_obj->nummerintern = $row->nummerintern;
$lv_obj->sortierung = $row->sortierung;
$lv_obj->studentenwochenstunden = $row->studentenwochenstunden;
$lv_obj->studiengang_id = $row->studiengang_fk;
$lv_obj->studiensemester_id = $row->studiensemester_fk;
$lv_obj->updateamum = $row->creationdate;
$lv_obj->updatevon = $row->creationuser;
$this->result[] = $lv_obj;
}
return true;
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
$this->name = str_replace("'",'´',$this->name);
$this->nummer = str_replace("'",'´',$this->nummer);
$this->kurzbezeichnung = str_replace("'",'´',$this->kurzbezeichnung);
//Laenge Pruefen
$this->errormsg = 'Eine der Gesamtlaengen wurde ueberschritten';
if(strlen($this->name)>255)
{
$this->errormsg = 'Name darf nicht laenger als 255 Zeichen sein';
return false;
}
if(strlen($this->nummer)>20)
{
$this->errormsg = 'Nummer darf nicht laenger als 20 Zeichen sein';
return false;
}
if(strlen($this->kurzbezeichnung)>20)
{
$this->errormsg = 'kurzbezeichnung darf nicht laenger als 20 Zeichen sein';
return false;
}
if(!is_numeric($this->fachbereich_id))
{
$this->errormsg = 'Fachbereich_id ist ungueltig';
return false;
}
if(!is_numeric($this->studiengang_id))
{
$this->errormsg = 'Studiengang_id ist ungueltig';
return false;
}
if(!is_numeric($this->ausbildungssemester_id))
{
$this->errormsg = 'Ausbildungssemester_id ist ungueltig';
return false;
}
if($this->art!='' && !is_numeric($this->art))
{
$this->errormsg = 'Art ist ungueltig';
return false;
}
if($this->studentenwochenstunden!='' && !is_numeric($this->studentenwochenstunden))
{
$this->errormsg = 'Studentenwochenstunden ist ungueltig';
return false;
}
if($this->kategorie!='' && !is_numeric($this->kategorie))
{
$this->errormsg = "Kategorie ist ungueltig";
return false;
}
if($this->ectspunkte!='' && !is_numeric($this->ectspunkte))
{
$this->errormsg = 'ECTSPunkte sind ungueltig';
return false;
}
if($this->notentlektor_id!='' && !is_numeric($this->notenlektor_id))
{
$this->errormsg = 'Notenlektor ist ungueltig';
return false;
}
if($this->sortierung!='' && !is_numeric($this->sortierung))
{
$this->errormsg = 'Sortierung ist ungueltig';
return false;
}
if($this->nummerintern!='' && !is_numeric($this->nummerintern))
{
$this->errormsg = 'NummerIntern ist ungueltig';
return false;
}
if(!is_numeric($this->studiensemester_id))
{
$this->errormsg = 'Studiensemester_id ist ungueltig';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
return false;
if($this->new)
{
//Neuen Datensatz anlegen
//naechste ID aus der Sequence holen
$qry = "SELECT nextval('lehrveranstaltung_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Sequence konnte nicht ausgelesen werden';
return false;
}
$this->lehrveranstaltung_id = $row->id;
$qry = "INSERT INTO lehrveranstaltung(lehrveranstaltung_pk, fachbereich_fk, studiengang_fk, ausbildungssemester_fk,".
" name, nummer, kurzbezeichnung, beschreibung, art, studentenwochenstunden, creationdate, creationuser,".
" kategorie, ectspunkte, studiensemester_fk, notenlektor_fk, sortierung, nummerintern) VALUES(".
" '$this->lehrveranstaltung_id', '$this->fachbereich_id', '$this->studiengang_id', '$this->ausbildungssemester_id',".
" '$this->name', '$this->nummer', '$this->kurzbezeichnung', '$this->beschreibung', '$this->art',".
" '$this->studentenwochenstunden', now(), $this->updatevon, '$this->kategorie', '$this->ectspunkte', '$this->studiensemester_id',".
" '$this->notenlektor_id', '$this->sortierung', '$this->nummerintern');";
}
else
{
//bestehenden Datensatz akualisieren
//Pruefen ob lehrveranstaltung_id eine gueltige Zahl ist
if(!is_numeric($this->lehrveranstaltung_id) || $this->lehrveranstaltung_id == '')
{
$this->errormsg = 'lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "UPDATE lehrveranstaltung SET fachbereich_fk = '$this->fachbereich_id', studiengang_fk = '$this->studiengang_id',".
" ausbildungssemester_fk = '$this->ausbildungssemester_id', name = '$this->name', nummer = '$this->nummer',".
" kurzbezeichnung = '$this->kurzbezeichnung', beschreibung = '$this->beschreibung', art = '$this->art',".
" studentenwochenstunden = '$this->studentenwochenstunden', kategorie = '$this->kategorie', ".
" ectspunkte = '$this->ectspunkte', studiensemester_fk = '$this->studiensemester_id',".
" notenlektor_fk = '$this->notenlektor_id', sortierung = '$this->sortierung', nummerintern = '$this->nummerintern'".
" WHERE lehrveranstaltung_pk = '$this->lehrveranstaltung_id';";
}
if(pg_query($this->conn, $qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim speichern des Datensatzes';
return false;
}
}
/**
* Loescht einen Datensatz
* @param $lehrveranstaltung_id ID des zu loeeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($lehrveranstaltung_id)
{
//lehrveranstaltung_id auf gueltigkeit pruefen
if(!is_numeric($lehrveranstaltung_id) || $lehrveranstaltung_id == '')
{
$this->errormsg = 'lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
//Loeschen des Datensatzes
$qry = "DELETE FROM lehrveranstaltung WHERE lehrveranstaltung_pk = '$lehrveranstaltung_id';";
if(pg_query($this->conn, $qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim loeschen des Datensatzes';
return false;
}
}
}
?>
-744
View File
@@ -1,744 +0,0 @@
<?php
/**
* Klasse Mitarbeiter abgeleitet von Person (FAS-Online)
* @create 06-03-2006
*/
class mitarbeiter extends person
{
//Tabellenspalten
var $mitarbeiter_id; // @var bigint
var $beginndatum; // @var timestamp
var $akadgrad; // @var boolean
var $akadgrad_bezeichnung; // @var boolean
var $habilitation; // @var boolean
var $mitgliedentwicklungsteam; // @var boolean
var $qualifikation; // @var integer
var $hauptberuflich; // @var boolean
var $hauptberuf; // @var integer
var $semesterwochenstunden; // @var float
var $persnr; // @var string
var $beendigungsdatum; // @var timestamp
var $ausgeschieden; // @var boolean
var $ausgeschieden_bezeichnung; // @var string
var $kurzbez; // @var string
var $stundensatz; // @var float
var $ausbildung; // @var integer
var $ausbildung_bezeichnung; // @var string
var $aktiv; // @var boolean
var $aktiv_bezeichnung; // @var boolean
var $zustelladresse_plz;
var $zustelladresse_strasse;
var $zustelladresse_ort;
/**
* Konstruktor
*/
function mitarbeiter($conn, $person_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
//Mitarbeiter laden
if($person_id!=null)
$this->load($person_id);
}
/**
* ueberprueft die Variablen auf Gueltigkeit
* @return true wenn gueltig, false im Fehlerfall
*/
function checkvars()
{
//Hochkomma herausfiltern
$this->persnr = str_replace("'","`", $this->persnr);
$this->kurzbez = str_replace("'","`", $this->kurzbez);
//Maximallaenge pruefen
$this->errormsg='Die Maximallaenge eines Feldes wurde ueberschritten';
if(strlen($this->persnr)>20)
{
$this->errormsg='PersonalNr darf nicht länger als 20 Zeichen sein';
return false;
}
if(strlen($this->kurzbez)>10)
{
$this->errormsg="Kurzbezeichnung darf nicht länger als 10 Zeichen sein:".strlen($this->kurzbez);
return false;
}
//Zahlenwerte ueberpruefen
$this->errormsg='Ein Zahlenfeld enthaelt ungueltige Zeichen';
//if(!is_numeric($this->qualifikation)) return false;
//if(!is_numeric($this->hauptberuf)) return false;
if(!is_numeric($this->stundensatz) && $this->stundensatz!='')
{
$this->errormsg='Stundensatz muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($this->ausbildung) && $this->ausbildung!='')
{
$this->errormsg='ausbildung muss eine gueltige Zahl sein';
return false;
}
/*if(!is_numeric($this->semesterwochenstunden))
{
$this->errormsg='SWS muss eine gueltige Zahl sein';
return false;
}*/
if($this->kurzbz_exists($this->kurzbez, $this->mitarbeiter_id))
{
$this->errormsg = 'Diese Kurzbezeichnung wird bereits verwendet';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert die Mitarbeiterdaten in die Datenbank
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
//Variablen checken
if(!$this->checkvars())
return false;
pg_query($this->conn,"Begin;");
//Basisdaten speichern
if(!person::save())
{
pg_query($this->conn,"Rollback;");
return false;
}
if($this->new)
{
//Neuen Datensatz einfuegen
//naechste ID aus Sequence auslesen
$qry = "SELECT nextval('mitarbeiter_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn,$qry)))
{
$this->errormsg = 'Fehler beim auslesen der Sequence';
return false;
}
$this->mitarbeiter_id = $row->id;
$qry = "INSERT INTO mitarbeiter (mitarbeiter_pk, beginndatum, akadgrad, habilitation,".
//" mitgliedentwicklungsteam,".
//" qualifikation, hauptberuflich, hauptberuf, semesterwochenstunden,".
" creationdate, creationuser, persnr,".
" person_fk, beendigungsdatum, ausgeschieden, kurzbez, stundensatz, ausbildung, aktiv) VALUES (".
" '$this->mitarbeiter_id',".
(strlen($this->beginndatum)>0?"'$this->beginndatum'":"NULL") .", '".($this->akadgrad?'J':'N')."',".
" '".($this->habilitation?'J':'N')."', ".
//"'".($this->mitgliedentwicklungsteam?'J':'N')."',".
//" '$this->qualifikation', '".($this->hauptberuflich?'J':'N')."', '$this->hauptberuf', '$this->semesterwochenstunden',".
" now(),".
" '$this->updatevon', '$this->persnr', '$this->person_id',".
(strlen($this->beendigungsdatum)>0?"'$this->beendigungsdatum'":"null").",".
" '".($this->ausgeschieden?'J':'N')."',".
(strlen($this->kurzbez)>0?"'$this->kurzbez'":"null").", '$this->stundensatz',".
($this->ausbildung!=''?"'$this->ausbildung'":'null').",'$this->aktiv');";
}
else
{
//Bestehenden Datensatz ueberschreiben
//mitarbeiter_id auf Gueltigkeit pruefen
if(!is_numeric($this->mitarbeiter_id))
{
$this->errormsg = 'mitarbeiter_id muss eine gueltige Zahl sein';
return false;
}
$qry = "UPDATE mitarbeiter SET".
" beginndatum=".($this->beginndatum!=''?"'$this->beginndatum'":'null').",".
" akadgrad='".($this->akadgrad?'J':'N')."',".
" habilitation='".($this->habilitation?'J':'N')."',".
//" mitgliedentwicklungsteam='".($this->mitgliedentwicklungsteam?'J':'N')."',".
//" qualifikation='$this->qualifikation', hauptberuflich='".($this->hauptberuflich?'J':'N')."',".
//" hauptberuf='$this->hauptberuf', semesterwochenstunden='$this->semesterwochenstunden',".
" persnr=".($this->persnr!=''?"'$this->persnr'":'null').",".
" person_fk='$this->person_id',".
" beendigungsdatum=".($this->beendigungsdatum!=''?"'$this->beendigungsdatum'":'null').",".
" ausgeschieden='".($this->ausgeschieden?'J':'N')."',".
" kurzbez=".($this->kurzbez!=''?"'$this->kurzbez'":'null').",".
" stundensatz=".($this->stundensatz!=''?"'$this->stundensatz'":'null').",".
" ausbildung=".($this->ausbildung!=''?"'$this->ausbildung'":'null').",".
" aktiv='$this->aktiv'".
" WHERE mitarbeiter_pk=$this->mitarbeiter_id;";
}
if(pg_query($this->conn,$qry))
{
//Wenn nicht ausgeschieden dann den Status neu setzen
//Da sonst beim ruecksetzen des Hakerls ausgeschieden der status bleibt
if(!$this->ausgeschieden)
{
if(!person::updateaktstatus($this->person_id))
{
pg_query($this->conn,"Rollback;");
return false;
}
}
else
{
if(!person::setaktstatus(150,$this->person_id))
{
pg_query($this->conn,"Rollback;");
return false;
}
}
pg_query($this->conn,"Commit;");
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
pg_query($this->conn,"Rollback;");
$this->errormsg = 'Fehler beim Speichern des Mitarbeiter-Datensatzes';
return false;
}
}
/**
* Ladet die Daten aus der Datenbank
* @param $fix wenn 'true' Fixangestellte laden
* wenn 'false' Freie MA laden
* $stgl wenn 'true' Studiengangsleiter laden
* $fbl wenn 'true' Fachbereichsleiter laden
* $aktiv wenn 'true' Aktive MA laden
* $karrenziert wenn 'true' Karenzierte laden
* $ausgesch wenn 'true' Ausgeschiedene laden
* @return true wenn ok, false im Fehlerfall
*/
function getMitarbeiter($mitarbeiter_id='', $fix='', $stgl='', $fbl='', $aktiv='', $karenziert='', $ausgesch='', $adresse=false, $studiensemester_id='')
{
$qry = "SELECT * FROM (mitarbeiter JOIN person ON (person_pk=mitarbeiter.person_fk))";
if($adresse)
$qry .= " LEFT JOIN adresse on(person_pk=adresse.person_fk)";
$qry .= " WHERE true";
if($mitarbeiter_id!='')
if(is_numeric($mitarbeiter_id))
$qry .= " AND mitarbeiter_pk = $mitarbeiter_id";
else
{
$this->errormsg = "mitarbeiter_id muss eine gueltige Zahl sein";
return false;
}
if($studiensemester_id=='')
{
$query = "Select studiensemester_pk FROM studiensemester WHERE aktuell='J'";
if($row = pg_fetch_object(pg_query($this->conn, $query)))
$studiensemester_id = $row->studiensemester_pk;
}
if($fix=='true') // Alle Fixangestellten
$qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.beschart1=3 AND funktion.studiensemester_fk='$studiensemester_id')";
if($fix=='false') // Freie Mitarbeiter
$qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.beschart1=4 AND funktion.studiensemester_fk='$studiensemester_id')";
if($stgl=='true') //Alle Studiengangsleiter
$qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.funktion=5 AND funktion.studiensemester_fk='$studiensemester_id')";
if($fbl=='true') //Alle Fachbereichsleiter
$qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.funktion=6 AND funktion.studiensemester_fk='$studiensemester_id')";
if($aktiv=='true') //Alle aktiven
$qry .= " AND aktiv=true";
if($karenziert=='true') //Alle Karenzierten
$qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.ausmass=5 AND funktion.studiensemester_fk='$studiensemester_id')";
if($ausgesch=='true') // Alle Ausgeschiedenen
$qry .= " AND beendigungsdatum is not null";
$qry .= " ORDER BY familienname";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$mitarb = new mitarbeiter($this->conn);
//Personendaten
$mitarb->person_id = $row->person_pk;
$mitarb->familienname = $row->familienname;
$mitarb->angelegtam = $row->angelegtam;
$mitarb->vorname = $row->vorname;
$mitarb->anrede = $row->anrede;
$mitarb->vornamen = $row->vornamen;
$mitarb->geschlecht = $row->geschlecht;
$mitarb->gebdat = $row->gebdat;
$mitarb->gebort = $row->gebort;
$mitarb->staatsbuergerschaft = $row->staatsbuergerschaft;
$mitarb->familienstand = $row->familienstand;
$mitarb->familienstand_bezeichnung = $this->getFamilienstandBezeichnung($row->familienstand);
$mitarb->svnr = $row->svnr;
$mitarb->anzahlderkinder = $row->anzahlderkinder;
$mitarb->ersatzkennzeichen = $row->ersatzkennzeichen;
$mitarb->bemerkung = $row->bemerkung;
$mitarb->aktstatus = $row->aktstatus;
$mitarb->aktstatus_bezeichnung = $this->getAktstatusBezeichnung($row->aktstatus);
$mitarb->bismelden = ($row->bismelden=='J'?true:false);
$mitarb->bismelden_bezeichnung = ($row->bismelden=='J'?'Ja':'Nein');
$mitarb->titelpre = $row->titel;
$mitarb->titelpost = $row->postnomentitel;
$mitarb->uid = $row->uid;
$mitarb->gebnation = $row->gebnation;
//Mitarbeiterdaten
$mitarb->mitarbeiter_id = $row->mitarbeiter_pk;
$mitarb->beginndatum = $row->beginndatum;
$mitarb->akadgrad = ($row->akadgrad=='J'?true:false);
$mitarb->akadgrad_bezeichnung = ($row->akadgrad=='J'?'Ja':'Nein');
$mitarb->habilitation = ($row->habilitation=='J'?true:false);
$mitarb->habilitation_bezeichnung = ($row->habilitation=='J'?'Ja':'Nein');
$mitarb->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false);
$mitarb->qualifikation = $row->qualifikation;
$mitarb->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
$mitarb->hauptberuf = $row->hauptberuf;
$mitarb->updateamum = $row->creationdate;
$mitarb->updatevon = $row->creationuser;
$mitarb->semesterwochenstunden = $row->semesterwochenstunden;
$mitarb->persnr = $row->persnr;
$mitarb->beendigungsdatum = $row->beendigungsdatum;
$mitarb->ausgeschieden = ($row->ausgeschieden=='J'?true:false);
$mitarb->ausgeschieden_bezeichnung = ($row->ausgeschieden=='J'?'Ja':'Nein');
$mitarb->kurzbez = $row->kurzbez;
$mitarb->stundensatz = $row->stundensatz;
$mitarb->ausbildung = $row->ausbildung;
$mitarb->ausbildung_bezeichnung = $this->getAusbildungBezeichnung($row->ausbildung);
$mitarb->aktiv = ($row->aktiv=='t'?true:false);
$mitarb->aktiv_bezeichnung = ($row->aktiv=='t'?'Ja':'Nein');
if($adresse)
{
$mitarb->zustelladresse_plz = $row->plz;
$mitarb->zustelladresse_strasse = $row->strasse;
$mitarb->zustelladresse_ort = $row->ort;
}
$this->result[] = $mitarb;
}
return true;
}
/**
* Liefert alle Mitarbeiter
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "Select person_pk, familienname, angelegtam, vorname, anrede, vornamen, geschlecht, gebdat, gebort, staatsbuergerschaft, ".
"familienstand, svnr, anzahlderkinder, ersatzkennzeichen, bemerkung, aktstatus, bismelden, titel, postnomentitel, uid, gebnation, ".
"mitarbeiter_pk, beginndatum, akadgrad, habilitation, mitgliedentwicklungsteam, qualifikation, hauptberuflich, hauptberuf, ".
"mitarbeiter.creationdate, mitarbeiter.creationuser, semesterwochenstunden, persnr, beendigungsdatum, ausgeschieden, ".
"kurzbez, stundensatz, ausbildung, aktiv FROM mitarbeiter JOIN person ON(person_pk=person_fk)";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$mitarb = new mitarbeiter($this->conn);
//Personendaten
$mitarb->person_id = $row->person_pk;
$mitarb->familienname = $row->familienname;
$mitarb->angelegtam = $row->angelegtam;
$mitarb->vorname = $row->vorname;
$mitarb->anrede = $row->anrede;
$mitarb->vornamen = $row->vornamen;
$mitarb->geschlecht = $row->geschlecht;
$mitarb->gebdat = $row->gebdat;
$mitarb->gebort = $row->gebort;
$mitarb->staatsbuergerschaft = $row->staatsbuergerschaft;
$mitarb->familienstand = $row->familienstand;
$mitarb->svnr = $row->svnr;
$mitarb->anzahlderkinder = $row->anzahlderkinder;
$mitarb->ersatzkennzeichen = $row->ersatzkennzeichen;
$mitarb->bemerkung = $row->bemerkung;
$mitarb->aktstatus = $row->aktstatus;
$mitarb->bismelden = ($row->bismelden=='J'?true:false);
$mitarb->titelpre = $row->titel;
$mitarb->titelpost = $row->postnomentitel;
$mitarb->uid = $row->uid;
$mitarb->gebnation = $row->gebnation;
//Mitarbeiterdaten
$mitarb->mitarbeiter_id = $row->mitarbeiter_pk;
$mitarb->beginndatum = $row->beginndatum;
$mitarb->akadgrad = ($row->akadgrad=='J'?true:false);
$mitarb->habilitation = ($row->habilitation=='J'?true:false);
$mitarb->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false);
$mitarb->qualifikation = $row->qualifikation;
$mitarb->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
$mitarb->hauptberuf = $row->hauptberuf;
$mitarb->updateamum = $row->creationdate;
$mitarb->updatevon = $row->creationuser;
$mitarb->semesterwochenstunden = $row->semesterwochenstunden;
$mitarb->persnr = $row->persnr;
$mitarb->beendigungsdatum = $row->beendigungsdatum;
$mitarb->ausgeschieden = ($row->ausgeschieden=='J'?true:false);
$mitarb->kurzbez = $row->kurzbez;
$mitarb->stundensatz = $row->stundensatz;
$mitarb->ausbildung = $row->ausbildung;
$mitarb->aktiv = ($row->aktiv=='t'?true:false);
$this->result[] = $mitarb;
}
return true;
}
/**
* Laedt die Mitarbeiterdaten der uebergebenen ID
* @param $person_id ID der Person die geladen werden soll
* @return true wenn ok, false im Fehlerfall
*/
function load($person_id)
{
//person_id auf Gueltigkeit pruefen
if(!is_numeric($person_id) || $person_id=='')
{
$this->errormsg = 'Person_id muss eine Zahl sein';
return false;
}
$qry = "SELECT person_pk, familienname, angelegtam, vorname, anrede, vornamen, geschlecht, gebdat, gebort, staatsbuergerschaft, ".
"familienstand, svnr, anzahlderkinder, ersatzkennzeichen, bemerkung, aktstatus, bismelden, titel, postnomentitel, uid, gebnation, ".
"mitarbeiter_pk, beginndatum, akadgrad, habilitation, mitgliedentwicklungsteam, qualifikation, hauptberuflich, hauptberuf, ".
"mitarbeiter.creationdate, mitarbeiter.creationuser, semesterwochenstunden, persnr, beendigungsdatum, ausgeschieden, ".
"kurzbez, stundensatz, ausbildung, aktiv FROM mitarbeiter JOIN person ON(person_pk=person_fk) where person_pk=$person_id";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = pg_fetch_object($res))
{
//Personendaten
$this->person_id = $row->person_pk;
$this->familienname = $row->familienname;
$this->angelegtam = $row->angelegtam;
$this->vorname = $row->vorname;
$this->anrede = $row->anrede;
$this->vornamen = $row->vornamen;
$this->geschlecht = $row->geschlecht;
$this->gebdat = $row->gebdat;
$this->gebort = $row->gebort;
$this->staatsbuergerschaft = $row->staatsbuergerschaft;
$this->familienstand = $row->familienstand;
$this->svnr = $row->svnr;
$this->anzahlderkinder = $row->anzahlderkinder;
$this->ersatzkennzeichen = $row->ersatzkennzeichen;
$this->bemerkung = $row->bemerkung;
$this->aktstatus = $row->aktstatus;
$this->bismelden = ($row->bismelden=='J'?true:false);
$this->titelpre = $row->titel;
$this->titelpost = $row->postnomentitel;
$this->uid = $row->uid;
$this->gebnation = $row->gebnation;
//Mitarbeiterdaten
$this->mitarbeiter_id = $row->mitarbeiter_pk;
$this->beginndatum = $row->beginndatum;
$this->akadgrad = ($row->akadgrad=='J'?true:false);
$this->habilitation = ($row->habilitation=='J'?true:false);
$this->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false);
$this->qualifikation = $row->qualifikation;
$this->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
$this->hauptberuf = $row->hauptberuf;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
$this->semesterwochenstunden = $row->semesterwochenstunden;
$this->persnr = $row->persnr;
$this->beendigungsdatum = $row->beendigungsdatum;
$this->ausgeschieden = ($row->ausgeschieden=='J'?true:false);
$this->kurzbez = $row->kurzbez;
$this->stundensatz = $row->stundensatz;
$this->ausbildung = $row->ausbildung;
$this->aktiv = ($row->aktiv=='t'?true:false);
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Laedt die Mitarbeiterdaten der uebergebenen ID
* @param $mitarbeiter_id ID der Person die geladen werden soll
* @return true wenn ok, false im Fehlerfall
*/
function load_mitarbeiter($mitarbeiter_id)
{
//person_id auf Gueltigkeit pruefen
if(!is_numeric($mitarbeiter_id) || $mitarbeiter_id=='')
{
$this->errormsg = 'Person_id muss eine Zahl sein';
return false;
}
$qry = "SELECT person_pk, familienname, angelegtam, vorname, anrede, vornamen, geschlecht, gebdat, gebort, staatsbuergerschaft, ".
"familienstand, svnr, anzahlderkinder, ersatzkennzeichen, bemerkung, aktstatus, bismelden, titel, postnomentitel, uid, gebnation, ".
"mitarbeiter_pk, beginndatum, akadgrad, habilitation, mitgliedentwicklungsteam, qualifikation, hauptberuflich, hauptberuf, ".
"mitarbeiter.creationdate, mitarbeiter.creationuser, semesterwochenstunden, persnr, beendigungsdatum, ausgeschieden, ".
"kurzbez, stundensatz, ausbildung, aktiv FROM mitarbeiter JOIN person ON(person_pk=person_fk) where mitarbeiter_pk=$mitarbeiter_id";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = pg_fetch_object($res))
{
//Personendaten
$this->person_id = $row->person_pk;
$this->familienname = $row->familienname;
$this->angelegtam = $row->angelegtam;
$this->vorname = $row->vorname;
$this->anrede = $row->anrede;
$this->vornamen = $row->vornamen;
$this->geschlecht = $row->geschlecht;
$this->gebdat = $row->gebdat;
$this->gebort = $row->gebort;
$this->staatsbuergerschaft = $row->staatsbuergerschaft;
$this->familienstand = $row->familienstand;
$this->svnr = $row->svnr;
$this->anzahlderkinder = $row->anzahlderkinder;
$this->ersatzkennzeichen = $row->ersatzkennzeichen;
$this->bemerkung = $row->bemerkung;
$this->aktstatus = $row->aktstatus;
$this->bismelden = ($row->bismelden=='J'?true:false);
$this->titelpre = $row->titel;
$this->titelpost = $row->postnomentitel;
$this->uid = $row->uid;
$this->gebnation = $row->gebnation;
//Mitarbeiterdaten
$this->mitarbeiter_id = $row->mitarbeiter_pk;
$this->beginndatum = $row->beginndatum;
$this->akadgrad = ($row->akadgrad=='J'?true:false);
$this->habilitation = ($row->habilitation=='J'?true:false);
$this->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false);
$this->qualifikation = $row->qualifikation;
$this->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
$this->hauptberuf = $row->hauptberuf;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
$this->semesterwochenstunden = $row->semesterwochenstunden;
$this->persnr = $row->persnr;
$this->beendigungsdatum = $row->beendigungsdatum;
$this->ausgeschieden = ($row->ausgeschieden=='J'?true:false);
$this->kurzbez = $row->kurzbez;
$this->stundensatz = $row->stundensatz;
$this->ausbildung = $row->ausbildung;
$this->aktiv = ($row->aktiv=='t'?true:false);
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* loescht den Mitarbeiter mit der uebergebenen ID
* @param ma_id Mitarbeiter_id
* @return true wenn ok, false im Fehlerfall
*/
function delete($person_id)
{
//person_id auf Gueltigkeit pruefen
if(!is_numeric($person_id) || $person_id=='')
{
$this->errormsg = 'Person_id muss eine Zahl sein';
return false;
}
$qry = "DELETE FROM funktion where mitarbeiter_fk=(Select mitarbeiter_pk from mitarbeiter where person_fk=$person_id);".
" DELETE FROM adresse where person_fk=$person_id;".
" DELETE FROM telefonnummer where person_fk=$person_id;".
" DELETE FROM email where person_fk=$person_id;".
" DELETE FROM mitarbeiter where person_fk=$person_id";
if(!pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
else
{
if(!person::delete($person_id))
return false;
else
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
}
return true;
}
/**
* Liefert die passende Bezeichnung des Familienstandes
* @param $id ID des Familienstandes
*/
function getFamilienstandBezeichnung($id)
{
switch($id)
{
case 1: return 'ledig';
case 2: return 'verheiratet';
case 3: return 'geschieden';
case 4: return 'verwitwet';
default: return '';
}
}
/**
* Liefert die passende Bezeichnung der Ausbildung
* @param $id ID der Ausbildung
*/
function getAusbildungBezeichnung($id)
{
switch($id)
{
case 1: return 'Universitätsabschluss mit Doktorat als Zweit- oder Dritt- oder PhD-Abschluss';
case 2: return 'Universitäts- oder Hochschulabschluss auf Diplom oder Magisterebene, Doktor als Erstabschluss';
case 3: return 'Fachhochschulabschluss auf Diplom- oder Magisterebene';
case 4: return 'Universitätsabschluss auf Bakkalaureatsebene';
case 5: return 'Fachhochschulabschluss auf Bakkalaureatsebene';
case 6: return 'Diplom einer Akademie';
case 7: return 'Anderer tertiärer Bildungsabschluss';
case 8: return 'Reifeprüfung einer allgemeinbildenden höheren Schule';
case 9: return 'Reifeprüfung einer berufsbildenden höheren Schule';
case 10: return 'Lehrabschlussprüfung';
case 11: return 'Pflichtschule';
default: return '';
}
}
/**
* Liefert die passende Bezeichnung des Aktuellen Status
* @param $id ID des Status
*/
function getAktstatusBezeichnung($id)
{
switch($id)
{
case 100: return 'Mitarbeiter';
case 101: return 'Lektor';
case 102: return 'Koordinator';
case 103: return 'Fachbereichsleiter';
case 104: return 'Studiengangsleiter';
case 150: return 'Ausgeschieden';
default: return '';
}
}
/**
* Prüft ob eine Kurzbezeichnung schon existiert. Falls eine mitarbeiter_id
* angegeben wird, dann wird dieser Datensatz von der ueberpruefung ausgeschlossen
* ( fuer Update eines Datensatzes)
*/
function kurzbz_exists($kurzbz, $mitarbeiter_id='')
{
if($kurzbz!='')
{
$this->errormsg = '';
$qry = "SELECT count(*) as anz from mitarbeiter where kurzbez='$kurzbz'";
if($mitarbeiter_id!='')
$qry .= " AND mitarbeiter_pk<>".$mitarbeiter_id;
if($result = pg_query($this->conn,$qry))
{
while ($row=pg_fetch_object($result))
{
if($row->anz == 0)
{
return false;
}
else
{
return true;
}
}
}
else
{
$this->errormsg = 'Fehler beim pruefen der Kurzbezeichnung';
return false;
}
}
return false;
}
/**
* Liefert die naechste Personalnummer
*/
function getNextPersonalnr()
{
$qry = "SELECT max(persnr) AS persnr FROM mitarbeiter WHERE length(persnr)=(SELECT max(length(persnr)) FROM mitarbeiter)";
if($row = pg_fetch_object(pg_query($this->conn,$qry)))
return $row->persnr+1;
else
return false;
}
}
?>
-92
View File
@@ -1,92 +0,0 @@
<?php
/**
* Klasse Nation (FAS-Online)
* @create 06-04-2006
*/
class nation
{
var $conn;
var $errormsg;
var $result = array();
//Tabellenspalten
var $code;
var $sperre;
var $kontinent;
var $entwland;
var $euflag;
var $ewrflag;
var $kurztext;
var $langtext;
var $engltext;
/**
* Konstruktor
* @param $conn Connection
* $code Zu ladende Nation
*/
function nation($conn,$code=null)
{
$this->conn = $conn;
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
if($code != null)
$this->load($code);
}
/**
* Laedt die Funktion mit der ID $adress_id
* @param $code code der zu ladenden Nation
* @return true wenn ok, false im Fehlerfall
*/
function load($code)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Laedt alle Nationen
* @param ohnesperre wenn dieser Parameter auf true gesetzt ist werden
* nur die nationen geliefert dessen Buerger bei uns studieren duerfen
*/
function getAll($ohnesperre=false)
{
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM nation";
if($ohnesperre)
$qry .= " where sperre='N'";
$qry .=" order by kurztext";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$nation_obj = new nation($this->conn);
$nation_obj->code = $row->code;
$nation_obj->sperre = $row->sperre;
$nation_obj->kontinent = $row->sperre;
$nation_obj->entwland = $row->entwland;
$nation_obj->euflag = $row->euflag;
$nation_obj->ewrflag = $row->ewrflag;
$nation_obj->kurztext = $row->kurztext;
$nation_obj->langtext = $row->langtext;
$nation_obj->engltext = $row->engltext;
$this->result[] = $nation_obj;
}
return true;
}
}
?>
-615
View File
@@ -1,615 +0,0 @@
<?php
/**
* Basisklasse Person (FAS-Online)
* @create 06-03-2006
*/
class person
{
var $conn; // @var resource DB-Handle
var $errormsg; // @var string
var $new; // @var boolean
var $result = array(); // @var person Objekt
//Tabellenspalten
var $person_id; // @var integer
var $aktstatus; // @var integer
var $aktstatus_bezeichnung; // @var integer
var $angelegtam; // @var timestamp
var $anrede; // @var string
var $anzahlderkinder; // @var integer
var $bemerkung; // @var string
var $bismelden; // @var boolean
var $bismelden_bezeichnung; // @var boolean
var $ersatzkennzeichen; // @var string
var $familienname; // @var string
var $familienstand; // @var integer ( 1=ledig, 2=verheiratet, 3=?, 4=?, 5=? )
var $familienstand_bezeichnung; // @var integer ( 1=ledig, 2=verheiratet, 3=?, 4=?, 5=? )
var $gebdat; // @var date
var $gebnation; // @var string
var $gebort; // @var string
var $geschlecht; // @var string
var $staatsbuergerschaft; // @var string
var $svnr; // @var string
var $titelpost; // @var string Titel nach dem Namen (BA, MA, etc)
var $titelpre; // @var string Titel vor dem Namen (Dr, Mag, Dipl.Ing, etc)
var $uid; // @var string
var $vorname; // @var string
var $vornamen; // @var string
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
/**
* Konstruktor - Uebergibt die Connection und Laedt optional eine Person
* @param $conn Datenbank-Connection
* $pers_id Person die geladen werden soll (default=null)
*/
function person($conn, $pers_id=null)
{
$this->conn = $conn;
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
if($pers_id != null)
$this->load($pers_id);
}
/**
* Laden einen Datensatz mit der Personal_id die uebergeben wird
* @param $person_id ID der Person die geladen werden soll
*/
function load($person_id)
{
//person_id auf gueltigkeit pruefen
if(is_numeric($person_id) && $person_id!='')
{
$qry = "SELECT * FROM person WHERE person_pk=$person_id";
if(!$res=pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler beim auslesen der Daten';
return false;
}
if($row = pg_fetch_object($res))
{
$this->person_id = $row->person_pk;
$this->aktstatus = $row->aktstatus;
$this->angelegtam = $row->angelegtam;
$this->anrede = $row->anrede;
$this->anzahlderkinder = $row->anzahlderkinder;
$this->bemerkung = $row->bemerkung;
$this->bismelden = ($row->bismelden=='J'?true:false);
$this->ersatzkennzeichen = $row->ersatzkennzeichen;
$this->familienname = $row->familienname;
$this->familienstand = $row->familienstand;
$this->gebdat = $row->gebdat;
$this->gebnation = $row->gebnation;
$this->gebort = $row->gebort;
$this->geschlecht = $row->geschlecht;
$this->staatsbuergerschaft = $row->staatsbuergerschaft;
$this->svnr = $row->svnr;
$this->titelpre = $row->titel;
$this->titlepost = $row->postnomentitel;
$this->uid = $row->uid;
$this->vorname = $row->vorname;
$this->vornamen = $row->vornamen;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
else
{
$this->errormsg = "Die person_id muss eine Zahl sein";
return false;
}
}
// Clean stuff from a string
function clean_string1($string)
{
$trans = array("" => "ae",
"" => "Ae",
"" => "oe",
"" => "Oe",
"" => "ue",
"" => "Ue",
"" => "a",
"" => "a",
"" => "e",
"" => "e",
"" => "o",
"" => "o",
"" => "i",
"" => "i",
"" => "u",
"" => "u",
"" => "ss");
$string = strtr($string, $trans);
return ereg_replace("[^a-zA-Z0-9]", "", $string);
//[:space:]
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false wenn Variablen ungueltig sind
*/
function checkvars1()
{
//Hochkomma herausfiltern
$this->familienname = str_replace("'","`", $this->familienname);
$this->vorname = str_replace("'","`", $this->vorname);
$this->anrede = str_replace("'","`", $this->anrede);
$this->vornamen = str_replace("'","`", $this->vornamen);
$this->gebort = str_replace("'","`", $this->gebort);
$this->svnr = str_replace("'","`", $this->svnr);
$this->titelpre = str_replace("'","`", $this->titelpre);
$this->titelpost = str_replace("'","`", $this->titelpost);
$this->gebnation = str_replace("'","`", $this->gebnation);
$this->ersatzkennzeichen = str_replace("'","`", $this->ersatzkennzeichen);
$this->bemerkung = str_replace("'","`", $this->bemerkung);
if(ereg("[^a-zA-Z0-9]", $this->uid))
{
$this->errormsg = "UID darf keine Umlaute oder Sonderzeichen enthalten";
return false;
}
//Maximallaenge pruefen
if(strlen($this->familienname)>255)
{
$this->errormsg = 'Familienname darf nicht laenger als 255 Zeichen sein';
return false;
}
if(strlen($this->vorname)>255)
{
$this->errormsg = 'Vorname darf nicht laenger als 255 Zeichen sein';
return false;
}
if(strlen($this->anrede)>20)
{
$this->errormsg = 'Anrede darf nicht laenger als 20 Zeichen sein';
return false;
}
if(strlen($this->vornamen)>255)
{
$this->errormsg = 'Vornamen darf nicht laenger als 255 Zeichen sein';
return false;
}
if(strlen($this->geschlecht)>1)
{
$this->errormsg = 'Geschlecht darf nicht laenger als 1 Zeichen sein';
return false;
}
if(strlen($this->gebort)>255)
{
$this->errormsg = 'Geburtsort darf nicht laenger als 255 Zeichen sein';
return false;
}
if(strlen($this->svnr)!=10)
{
$this->errormsg = 'SVNR muss 10 Zeichen lang sein';
return false;
}
if(!is_numeric($this->svnr))
{
$this->errormsg = 'SVNR muss eine gueltige Zahl sein';
return false;
}
if($this->svnr=='0000000000') //Leere SVNR wird zum anlegen des neuen Leerdatensatzes benoetigt
$this->svnr='';
else
{
//SVNR mit Pruefziffer pruefen
//Die 4. Stelle in der SVNR ist die Pruefziffer
//(Summe von (gewichtung[i]*svnr[i])) modulo 11 ergibt diese Pruefziffer
//Falls nicht, ist die SVNR ungueltig
$gewichtung = array(3,7,9,0,5,8,4,2,1,6);
$erg=0;
//Quersumme bilden
for($i=0;$i<10;$i++)
$erg += $gewichtung[$i] * $this->svnr{$i};
if($this->svnr{3}!=($erg%11)) //Vergleichen der Pruefziffer mit Quersumme Modulo 11
{
$this->errormsg = 'SVNR ist ungueltig';
return false;
}
}
if(strlen($this->bismelden)>1)
{
$this->errormsg = 'bismelden darf nicht laenger als 1 Zeichen sein';
return false;
}
if(strlen($this->titelpre)>30)
{
$this->errormsg = 'titelpre darf nicht laenger als 30 Zeichen sein';
return false;
}
if(strlen($this->titelpost)>30)
{
$this->errormsg = 'titelpost darf nicht laenger als 30 Zeichen sein';
return false;
}
if(strlen($this->uid)>20)
{
$this->errormsg = 'uid darf nicht laenger als 20 Zeichen sein';
return false;
}
if(strlen($this->gebnation)>3)
{
$this->errormsg = 'Geburtsnation darf nicht laenger als 3 Zeichen sein';
return false;
}
if(strlen($this->staatsbuergerschaft)>3)
{
$this->errormsg = 'Staatsb羹rgerschaft darf nicht laenger als 3 Zeichen sein';
return false;
}
if(strlen($this->ersatzkennzeichen)>10)
{
$this->errormsg = 'ersatzkennzeichen darf nicht laenger als 10 Zeichen sein';
return false;
}
//Zahlenwerte ueberpruefen
$this->errormsg = 'Ein Zahlenfeld enthaelt ungueltige Zeichen';
if(!is_numeric($this->familienstand) && $this->familienstand!='') return false;
if(!is_numeric($this->anzahlderkinder) && $this->anzahlderkinder!='') return false;
if(!is_numeric($this->aktstatus) && $this->aktstatus!='') return false;
if($this->gebdat!='' && (time() - strtotime($this->gebdat))<315360000) // Wenn nicht aelter als 10 Jahre = 315360000 Sekunden
{
$this->errormsg = 'Geburtsdatum ist falsch: Person muss 鄟ter als 10 Jahre sein';
return false;
}
if($this->uid_exists($this->uid, $this->person_id))
{
$this->errormsg = 'Diese UID existiert bereits';
return false;
}
$this->errormsg='';
return true;
}
/**
* Speichert die Daten in die Datenbank
* Wenn $new auf true gesetzt ist wird eingefuegt
* ansonsten der datensatz $person_id upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->checkvars1())
return false;
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
{
//Naechste ID aus Sequence holen
$qry = "SELECT nextval('person_seq') as id;";
if(!$row=pg_fetch_object(pg_query($this->conn,$qry)))
{
$this->errormsg = "Fehler beim Auslesen der Sequence";
return false;
}
$this->person_id = $row->id;
$qry = "INSERT INTO person (person_pk, familienname, angelegtam, vorname, anrede, vornamen,".
" geschlecht, gebdat, gebort, staatsbuergerschaft, familienstand, svnr, anzahlderkinder,".
" ersatzkennzeichen, bemerkung, creationdate,creationuser, aktstatus, bismelden, titel, postnomentitel,".
" uid, gebnation) VALUES( $this->person_id,".
" '$this->familienname', now(), '$this->vorname', '$this->anrede', '$this->vornamen',".
($this->geschlecht!=''?"'$this->geschlecht'":"'M'").", ".
($this->gebdat!=''?"'$this->gebdat'":'null').", '$this->gebort', '$this->staatsbuergerschaft',".
($this->familienstand!=''?"'$this->familienstand'":'null').",".
" '$this->svnr', ".
($this->anzahlderkinder!=''?"'$this->anzahlderkinder'":'null').",".
" '$this->ersatzkennzeichen', '$this->bemerkung', now(),".
" '$this->updatevon', '".($this->aktstatus>0?$this->aktstatus:100)."', '".($this->bismelden?'J':'N')."', '$this->titelpre', '$this->titelpost',".
(strlen($this->uid)>0?" '$this->uid'":'null').",".
" '$this->gebnation');";
}
else
{
//peson_id auf gueltigkeit pruefen
if(!is_numeric($this->person_id))
{
$this->errormsg = 'person_id muss eine gueltige Zahl sein';
return false;
}
$qry = "UPDATE person SET ".
" familienname='$this->familienname',".
" vorname='$this->vorname',".
" anrede='$this->anrede',".
" vornamen='$this->vornamen',".
" geschlecht=".($this->geschlecht!=''?"'$this->geschlecht'":"'M'").",".
" gebdat=".($this->gebdat!=''?"'$this->gebdat'":'null').",".
" gebort='$this->gebort',".
" staatsbuergerschaft='$this->staatsbuergerschaft',".
" familienstand=".($this->familienstand!=''?"'$this->familienstand'":'0').",".
" svnr=".($this->svnr!=''?"'$this->svnr'":'null').",".
" anzahlderkinder=".($this->anzahlderkinder!=''?"'$this->anzahlderkinder'":'0').",".
" ersatzkennzeichen='$this->ersatzkennzeichen',".
" bemerkung='$this->bemerkung',".
" aktstatus='$this->aktstatus',".
" bismelden='".($this->bismelden?'J':'N')."',".
" titel='$this->titelpre',".
" postnomentitel='$this->titelpost',".
" uid='$this->uid',".
" gebnation='$this->gebnation'".
" WHERE person_pk='$this->person_id'";
}
if(pg_query($this->conn,$qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = "Fehler beim Speichern des Person-Datensatzes:".$qry;
return false;
}
}
/**
* Loescht einen Datensatz
* @param $person_id ID des zu loeschenden Datensatzes
* @return true wenn OK false im Fehlerfall
*/
function delete($person_id)
{
//person_id auf Gueltigkeit pruefen
if(!is_numeric($person_id) || $person_id=='')
{
$this->errormsg = 'Person_id muss eine Zahl sein';
return false;
}
$qry = "Delete from person where person_pk=$person_id";
if(!pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
else
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
}
/**
* Holt alle Personen aus der Datenbank
* @return true wenn OK, false im Fehlerfall
*/
function getAll()
{
/** Braucht zuviel Speicher
$qry = "SELECT * FROM person";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler beim auslesen der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
{
$pers=new person($this->conn);
$pers->person_id = $row->person_pk;
$pers->aktstatus = $row->aktstatus;
$pers->angelegtam = $row->angelegtam;
$pers->anrede = $row->anrede;
$pers->anzahlderkinder = $row->anzahlderkinder;
$pers->bemerkung = $row->bemerkung;
$pers->bismelden = ($row->bismelden=='J'?true:false);
$pers->ersatzkennzeichen = $row->ersatzkennzeichen;
$pers->familienname = $row->familienname;
$pers->familienstand = $row->familienstand;
$pers->gebdat = $row->gebdat;
$pers->gebnation = $row->gebnation;
$pers->gebort = $row->gebort;
$pers->geschlecht = $row->geschlecht;
$pers->staatsbuergerschaft = $row->staatsbuergerschaft;
$pers->svnr = $row->svnr;
$pers->titelpre = $row->titel;
$pers->titelpost = $row->postnomentitel;
$pers->uid = $row->uid;
$pers->vorname = $row->vorname;
$pers->vornamen = $row->vornamen;
$pers->updateamum = $row->creationdate;
$pers->updatevon = $row->creationuser;
$this->result[] = $pers;
}
return true;
*/
return false;
}
/**
* Prueft ob die UID schon vergeben ist. Wenn ein zweiter
* Parameter angegeben wird, wird diese ID von der ueberpruefung
* ausgeschlossen ( fuer Update eines Datensatzes )
*/
function uid_exists($uid, $person_id='')
{
if($uid!='')
{
$this->errormsg = '';
//Datenbank Check
$qry = "SELECT count(*) as anz from person where uid='$uid'";
if($person_id!='')
$qry .= " AND person_pk<>".$person_id;
if($result = pg_query($this->conn,$qry))
{
while ($row=pg_fetch_object($result))
{
if($row->anz == 0)
{
//Wurde deaktiviert weil der Zugriff vom auf den LDAP Server
//vom der Calva aus nicht funktioniert
//Ldap Check
//$ds = ldap_connect(LDAP_SERVER);
//$dn = "ou=People, dc=technikum-wien, dc=at";
//$sr = ldap_search($ds,$dn,"uid=$uid");
//if(ldap_count_entries($ds,$sr)>0)
// return true;
//else
return false;
}
else
return true;
}
}
else
{
$this->errormsg = 'Fehler beim checken der uid';
return false;
}
}
return false;
}
/**
* Aktualisiert den AktStatus
*/
function updateaktstatus($person_id)
{
$mitarbeiter_id = '';
$qry = "Select mitarbeiter_pk from mitarbeiter where person_fk='$person_id'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
$mitarbeiter_id = $row->mitarbeiter_pk;
else
{
$this->errormsg = 'Fehler beim ermitteln der Mitarbeiter_id';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim ermitteln der mitarbeiter_id';
return false;
}
//Funktionen holen
$qry = "Select funktion from funktion where ".
"studiensemester_fk = (Select studiensemester_pk from studiensemester where aktuell='J')".
" AND mitarbeiter_fk = '$mitarbeiter_id'";
if($result = pg_query($this->conn, $qry))
{
$fkt=array();
$i=0;
while($row=pg_fetch_object($result))
{
$fkt[$i]=$row->funktion;
$i++;
}
//Aktstatus ermitteln
if(in_array(5,$fkt)) //STGL
$aktstatus = 104;
elseif(in_array(6,$fkt)) //FBL
$aktstatus = 103;
elseif(in_array(2,$fkt)) //FBK
$aktstatus = 102;
elseif(in_array(1,$fkt)) //LKT
$aktstatus = 101;
else
$aktstatus = 100; //Mitarbeiter
$this->status = $aktstatus;
//neuen akstatus setzen
$qry = "Update person set aktstatus = $aktstatus where person_pk = $person_id";
if(pg_query($qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim setzen des Aktstatus';
return false;
}
}
}
function setaktstatus($status, $person_id)
{
$qry = "Update person set aktstatus = '$status' where person_pk='$person_id'";
if(!pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim Setzen des aktuellen Status'.$qry;
return false;
}
return true;
}
}
?>
-126
View File
@@ -1,126 +0,0 @@
<?php
/**
* Klasse raumtyp (FAS-Online)
* @create 14-03-2006
*/
class raumtyp
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var raumtyp Objekt
var $raumtyp_id; // @var integer
var $bezeichnung; // @var string
var $kurzbezeichnung; // @var string
var $plaetze; // @var integer
var $updateamum; // @var timestamp
var $updatevon; // @var string
/**
* Konstruktor
* @param conn Connection zur Datenbank
* raum_id ID des zu ladenden Raumes (default=null)
*/
function raumtyp($conn, $raum_id=null)
{
$this->conn = $conn;
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
if($raum_id != null)
$this->load($raum_id);
}
/**
* Laedt einen Datensatz
* @param $raum_id ID des zu ladenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function load($raum_id)
{
if(!is_numeric($raum_id) || $raum_id == '')
{
$this->errormsg = 'raum_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM raumtyp WHERE raumtyp_pk = '$raum_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden des Datenstatzes';
return false;
}
if($row = pg_fetch_object($res))
{
$this->raumtyp_id = $row->raumtyp_pk;
$this->bezeichnung = $row->bezeichnung;
$this->kurzbezeichnung = $row->kurzbezeichnung;
$this->plaetze = $row->plaetze;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Laedt alle Datensaetze
* @return ture wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "SELECT * FROM raumtyp;";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
{
$raum_obj = new raumtyp($this->conn);
$raum_obj->raumtyp_id = $row->raumtyp_pk;
$raum_obj->bezeichnung = $row->bezeichnung;
$raum_obj->kurzbezeichnung = $row->kurzbezeichnung;
$raum_obj->plaetze = $row->plaetze;
$raum_obj->updateamum = $row->creationdate;
$raum_obj->updatevon = $row->creationuser;
$this->result[] = $raum_obj;
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
$this->errormsg = 'Noch nicht Implementiert';
return false;
}
/**
* Loescht einen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function delete($raum_id)
{
$this->errormsg = 'Noch nicht Implementiert';
return false;
}
}
?>
-230
View File
@@ -1,230 +0,0 @@
<?php
/**
* Klasse studiengang (FAS-Online)
* @create 14-03-2006
*/
class studiengang
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var studiengang Objekt
var $studiengang_id; // @var integer
var $bafirmaaufzeugnis; // @var boolean
var $batitelaufzeugnis; // @var boolean
var $bescheid; // @var string
var $bescheidbgbl1; // @var string
var $bescheidbgbl2; // @var string
var $bescheidgz; // @var string
var $bescheidvom; // @var date
var $beschreibung; // @var string
var $betreuerstunden; // @var float
var $emailkuerzel; // @var string
var $endedatum; // @var date
var $erhalter_id; // @var integer
var $kennzahl; // @var integer
var $kennzahl_neu; // @var integer
var $kuerzel; // @var string
var $name; // @var string
var $nummerintern; // @var integer
var $organisationsform; // @var integer
var $regelstudiendauer; // @var integer
var $regelwochenstunden; // @var integer
var $standort; // @var string
var $startdatum; // @var date
var $studiengangsart; // @var integer
var $studiensemester_id; // @var integer
var $telefonnummer; // @var string
var $updateamum; // @var timestamp
var $updatevon; // @var string
/**
* Konstruktor
* @param conn Connection zur Datenbank
* studiengang_id ID des zu ladenden Studienganges
*/
function studiengang($conn, $studiengang_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($studiengang_id != null)
$this->load($studiengang_id);
}
/**
* Laedt einen Studiengang
* @param stg_id ID des Studienganges der zu laden ist
* @return true wenn ok, false im Fehlerfall
*/
function load($stg_id)
{
//Pruefen ob stg_id eine gueltige Zahl ist
if(!is_numeric($stg_id) || $stg_id == '')
{
$this->errormsg = 'stg_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM studiengang WHERE studiengang_pk = '$stg_id'";
if(!$res=pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
if($row = pg_fetch_object($res))
{
$this->studiengang_id = $row->studiengang_pk;
$this->name = $row->name;
$this->erhalter_id = $row->erhalter_fk;
$this->kuerzel = $row->kuerzel;
$this->studiengangsart = $row->studiengangsart;
$this->organisationsform = $row->organisationsform;
$this->kennzahl = $row->kennzahl;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
$this->standort = $row->standort;
$this->regelstudiendauer = $row->regelstudiendauer;
$this->emailkuerzel = $row->emailkuerzel;
$this->beschreibung = $row->beschreibung;
$this->telefonnummer = $row->telefonnummer;
$this->bescheid = $row->bescheid;
$this->bescheidvom = $row->bescheidvom;
$this->bescheidgz = $row->bescheidgz;
$this->bescheidbgbl1 = $row->bescheidbgbl1;
$this->bescheidbgbl2 = $row->bescheidbgbl2;
$this->kennzahl_neu = $row->kennzahl_neu;
$this->nummerintern = $row->nummerintern;
$this->bafirmaaufzeugnis = ($row->bafirmaaufzeugnis=='t'?true:false);
$this->batitelaufzeugnis = ($row->batitelaufzeugnis=='t'?true:false);
}
else
{
$this->errormsg = 'Kein Datensatz mit dieser Nummer vorhanden';
return false;
}
return true;
}
/**
* Laedt Studiengang und Studiensemester
* @param stg_id Studiengangs_id
* stsem_id Studiensemester_id
*/
function load_stsem($stg_id, $stsem_id)
{
//Studiengang laden
if(!$this->load($stg_id))
return false;
//pruefen ob stsem_id eine gueltige Zahl ist
if(!is_numeric($stsem_id) || $stsem_id == '')
{
$this->errormsg = 'studiensemester_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM studiengang_studiensemester WHERE studiengang_fk='$this->studiengang_id' ".
"AND studiensemester_fk='$stsem_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
if($row = pg_fetch_object($res))
{
$this->studiensemester_id = $row->studiensemester_fk;
$this->startdatum = $row->startdatum;
$this->endedatum = $row->endedatum;
$this->regelwochenstunden = $row->regelwochen;
$this->betreuerstunden = $row->rvar1;
}
else
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
return true;
}
/**
* Liefert alle Studiengaenge
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "SELECT * FROM studiengang order by name;";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
{
$stg_obj = new studiengang($this->conn);
$stg_obj->studiengang_id = $row->studiengang_pk;
$stg_obj->name = $row->name;
$stg_obj->erhalter_id = $row->erhalter_fk;
$stg_obj->kuerzel = $row->kuerzel;
$stg_obj->studiengangsart = $row->studiengangsart;
$stg_obj->organisationsform = $row->organisationsform;
$stg_obj->kennzahl = $row->kennzahl;
$stg_obj->updateamum = $row->creationdate;
$stg_obj->updatevon = $row->creationuser;
$stg_obj->standort = $row->standort;
$stg_obj->regelstudiendauer = $row->regelstudiendauer;
$stg_obj->emailkuerzel = $row->emailkuerzel;
$stg_obj->beschreibung = $row->beschreibung;
$stg_obj->telefonnummer = $row->telefonnummer;
$stg_obj->bescheid = $row->bescheid;
$stg_obj->bescheidvom = $row->bescheidvom;
$stg_obj->bescheidgz = $row->bescheidgz;
$stg_obj->bescheidbgbl1 = $row->bescheidbgbl1;
$stg_obj->bescheidbgbl2 = $row->bescheidbgbl2;
$stg_obj->kennzahl_neu = $row->kennzahl_neu;
$stg_obj->nummerintern = $row->nummerintern;
$stg_obj->bafirmaaufzeugnis = ($row->bafirmaaufzeugnis=='t'?true:false);
$stg_obj->batitelaufzeugnis = ($row->batitelaufzeugnis=='t'?true:false);
$this->result[] = $stg_obj;
}
return true;
}
/**
* Loescht einen Studiengang
* @param $stg_id ID des zu loeschenden Studienganges
* @return true wenn ok, false im Fehlerfall
*/
function delete($stg_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
}
?>
-165
View File
@@ -1,165 +0,0 @@
<?php
/**
* Klasse studiensemester (FAS-Online)
* @create 15-03-2006
*/
class studiensemester
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var studiensemester Objekt
var $studiensemester_id; // @var integer
var $aktuell; // @var boolean
var $art; // @var integer ( 1 = Wintersemester, 2 = Sommersemester )
var $jahr; // @var integer
var $updateamum; // @var timestamp
var $updatevon; // @var string
/**
* Konstruktor
* @param $conn Connection zur Datenbank
* $stsem_id ID des Studiensemesters das geladen werden soll
*/
function studiensemester($conn, $stsem_id=null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($stsem_id != null)
$this->load($stsem_id);
}
/**
* Laedt den Datensatz mit der ID die uebergeben wird
* @param stsem_id ID des zu ladenden Datensatzes
* @return true wenn ok, false im fehlerfall;
*/
function load($stsem_id)
{
//Pruefen ob stsem_id eine gueltige Zahl ist
if(!is_numeric($stsem_id) || $stsem_id == '')
{
$this->errormsg = 'stsem_id muss eine gueltige Zahl sein';
return false;
}
//Laden eines Datensatzes
$qry = "SELECT * FROM studiensemester WHERE studiensemester_pk = '$stsem_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
if($row = pg_fetch_object($res))
{
$this->studiensemester_id = $row->studiensemester_pk;
$this->aktuell = ($row->aktuell=='J'?true:false);
$this->art = $row->art;
$this->jahr = $row->jahr;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
return true;
}
/**
* Laedt das aktuelle Studiensemester
* @return true wenn ok, false im Fehlerfall
*/
function load_akt()
{
$qry = "SELECT * FROM studiensemester WHERE aktuell='J'";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
if($row = pg_fetch_object($res))
{
$this->studiensemester_id = $row->studiensemester_pk;
$this->aktuell = ($row->aktuell=='J'?true:false);
$this->art = $row->art;
$this->jahr = $row->jahr;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
return true;
}
/**
* Laedt alle studiensemester
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "SELECT * FROM studiensemester order by jahr, art desc;";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
while($row = pg_fetch_object($res))
{
$stsem_obj = new studiensemester($this->conn);
$stsem_obj->studiensemester_id = $row->studiensemester_pk;
$stsem_obj->aktuell = ($row->aktuell=='J'?true:false);
$stsem_obj->art = $row->art;
$stsem_obj->jahr = $row->jahr;
$stsem_obj->updateamum = $row->creationdate;
$stsem_obj->updatevon = $row->creationuser;
$this->result[] = $stsem_obj;
}
return true;
}
/**
* Loescht einen Datensatz
* @param $stsem_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($stsem_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
}
?>
-298
View File
@@ -1,298 +0,0 @@
<?php
/**
* Klasse telefonnummer (FAS-Online)
* @create 13-03-2006
*/
class telefonnummer
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var telefonnummer Objekt
//Tabellenspalten
var $telefonnummer_id; // @var integer
var $person_id; // @var integer
var $name; // @var string
var $nummer; // @var string
var $typ; // @var integer
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
/**
* Konstruktor
* @param $conn Connection zur Datenbank
* $telefonnummer_id ID der zu ladenden telefonnummer
*/
function telefonnummer($conn, $telefonnummer_id = null)
{
$this->conn = $conn;
/*
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($telefonnummer_id != null)
$this->load($telefonnummer_id);
}
/**
* Laedt den Datensatz mit der ID die uebergeben wurde
* @param $telefonnummer_id ID des zu ladenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function load($telefonnummer_id)
{
//Gueltigkeit von telefonnummer_id pruefen
if(!is_numeric($telefonnummer_id) || $telefonnummer_id == '')
{
$this->errormsg = 'telefonnummer_id muss eine Zahl sein';
return false;
}
$qry = "SELECT * FROM telefonnummer WHERE telefonnummer_pk=$telefonnummer_id";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row = pg_fetch_object($res))
{
$this->telefonnummer_id = $row->telefonnummer_pk;
$this->name = $row->name;
$this->nummer = $row->nummer;
$this->person_id = $row->person_fk;
$this->typ = $row->typ;
$this->updateamum = $row->creationdate;
$this->updatevon = $row->creationuser;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Laedt alle Telefonnummern einer Person
* @param $person_id Person zu der die Telefonnummern gesucht werden sollen
* @return true wenn ok, false im Fehlerfall
*/
function load_pers($person_id)
{
//Gueltigkeit von person_id pruefen
if(!is_numeric($person_id) || $person_id == '')
{
$this->errormsg = 'person_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * from telefonnummer where person_fk=$person_id";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Der Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
{
$tel_obj = new telefonnummer($this->conn);
$tel_obj->telefonnummer_id = $row->telefonnummer_pk;
$tel_obj->name = $row->name;
$tel_obj->nummer = $row->nummer;
$tel_obj->person_id = $row->person_fk;
$tel_obj->typ = $row->typ;
$tel_obj->updateamum = $row->creationdate;
$tel_obj->updatevon = $row->creationuser;
$this->result[] = $tel_obj;
}
return true;
}
/**
* Liefert alle Telefonnummern
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
/* Benoetigt zu viel Speicher
$qry = "SELECT * FROM telefonnummer;";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim laden der Telefonnummern';
return false;
}
while($row = pg_fetch_object($res))
{
$tel_obj = new telefonnummer($this->conn);
$tel_obj->telefonnummer_id = $row->telefonnummer_pk;
$tel_obj->name = $row->name;
$tel_obj->nummer = $row->nummer;
$tel_obj->person_id = $row->person_fk;
$tel_obj->typ = $row->typ;
$tel_obj->updateamum = $row->creationdate;
$tel_obj->updatevon = $row->creationuser;
$this->result[] = $tel_obj;
}
return true;
*/
return false;
}
/**
* Prueft die gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
//Hochkomma und HTML Tags ersetzen
//$this->name = $this->name;
//$this->nummer = $this->nummer;
//Laenge pruefen
$this->errormsg = 'Eine der Gesamtlaengen wurde ueberschritten';
if(strlen($this->name)>255) return false;
if(strlen($this->nummer)>30) return false;
//Zahlenfelder pruefen
$this->errormsg = 'Ein Zahlenfeld enthaelt ungueltige Zeichen';
if(!is_numeric($this->person_id)) return false;
if(!is_numeric($this->typ)) return false;
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $telefonnummer_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
//Variablen pruefen
if(!$this->checkvars())
return false;
if($this->new)
{
//Neuen Datensatz anlegen
//neue ID aus der Sequence holen
$qry = "SELECT nextval('telefonnummer_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim auslesen der Sequence';
return false;
}
$this->telefonnummer_id = $row->id;
$qry = "INSERT INTO telefonnummer (telefonnummer_pk, person_fk, name, nummer, typ, creationdate, creationuser)".
" VALUES('$this->telefonnummer_id', '$this->person_id', '$this->name', '$this->nummer', '$this->typ', now(), '$this->updatevon');";
}
else
{
//Bestehenden Datensatz aktualisieren
//Pruefen der ID
if(!is_numeric($this->telefonnummer_id) || $this->telefonnummer_id == '')
{
$this->errormsg = 'telefonnummer_id muss eine gueltige Zahl sein';
return false;
}
$qry = "UPDATE telefonnummer SET person_fk='$this->person_id', name='$this->name', typ='$this->typ', nummer='$this->nummer'".
" WHERE telefonnummer_pk='$this->telefonnummer_id'";
}
if(pg_query($this->conn, $qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datensatz mit der uebergebenen ID
* @param telefonnummer_id ID des zu leoschenen Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($telefonnummer_id)
{
//Pruefen der ID
if(!is_numeric($telefonnummer_id) || $telefonnummer_id == '')
{
$this->errormsg = 'telefonnummer_id muss eine gueltige Zahl sein';
return false;
}
//loeschen des Datensatzes
$qry = "DELETE FROM telefonnummer where telefonnummer_pk='$telefonnummer_id'";
if(pg_query($this->conn, $qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim loeschen eines Datensatzes';
return false;
}
}
}
?>
+1 -1
View File
@@ -22,7 +22,7 @@ class basis_db extends db
{
//echo $sql.'<BR/>';
if ($this->db_result=@pg_query(basis_db::$db_conn,$sql))
return true;
return $this->db_result;
else
{
$this->errormsg.='Abfrage in Datenbank fehlgeschlagen! '.$this->db_last_error();
+1 -1
View File
@@ -291,7 +291,7 @@ class zeugnisnote extends basis_db
JOIN lehre.tbl_note USING(note)
WHERE true $where2
ORDER BY sort";
//echo $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())