Umstellung auf Basisklasse und Datenbankklasse

This commit is contained in:
Andreas Österreicher
2009-06-18 07:02:35 +00:00
parent 66480938cb
commit a568e68d3c
85 changed files with 6096 additions and 8012 deletions
+90 -97
View File
@@ -19,66 +19,50 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class abschlusspruefung
class abschlusspruefung extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var email Objekt
public $new;
public $result = array();
//Tabellenspalten
var $abschlusspruefung_id;
var $student_uid;
var $vorsitz;
var $pruefer1;
var $pruefer2;
var $pruefer3;
var $abschlussbeurteilung_kurzbz;
var $note;
var $akadgrad_id;
var $datum;
var $sponsion;
var $pruefungstyp_kurzbz;
var $anmerkung;
var $updateamum;
var $updatevon;
var $insertamum;
var $insertvon;
var $ext_id;
public $abschlusspruefung_id;
public $student_uid;
public $vorsitz;
public $pruefer1;
public $pruefer2;
public $pruefer3;
public $abschlussbeurteilung_kurzbz;
public $note;
public $akadgrad_id;
public $datum;
public $sponsion;
public $pruefungstyp_kurzbz;
public $anmerkung;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $ext_id;
// ***********************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// * abschlusspruefung_id ID des zu ladenden Datensatzes
// ***********************************************
function abschlusspruefung($conn, $abschlusspruefung_id=null, $unicode=false)
/**
* Konstruktor
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function __construct($abschlusspruefung_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($abschlusspruefung_id!= null)
parent::__constuct();
if(!is_null($abschlusspruefung_id))
$this->load($abschlusspruefung_id);
}
// ***********************************************
// * Laedt einen Datensatz
// * @param abschlusspruefung_id ID des zu ladenden Datensatzes
// ***********************************************
function load($abschlusspruefung_id)
/**
* Laedt einen Datensatz
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function load($abschlusspruefung_id)
{
//id auf Gueltigkeit pruefen
if(!is_numeric($abschlusspruefung_id))
@@ -88,11 +72,11 @@ class abschlusspruefung
}
//laden des Datensatzes
$qry = "SELECT * FROM lehre.tbl_abschlusspruefung WHERE abschlusspruefung_id='$abschlusspruefung_id';";
$qry = "SELECT * FROM lehre.tbl_abschlusspruefung WHERE abschlusspruefung_id='".addslashes($abschlusspruefung_id)."';";
if($result = pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
@@ -127,12 +111,12 @@ class abschlusspruefung
}
}
// **************************************************
// * Loescht einen Datensatz
// * @param abschlusspruefung_id ID des zu loeschenden Datensatzes
// * @return true wenn ok, false im Fehlerfall
// **************************************************
function delete($abschlusspruefung_id)
/**
* Loescht einen Datensatz
* @param abschlusspruefung_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($abschlusspruefung_id)
{
//abschlusspruefung_id auf Gueltigkeit pruefen
if(!is_numeric($abschlusspruefung_id))
@@ -141,9 +125,9 @@ class abschlusspruefung
return false;
}
$qry = "DELETE FROM lehre.tbl_abschlusspruefung WHERE abschlusspruefung_id = '$abschlusspruefung_id';";
$qry = "DELETE FROM lehre.tbl_abschlusspruefung WHERE abschlusspruefung_id = '".addslashes($abschlusspruefung_id)."';";
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
@@ -155,29 +139,38 @@ class abschlusspruefung
}
}
function validate()
/**
* Prueft die Daten vor dem Speichern
*
* @return true wenn ok, false wenn Fehler
*/
protected function validate()
{
if($this->akadgrad_id=='')
{
$this->errormsg = 'AkadGrad muss eingegeben werden';
return false;
}
if($this->pruefungstyp_kurzbz=='')
{
$this->errormsg = 'Pruefungstyp muss eingetragen werden';
return false;
}
if($this->student_uid=='')
{
$this->errormsg = 'UID muss eingetragen werden';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *********************************************************************
// * Speichert den aktuellen Datensatz
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *********************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
@@ -230,30 +223,30 @@ class abschlusspruefung
" WHERE abschlusspruefung_id='".addslashes($this->abschlusspruefung_id)."'";
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('lehre.tbl_abschlusspruefung_abschlusspruefung_id') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->id;
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -267,20 +260,20 @@ class abschlusspruefung
}
}
// ************************************************
// * Laedt alle Abschlusspruefungen eines Studenten
// * @param student_uid UID des Studenten
// * @return true wenn ok, false wenn Fehler
// ************************************************
function getAbschlusspruefungen($student_uid)
/**
* Laedt alle Abschlusspruefungen eines Studenten
* @param student_uid UID des Studenten
* @return true wenn ok, false wenn Fehler
*/
public function getAbschlusspruefungen($student_uid)
{
$qry = "SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid='".addslashes($student_uid)."' ORDER BY datum DESC";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new abschlusspruefung($this->conn, null, null);
$obj = new abschlusspruefung();
$obj->abschlusspruefung_id = $row->abschlusspruefung_id;
$obj->student_uid = $row->student_uid;
+135 -204
View File
@@ -23,72 +23,51 @@
* Klasse Adresse
* @create 13-03-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class adresse
class adresse extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var adresse Objekt
var $done=false; //@ boolean
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
var $adresse_id; // @var integer
var $person_id; // @var integer
var $name; // @var string
var $strasse; // @var string
var $plz; // @var string
var $ort; // @var string
var $gemeinde; // @var string
var $nation; // @var string
var $typ; // @var string
var $heimatadresse; // @var boolean
var $zustelladresse; // @var boolean
var $firma_id; // @var integer
var $updateamum; // @var timestamp
var $updatevon; // @var string
var $insertamum; // @var timestamp
var $insertvon; // @var string
var $ext_id; // @var integer
public $adresse_id; // integer
public $person_id; // integer
public $name; // string
public $strasse; // string
public $plz; // string
public $ort; // string
public $gemeinde; // string
public $nation; // string
public $typ; // string
public $heimatadresse; // boolean
public $zustelladresse; // boolean
public $firma_id; // integer
public $updateamum; // timestamp
public $updatevon; // string
public $insertamum; // timestamp
public $insertvon; // string
public $ext_id; // integer
// *************************************************************************
// * Konstruktor
// * @param $conn Connection
// * $adress_id ID der Adresse die geladen werden soll (Default=null)
// * $unicode wenn false dann wird das Encoding auf LATIN9 gesetzt
// * wenn true dann auf UNICODE
// * wenn null dann wird das Encoding nicht veraendert
// *************************************************************************
function adresse($conn,$adresse_id=null,$unicode=false)
/**
* Konstruktor
* @param $adress_id ID der Adresse die geladen werden soll (Default=null)
*/
public function __construct($adresse_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($adresse_id != null)
parent::__construct();
if(!is_null($adresse_id))
$this->load($adresse_id);
}
// ***********************************************
// * Laedt die Adresse mit der ID $adresse_id
// * @param $adress_id ID der zu ladenden Adresse
// * @return true wenn ok, false im Fehlerfall
// ***********************************************
function load($adresse_id)
/**
* Laedt die Adresse mit der ID $adresse_id
* @param $adress_id ID der zu ladenden Adresse
* @return true wenn ok, false im Fehlerfall
*/
public function load($adresse_id)
{
//Pruefen ob adress_id eine gueltige Zahl ist
if(!is_numeric($adresse_id) || $adresse_id == '')
{
@@ -97,33 +76,32 @@ class adresse
}
//Daten aus der Datenbank lesen
$qry = "SELECT * FROM public.tbl_adresse WHERE adresse_id='$adresse_id'";
$qry = "SELECT * FROM public.tbl_adresse WHERE adresse_id='".addslashes($adresse_id)."'";
if(!$res = pg_query($this->conn,$qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = pg_fetch_object($res))
if($row = $this->db_fetch_object($res))
{
$this->adresse_id = $row->adresse_id;
$this->heimatadresse = ($row->heimatadresse=='t'?true:false);
$this->zustelladresse = ($row->zustelladresse=='t'?true:false);
$this->gemeinde = $row->gemeinde;
$this->name = $row->name;
$this->gemeinde = $row->gemeinde;
$this->name = $row->name;
$this->nation = $row->nation;
$this->ort = $row->ort;
$this->ort = $row->ort;
$this->person_id = $row->person_id;
$this->plz = $row->plz;
$this->strasse = $row->strasse;
$this->typ = $row->typ;
$this->plz = $row->plz;
$this->strasse = $row->strasse;
$this->typ = $row->typ;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->firma_id = $row->firma_id;
$this->firma_id = $row->firma_id;
}
else
{
@@ -134,32 +112,32 @@ class adresse
return true;
}
// *************************************************************************
// * Laedt alle adressen zu der Person die uebergeben wird
// * @param $pers_id ID der Person zu der die Adressen geladen werden sollen
// * @return true wenn ok, false im Fehlerfall
// *************************************************************************
function load_pers($pers_id)
/**
* Laedt alle Adressen zu der Person die uebergeben wird
* @param $pers_id ID der Person zu der die Adressen geladen werden sollen
* @return true wenn ok, false im Fehlerfall
*/
public function load_pers($pers_id)
{
//Pruefen ob pers_id eine gueltige Zahl ist
if(!is_numeric($pers_id) || $pers_id == '')
{
$this->errormsg = 'person_id muss eine gueltige Zahl sein';
$this->errormsg = 'person_id muss eine gültige Zahl sein';
return false;
}
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id='$pers_id'";
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id='".addslashes($pers_id)."'";
if(!$res = pg_query($this->conn,$qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object($res))
{
$adr_obj = new adresse($this->conn, null, null);
$adr_obj = new adresse();
$adr_obj->adresse_id = $row->adresse_id;
$adr_obj->heimatadresse = ($row->heimatadresse=='t'?true:false);
@@ -183,32 +161,32 @@ class adresse
return true;
}
// *************************************************************************
// * Laedt alle adressen zu der Firma die uebergeben wird
// * @param $firma_id ID der Firma zu der die Adressen geladen werden sollen
// * @return true wenn ok, false im Fehlerfall
// *************************************************************************
function load_firma($firma_id)
/**
* Laedt alle Adressen zu der Firma die uebergeben wird
* @param $firma_id ID der Firma zu der die Adressen geladen werden sollen
* @return true wenn ok, false im Fehlerfall
*/
public function load_firma($firma_id)
{
//Pruefen ob pers_id eine gueltige Zahl ist
if(!is_numeric($firma_id) || $firma_id == '')
{
$this->errormsg = 'firma_id muss eine gueltige Zahl sein';
$this->errormsg = 'firma_id muss eine gültige Zahl sein';
return false;
}
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM public.tbl_adresse WHERE firma_id='$firma_id'";
$qry = "SELECT * FROM public.tbl_adresse WHERE firma_id='".addslashes($firma_id)."'";
if(!$res = pg_query($this->conn,$qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object($res))
{
$adr_obj = new adresse($this->conn, null, null);
$adr_obj = new adresse();
$adr_obj->adresse_id = $row->adresse_id;
$adr_obj->heimatadresse = ($row->heimatadresse=='t'?true:false);
@@ -232,73 +210,61 @@ class adresse
return true;
}
// *******************************************
// * Prueft die Variablen auf Gueltigkeit
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
//Zahlenfelder pruefen
if(!is_numeric($this->person_id) && $this->person_id!='')
{
$this->errormsg='person_id enthaelt ungueltige Zeichen:'.$this->person_id.' - adresse: '.$this->adresse_id."\n";
$this->errormsg='person_id enthaelt ungueltige Zeichen';
return false;
}
//Gesamtlaenge pruefen
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
if(strlen($this->name)>255)
{
$this->errormsg = 'Name darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
$this->errormsg = 'Name darf nicht länger als 255 Zeichen sein';
return false;
}
if(strlen($this->strasse)>255)
{
$this->errormsg = 'Strasse darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
$this->errormsg = 'Strasse darf nicht länger als 255 Zeichen sein';
return false;
}
if(strlen($this->plz)>10)
{
$this->errormsg = 'Plz darf nicht länger als 10 Zeichen sein - adresse: '.$this->adresse_id."\n";
$this->errormsg = 'Plz darf nicht länger als 10 Zeichen sein';
return false;
}
if(strlen($this->ort)>255)
{
$this->errormsg = 'Ort darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
$this->errormsg = 'Ort darf nicht länger als 255 Zeichen sein';
return false;
}
if(strlen($this->nation)>3)
{
$this->errormsg = 'Nation darf nicht länger als 3 Zeichen sein - adresse: '.$this->adresse_id."\n";
$this->errormsg = 'Nation darf nicht länger als 3 Zeichen sein';
return false;
}
if(strlen($this->gemeinde)>255)
{
$this->errormsg = 'Gemeinde darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
$this->errormsg = 'Gemeinde darf nicht länger als 255 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ***********************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// ***********************************************************************
function save()
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Variablen pruefen
if(!$this->validate())
@@ -323,129 +289,94 @@ class adresse
($this->firma_id!=null?$this->addslashes($this->firma_id):'null').', now(), '.
$this->addslashes($this->updatevon).', '.
$this->addslashes($this->ext_id).');';
$this->done=true;
}
else
{
//Updaten des bestehenden Datensatzes
//Pruefen ob adresse_id eine gueltige Zahl ist
if(!is_numeric($this->adresse_id))
{
$this->errormsg = 'adresse_id muss eine gueltige Zahl sein: '.$this->adresse_id."\n";
$this->errormsg = 'adresse_id muss eine gültige Zahl sein: '.$this->adresse_id."\n";
return false;
}
$qryz="SELECT * FROM public.tbl_adresse WHERE adresse_id='$this->adresse_id';";
if($resultz = pg_query($this->conn, $qryz))
{
if($rowz = pg_fetch_object($resultz))
{
$update=false;
if($rowz->person_id!=$this->person_id) $update=true;
if($rowz->name!=$this->name) $update=true;
if($rowz->strasse!=$this->strasse) $update=true;
if($rowz->plz!=$this->plz) $update=true;
if($rowz->typ!=$this->typ) $update=true;
if($rowz->ort!=$this->ort) $update=true;
if($rowz->nation!=$this->nation) $update=true;
if($rowz->gemeinde!=$this->gemeinde) $update=true;
if($rowz->heimatadresse!=$this->heimatadresse?'true':'false') $update=true;
if($rowz->zustelladresse!=$this->zustelladresse?'true':'false') $update=true;
if($rowz->firma_id!=$this->firma_id) $update=true;
if($update)
{
$qry='UPDATE public.tbl_adresse SET'.
' person_id='.$this->addslashes($this->person_id).', '.
' name='.$this->addslashes($this->name).', '.
' strasse='.$this->addslashes($this->strasse).', '.
' plz='.$this->addslashes($this->plz).', '.
' typ='.$this->addslashes($this->typ).', '.
' ort='.$this->addslashes($this->ort).', '.
' nation='.$this->addslashes($this->nation).', '.
' gemeinde='.$this->addslashes($this->gemeinde).', '.
' firma_id='.$this->addslashes($this->firma_id).','.
' updateamum= now(), '.
' updatevon='.$this->addslashes($this->updatevon).', '.
' heimatadresse='.($this->heimatadresse?'true':'false').', '.
' zustelladresse='.($this->zustelladresse?'true':'false').' '.
'WHERE adresse_id='.$this->adresse_id.';';
$this->done=true;
}
}
}
$qry='UPDATE public.tbl_adresse SET'.
' person_id='.$this->addslashes($this->person_id).', '.
' name='.$this->addslashes($this->name).', '.
' strasse='.$this->addslashes($this->strasse).', '.
' plz='.$this->addslashes($this->plz).', '.
' typ='.$this->addslashes($this->typ).', '.
' ort='.$this->addslashes($this->ort).', '.
' nation='.$this->addslashes($this->nation).', '.
' gemeinde='.$this->addslashes($this->gemeinde).', '.
' firma_id='.$this->addslashes($this->firma_id).','.
' updateamum= now(), '.
' updatevon='.$this->addslashes($this->updatevon).', '.
' heimatadresse='.($this->heimatadresse?'true':'false').', '.
' zustelladresse='.($this->zustelladresse?'true':'false').' '.
'WHERE adresse_id='.$this->adresse_id.';';
}
//echo $qry;
if ($this->done)
if($this->db_query($qry))
{
if(pg_query($this->conn,$qry))
if($this->new)
{
if($this->new)
//naechste ID aus der Sequence holen
$qry="SELECT currval('public.tbl_adresse_adresse_id_seq') as id;";
if($this->db_query($qry))
{
//naechste ID aus der Sequence holen
$qry="SELECT currval('public.tbl_adresse_adresse_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
if($row = $this->db_fetch_object())
{
if($row = pg_fetch_object($result))
{
$this->adresse_id = $row->id;
pg_query($this->conn, 'COMMIT');
return true;
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->errormsg = "Fehler beim Auslesen der Sequence";
return false;
}
$this->adresse_id = $row->id;
$this->db_query('COMMIT');
return true;
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
$this->errormsg = "Fehler beim Auslesen der Sequence";
return false;
}
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
return false;
}
}
else
{
//echo $qry;
$this->errormsg = "*****\nFehler beim Speichern des Adress-Datensatzes: ".$this->person_id."\n".$qry."\n".pg_errormessage($this->conn)."\n*****\n";
return false;
}
return true;
else
return true;
}
else
{
return true;
$this->errormsg = 'Fehler beim Speichern des Adress-Datensatzes';
return false;
}
}
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $adresse_id ID die geloescht werden soll
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($adresse_id)
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $adresse_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($adresse_id)
{
//Pruefen ob adresse_id eine gueltige Zahl ist
if(!is_numeric($adresse_id) || $adresse_id == '')
{
$this->errormsg = 'adresse_id muss eine gueltige Zahl sein'."\n";
$this->errormsg = 'adresse_id muss eine gültige Zahl sein'."\n";
return false;
}
//loeschen des Datensatzes
$qry="DELETE FROM public.tbl_adresse WHERE adresse_id='$adresse_id';";
$qry="DELETE FROM public.tbl_adresse WHERE adresse_id='".addslashes($adresse_id)."';";
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim loeschen der Daten'."\n";
$this->errormsg = 'Fehler beim schen der Daten'."\n";
return false;
}
}
+26 -42
View File
@@ -19,67 +19,51 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class akadgrad
class akadgrad extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var email Objekt
public $new;
public $result = array();
//Tabellenspalten
var $akadgrad_id;
var $akadgrad_kurzbz;
var $studiengang_kz;
var $titel;
var $geschlecht;
public $akadgrad_id;
public $akadgrad_kurzbz;
public $studiengang_kz;
public $titel;
public $geschlecht;
// ***********************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// * akadgrad_id ID des zu ladenden Datensatzes
// ***********************************************
function akadgrad($conn, $akadgrad_id=null, $unicode=false)
/**
* Konstruktor
* @param akadgrad_id ID des zu ladenden Datensatzes
*/
public function __construct($akadgrad_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($akadgrad_id != null)
parent::__construct();
if(!is_null($akadgrad_id))
$this->load($akadgrad_id);
}
// ***********************************************
// * Laedt einen Datensatz
// * @param akadgrad_id ID des zu ladenden Datensatzes
// ***********************************************
function load($akadgrad_id)
/**
* Laedt einen Datensatz
* @param akadgrad_id ID des zu ladenden Datensatzes
*/
public function load($akadgrad_id)
{
//akadgrad_id auf gueltigkeit pruefen
if(!is_numeric($akadgrad_id) || $akadgrad_id == '')
{
$this->errormsg = 'akadgrad_id muss eine gueltige Zahl sein';
$this->errormsg = 'akadgrad_id muss eine gültige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT * FROM lehre.tbl_akadgrad WHERE akadgrad_id='$akadgrad_id';";
$qry = "SELECT * FROM lehre.tbl_akadgrad WHERE akadgrad_id='".addslashes($akadgrad_id)."';";
if($result = pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->akadgrad_id = $row->akadgrad_id;
$this->akadgrad_kurzbz = $row->akadgrad_kurzbz;
+95 -96
View File
@@ -19,63 +19,47 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class akte
class akte extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var email Objekt
public $new;
public $result = array();
//Tabellenspalten
var $akte_id;
var $person_id;
var $dokument_kurzbz;
var $inhalt;
var $mimetype;
var $erstelltam;
var $gedruckt;
var $titel;
var $bezeichnung;
var $updateamum;
var $updatevon;
var $insertamum;
var $insertvon;
var $uid;
var $ext_id;
public $akte_id;
public $person_id;
public $dokument_kurzbz;
public $inhalt;
public $mimetype;
public $erstelltam;
public $gedruckt;
public $titel;
public $bezeichnung;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $uid;
public $ext_id;
// ***********************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// * akte_id ID des zu ladenden Datensatzes
// ***********************************************
function akte($conn, $akte_id=null, $unicode=false)
/**
* Konstruktor
* @param akte_id ID des zu ladenden Datensatzes
*/
public function __construct($akte_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($akte_id != null)
parent::__construct();
if(!is_null($akte_id))
$this->load($akte_id);
}
// ***********************************************
// * Laedt einen Datensatz
// * @param akte_id ID des zu ladenden Datensatzes
// ***********************************************
function load($akte_id)
/**
* Laedt einen Datensatz
* @param akte_id ID des zu ladenden Datensatzes
*/
public function load($akte_id)
{
//akte_id auf gueltigkeit pruefen
if(!is_numeric($akte_id) || $akte_id == '')
@@ -85,11 +69,11 @@ class akte
}
//laden des Datensatzes
$qry = "SELECT * FROM public.tbl_akte WHERE akte_id='$akte_id';";
$qry = "SELECT * FROM public.tbl_akte WHERE akte_id='".addslashes($akte_id)."';";
if($result = pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->akte_id = $row->akte_id;
$this->person_id = $row->person_id;
@@ -120,12 +104,12 @@ class akte
}
}
// **************************************************
// * Loescht einen Datensatz
// * @param akte_id ID des zu loeschenden Datensatzes
// * @return true wenn ok, false im Fehlerfall
// **************************************************
function delete($akte_id)
/**
* Loescht einen Datensatz
* @param akte_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($akte_id)
{
//akte_id auf gueltigkeit pruefen
if(!is_numeric($akte_id) || $akte_id == '')
@@ -134,46 +118,52 @@ class akte
return false;
}
$qry = "DELETE FROM public.tbl_akte WHERE akte_id = '$akte_id';";
$qry = "DELETE FROM public.tbl_akte WHERE akte_id = '".addslashes($akte_id)."';";
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim loeschen';
$this->errormsg = 'Fehler beim schen';
return false;
}
}
function validate()
/**
* Prueft die Variablen vor dem Speichern
*
* @return true wenn ok, sonst false
*/
protected function validate()
{
if($this->person_id=='')
{
$this->errormsg = 'Person ID muss angegeben werden';
return false;
}
if($this->dokument_kurzbz!='')
{
$this->errormsg = 'DokumentKurzbz muss angegeben werden';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *********************************************************************
// * Speichert den aktuellen Datensatz
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *********************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
@@ -217,30 +207,30 @@ class akte
" WHERE akte_id='".addslashes($this->akte_id)."'";
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('public.tbl_akte_akte_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->akte_id = $row->id;
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
else
{
$this->errormsg = 'Fehler beim auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
@@ -254,18 +244,28 @@ class akte
}
}
function getAkten($person_id, $dokument_kurzbz=null)
/**
* Liefert die Akten einer Person
*
* @param $person_id
* @param $dokument_kurzbz
* @return true wenn ok, sonst false
*/
public function getAkten($person_id, $dokument_kurzbz=null)
{
$qry = "SELECT akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid FROM public.tbl_akte WHERE person_id='".addslashes($person_id)."'";
$qry = "SELECT
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid
FROM public.tbl_akte WHERE person_id='".addslashes($person_id)."'";
if($dokument_kurzbz!=null)
$qry.=" AND dokument_kurzbz='".addslashes($dokument_kurzbz)."'";
$qry.=" ORDER BY erstelltam";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$akten = new akte($this->conn, null, null);
$akten = new akte();
$akten->akte_id = $row->akte_id;
$akten->person_id = $row->person_id;
@@ -288,10 +288,9 @@ class akte
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+57 -74
View File
@@ -19,57 +19,43 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class antwort
class antwort extends basis_db
{
//Tabellenspalten
var $antwort_id;
var $pruefling_id;
var $vorschlag_id;
public $antwort_id;
public $pruefling_id;
public $vorschlag_id;
// ErgebnisArray
var $result=array();
var $num_rows=0;
var $errormsg;
var $new;
public $result=array();
public $num_rows=0;
public $new;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Antwort
// * @param $conn Datenbank-Connection
// * $frage_id Frage die geladen werden soll (default=null)
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function antwort($conn, $antwort_id=null, $unicode=false)
/**
* Konstruktor - Uebergibt die Connection und laedt optional eine Antwort
* @param $frage_id Frage die geladen werden soll (default=null)
*/
public function __construct($antwort_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($antwort_id != null)
parent::__construct();
if(!is_null(antwort_id))
$this->load($antwort_id);
}
// ***********************************************************
// * Laedt antwort mit der uebergebenen ID
// * @param $antwort_id ID der Frage die geladen werden soll
// ***********************************************************
function load($antwort_id)
/**
* Laedt Antwort mit der uebergebenen ID
* @param $antwort_id ID der Frage die geladen werden soll
*/
public function load($antwort_id)
{
$qry = "SELECT * FROM testtool.tbl_antwort WHERE antwort_id='".addslashes($antwort_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->antwort_id = $row->antwort_id;
$this->pruefling_id = $row->pruefling_id;
@@ -78,45 +64,34 @@ class antwort
}
else
{
$this->errormsg = "Kein Eintrag gefunden fuer $antwort_id";
$this->errormsg = 'Kein Eintrag gefunden';
return false;
}
}
}
else
else
{
$this->errormsg = "Fehler beim Laden der Antwort";
return false;
}
}
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
return true;
}
// ******************************************************************
// * Speichert die Daten in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
// * ansonsten upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ******************************************************************
function save()
/**
* Speichert die Daten in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
* ansonsten upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
@@ -132,18 +107,18 @@ class antwort
{
$qry = 'UPDATE testtool.tbl_antwort SET'.
' vorschlag_id='.$this->addslashes($this->vorschlag_id).','.
" pruefling_id='".$this->pruefling_id."'".
' pruefling_id='.$this->addslashes($this->pruefling_id).','.
" WHERE antwort_id='".addslashes($this->antwort_id)."'";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Antwort:'.$qry;
$this->errormsg = 'Fehler beim Speichern der Antwort';
return false;
}
}
@@ -163,7 +138,7 @@ class antwort
}
$qry = "DELETE FROM testtool.tbl_antwort WHERE antwort_id='".addslashes($antwort_id)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -174,7 +149,14 @@ class antwort
}
}
function getAntwort($pruefling_id, $frage_id)
/**
* Liefert die Antwort eines Pruefling zu einer Frage
*
* @param $pruefling_id
* @param $frage_id
* @return boolean
*/
public function getAntwort($pruefling_id, $frage_id)
{
$qry = "SELECT * FROM testtool.tbl_antwort JOIN testtool.tbl_pruefling_frage USING(pruefling_id)
JOIN testtool.tbl_vorschlag USING(vorschlag_id)
@@ -182,11 +164,12 @@ class antwort
tbl_vorschlag.frage_id=tbl_pruefling_frage.frage_id AND
pruefling_id='".addslashes($pruefling_id)."' AND
tbl_vorschlag.frage_id='".addslashes($frage_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new antwort($this->conn, null, null);
$obj = new antwort();
$obj->antwort_id = $row->antwort_id;
$obj->frage_id = $row->frage_id;
+51 -118
View File
@@ -23,73 +23,57 @@
* Klasse aufmerksamdurch
* @create 02-01-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class aufmerksamdurch
class aufmerksamdurch extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $done=false; // @var boolean
var $result = array();
public $new;
public $result = array();
//Tabellenspalten
Var $aufmerksamdurch_kurzbz; // @var string
var $beschreibung; // @var integer
var $ext_id; // @var integer
public $aufmerksamdurch_kurzbz;
public $beschreibung;
public $ext_id;
// ****
// * Konstruktor
// * @param $conn Connection
// * $aufmerksamdurch_kurzbz = ID (Default=null)
// * $unicode
// ****
function aufmerksamdurch($conn,$aufmerksamdurch_kurzbz=null, $unicode=false)
/**
* Konstruktor
* @param $aufmerksamdurch_kurzbz = ID (Default=null)
*/
public function __construct($aufmerksamdurch_kurzbz=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
parent::__construct();
if(!is_null($aufmerksamdurch_kurzbz))
$this->load($aufmerksamdurch_kurzbz);
}
// *******************************************
// * @param $aufmerksam_kurzbz ID
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function load($aufmerksam_kurzbz)
/**
* Laedt einen Datensatz
* @param $aufmerksam_kurzbz ID
* @return true wenn ok, false im Fehlerfall
*/
public function load($aufmerksam_kurzbz)
{
//noch nicht implementiert
return false;
}
// *******************************************
// * Laedt alle Datansaetze
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function getAll($orderby='aufmerksamdurch_kurzbz')
/**
* Laedt alle Datansaetze
* @return true wenn ok, false im Fehlerfall
*/
public function getAll($orderby='aufmerksamdurch_kurzbz')
{
$qry = "SELECT * FROM public.tbl_aufmerksamdurch";
if($orderby!='')
$qry .= " ORDER BY ".$orderby;
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new aufmerksamdurch($this->conn, null, null);
$obj = new aufmerksamdurch();
$obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
$obj->beschreibung = $row->beschreibung;
@@ -100,32 +84,20 @@ class aufmerksamdurch
}
else
{
$this->errormsg = 'Fehler beim laden';
$this->errormsg = 'Fehler beim Laden';
return false;
}
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// **************************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $schluessel_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// **************************************************************************
function save()
{
$this->done=false;
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $schluessel_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
if($this->new)
{
//Neuen Datensatz einfuegen
@@ -134,62 +106,23 @@ class aufmerksamdurch
$this->addslashes($this->aufmerksamdurch_kurzbz).', '.
$this->addslashes($this->beschreibung).', '.
$this->addslashes($this->ext_id).');';
$this->done=true;
}
else
{
$qryz="SELECT * FROM public.tbl_aufmerksamdurch WHERE aufmerksamdurch_kurzbz='$this->aufmerksamdurch_kurzbz';";
if($resultz = pg_query($this->conn, $qryz))
{
while($rowz = pg_fetch_object($resultz))
{
$update=false;
if($rowz->beschreibung!=$this->beschreibung) $update=true;
if($rowz->beschreibung!=$this->ext_id) $update=true;
if($update)
{
$qry='UPDATE public.tbl_aufmerksamdurch SET '.
'beschreibung='.$this->addslashes($this->beschreibung).', '.
'ext_id='.$this->addslashes($this->ext_id).' '.
'WHERE aufmerksamdurch_kurzbz='.$this->addslashes($this->aufmerksamdurch_kurzbz).';';
$this->done=true;
}
}
}
$qry='UPDATE public.tbl_aufmerksamdurch SET '.
'beschreibung='.$this->addslashes($this->beschreibung).', '.
'ext_id='.$this->addslashes($this->ext_id).' '.
'WHERE aufmerksamdurch_kurzbz='.$this->addslashes($this->aufmerksamdurch_kurzbz).';';
}
if ($this->done)
if(pg_query($this->conn, $qry))
{
if(pg_query($this->conn, $qry))
{
//Log schreiben
/*$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
} */
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
return true;
}
else
{
return true;
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
}
-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;
}
}
?>
+57 -95
View File
@@ -23,61 +23,40 @@
* Klasse bankverbindung
* @create 20-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class bankverbindung
class bankverbindung extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var adresse Objekt
var $done=false; // @var boolean
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
Var $bankverbindung_id; // @var integer
var $person_id; // @var integer
var $name; // @var string
var $anschrift; // @var string
var $bic; // @var string
var $blz; // @var string
var $iban; // @var string
var $kontonr; // @var string
var $typ; // @var p=Privatkonto, f=Firmenkonto
var $verrechnung; // @var boolean
var $ext_id; // @var integer
var $insertamum; // @var timestamp
var $insertvon; // @var bigint
var $updateamum; // @var timestamp
var $updatevon; // @var bigint
public $bankverbindung_id; // integer
public $person_id; // integer
public $name; // string
public $anschrift; // string
public $bic; // string
public $blz; // string
public $iban; // string
public $kontonr; // string
public $typ; // p=Privatkonto, f=Firmenkonto
public $verrechnung; // boolean
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
/**
* Konstruktor
* @param $conn Connection
* $kontakt_id ID der Adresse die geladen werden soll (Default=null)
* @param $bankverbindung_id ID der Bankverbindung die geladen werden soll (Default=null)
*/
function bankverbindung($conn,$bankverbindung_id=null, $unicode=false)
public function __construct($bankverbindung_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($bankverbindung_id!=null)
parent::__construct();
if(!is_null($bankverbindung_id))
$this->load($bankverbindung_id);
}
/**
@@ -85,7 +64,7 @@ class bankverbindung
* @param $bankverbindung_id ID der zu ladenden Bankverbindung
* @return true wenn ok, false im Fehlerfall
*/
function load($bankverbindung_id)
public function load($bankverbindung_id)
{
if(!is_numeric($bankverbindung_id))
{
@@ -93,11 +72,11 @@ class bankverbindung
return false;
}
$qry = "SELECT * FROM public.tbl_bankverbindung WHERE bankverbindung_id='$bankverbindung_id'";
$qry = "SELECT * FROM public.tbl_bankverbindung WHERE bankverbindung_id='".addslashes($bankverbindung_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->bankverbindung_id = $row->bankverbindung_id;
$this->person_id = $row->person_id;
@@ -133,38 +112,38 @@ class bankverbindung
* Prueft die Variablen auf gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
protected function validate()
{
//Gesamtlaenge pruefen
//$this->errormsg = 'Eine der Maximiallaengen wurde ueberschritten';
if(strlen($this->name)>64)
{
$this->errormsg = 'Name darf nicht länger als 64 Zeichen sein: '.$this->name;
$this->errormsg = 'Name darf nicht länger als 64 Zeichen sein';
return false;
}
if(strlen($this->anschrift)>128)
{
$this->errormsg = 'Anschrift darf nicht länger als 128 Zeichen sein: '.$this->anschrift;
$this->errormsg = 'Anschrift darf nicht länger als 128 Zeichen sein';
return false;
}
if(strlen($this->blz)>16)
{
$this->errormsg = 'BLZ darf nicht länger als 16 Zeichen sein: '.$this->blz;
$this->errormsg = 'BLZ darf nicht länger als 16 Zeichen sein';
return false;
}
if(strlen($this->bic)>16)
{
$this->errormsg = 'BIC darf nicht länger als 16 Zeichen sein: '.$this->bic;
$this->errormsg = 'BIC darf nicht länger als 16 Zeichen sein';
return false;
}
if(strlen($this->kontonr)>16)
{
$this->errormsg = 'KontoNr darf nicht länger als 16 Zeichen sein: '.$this->kontonr;
$this->errormsg = 'KontoNr darf nicht länger als 16 Zeichen sein';
return false;
}
if(strlen($this->iban)>32)
{
$this->errormsg = 'IBAN darf nicht länger als 32 Zeichen sein: '.$this->iban;
$this->errormsg = 'IBAN darf nicht länger als 32 Zeichen sein';
return false;
}
@@ -177,28 +156,17 @@ class bankverbindung
$this->errormsg = '';
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
@@ -230,12 +198,7 @@ class bankverbindung
$this->errormsg = 'bankverbindung_id muss eine gueltige Zahl sein: '.$this->bankverbindung_id.' ('.$this->person_id.')';
return false;
}
if(!is_numeric($this->person_id))
{
$this->errormsg = 'person_id muss eine gueltige Zahl sein: '.$this->person_id.'';
return false;
}
$qry='UPDATE public.tbl_bankverbindung SET '.
'person_id='.$this->addslashes($this->person_id).', '.
'name='.$this->addslashes($this->name).', '.
@@ -251,32 +214,32 @@ class bankverbindung
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE bankverbindung_id='.$this->addslashes($this->bankverbindung_id).';';
}
//echo $qry."\n";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($this->new)
{
//Sequence auslesen
$qry = "SELECT currval('public.tbl_bankverbindung_bankverbindung_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->bankverbindung_id = $row->id;
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -294,7 +257,7 @@ class bankverbindung
* @param $bankverbindung_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($bankverbindung_id)
public function delete($bankverbindung_id)
{
if(!is_numeric($bankverbindung_id))
{
@@ -302,23 +265,23 @@ class bankverbindung
return false;
}
$qry = "DELETE FROM public.tbl_bankverbindung WHERE bankverbindung_id='$bankverbindung_id'";
$qry = "DELETE FROM public.tbl_bankverbindung WHERE bankverbindung_id='".addslashes($bankverbindung_id)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
$this->errormsg = 'Fehler beim Löschen des Datensatzes';
return false;
}
}
/**
* Laedt die Bankverbindung mit der ID $bankverbindung_id
* @param $bankverbindung_id ID der zu ladenden Bankverbindung
* Laedt die Bankverbindung einer Person
* @param $person_id
* @return true wenn ok, false im Fehlerfall
*/
function load_pers($person_id)
public function load_pers($person_id)
{
if(!is_numeric($person_id))
{
@@ -326,13 +289,13 @@ class bankverbindung
return false;
}
$qry = "SELECT * FROM public.tbl_bankverbindung WHERE person_id='$person_id'";
$qry = "SELECT * FROM public.tbl_bankverbindung WHERE person_id='".addslashes($person_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new bankverbindung($this->conn, null, null);
$obj = new bankverbindung();
$obj->bankverbindung_id = $row->bankverbindung_id;
$obj->person_id = $row->person_id;
@@ -360,6 +323,5 @@ class bankverbindung
return false;
}
}
}
?>
+163 -125
View File
@@ -19,71 +19,56 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class beispiel
class beispiel extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $beispiele = array(); // lehreinheit Objekt
public $new; // boolean
public $beispiele = array(); // lehreinheit Objekt
//Tabellenspalten
var $beispiel_id; // Serial
var $uebung_id; // integer
var $bezeichnung; // varchar(32)
var $punkte; // real
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $nummer; // smallint
public $beispiel_id; // Serial
public $uebung_id; // integer
public $bezeichnung; // varchar(32)
public $punkte; // real
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $nummer; // smallint
var $student_uid;
var $vorbereitet;
var $probleme;
public $student_uid;
public $vorbereitet;
public $probleme;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional ein beispiel
// * @param $conn Datenbank-Connection
// * $beispiel_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function beispiel($conn, $beispiel_id=null, $unicode=false)
/**
* Konstruktor
* @param $beispiel_id
*/
public function __construct($beispiel_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($beispiel_id!=null)
parent::__construct();
if(!is_null($beispiel_id))
$this->load($beispiel_id);
}
// *********************************************************
// * Laedt ein Beispiel
// * @param uebung_id
// *********************************************************
function load($beispiel_id)
/**
* Laedt ein Beispiel
* @param beispiel_id
*/
public function load($beispiel_id)
{
if(!is_numeric($beispiel_id))
{
$this->errormsg='Beispiel_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM campus.tbl_beispiel WHERE beispiel_id='$beispiel_id'";
$qry = "SELECT * FROM campus.tbl_beispiel WHERE beispiel_id='".addslashes($beispiel_id)."'";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->beispiel_id = $row->beispiel_id;
$this->uebung_id = $row->uebung_id;
@@ -104,12 +89,18 @@ class beispiel
}
else
{
$this->errormsg = 'Fehler beim laden des Beispiels';
$this->errormsg = 'Fehler beim Laden des Beispiels';
return false;
}
}
function load_beispiel($uebung_id)
/**
* Laedt alle Beispiele einer Uebung
*
* @param $uebung_id
* @return boolean
*/
public function load_beispiel($uebung_id)
{
if(!is_numeric($uebung_id))
{
@@ -117,13 +108,13 @@ class beispiel
return false;
}
$qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id' ORDER BY bezeichnung";
$qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='".addslashes($uebung_id)."' ORDER BY bezeichnung";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$beispiel_obj = new beispiel($this->conn);
$beispiel_obj = new beispiel();
$beispiel_obj->beispiel_id = $row->beispiel_id;
$beispiel_obj->uebung_id = $row->uebung_id;
@@ -141,26 +132,45 @@ class beispiel
}
else
{
$this->errormsg = 'Fehler beim laden der Beispiele';
$this->errormsg = 'Fehler beim Laden der Beispiele';
return false;
}
}
function get_next_nummer()
/**
* Liefert die naechste Nummer
*
* @return boolean
*/
public function get_next_nummer()
{
$qry = "SELECT max(nummer) FROM campus.tbl_beispiel";
$result = pg_query($this->conn, $qry);
$row = pg_fetch_object($result);
$next = $row->max + 1;
$this->next_nummer = $next;
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->next_nummer = $row->max + 1;
return true;
}
else
{
$this->errormsg='Fehler beim Ermitteln der Nummer';
return false;
}
}
else
{
$this->errormsg='Fehler beim Ermitteln der Nummer';
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(!is_numeric($this->uebung_id))
{
@@ -174,25 +184,14 @@ class beispiel
}
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert ein Beispiel in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert ein Beispiel in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -231,30 +230,30 @@ class beispiel
" WHERE beispiel_id=".$this->addslashes($this->beispiel_id).";";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('campus.tbl_beispiel_beispiel_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->uebung_id = $row->id;
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn,'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn,'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -268,7 +267,15 @@ class beispiel
}
}
function exists($uebung_id, $bezeichnung)
/**
* Prueft ob bereits zu dieser Uebung bereits ein Beispiel
* mit dieser Bezeichnung vorhanden ist
*
* @param $uebung_id
* @param $bezeichnung
* @return boolean
*/
public function exists($uebung_id, $bezeichnung)
{
if(!is_numeric($uebung_id))
{
@@ -276,23 +283,31 @@ class beispiel
return false;
}
$qry = "SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id' AND bezeichnung=".$this->addslashes($bezeichnung);
$qry = "SELECT beispiel_id FROM campus.tbl_beispiel
WHERE uebung_id='".addslashes($uebung_id)."' AND bezeichnung=".$this->addslashes($bezeichnung);
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if(pg_num_rows($result)>0)
if($this->db_num_rows()>0)
return true;
else
return false;
}
else
{
$this->errormsg ='Fehler beim lesen der Beispiele';
$this->errormsg ='Fehler beim Lesen der Beispiele';
return false;
}
}
function studentbeispiel_exists($uid,$beispiel_id)
/**
* Prueft ob ein Beispiel existiert
*
* @param $uid
* @param $beispiel_id
* @return boolean
*/
public function studentbeispiel_exists($uid,$beispiel_id)
{
if(!is_numeric($beispiel_id))
{
@@ -300,23 +315,30 @@ class beispiel
return false;
}
$qry = "SELECT vorbereitet FROM campus.tbl_studentbeispiel WHERE beispiel_id='$beispiel_id' AND student_uid='".addslashes($uid)."'";
$qry = "SELECT vorbereitet FROM campus.tbl_studentbeispiel
WHERE beispiel_id='".addslashes($beispiel_id)."' AND student_uid='".addslashes($uid)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if(pg_num_rows($result)>0)
if($this->db_num_rows()>0)
return true;
else
return false;
}
else
{
$this->errormsg = 'Fehler beim lesen der aus der DB';
$this->errormsg = 'Fehler beim Lesen der aus der DB';
return false;
}
}
function delete($beispiel_id)
/**
* Loescht ein Beispiel
*
* @param $beispiel_id
* @return unknown
*/
public function delete($beispiel_id)
{
if(!is_numeric($beispiel_id))
{
@@ -324,30 +346,38 @@ class beispiel
return false;
}
$qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id='$beispiel_id';
DELETE FROM campus.tbl_beispiel WHERE beispiel_id='$beispiel_id';";
$qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id='".addslashes($beispiel_id)."';
DELETE FROM campus.tbl_beispiel WHERE beispiel_id='".addslashes($beispiel_id)."';";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim loeschen des Beispiels';
$this->errormsg = 'Fehler beim schen des Beispiels';
return false;
}
}
function load_studentbeispiel($uid, $beispiel_id)
/**
* Laedt ein Beispiel eines Studenten
*
* @param $uid
* @param $beispiel_id
* @return boolean
*/
public function load_studentbeispiel($uid, $beispiel_id)
{
if(!is_numeric($beispiel_id))
{
$this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM campus.tbl_studentbeispiel WHERE student_uid='$uid' AND beispiel_id='$beispiel_id'";
$qry = "SELECT * FROM campus.tbl_studentbeispiel
WHERE student_uid='".addslashes($uid)."' AND beispiel_id='".addslashes($beispiel_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->beispiel_id = $row->beispiel_id;
$this->student_uid = $row->student_uid;
@@ -361,29 +391,36 @@ class beispiel
}
else
{
$this->errormsg = 'Fehler beim laden des Student_Beispiels';
$this->errormsg = 'Fehler beim Laden des Student_Beispiels';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim laden des Student_Beispiels';
$this->errormsg = 'Fehler beim Laden des Student_Beispiels';
return false;
}
}
function check_anzahl_studentbeispiel($beispiel_id)
/**
* Prueft die Anzahl der vorbereiteten Beispiele
*
* @param $beispiel_id
* @return boolean
*/
public function check_anzahl_studentbeispiel($beispiel_id)
{
if(!is_numeric($beispiel_id))
{
$this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE vorbereitet = true and beispiel_id='$beispiel_id'";
$qry = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel
WHERE vorbereitet = true and beispiel_id='".addslashes($beispiel_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->anzahl_studentbeispiel = $row->anzahl;
return true;
@@ -400,10 +437,11 @@ class beispiel
return false;
}
}
// **
// * Prueft die studentbeispiel Daten auf gueltigkeit
// *
function studentbeispiel_validate()
/**
* Prueft die studentbeispiel Daten auf Gueltigkeit
*/
private function studentbeispiel_validate()
{
if(!is_numeric($this->beispiel_id))
{
@@ -413,11 +451,11 @@ class beispiel
return true;
}
// **
// * Speichert einen Studentbeispiel Datensatz in die DB
// *
// *
function studentbeispiel_save($new=null)
/**
* Speichert einen Studentbeispiel Datensatz in die DB
*
*/
public function studentbeispiel_save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -449,7 +487,7 @@ class beispiel
" WHERE beispiel_id=".$this->beispiel_id." AND student_uid=".$this->addslashes($this->student_uid).';';
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
}
+28 -26
View File
@@ -19,7 +19,7 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('person.class.php');
require_once(dirname(__FILE__).'/person.class.php');
class benutzer extends person
{
@@ -29,10 +29,10 @@ class benutzer extends person
public $alias; // varchar(256)
public $bn_ext_id;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer
// * @param $uid Benutzer der geladen werden soll (default=null)
// *************************************************************************
/**
* Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer
* @param $uid Benutzer der geladen werden soll (default=null)
*/
public function __construct($uid=null)
{
parent::__construct();
@@ -41,10 +41,10 @@ class benutzer extends person
$this->load($uid);
}
// ***********************************************************
// * Laedt Benutzer mit der uebergebenen ID
// * @param $uid ID der Person die geladen werden soll
// ***********************************************************
/**
* Laedt Benutzer mit der uebergebenen ID
* @param $uid ID der Person die geladen werden soll
*/
public function load($uid)
{
$qry = "SELECT * FROM public.tbl_benutzer WHERE uid='".addslashes($uid)."'";
@@ -74,11 +74,11 @@ class benutzer extends person
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(strlen($this->uid)>32)
@@ -127,12 +127,12 @@ class benutzer extends person
return true;
}
// ******************************************************************
// * Speichert die Benutzerdaten in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
// * ansonsten der Datensatz mit $uid upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ******************************************************************
/**
* Speichert die Benutzerdaten in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
* ansonsten der Datensatz mit $uid upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null, $saveperson=true)
{
if($saveperson)
@@ -199,9 +199,10 @@ class benutzer extends person
}
}
// ****
// * Prueft ob die UID bereits existiert
// ****
/**
* Prueft ob die UID bereits existiert
* @param uid
*/
public function uid_exists($uid)
{
$qry = "SELECT * FROM public.tbl_benutzer WHERE uid='".addslashes($uid)."'";
@@ -228,9 +229,10 @@ class benutzer extends person
}
// ****
// * Prueft ob der alias bereits existiert
// ****
/**
* Prueft ob der alias bereits existiert
* @param $alias
*/
public function alias_exists($alias)
{
$qry = "SELECT * FROM public.tbl_benutzer WHERE alias='".addslashes($alias)."'";
+52 -53
View File
@@ -20,12 +20,11 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/
require_once('basis_db.class.php');
require_once('organisationseinheit.class.php');
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/organisationseinheit.class.php');
class benutzerberechtigung extends basis_db
{
public $errormsg; // string
public $new; // boolean
public $berechtigungen = array(); // benutzerberechtigung Objekt
@@ -53,10 +52,10 @@ class benutzerberechtigung extends basis_db
public $fix;
public $lektor;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
// * @param $benutzerberechtigung_id
// *************************************************************************
/**
* Konstruktor - Laedt optional eine Berechtigung
* @param $benutzerberechtigung_id
*/
public function __construct($benutzerberechtigung_id=null)
{
parent::__construct();
@@ -65,20 +64,20 @@ class benutzerberechtigung extends basis_db
$this->load($benutzerberechtigung_id);
}
// *********************************************************
// * Laedt eine Benutzerberechtigung
// * @param benutzerberechtigung_id
// *********************************************************
/**
* Laedt eine Benutzerberechtigung
* @param benutzerberechtigung_id
*/
public function load($benutzerberechtigung_id)
{
return true;
return false;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(strlen($this->art)>16)
@@ -121,12 +120,12 @@ class benutzerberechtigung extends basis_db
return true;
}
// ************************************************************
// * Speichert Benutzerberechtigung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
/**
* Speichert Benutzerberechtigung in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
@@ -175,12 +174,12 @@ class benutzerberechtigung extends basis_db
return false;
}
// ************************************************************
// * Speichert Benutzerberechtigung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
/**
* Speichert Benutzerberechtigung in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
function delete($benutzerberechtigung_id)
{
/*
@@ -195,12 +194,12 @@ class benutzerberechtigung extends basis_db
return false;
}
// *******************************************************************************
// * Laedt die Berechtigungen eines Users
// * @param $uid
// * @param $all wenn $all auf true gesetzt wird, werden auch bereits abgelaufene
//* berechtigungen geladen.
// *******************************************************************************
/**
* Laedt die Berechtigungen eines Users
* @param $uid
* @param $all wenn $all auf true gesetzt wird, werden auch bereits abgelaufene
* berechtigungen geladen.
*/
public function getBerechtigungen($uid,$all=false)
{
// Berechtigungen holen
@@ -315,15 +314,15 @@ class benutzerberechtigung extends basis_db
return true;
}
//****************************************************************************
// * Prueft ob die Berechtigung vorhanden ist. Vor der Verwendung muss die
// * Funktion getBerechtigungen aufgerufen werden.
// *
// * @param $berechtigung
// * @param $oe_kurzbz
// * @param $art
// * @return true wenn eine Berechtigung entspricht.
// ***************************************************************************
/**
* Prueft ob die Berechtigung vorhanden ist. Vor der Verwendung muss die
* Funktion getBerechtigungen aufgerufen werden.
*
* @param $berechtigung
* @param $oe_kurzbz
* @param $art
* @return true wenn eine Berechtigung entspricht.
*/
public function isBerechtigt($berechtigung_kurzbz,$oe_kurzbz=null,$art=null)
{
$timestamp=time();
@@ -359,10 +358,10 @@ class benutzerberechtigung extends basis_db
return false;
}
// ******************************************************
// * Prueft ob die Person Fixangestellt ist
// * @return true wenn ja, false wenn nein
// ******************************************************
/**
* Prueft ob die Person Fixangestellt ist
* @return true wenn ja, false wenn nein
*/
public function isFix()
{
if ($this->fix)
@@ -371,11 +370,11 @@ class benutzerberechtigung extends basis_db
return false;
}
// ********************************************************************
// * Gibt Array mit den Studiengangskennzahlen zurueck fuer welche die
// * Person eine Berechtigung besitzt.
// * Optional wird auf Berechtigung eingeschraenkt.
// ********************************************************************
/**
* Gibt Array mit den Studiengangskennzahlen zurueck fuer welche die
* Person eine Berechtigung besitzt.
* Optional wird auf Berechtigung eingeschraenkt.
*/
public function getStgKz($berechtigung_kurzbz=null)
{
$studiengang_kz=array();
+68 -85
View File
@@ -19,64 +19,49 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class benutzergruppe
class benutzergruppe extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $benutzergruppen = array(); // benutzergruppe Objekt
public $new;
public $benutzergruppen = array(); // benutzergruppe Objekt
//Tabellenspalten
var $uid; // varchar(16)
var $gruppe_kurzbz; // varchar(16)
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $studiensemester_kurzbz; // varchar(16)
public $uid; // varchar(16)
public $gruppe_kurzbz; // varchar(16)
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $studiensemester_kurzbz; // varchar(16)
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine BenutzerGruppe
// * @param $conn Datenbank-Connection
// * $uid
// * $gruppe_kurzbz
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function benutzergruppe($conn, $uid=null, $gruppe_kurzbz=null, $unicode=false)
/**
* Konstruktor - Laedt optional eine BenutzerGruppe
* @param $uid
* @param $gruppe_kurzbz
*/
public function __construct($uid=null, $gruppe_kurzbz=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($gruppe_kurzbz!=null && $uid!=null)
parent::__construct();
if(!is_null($gruppe_kurzbz) && !is_null($uid))
$this->load($uid, $gruppe_kurzbz);
}
// *********************************************************
// * Laedt die BenutzerGruppe
// * @param uid, gruppe_kurzbz, studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// *********************************************************
function load($uid, $gruppe_kurzbz, $studiensemester_kurzbz=null)
/**
* Laedt die BenutzerGruppe
* @param uid, gruppe_kurzbz, studiensemester_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function load($uid, $gruppe_kurzbz, $studiensemester_kurzbz=null)
{
$qry = "SELECT * FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
if($studiensemester_kurzbz!=null)
$qry.=" AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->uid = $row->uid;
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
@@ -95,29 +80,29 @@ class benutzergruppe
}
else
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
// *********************************************************
// * Laedt die User in einer Benutzergruppe
// * @param gruppe_kurzbz, stsem
// * @return true wenn ok, false im Fehlerfall
// *********************************************************
function load_uids($gruppe_kurzbz, $stsem)
/**
* Laedt die User in einer Benutzergruppe
* @param gruppe_kurzbz, stsem
* @return true wenn ok, false im Fehlerfall
*/
public function load_uids($gruppe_kurzbz, $stsem)
{
$qry = "SELECT * FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."' and studiensemester_kurzbz = '".$stsem."'";
$qry = "SELECT * FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."' and studiensemester_kurzbz = '".addslashes($stsem)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if (pg_num_rows($result) == 0)
if ($this->db_num_rows() == 0)
return false;
else
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$bg_obj = new benutzergruppe($this->conn);
$bg_obj = new benutzergruppe();
$bg_obj->uid = $row->uid;
$this->uids[] = $bg_obj;
}
@@ -126,17 +111,17 @@ class benutzergruppe
}
else
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(strlen($this->uid)>16)
{
@@ -162,24 +147,13 @@ class benutzergruppe
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert BenutzerGruppe in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert BenutzerGruppe in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -202,26 +176,35 @@ class benutzergruppe
else
{
//ToDo
$qry = 'Select 1;';
//$qry = 'Select 1;';
$this->errormsg = 'Update ist noch nicht implementiert';
return false;
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der BenutzerGruppe:'.$qry;
$this->errormsg = 'Fehler beim Speichern der BenutzerGruppe';
return false;
}
}
function delete($uid, $gruppe_kurzbz)
/**
* Loescht eine Gruppenzuordnung
*
* @param $uid
* @param $gruppe_kurzbz
* @return boolean
*/
public function delete($uid, $gruppe_kurzbz)
{
$qry = "DELETE FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
+61 -78
View File
@@ -19,79 +19,72 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class benutzerlvstudiensemester
class benutzerlvstudiensemester extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $benutzerlvstudiensemester = array(); // benutzerlvstudiensemester Objekt
public $new; // boolean
public $benutzerlvstudiensemester = array(); // benutzerlvstudiensemester Objekt
//Tabellenspalten
var $uid; // varchar(16)
var $studiensemester_kurzbz; // varchar(16)
var $lehrveranstaltung_id; // integer
public $uid; // varchar(16)
public $studiensemester_kurzbz; // varchar(16)
public $lehrveranstaltung_id; // integer
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Zuteilung
// * @param $conn Datenbank-Connection
// * $uid
// * $studiensemester_kurzbz
// * $lehrveranstaltung_nr
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function benutzerlvstudiensemester($conn, $uid=null, $studiensemester_kurzbz=null, $lehrveranstaltung_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional eine Zuteilung
* @param $uid
* @param $studiensemester_kurzbz
* @param $lehrveranstaltung_id
*/
public function __construct($uid=null, $studiensemester_kurzbz=null, $lehrveranstaltung_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
parent::__construct();
$this->new = true;
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
else
*/
$this->new = true;
if($uid!=null && $studiensemester_kurzbz!=null && $lehrveranstaltung_id!=null)
if(!is_null($uid) && !is_null($studiensemester_kurzbz) && !is_null($lehrveranstaltung_id))
$this->load($uid, $studiensemester_kurzbz, $lehrveranstaltung_id);
}
// *********************************************************
// * Laedt eine Zuteilung
// * @param $uid, $studiensemester_kurzbz, $lehrveranstaltung_nr
// *********************************************************
function load($uid, $studiensemester_kurzbz, $lehrveranstaltung_id)
/**
* Laedt eine Zuteilung
* @param $uid, $studiensemester_kurzbz, $lehrveranstaltung_nr
*/
public function load($uid, $studiensemester_kurzbz, $lehrveranstaltung_id)
{
$this->errormsg = 'Not implemented';
return false;
}
//**********************************************************
//* Laedt alle uids in zu einer lv/szudiensemester - kombination
//* gibt auch vor- und Nachname zurueck
//**********************************************************
function get_all_uids($studiensemester_kurzbz, $lehrveranstaltung_id)
/**
* Laedt alle uids in zu einer lv/szudiensemester - kombination
* gibt auch vor- und Nachname zurueck
* @param studiensemester_kurzbz
* @param lehrveranstaltung_id
* @return boolean
*/
public function get_all_uids($studiensemester_kurzbz, $lehrveranstaltung_id)
{
$qry = "SELECT tbl_benutzerlvstudiensemester.uid, vw_benutzer.nachname, vw_benutzer.vorname FROM campus.tbl_benutzerlvstudiensemester, campus.vw_benutzer where studiensemester_kurzbz='".$studiensemester_kurzbz."' AND lehrveranstaltung_id = '".$lehrveranstaltung_id."' and vw_benutzer.uid = tbl_benutzerlvstudiensemester.uid order by nachname";
if(!$res = pg_query($this->conn, $qry))
$qry = "SELECT tbl_benutzerlvstudiensemester.uid, vw_benutzer.nachname, vw_benutzer.vorname
FROM campus.tbl_benutzerlvstudiensemester, campus.vw_benutzer
WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'
AND lehrveranstaltung_id = '".addslashes($lehrveranstaltung_id)."'
AND vw_benutzer.uid = tbl_benutzerlvstudiensemester.uid ORDER BY nachname";
if(!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
if (pg_num_rows($res) == 0)
if ($this->db_num_rows() == 0)
return false;
else
{
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$lv_obj = new benutzerlvstudiensemester($this->conn);
$lv_obj = new benutzerlvstudiensemester();
$lv_obj->uid = $row->uid;
$lv_obj->nachname = $row->nachname;
$lv_obj->vorname = $row->vorname;
@@ -99,15 +92,14 @@ class benutzerlvstudiensemester
}
return true;
}
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(strlen($this->uid)>16)
{
@@ -127,24 +119,13 @@ class benutzerlvstudiensemester
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Zuteilung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert Zuteilung in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(!is_null($new))
$this->new = $new;
@@ -163,10 +144,12 @@ class benutzerlvstudiensemester
else
{
// ToDo
$qry = 'Select 1;';
//$qry = 'Select 1;';
$this->errormsg = 'Update ist noch nicht implementiert';
return false;
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
$this->new = false;
@@ -174,7 +157,7 @@ class benutzerlvstudiensemester
}
else
{
$this->errormsg = 'Fehler beim Speichern der BenutzerLVStudiensemester:'.$qry;
$this->errormsg = 'Fehler beim Speichern der BenutzerLVStudiensemester';
return false;
}
}
+62 -175
View File
@@ -19,196 +19,83 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class berechtigung
class berechtigung extends basis_db
{
/**
* interne userberechtigung_id (Zaehler aus DB)
* @var integer
*/
var $userberechtigung_id;
/**
* @var integer
*/
var $studiengang_kz;
/**
* @var integer
*/
var $fachbereich_id;
/**
* @var string
*/
var $berechtigung_kurzbz;
/**
* @var string
*/
var $uid;
/**
* @var string
*/
var $studiensemester_kurzbz;
/**
* @var integer
*/
var $start;
/**
* @var integer
*/
var $ende;
/**
* @var integer
*/
var $starttimestamp;
/**
* @var integer
*/
var $endetimestamp;
/**
* @var string
*/
var $art;
public $berechtigungen=array();
public $new;
public $rolle_kurzbz;
public $beschreibung;
public $berechtigung_kurzbz;
/**
* @var array
* Konstruktor
* @param
*/
var $berechtigungen=array();
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
//Tabellenspalten
var $beschreibung; // varchar(256)
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
// * @param $conn Datenbank-Connection
// * $berechtigung_kurzbz
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function berechtigung($conn, $berechtigung_kurzbz=null, $unicode=false)
public function __construct()
{
$this->conn = $conn;
$this->new=true;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
if($berechtigung_kurzbz!=null)
$this->load($berechtigung_kurzbz);
}
// *********************************************************
// * Laedt eine Berechtigung
// * @param berechtigung_kurzbz
// *********************************************************
function load($berechtigung_kurzbz)
{
return true;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
{
if(strlen($this->berechtigung_kurzbz)>16)
{
$this->errormsg = 'Berechtigung_kurzbz darf nicht laenger als 16 Zeichen sein';
return false;
}
if(strlen($this->beschreibung)>256)
{
$this->errormsg = 'Beschreibung darf nicht laenger als 256 Zeichen sein';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Berechtigung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
if($this->new)
{
$qry = 'INSERT INTO public.tbl_berechtigung (berechtigung_kurzbz, beschreibung)
VALUES('.$this->addslashes($this->berechtigung_kurzbz).','.
$this->addslashes($this->beschreibung).');';
}
else
{
$qry = 'UPDATE public.tbl_berechtigung SET'.
' beschreibung='.$this->addslashes($this->beschreibung).
" WHERE berechtigung_kurzbz='".addslashes($this->berechtigung_kurzbz)."'";
}
if(pg_query($this->conn,$qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Berechtigung:'.$qry;
return false;
}
parent::__construct();
}
// ************************************************************
// * Holt alle Berechtigungen aus der Datenbank
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function getAll()
/**
* Holt alle BerechtigungsRollen
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function getRollen()
{
$qry = 'SELECT * FROM tbl_berechtigung';
$qry = 'SELECT * FROM system.tbl_rolle';
if(!$res = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new berechtigung();
$obj->rolle_kurzbz=$row->rolle_kurzbz;
$obj->beschreibung=$row->beschreibung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
}
}
/**
* Laedt alle Berechtigungen zu einer rolle
*
* @param $rolle_kurzbz
*/
public function getRolleBerechtigung($rolle_kurzbz)
{
$qry = "SELECT * FROM system.tbl_rolleberechtigung JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
WHERE rolle_kurzbz='".addslashes($rolle_kurzbz)."' ORDER BY berechtigung_kurzbz, beschreibung";
if($this->db_query($qry))
{
$b_obj = new berechtigung($this->conn);
$b_obj->berechtigung_kurzbz=$row->berechtigung_kurzbz;
$b_obj->beschreibung=$row->beschreibung;
$this->result[] = $b_obj;
while($row = $this->db_fetch_object())
{
$obj = new berechtigung();
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$obj->rolle_kurzbz = $row->rolle_kurzbz;
$obj->beschreibung = $row->beschreibung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Berechtigungen';
return false;
}
return true;
}
}
?>
+66 -88
View File
@@ -23,63 +23,44 @@
* Klasse Betriebsmittel
* @create 22-01-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class betriebsmittel
class betriebsmittel extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result;
var $done=false; // @var boolean
public $new; // boolean
public $result;
//Tabellenspalten
var $betriebsmittel_id; // @var integer
var $betriebsmitteltyp; // @var string
var $nummer; // @var string
var $nummerintern; // @var string
var $reservieren; // @var boolean
var $ort_kurzbz; // @var string
var $ext_id; // @var integer
var $insertamum; // @var timestamp
var $insertvon; // @var bigint
var $updateamum; // @var timestamp
var $updatevon; // @var bigint
public $betriebsmittel_id; // integer
public $betriebsmitteltyp; // string
public $nummer; // string
public $nummerintern; // string
public $reservieren; // boolean
public $ort_kurzbz; // string
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
/**
* Konstruktor
* @param $conn Connection
* $betriebsmittel_id ID des Betrtiebsmittels, das geladen werden soll (Default=null)
* @param $betriebsmittel_id ID des Betrtiebsmittels, das geladen werden soll (Default=null)
*/
function betriebsmittel($conn,$betriebsmittel_id=null, $unicode=false)
public function __construct($betriebsmittel_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg= "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
parent::__construct();
if(!is_null($betriebsmittel_id))
$this->load($betriebsmittel_id);
}
// **************************************************************
// * Laedt das Betriebsmittel mit der ID $betriebsmittel_id
// * @param $betriebsmittel_id ID des zu ladenden Betriebsmittel
// * @return true wenn ok, false im Fehlerfall
// ***************************************************************
function load($betriebsmittel_id)
/**
* Laedt das Betriebsmittel mit der ID $betriebsmittel_id
* @param $betriebsmittel_id ID des zu ladenden Betriebsmittel
* @return true wenn ok, false im Fehlerfall
*/
public function load($betriebsmittel_id)
{
if(!is_numeric($betriebsmittel_id))
{
@@ -87,11 +68,11 @@ class betriebsmittel
return false;
}
$qry = "SELECT * FROM public.tbl_betriebsmittel WHERE betriebsmittel_id='$betriebsmittel_id'";
$qry = "SELECT * FROM public.tbl_betriebsmittel WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->betriebsmittel_id = $row->betriebsmittel_id;
$this->beschreibung = $row->beschreibung;
@@ -115,38 +96,27 @@ class betriebsmittel
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
// *************************************
// * Prueft die Daten vor dem Speichern
// * auf Gueltigkeit
// *************************************
function validate()
/**
* Prueft die Daten vor dem Speichern
* auf Gueltigkeit
*/
protected function validate()
{
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *******************************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if($new==null)
$new=$this->new;
@@ -168,7 +138,6 @@ class betriebsmittel
$this->addslashes($this->ext_id).', now(), '.
$this->addslashes($this->insertvon).', now(), '.
$this->addslashes($this->updatevon).');';
$this->done=true;
}
else
{
@@ -191,14 +160,14 @@ class betriebsmittel
'WHERE betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('public.tbl_betriebsmittel_betriebsmittel_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->betriebsmittel_id = $row->id;
}
@@ -228,7 +197,7 @@ class betriebsmittel
* @param $betriebsmittel_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($betriebsmittel_id)
public function delete($betriebsmittel_id)
{
if(!is_numeric($betriebsmittel_id))
{
@@ -236,26 +205,35 @@ class betriebsmittel
return false;
}
$qry = "DELETE FROM public.tbl_betriebsmittel WHERE betriebsmittel_id='$betriebsmittel_id'";
$qry = "DELETE FROM public.tbl_betriebsmittel WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim loeschen der Daten';
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
function getBetriebsmittel($betriebsmitteltyp, $nummer)
/**
* Laedt die Betriebsmittel
*
* @param $betriebsmitteltyp
* @param $nummer
* @return boolean
*/
public function getBetriebsmittel($betriebsmitteltyp, $nummer)
{
$qry = "SELECT * FROM public.tbl_betriebsmittel WHERE betriebsmitteltyp='".addslashes($betriebsmitteltyp)."' AND nummer='".addslashes($nummer)."' ORDER BY updateamum DESC";
$qry = "SELECT * FROM public.tbl_betriebsmittel
WHERE betriebsmitteltyp='".addslashes($betriebsmitteltyp)."' AND nummer='".addslashes($nummer)."'
ORDER BY updateamum DESC";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$bm = new betriebsmittel($this->conn, null, null);
$bm = new betriebsmittel();
$bm->betriebsmittel_id = $row->betriebsmittel_id;
$bm->beschreibung = $row->beschreibung;
+83 -105
View File
@@ -23,79 +23,59 @@
* Klasse Betriebsmittelperson
* @create 13-01-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class betriebsmittelperson
class betriebsmittelperson extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array();
var $done=false; // @var boolean
public $new; // boolean
public $result = array();
//Tabellenspalten
var $betriebsmittel_id; // @var integer
var $person_id; // @var integer
var $betriebsmittel_id_old; // @var integer
var $person_id_old; // @var integer
var $anmerkung; // @var string
var $kaution; // @var numeric(5,2)
var $ausgegebenam; // @var date
var $retouram; // @var date
var $ext_id; // @var integer
var $insertamum; // @var timestamp
var $insertvon; // @var bigint
var $updateamum; // @var timestamp
var $updatevon; // @var bigint
public $betriebsmittel_id; // integer
public $person_id; // integer
public $betriebsmittel_id_old; // integer
public $person_id_old; // integer
public $anmerkung; // string
public $kaution; // numeric(5,2)
public $ausgegebenam; // date
public $retouram; // date
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
var $nummer;
var $betriebsmitteltyp;
var $beschreibung;
public $nummer;
public $betriebsmitteltyp;
public $beschreibung;
// ************************************
// * Konstruktor
// * @param $conn Connection
// * $betriebsmittel_id
// * $person_id
// * $unicode
// ************************************
function betriebsmittelperson($conn,$betriebsmittel_id=null,$person_id=null, $unicode=false)
/**
* Konstruktor
* @param $betriebsmittel_id
* $person_id
*/
public function __construct($betriebsmittel_id=null,$person_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($betriebsmittel_id!=null && $person_id!=null)
parent::__construct();
if(!is_null($betriebsmittel_id) && !is_null($person_id))
$this->load($betriebsmittel_id, $person_id);
}
// *********************************************************************
// * Laedt das Betriebsmittel mit der ID $betriebsmittel_id, person_id
// * @param $betriebsmittel_id ID des zu ladenden Betriebsmittels
// * $person_id ID der zu ladenden Person
// * @return true wenn ok, false im Fehlerfall
// *********************************************************************
function load($betriebsmittel_id, $person_id)
/**
* Laedt das Betriebsmittel mit der ID $betriebsmittel_id, person_id
* @param $betriebsmittel_id ID des zu ladenden Betriebsmittels
* $person_id ID der zu ladenden Person
* @return true wenn ok, false im Fehlerfall
*/
public function load($betriebsmittel_id, $person_id)
{
if(!is_numeric($betriebsmittel_id))
{
$this->errormsg = 'Betriebsmittel_id ist ungueltig';
return false;
}
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id ist ungueltig';
@@ -103,10 +83,11 @@ class betriebsmittelperson
}
$qry = "SELECT * FROM public.tbl_betriebsmittel JOIN public.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE betriebsmittel_id='$betriebsmittel_id' AND person_id='$person_id'";
if($result = pg_query($this->conn, $qry))
WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."' AND person_id='".addslashes($person_id)."'";
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->betriebsmittel_id = $row->betriebsmittel_id;
$this->beschreibung = $row->beschreibung;
@@ -140,7 +121,12 @@ class betriebsmittelperson
}
}
function validate()
/**
* Prueft die Variablen vor dem Speichern
*
* @return true wenn ok, sonst false
*/
protected function validate()
{
if(!is_numeric($this->kaution))
{
@@ -176,26 +162,15 @@ class betriebsmittelperson
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ******************************************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id, $person_id aktualisiert
// * @param $new
// * @return true wenn ok, false im Fehlerfall
// ******************************************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $betriebsmittel_id, $person_id aktualisiert
* @param $new
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
@@ -209,9 +184,10 @@ class betriebsmittelperson
$qry = "SELECT 1 FROM public.tbl_betriebsmittelperson
WHERE person_id='".addslashes($this->person_id)."' AND
betriebsmittel_id='".addslashes($this->betriebsmittel_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if(pg_num_rows($result)>0)
if($this->db_num_rows()>0)
{
$this->errormsg = 'Dieses Betriebsmittel ist der Person bereits zugeordnet';
return false;
@@ -236,7 +212,7 @@ class betriebsmittelperson
//Pruefen ob betriebsmittel_id eine gueltige Zahl ist
if(!is_numeric($this->betriebsmittel_id) || !is_numeric($this->person_id))
{
$this->errormsg = "betriebsmittel_id und Person_id muessen gueltige Zahlen sein: ".$this->betriebsmittel_id." (".$this->person_id.")\n";
$this->errormsg = 'betriebsmittel_id und Person_id muessen gueltige Zahlen sein';
return false;
}
if($this->betriebsmittel_id_old=='')
@@ -258,7 +234,7 @@ class betriebsmittelperson
' AND person_id='.$this->addslashes($this->person_id_old).";";
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -269,13 +245,13 @@ class betriebsmittelperson
}
}
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $betriebsmittel_id ID die geloescht werden soll
// * @param $person_id ID die geloescht werden soll
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($betriebsmittel_id, $person_id)
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $betriebsmittel_id ID die geloescht werden soll
* @param $person_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($betriebsmittel_id, $person_id)
{
if(!is_numeric($betriebsmittel_id))
{
@@ -289,23 +265,24 @@ class betriebsmittelperson
return false;
}
$qry = "DELETE FROM public.tbl_betriebsmittelperson WHERE betriebsmittel_id='$betriebsmittel_id' AND person_id='$person_id'";
$qry = "DELETE FROM public.tbl_betriebsmittelperson
WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."' AND person_id='".addslashes($person_id)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
else
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
// *****************************************
// * Laedt alle Betriebsmittel einer Person
// * @param person_id, $betriebsmittel_id
// * @return true wenn ok, false wenn Fehler
// *****************************************
function getBetriebsmittelPerson($person_id, $betriebsmitteltyp=null)
/**
* Laedt alle Betriebsmittel einer Person
* @param person_id, $betriebsmittel_id
* @return true wenn ok, false wenn Fehler
*/
public function getBetriebsmittelPerson($person_id, $betriebsmitteltyp=null)
{
if(!is_numeric($person_id))
{
@@ -313,16 +290,17 @@ class betriebsmittelperson
return false;
}
$qry = "SELECT * FROM public.tbl_betriebsmittel JOIN public.tbl_betriebsmittelperson USING(betriebsmittel_id) WHERE person_id='".addslashes($person_id)."'";
$qry = "SELECT * FROM public.tbl_betriebsmittel JOIN public.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE person_id='".addslashes($person_id)."'";
if(!is_null($betriebsmitteltyp))
$qry.=" AND betriebsmitteltyp='".addslashes($betriebsmitteltyp)."'";
$qry.=" ORDER BY betriebsmitteltyp, nummer";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$bm = new betriebsmittelperson($this->conn, null, null, null);
$bm = new betriebsmittelperson();
$bm->betriebsmittel_id = $row->betriebsmittel_id;
$bm->beschreibung = $row->beschreibung;
+48 -74
View File
@@ -24,71 +24,55 @@
* Klasse betriebsmitteltyp (FAS-Online)
* @create 13-01-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class betriebsmitteltyp
class betriebsmitteltyp extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $result = array();
public $new;
public $result = array();
//Tabellenspalten
var $betriebsmitteltyp; //string
var $beschreibung; //string
var $anzahl; //smallint
var $kaution; //numeric(5,2)
public $betriebsmitteltyp; //string
public $beschreibung; //string
public $anzahl; //smallint
public $kaution; //numeric(5,2)
// ************************************************
// * Konstruktor
// * @param $conn Connection zur DB
// * $betriebsmitteltyp
// ************************************************
function betriebsmitteltyp($conn, $betriebsmitteltyp=null, $unicode=false)
/**
* Konstruktor
* @param $betriebsmitteltyp
*/
public function __construct($betriebsmitteltyp=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
*/
parent::__construct();
if($betriebsmitteltyp!=null)
$this->load($betriebsmitteltyp);
}
// *******************************************************
// * Laedt die Funktion mit der ID $betriebsmitteltyp
// * @param $betriebsmitteltyp
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function load($code)
/**
* Laedt die Funktion mit der ID $betriebsmitteltyp
* @param $betriebsmitteltyp
* @return true wenn ok, false im Fehlerfall
*/
public function load($betriebsmitteltyp)
{
$this->errormsg = 'Noch nicht implementiert';
$this->errormsg = 'Noch nicht implementiert';
return false;
}
// *****************************************
// * Laedt alle betriebsmitteltypen
// * @return true wenn ok, false wenn Fehler
// *****************************************
function getAll()
/**
* Laedt alle BetriebsmittelTypen
* @return true wenn ok, false wenn Fehler
*/
public function getAll()
{
$qry = "SELECT * FROM public.tbl_betriebsmitteltyp ORDER BY betriebsmitteltyp";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$bmt = new betriebsmitteltyp($this->conn, null, null);
$bmt = new betriebsmitteltyp();
$bmt->betriebsmitteltyp = $row->betriebsmitteltyp;
$bmt->beschreibung = $row->beschreibung;
@@ -101,44 +85,34 @@ class betriebsmitteltyp
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert die Daten in die Datenbank
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
/**
* Speichert die Daten in die Datenbank
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
$dbanzahl=0;
$qry='';
$qry1='SELECT * FROM public.tbl_betriebsmitteltyp WHERE beschreibung='.$this->addslashes($this->beschreibung).';';
if($result1=pg_query($this->conn,$qry1))
if($this->db_query($qry1))
{
if(pg_num_rows($result1)>0) //eintrag gefunden
if($this->db_num_rows()>0) //eintrag gefunden
{
if($row1 = pg_fetch_object($result1))
if($row1 = $this->db_fetch_object())
{
if($row1->anzahl==null)
{
$dbanzahl=0;
}
else
{
$dbanzahl=$row1->anzahl;
}
$qry='UPDATE public.tbl_betriebsmitteltyp SET '.
'anzahl ='.$dbanzahl."+".$this->anzahl.' '.
'anzahl ='.addslashes($dbanzahl)."+".addslashes($this->anzahl).' '.
'WHERE beschreibung='.$this->addslashes($this->beschreibung).';';
echo nl2br($qry."\n");
}
}
else
@@ -148,21 +122,21 @@ class betriebsmitteltyp
$this->addslashes($this->beschreibung).', '.
$this->addslashes($this->anzahl).', '.
$this->addslashes($this->kaution).');';
echo nl2br($qry."\n");
}
if(pg_query($this->conn,$qry))
}
if($this->db_query($qry))
{
return true;
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Betriebsmitteltypen-Datensatzes: '.$this->betriebsmitteltyp.' '.$qry;
$this->errormsg = 'Fehler beim Speichern des Betriebsmitteltypen-Datensatzes';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Zugriff auf den Betriebsmitteltypen-Datensatz: '.$this->betriebsmitteltyp.' '.$qry;
$this->errormsg = 'Fehler beim Zugriff auf den Betriebsmitteltypen-Datensatz';
return false;
}
}
+67 -87
View File
@@ -19,58 +19,42 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class bisfunktion
class bisfunktion extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var email Objekt
public $new; // boolean
public $result = array(); // email Objekt
//Tabellenspalten
var $bisverwendung_id;
var $studiengang_kz;
var $sws;
var $updateamum;
var $updatevon;
var $insertamum;
var $insertvon;
var $ext_id;
var $studiengang_kz_old;
public $bisverwendung_id;
public $studiengang_kz;
public $sws;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $ext_id;
public $studiengang_kz_old;
// ***********************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// * bisverwendung_id ID des zu ladenden Datensatzes
// ***********************************************
function bisfunktion($conn, $bisverwendung_id=null, $studiengang_kz=null, $unicode=false)
/**
* Konstruktor
* @param bisverwendung_id ID des zu ladenden Datensatzes
*/
public function __construct($bisverwendung_id=null, $studiengang_kz=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($bisverwendung_id != null && $studiengang_kz != null)
parent::__construct();
if(!is_null($bisverwendung_id) && !is_null($studiengang_kz))
$this->load($bisverwendung_id, $studiengang_kz);
}
// ***********************************************
// * Laedt einen Datensatz
// * @param bisverwendung_id ID des zu ladenden Datensatzes
// * studiengang_kz
// ***********************************************
function load($bisverwendung_id, $studiengang_kz)
/**
* Laedt einen Datensatz
* @param bisverwendung_id ID des zu ladenden Datensatzes
* studiengang_kz
*/
public function load($bisverwendung_id, $studiengang_kz)
{
//bisverwendung_id auf gueltigkeit pruefen
if(!is_numeric($bisverwendung_id) || $bisverwendung_id == '')
@@ -87,9 +71,9 @@ class bisfunktion
//laden des Datensatzes
$qry = "SELECT * FROM bis.tbl_bisfunktion WHERE bisverwendung_id='$bisverwendung_id' AND studiengang_kz='$studiengang_kz'";
if($result = pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->bisverwendung_id = $row->bisverwendung_id;
$this->studiengang_kz = $row->studiengang_kz;
@@ -100,9 +84,9 @@ class bisfunktion
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
return true;
return true;
}
else
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
@@ -115,14 +99,14 @@ class bisfunktion
}
}
// **************************************************
// * Loescht einen Datensatz
// * @param bisverwendung_id ID des zu loeschenden Datensatzes
// * @return true wenn ok, false im Fehlerfall
// **************************************************
function delete($bisverwendung_id, $studiengang_kz)
/**
* Loescht einen Datensatz
* @param bisverwendung_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($bisverwendung_id, $studiengang_kz)
{
//akte_id auf gueltigkeit pruefen
//id auf gueltigkeit pruefen
if(!is_numeric($bisverwendung_id) || $bisverwendung_id == '')
{
$this->errormsg = 'bisverwendung_id muss eine gueltige Zahl sein';
@@ -136,7 +120,7 @@ class bisfunktion
$qry = "DELETE FROM bis.tbl_bisfunktion WHERE bisverwendung_id = '$bisverwendung_id' AND studiengang_kz='$studiengang_kz';";
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
@@ -148,7 +132,12 @@ class bisfunktion
}
}
function validate()
/**
* Prueft die Variablen vor dem Speichern auf Gueltigkeit
*
* @return true wenn ok, sonst false
*/
protected function validate()
{
if($this->sws!='' && !is_numeric($this->sws))
@@ -158,28 +147,18 @@ class bisfunktion
}
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *********************************************************************
// * Speichert den aktuellen Datensatz
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *********************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
@@ -212,10 +191,10 @@ class bisfunktion
" updateamum=".$this->addslashes($this->updateamum).",".
" updatevon=".$this->addslashes($this->updatevon).",".
" ext_id=".$this->addslashes($this->ext_id).
" WHERE bisverwendung_id='".addslashes($this->bisverwendung_id)."' AND studiengang_kz='$this->studiengang_kz_old'";
" WHERE bisverwendung_id='".addslashes($this->bisverwendung_id)."' AND studiengang_kz='".addslashes($this->studiengang_kz_old)."'";
}
//echo $qry;
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -226,12 +205,12 @@ class bisfunktion
}
}
// ********************************************
// * Laedt alle Verwendungen eines Mitarbeiters
// * @param $uid UID des Mitarbeiters
// * @return true wenn ok, false wenn Fehler
// ********************************************
function getBisFunktion($bisverwendung_id, $studiengang_kz=null)
/**
* Laedt alle Verwendungen eines Mitarbeiters
* @param $uid UID des Mitarbeiters
* @return true wenn ok, false wenn Fehler
*/
public function getBisFunktion($bisverwendung_id, $studiengang_kz=null)
{
//laden des Datensatzes
$qry = "SELECT * FROM bis.tbl_bisfunktion WHERE bisverwendung_id='".addslashes($bisverwendung_id)."'";
@@ -240,11 +219,12 @@ class bisfunktion
$qry.=" AND studiengang_kz='".addslashes($studiengang_kz)."'";
$qry.=" ORDER BY studiengang_kz";
if($result = pg_query($this->conn,$qry))
if($this->db_query($qry))
{
while($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new bisfunktion($this->conn, null, null, null);
$obj = new bisfunktion();
$obj->bisverwendung_id = $row->bisverwendung_id;
$obj->studiengang_kz = $row->studiengang_kz;
+75 -109
View File
@@ -23,71 +23,50 @@
* Klasse bisio - Incomming/Outgoing
* @create 2007-05-14
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class bisio
class bisio extends basis_db
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result = array(); // adresse Objekt
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
var $bisio_id; // serial
var $mobilitaetsprogramm_code; // integer
var $mobilitaetsprogramm_kurzbz;
var $nation_code; // varchar(3)
var $von; // date
var $bis; // date
var $zweck_code; // varchar(20)
var $zweck_bezeichnung;
var $student_uid; // varchar(16)
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $ext_id; // bigint
var $ort;
var $universitaet;
var $lehreinheit_id;
public $bisio_id; // serial
public $mobilitaetsprogramm_code; // integer
public $mobilitaetsprogramm_kurzbz;
public $nation_code; // varchar(3)
public $von; // date
public $bis; // date
public $zweck_code; // varchar(20)
public $zweck_bezeichnung;
public $student_uid; // varchar(16)
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $ext_id; // bigint
public $ort;
public $universitaet;
public $lehreinheit_id;
// **************************************************************************
// * Konstruktor
// * @param $conn Connection
// * $bisio_id ID die geladen werden soll (Default=null)
// * $unicode Wenn true dann wird das Encoding auf Unicode gesetzt
// **************************************************************************
function bisio($conn, $bisio_id=null, $unicode=false)
/**
* Konstruktor
* @param $bisio_id ID die geladen werden soll (Default=null)
*/
public function __construct($bisio_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($bisio_id!=null)
parent::__construct();
if(!is_null($bisio_id))
$this->load($bisio_id);
}
// ************************************************
// * Laedt die Funktion mit der ID $buchungsnr
// * @param $buchungsnr ID der zu ladenden Email
// * @return true wenn ok, false im Fehlerfall
// ************************************************
function load($bisio_id)
/**
* Laedt die Funktion mit der ID $buchungsnr
* @param $buchungsnr ID der zu ladenden Email
* @return true wenn ok, false im Fehlerfall
*/
public function load($bisio_id)
{
if(!is_numeric($bisio_id))
{
@@ -97,9 +76,9 @@ class bisio
$qry = "SELECT * FROM bis.tbl_bisio WHERE bisio_id='$bisio_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->bisio_id = $row->bisio_id;
$this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
@@ -132,11 +111,11 @@ class bisio
}
}
// *******************************************
// * Prueft die Variablen auf Gueltigkeit
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(!is_numeric($this->mobilitaetsprogramm_code))
{
@@ -176,26 +155,15 @@ class bisio
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ***********************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert
// * @param $new true wenn insert false wenn update
// * @return true wenn ok, false im Fehlerfall
// ***********************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert
* @param $new true wenn insert false wenn update
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
//Variablen pruefen
if(!$this->validate())
@@ -242,31 +210,30 @@ class bisio
' lehreinheit_id='.$this->addslashes($this->lehreinheit_id).
" WHERE bisio_id='".addslashes($this->bisio_id)."';";
}
//echo $qry;
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('bis.tbl_bisio_bisio_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->bisio_id = $row->id;
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
return false;
}
}
@@ -279,12 +246,12 @@ class bisio
}
}
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param bisio_id ID die geloescht werden soll
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($bisio_id)
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param bisio_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($bisio_id)
{
if(!is_numeric($bisio_id))
{
@@ -294,7 +261,7 @@ class bisio
$qry = "DELETE FROM bis.tbl_bisio WHERE bisio_id='$bisio_id'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
@@ -303,13 +270,13 @@ class bisio
}
}
// *****************************************
// * Liefert alle Incomming/Outgoing
// * Eintraege eines Studenten
// * @param $uid
// * @return true wenn ok, false wenn fehler
// *****************************************
function getIO($uid)
/**
* Liefert alle Incomming/Outgoing
* Eintraege eines Studenten
* @param $uid
* @return true wenn ok, false wenn fehler
*/
public function getIO($uid)
{
$qry = "SELECT tbl_bisio.*,
tbl_mobilitaetsprogramm.kurzbz as mobilitaetsprogramm_kurzbz,
@@ -324,11 +291,11 @@ class bisio
tbl_mobilitaetsprogramm.mobilitaetsprogramm_code=tbl_bisio.mobilitaetsprogramm_code
ORDER BY bis";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$io = new bisio($this->conn, null, null);
$io = new bisio();
$io->bisio_id = $row->bisio_id;
$io->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
@@ -358,6 +325,5 @@ class bisio
return false;
}
}
}
?>
+105 -118
View File
@@ -19,71 +19,55 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class bisverwendung
class bisverwendung extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var email Objekt
public $new;
public $result = array();
//Tabellenspalten
var $bisverwendung_id;
var $ba1code;
var $ba2code;
var $beschausmasscode;
var $verwendung_code;
var $mitarbeiter_uid;
var $hauptberufcode;
var $hauptberuflich;
var $habilitation;
var $beginn;
var $ende;
var $vertragsstunden;
var $updateamum;
var $updatevon;
var $insertamum;
var $insertvon;
var $ext_id;
public $bisverwendung_id;
public $ba1code;
public $ba2code;
public $beschausmasscode;
public $verwendung_code;
public $mitarbeiter_uid;
public $hauptberufcode;
public $hauptberuflich;
public $habilitation;
public $beginn;
public $ende;
public $vertragsstunden;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $ext_id;
var $ba1bez;
var $ba2bez;
var $beschausmass;
var $verwendung;
var $hauptberuf;
public $ba1bez;
public $ba2bez;
public $beschausmass;
public $verwendung;
public $hauptberuf;
// ***********************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// * bisverwendung_id ID des zu ladenden Datensatzes
// ***********************************************
function bisverwendung($conn, $bisverwendung_id=null, $unicode=false)
/**
* Konstruktor
* @param bisverwendung_id ID des zu ladenden Datensatzes
*/
public function __construct($bisverwendung_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($bisverwendung_id != null)
parent::__construct();
if(!is_null($bisverwendung_id))
$this->load($bisverwendung_id);
}
// ***********************************************
// * Laedt einen Datensatz
// * @param bisverwendung_id ID des zu ladenden Datensatzes
// ***********************************************
function load($bisverwendung_id)
/**
* Laedt einen Datensatz
* @param bisverwendung_id ID des zu ladenden Datensatzes
*/
public function load($bisverwendung_id)
{
//bisverwendung_id auf gueltigkeit pruefen
if(!is_numeric($bisverwendung_id) || $bisverwendung_id == '')
@@ -93,17 +77,22 @@ class bisverwendung
}
//laden des Datensatzes
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2,
bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode) WHERE
tbl_bisverwendung.ba1code=tbl_beschaeftigungsart1.ba1code AND
tbl_bisverwendung.ba2code=tbl_beschaeftigungsart2.ba2code AND
tbl_bisverwendung.beschausmasscode=tbl_beschaeftigungsausmass.beschausmasscode AND
tbl_bisverwendung.verwendung_code=tbl_verwendung.verwendung_code AND
bisverwendung_id='$bisverwendung_id';";
$qry = "SELECT
*
FROM
bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2,
bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung
LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode)
WHERE
tbl_bisverwendung.ba1code=tbl_beschaeftigungsart1.ba1code AND
tbl_bisverwendung.ba2code=tbl_beschaeftigungsart2.ba2code AND
tbl_bisverwendung.beschausmasscode=tbl_beschaeftigungsausmass.beschausmasscode AND
tbl_bisverwendung.verwendung_code=tbl_verwendung.verwendung_code AND
bisverwendung_id='$bisverwendung_id';";
if($result = pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->bisverwendung_id = $row->bisverwendung_id;
$this->ba1code = $row->ba1code;
@@ -148,12 +137,12 @@ class bisverwendung
}
}
// **************************************************
// * Loescht einen Datensatz
// * @param bisverwendung_id ID des zu loeschenden Datensatzes
// * @return true wenn ok, false im Fehlerfall
// **************************************************
function delete($bisverwendung_id)
/**
* Loescht einen Datensatz
* @param bisverwendung_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($bisverwendung_id)
{
//akte_id auf gueltigkeit pruefen
if(!is_numeric($bisverwendung_id) || $bisverwendung_id == '')
@@ -162,9 +151,9 @@ class bisverwendung
return false;
}
$qry = "SELECT count(*) as anzahl FROM bis.tbl_bisfunktion WHERE bisverwendung_id='$bisverwendung_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
{
@@ -173,10 +162,10 @@ class bisverwendung
}
}
}
$qry = "DELETE FROM bis.tbl_bisverwendung WHERE bisverwendung_id = '$bisverwendung_id';";
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
@@ -188,7 +177,12 @@ class bisverwendung
}
}
function validate()
/**
* Prueft die Daten vor dem Speichern
*
* @return true wenn ok, sonst false
*/
protected function validate()
{
if(!is_numeric($this->vertragsstunden) && $this->vertragsstunden!='')
{
@@ -197,25 +191,14 @@ class bisverwendung
}
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *********************************************************************
// * Speichert den aktuellen Datensatz
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *********************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
@@ -273,30 +256,30 @@ class bisverwendung
" WHERE bisverwendung_id='".addslashes($this->bisverwendung_id)."'";
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('bis.tbl_bisverwendung_bisverwendung_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->bisverwendung_id = $row->id;
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -310,27 +293,32 @@ class bisverwendung
}
}
// ********************************************
// * Laedt alle Verwendungen eines Mitarbeiters
// * @param $uid UID des Mitarbeiters
// * @return true wenn ok, false wenn Fehler
// ********************************************
function getVerwendung($uid)
/**
* Laedt alle Verwendungen eines Mitarbeiters
* @param $uid UID des Mitarbeiters
* @return true wenn ok, false wenn Fehler
*/
public function getVerwendung($uid)
{
//laden des Datensatzes
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2,
bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode) WHERE
tbl_bisverwendung.ba1code=tbl_beschaeftigungsart1.ba1code AND
tbl_bisverwendung.ba2code=tbl_beschaeftigungsart2.ba2code AND
tbl_bisverwendung.beschausmasscode=tbl_beschaeftigungsausmass.beschausmasscode AND
tbl_bisverwendung.verwendung_code=tbl_verwendung.verwendung_code AND
mitarbeiter_uid='".addslashes($uid)."' ORDER BY beginn;";
//echo $qry;
if($result = pg_query($this->conn,$qry))
$qry = "SELECT
*
FROM
bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2,
bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung
LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode)
WHERE
tbl_bisverwendung.ba1code=tbl_beschaeftigungsart1.ba1code AND
tbl_bisverwendung.ba2code=tbl_beschaeftigungsart2.ba2code AND
tbl_bisverwendung.beschausmasscode=tbl_beschaeftigungsausmass.beschausmasscode AND
tbl_bisverwendung.verwendung_code=tbl_verwendung.verwendung_code AND
mitarbeiter_uid='".addslashes($uid)."' ORDER BY beginn;";
if($this->db_query($qry))
{
while($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new bisverwendung($this->conn, null, null);
$obj = new bisverwendung();
$obj->bisverwendung_id = $row->bisverwendung_id;
$obj->ba1code = $row->ba1code;
@@ -370,6 +358,5 @@ class bisverwendung
return false;
}
}
}
?>
+92 -117
View File
@@ -19,64 +19,46 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class dokument
class dokument extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $result = array();
public $new;
public $result = array();
//Tabellenspalten
var $dokument_kurzbz;
var $bezeichnung;
var $studiengang_kz;
public $dokument_kurzbz;
public $bezeichnung;
public $studiengang_kz;
var $prestudent_id;
var $mitarbeiter_uid;
var $datum;
var $updateamum;
var $updatevon;
var $insertamum;
var $insertvon;
var $ext_id;
public $prestudent_id;
public $mitarbeiter_uid;
public $datum;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $ext_id;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional ein dokument
// * @param $conn Datenbank-Connection
// * $dokument_kurzbz
// * $prestudent_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function dokument($conn, $dokument_kurzbz=null, $prestudent_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional ein Dokument
* @param $dokument_kurzbz
* @param $prestudent_id
*/
public function __construct($dokument_kurzbz=null, $prestudent_id=null)
{
$this->conn = $conn;
/*
if(!is_null($unicode))
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
*/
parent::__construct();
if(!is_null($dokument_kurzbz) && !is_null($prestudent_id))
$this->load($dokument_kurzbz, $prestudent_id);
}
// *********************************************************
// * Laedt eine Dokument-Prestudent Zuordnung
// * @param dokument_kurzbz
// * prestudent_id
// *********************************************************
function load($dokument_kurzbz, $prestudent_id)
/**
* Laedt eine Dokument-Prestudent Zuordnung
* @param dokument_kurzbz
* prestudent_id
*/
public function load($dokument_kurzbz, $prestudent_id)
{
if(!is_numeric($prestudent_id))
{
@@ -84,11 +66,12 @@ class dokument
return false;
}
$qry = "SELECT * FROM public.tbl_dokumentprestudent WHERE prestudent_id='$prestudent_id' AND dokument_kurzbz='".addslashes($dokument_kurzbz)."';";
$qry = "SELECT * FROM public.tbl_dokumentprestudent
WHERE prestudent_id='$prestudent_id' AND dokument_kurzbz='".addslashes($dokument_kurzbz)."';";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->dokument_kurzbz = $row->dokument_kurzbz;
$this->prestudent_id = $row->prestudent_id;
@@ -114,12 +97,12 @@ class dokument
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if($this->dokument_kurzbz=='')
{
@@ -146,25 +129,14 @@ class dokument
}
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert ein Beispiel in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert ein Beispiel in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -192,8 +164,8 @@ class dokument
//never used
return false;
}
//echo $qry;
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
}
@@ -204,12 +176,12 @@ class dokument
}
}
// *******************************************
// * Loescht eine Zuordnung
// * @param dokument_kurzbz
// * prestudent_id
// *******************************************
function delete($dokument_kurzbz, $prestudent_id)
/**
* Loescht eine Zuordnung
* @param dokument_kurzbz
* prestudent_id
*/
public function delete($dokument_kurzbz, $prestudent_id)
{
if(!is_numeric($prestudent_id))
{
@@ -217,9 +189,10 @@ class dokument
return false;
}
$qry = "DELETE FROM public.tbl_dokumentprestudent WHERE dokument_kurzbz='".addslashes($dokument_kurzbz)."' AND prestudent_id='".addslashes($prestudent_id)."'";
$qry = "DELETE FROM public.tbl_dokumentprestudent
WHERE dokument_kurzbz='".addslashes($dokument_kurzbz)."' AND prestudent_id='".addslashes($prestudent_id)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
@@ -228,13 +201,13 @@ class dokument
}
}
// *********************************************
// * Laedt alle Dokumente eines Prestudenten die
// * er bereits abgegeben hat
// * @param prestudent_id
// * @return true wenn ok, false wenn Fehler
// *********************************************
function getPrestudentDokumente($prestudent_id)
/**
* Laedt alle Dokumente eines Prestudenten die
* er bereits abgegeben hat
* @param prestudent_id
* @return true wenn ok, false wenn Fehler
*/
public function getPrestudentDokumente($prestudent_id)
{
if(!is_numeric($prestudent_id))
{
@@ -242,13 +215,14 @@ class dokument
return false;
}
$qry = "SELECT * FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz) WHERE prestudent_id='$prestudent_id' ORDER BY dokument_kurzbz";
$qry = "SELECT * FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz)
WHERE prestudent_id='$prestudent_id' ORDER BY dokument_kurzbz";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$dok = new dokument($this->conn, null, null, null);
$dok = new dokument();
$dok->dokument_kurzbz = $row->dokument_kurzbz;
$dok->bezeichnung = $row->bezeichnung;
@@ -272,14 +246,14 @@ class dokument
}
}
// **********************************************
// * Laedt alle Dokumente fuer einen Stg die der
// * Prestudent noch nicht abgegeben hat
// * @param studiengang_kz
// * prestudent_id
// * @return true wenn ok, false wenn Fehler
// **********************************************
function getFehlendeDokumente($studiengang_kz, $prestudent_id=null)
/**
* Laedt alle Dokumente fuer einen Stg die der
* Prestudent noch nicht abgegeben hat
* @param studiengang_kz
* prestudent_id
* @return true wenn ok, false wenn Fehler
*/
public function getFehlendeDokumente($studiengang_kz, $prestudent_id=null)
{
if(!is_null($prestudent_id) && !is_numeric($prestudent_id))
{
@@ -304,11 +278,11 @@ class dokument
$qry.=" ORDER BY dokument_kurzbz";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$dok = new dokument($this->conn, null, null, null);
$dok = new dokument();
$dok->dokument_kurzbz = $row->dokument_kurzbz;
$dok->bezeichnung = $row->bezeichnung;
$this->result[] = $dok;
@@ -322,20 +296,21 @@ class dokument
}
}
// ************************************************
// * Liefert die Dokumente eines Studienganges
// * @param $studiengang_kz
// * @return true wenn ok false im Fehlerfall
// ************************************************
function getDokumente($studiengang_kz)
/**
* Liefert die Dokumente eines Studienganges
* @param $studiengang_kz
* @return true wenn ok false im Fehlerfall
*/
public function getDokumente($studiengang_kz)
{
$qry = "SELECT * FROM public.tbl_dokumentstudiengang JOIN public.tbl_dokument USING(dokument_kurzbz) WHERE studiengang_kz='$studiengang_kz'";
$qry = "SELECT * FROM public.tbl_dokumentstudiengang JOIN public.tbl_dokument USING(dokument_kurzbz)
WHERE studiengang_kz='".addslashes($studiengang_kz)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$dok = new dokument($this->conn, null, null, null);
$dok = new dokument();
$dok->dokument_kurzbz = $row->dokument_kurzbz;
$dok->bezeichnung = $row->bezeichnung;
+97 -96
View File
@@ -19,63 +19,47 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class entwicklungsteam
class entwicklungsteam extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var email Objekt
public $new;
public $result = array();
//Tabellenspalten
var $mitarbeiter_uid;
var $studiengang_kz;
var $besqualcode;
var $beginn;
var $ende;
var $updateamum;
var $updatevon;
var $insertamum;
var $insertvon;
var $ext_id;
public $mitarbeiter_uid;
public $studiengang_kz;
public $besqualcode;
public $beginn;
public $ende;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $ext_id;
var $besqual;
var $studiengang_kz_old;
public $besqual;
public $studiengang_kz_old;
// ***********************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// * mitarbeiter_uid ID des zu ladenden Datensatzes
// * studiengang_kz
// ***********************************************
function entwicklungsteam($conn, $mitarbeiter_uid=null, $studiengang_kz=null, $unicode=false)
/**
* Konstruktor
* @param mitarbeiter_uid ID des zu ladenden Datensatzes
* studiengang_kz
*/
public function __construct($mitarbeiter_uid=null, $studiengang_kz=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($mitarbeiter_uid != null && $studiengang_kz != null)
parent::__construct();
if(!is_null($mitarbeiter_uid) && !is_null($studiengang_kz))
$this->load($mitarbeiter_uid, $studiengang_kz);
}
// ***********************************************
// * Laedt einen Datensatz
// * @param mitarbeiter_uid ID des zu ladenden Datensatzes
// * studiengang_kz
// ***********************************************
function load($mitarbeiter_uid, $studiengang_kz)
/**
* Laedt einen Datensatz
* @param mitarbeiter_uid ID des zu ladenden Datensatzes
* studiengang_kz
*/
public function load($mitarbeiter_uid, $studiengang_kz)
{
if(!is_numeric($studiengang_kz) || $studiengang_kz == '')
{
@@ -84,11 +68,12 @@ class entwicklungsteam
}
//laden des Datensatzes
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode) WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."' AND studiengang_kz='$studiengang_kz'";
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode)
WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."' AND studiengang_kz='$studiengang_kz'";
if($result = pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->studiengang_kz = $row->studiengang_kz;
@@ -101,7 +86,7 @@ class entwicklungsteam
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->besqual = $row->besqualbez;
return true;
return true;
}
else
{
@@ -116,12 +101,12 @@ class entwicklungsteam
}
}
// **************************************************
// * Loescht einen Datensatz
// * @param bisverwendung_id ID des zu loeschenden Datensatzes
// * @return true wenn ok, false im Fehlerfall
// **************************************************
function delete($mitarbeiter_uid, $studiengang_kz)
/**
* Loescht einen Datensatz
* @param bisverwendung_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($mitarbeiter_uid, $studiengang_kz)
{
if(!is_numeric($studiengang_kz) || $studiengang_kz == '')
{
@@ -129,9 +114,10 @@ class entwicklungsteam
return false;
}
$qry = "DELETE FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid = '".addslashes($mitarbeiter_uid)."' AND studiengang_kz='$studiengang_kz';";
$qry = "DELETE FROM bis.tbl_entwicklungsteam
WHERE mitarbeiter_uid = '".addslashes($mitarbeiter_uid)."' AND studiengang_kz='$studiengang_kz';";
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
@@ -143,29 +129,38 @@ class entwicklungsteam
}
}
function validate()
/**
* Prueft die Variablen vor dem Speichern
*
* @return true wenn ok, sonst false
*/
protected function validate()
{
if($this->mitarbeiter_uid=='')
{
$this->errormsg = 'Es muss ein Mitarbeiter angegeben werden';
return false;
}
if($this->studiengang_kz=='')
{
$this->errormsg = 'Es muss ein Studiengang angegeben werden';
return false;
}
if($this->besqualcode=='')
{
$this->errormsg = 'BesondereQualifikation muss eingetragen werden';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *********************************************************************
// * Speichert den aktuellen Datensatz
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *********************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
@@ -206,7 +201,7 @@ class entwicklungsteam
" WHERE mitarbeiter_uid='".addslashes($this->mitarbeiter_uid)."' AND studiengang_kz='$this->studiengang_kz_old'";
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -217,24 +212,25 @@ class entwicklungsteam
}
}
// ********************************************
// * Laedt alle Entwicklungsteameintraege eines Mitarbeiters
// * @param $uid UID des Mitarbeiters
// * @return true wenn ok, false wenn Fehler
// ********************************************
function getEntwicklungsteam($mitarbeiter_uid, $studiengang_kz=null)
/*
* Laedt alle Entwicklungsteameintraege eines Mitarbeiters
* @param $uid UID des Mitarbeiters
* @return true wenn ok, false wenn Fehler
*/
public function getEntwicklungsteam($mitarbeiter_uid, $studiengang_kz=null)
{
//laden des Datensatzes
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode) WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode)
WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
if($studiengang_kz!=null)
$qry.=" AND studiengang_kz='".addslashes($studiengang_kz)."'";
if($result = pg_query($this->conn,$qry))
if($this->db_query($qry))
{
while($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new entwicklungsteam($this->conn, null, null, null);
$obj = new entwicklungsteam();
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->studiengang_kz = $row->studiengang_kz;
@@ -259,16 +255,21 @@ class entwicklungsteam
}
}
// *****
// * Preuft ob der Eintrag schon existiert
// *****
function exists($mitarbeiter_uid,$studiengang_kz)
/**
* Preuft ob der Eintrag schon existiert
*
* @param $mitarbeiter_uid
* @param $studiengang_kz
* @return true wenn vorhanden, false wenn nicht
*/
public function exists($mitarbeiter_uid,$studiengang_kz)
{
$qry = "SELECT count(*) as anzahl FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."' AND studiengang_kz='".addslashes($studiengang_kz)."'";
$qry = "SELECT count(*) as anzahl FROM bis.tbl_entwicklungsteam
WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."' AND studiengang_kz='".addslashes($studiengang_kz)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
return true;
+50 -105
View File
@@ -19,52 +19,40 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class erhalter
class erhalter extends basis_db
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result = array(); // erhalter Objekt
public $new; // boolean
public $result = array(); // erhalter Objekt
var $erhalter_kz; // integer
var $kurzbz; // varchar(5)
var $bezeichnung; // varchar(255)
var $dvr; // varchar(8)
var $logo; // ctext
var $zvr; // char(16)
public $erhalter_kz; // integer
public $kurzbz; // varchar(5)
public $bezeichnung; // varchar(255)
public $dvr; // varchar(8)
public $logo; // text
public $zvr; // char(16)
// **************************************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// *
// **************************************************************
function erhalter($conn, $erhalter_kz=null, $unicode=false)
/**
* Konstruktor
* @param conn Connection zur Datenbank
*
*/
public function __construct($erhalter_kz=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if($erhalter_kz != null)
parent::__construct();
if(!is_null($erhalter_kz))
$this->load($erhalter_kz);
}
// *****************************************************
// * Laedt einen Erhalter
// * @param stg_id ID des Studienganges der zu laden ist
// * @return true wenn ok, false im Fehlerfall
// *****************************************************
function load($erhalter_kz)
/**
* Laedt einen Erhalter
* @param stg_id ID des Studienganges der zu laden ist
* @return true wenn ok, false im Fehlerfall
*/
public function load($erhalter_kz)
{
if(!is_numeric($erhalter_kz))
{
@@ -74,9 +62,9 @@ class erhalter
$qry = "SELECT * FROM public.tbl_erhalter WHERE erhalter_kz='$erhalter_kz'";
if($res = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->erhalter_kz=$row->erhalter_kz;
$this->kurzbz=$row->kurzbz;
@@ -95,26 +83,26 @@ class erhalter
return true;
}
// *******************************************
// * Liefert alle Erhalter
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function getAll($order=null)
/**
* Liefert alle Erhalter
* @return true wenn ok, false im Fehlerfall
*/
public function getAll($order=null)
{
$qry = "SELECT * FROM public.tbl_erhalter";
if($order!=null)
$qry .=" ORDER BY $order";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$stg_obj = new erhalter($this->conn);
$stg_obj = new erhalter();
$stg_obj->erhalter_kz=$row->erhalter_kz;
$stg_obj->kurzbz=$row->kurzbz;
@@ -125,67 +113,48 @@ class erhalter
$this->result[] = $stg_obj;
}
//return $this->result;
return true;
}
/**
* Loescht einen Erhalter
* @param $stg_id ID des zu loeschenden Studienganges
* @return true wenn ok, false im Fehlerfall
*/
function delete($stg_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
protected function validate()
{
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
$this->kurzbz = str_replace("'",'´',$this->kurzbz);
//Laenge Pruefen
if(strlen($this->bezeichnung)>255)
{
$this->errormsg = "Bezeichnung darf nicht laenger als 255 Zeichen sein bei <b>$this->ext_id</b> - $this->bezeichnung";
$this->errormsg = 'Bezeichnung darf nicht laenger als 255 Zeichen sein';
return false;
}
if(strlen($this->kurzbz)>5)
{
$this->errormsg = "Kurzbez darf nicht laenger als 5 Zeichen sein bei <b>$this->ext_id</b> - $this->kurzbz";
$this->errormsg = 'Kurzbez darf nicht laenger als 5 Zeichen sein';
return false;
}
}
if(!is_numeric($this->erhalter_kz))
{
$this->errormsg = 'erhalter_kz ungueltig!';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
{
if(!$this->validate())
return false;
}
if($this->new)
{
//Pruefen ob erhalter_kz gueltig ist
if(!is_numeric($this->erhalter_kz))
{
$this->errormsg = 'erhalter_kz ungueltig! ('.$this->erhalter_kz.')';
return false;
}
//Neuen Datensatz anlegen
$qry = 'INSERT INTO public.tbl_erhalter (erhalter_kz, kurzbz, bezeichnung, dvr, logo, zvr) VALUES ('.
$this->addslashes($this->erhalter_kz).', '.
@@ -199,13 +168,6 @@ class erhalter
{
//bestehenden Datensatz akualisieren
//Pruefen ob studiengang_kz gueltig ist
if(!is_numeric($this->erhalter_kz))
{
$this->errormsg = 'erhalter_kz ungueltig.';
return false;
}
$qry = 'UPDATE public.tbl_studiengang SET '.
'erhalter_kz='.$this->addslashes($this->erhalter_kz).', '.
'kurzbz='.$this->addslashes($this->kurzbz).', '.
@@ -215,26 +177,9 @@ class erhalter
'zvr='.$this->addslashes($this->zvr).' '.
'WHERE erhalter_kz='.$this->addslashes($this->erhalter_kz).';';
}
//echo $qry;
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
return true;
}
else
+39 -83
View File
@@ -23,55 +23,52 @@
* Klasse fachbereich (FAS-Online)
* @create 04-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class fachbereich
class fachbereich extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var fachbereich Objekt
public $new; // boolean
public $result = array(); // fachbereich Objekt
//Tabellenspalten
var $fachbereich_kurzbz; // @var string
var $bezeichnung; // @var string
var $farbe; // @var string
var $studiengang_kz; // @var integer
var $aktiv; // @var boolean
var $ext_id; // @var bigint
public $fachbereich_kurzbz; // string
public $bezeichnung; // string
public $farbe; // string
public $studiengang_kz; // integer
public $aktiv; // boolean
public $ext_id; // bigint
var $bezeichnung_arr = array();
public $bezeichnung_arr = array();
/**
* Konstruktor
* @param $conn Connection zur DB
* $fachb_id ID des zu ladenden Fachbereiches
* @param $fachb_id ID des zu ladenden Fachbereiches
*/
function fachbereich($conn, $fachbereich_kurzbz=null)
public function __construct($fachbereich_kurzbz=null)
{
$this->conn = $conn;
if($fachbereich_kurzbz != null)
{
parent::__construct();
if(!is_null($fachbereich_kurzbz))
$this->load($fachbereich_kurzbz);
}
}
/**
* Laedt alle verfuegbaren Fachbereiche
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
public function getAll()
{
$qry = 'SELECT * FROM public.tbl_fachbereich order by fachbereich_kurzbz;';
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$fachb_obj = new fachbereich($this->conn);
$fachb_obj = new fachbereich();
$fachb_obj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$fachb_obj->bezeichnung = $row->bezeichnung;
@@ -91,7 +88,7 @@ class fachbereich
* @param $fachb_id ID des zu ladenden Fachbereiches
* @return true wenn ok, false im Fehlerfall
*/
function load($fachbereich_kurzbz)
public function load($fachbereich_kurzbz)
{
if($fachbereich_kurzbz == '')
{
@@ -101,13 +98,13 @@ class fachbereich
$qry = "SELECT * FROM public.tbl_fachbereich WHERE fachbereich_kurzbz = '".addslashes($fachbereich_kurzbz)."';";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$this->bezeichnung = $row->bezeichnung;
@@ -124,65 +121,48 @@ class fachbereich
return true;
}
/**
* Loescht einen Datensatz
* @param $fachb_id id des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($fachb_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
protected function validate()
{
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
$this->fachbereich_kurzbz = str_replace("'",'´',$this->fachbereich_kurzbz);
//Laenge Pruefen
if(strlen($this->bezeichnung)>128)
{
$this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei <b>$this->ext_id</b> - $this->bezeichnung";
$this->errormsg = 'Bezeichnung darf nicht laenger als 128 Zeichen sein';
return false;
}
if(strlen($this->fachbereich_kurzbz)>16)
{
$this->errormsg = "Kurzbez darf nicht laenger als 16 Zeichen sein bei <b>$this->ext_id</b> - $this->fachbereich_kurzbz";
$this->errormsg = 'Kurzbez darf nicht laenger als 16 Zeichen sein';
return false;
}
if($this->fachbereich_kurzbz == '')
{
$this->errormsg = 'fachbereich_kurzbz ungueltig!';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
{
//Pruefen ob fachbereich_kurzbz gueltig ist
if($this->fachbereich_kurzbz == '')
{
$this->errormsg = 'fachbereich_id ungueltig! ('.$this->fachbereich_kurzbz.'/'.$this->ext_id.')';
return false;
}
//Neuen Datensatz anlegen
$qry = 'INSERT INTO public.tbl_fachbereich (fachbereich_kurzbz, bezeichnung, farbe, aktiv, ext_id, studiengang_kz) VALUES ('.
$qry = 'INSERT INTO public.tbl_fachbereich (fachbereich_kurzbz, bezeichnung, farbe, aktiv,
ext_id, studiengang_kz) VALUES ('.
$this->addslashes($this->fachbereich_kurzbz).', '.
$this->addslashes($this->bezeichnung).', '.
$this->addslashes($this->farbe).', '.
@@ -193,14 +173,7 @@ class fachbereich
else
{
//bestehenden Datensatz akualisieren
//Pruefen ob fachbereich_kurzbz gueltig ist
if($this->fachbereich_kurzbz == '')
{
$this->errormsg = 'fachbereich_kurzbz ungueltig.';
return false;
}
$qry = 'UPDATE public.tbl_fachbereich SET '.
'fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).', '.
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
@@ -211,25 +184,8 @@ class fachbereich
'WHERE fachbereich_kurzbz = '.$this->addslashes($this->fachbereich_kurzbz).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
return true;
}
else
+68 -80
View File
@@ -19,53 +19,38 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class feedback
class feedback extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $result = array(); // feedback Objekt
public $new; // boolean
public $result = array(); // feedback Objekt
//Tabellenspalten
var $feedback_id; // integer
var $betreff; // varchar(128)
var $text; // text
var $datum; // date
var $uid; // varchar(32)
var $lehrveranstaltung_id; // integer
public $feedback_id; // integer
public $betreff; // varchar(128)
public $text; // text
public $datum; // date
public $uid; // varchar(32)
public $lehrveranstaltung_id; // integer
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
// * @param $conn Datenbank-Connection
// * $feedback_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function feedback($conn, $feedback_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional ein Feeedback
* @param $feedback_id
*/
public function __construct($feedback_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($feedback_id!=null)
parent::__construct();
if(!is_null($feedback_id))
$this->load($feedback_id);
}
// *********************************************************
// * Laedt ein Feedback
// * @param
// *********************************************************
function load($feedback_id)
/**
* Laedt ein Feedback
* @param
*/
public function load($feedback_id)
{
if(!is_numeric($feedback_id))
{
@@ -75,28 +60,38 @@ class feedback
$qry = "SELECT * FROM campus.tbl_feedback WHERE feedback_id='$feedback_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
$this->feedback_id=$row->feedback_id;
$this->betreff=$row->betreff;
$this->text=$row->text;
$this->datum=$row->datum;
$this->uid=$row->uid;
$this->lehrveranstaltung_id=$row->lehrveranstaltung_id;
if($row = $this->db_fetch_object())
{
$this->feedback_id=$row->feedback_id;
$this->betreff=$row->betreff;
$this->text=$row->text;
$this->datum=$row->datum;
$this->uid=$row->uid;
$this->lehrveranstaltung_id=$row->lehrveranstaltung_id;
return true;
}
else
{
$this->errormsg = 'Kein Feedback mit dieser ID vorhanden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim laden der Lehrveranstaltungen';
$this->errormsg = 'Fehler beim Laden der Lehrveranstaltungen';
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(strlen($this->betreff)>128)
{
@@ -111,19 +106,14 @@ class feedback
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
function load_feedback($lehrveranstaltung_id)
/**
* Laedt die Feedbacks einer Lehrveranstaltung
*
* @param $lehrveranstaltung_id
* @return true wenn ok, sonst false
*/
public function load_feedback($lehrveranstaltung_id)
{
if(!is_numeric($lehrveranstaltung_id))
{
@@ -133,11 +123,11 @@ class feedback
$qry = "SELECT * FROM campus.tbl_feedback WHERE lehrveranstaltung_id='$lehrveranstaltung_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$fb_obj = new feedback($this->conn);
$fb_obj = new feedback();
$fb_obj->feedback_id=$row->feedback_id;
$fb_obj->betreff=$row->betreff;
@@ -152,18 +142,18 @@ class feedback
}
else
{
$this->errormsg = 'Fehler beim laden der Lehrveranstaltungen';
$this->errormsg = 'Fehler beim Laden der Lehrveranstaltungen';
return false;
}
}
// ************************************************************
// * Speichert Feedback in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
/**
* Speichert Feedback in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
@@ -171,7 +161,6 @@ class feedback
if($this->new)
{
//ToDo: Feedback_ID wieder entfernen und per Seq fuellen
$qry = 'INSERT INTO campus.tbl_feedback (betreff, text, datum, uid, lehrveranstaltung_id)
VALUES('.$this->addslashes($this->betreff).','.
$this->addslashes($this->text).','.
@@ -189,14 +178,13 @@ class feedback
" WHERE feedback_id='".addslashes($this->feedback_id)."'";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Feedbacks:'.$qry;
$this->errormsg = 'Fehler beim Speichern des Feedbacks';
return false;
}
}
+62 -84
View File
@@ -23,53 +23,59 @@
* Klasse ferien (FAS-Online)
* @create 07-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class ferien
class ferien extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $ferien = array(); // @var ferien Objekt
public $new; // boolean
public $ferien = array(); // ferien Objekt
//Tabellenspalten
var $bezeichnung; // @var varchar(64)
var $studiengang_kz; // @var integer
var $vondatum; // @var date
var $bisdatum; // @var date
var $vontimestamp;
var $bistimestamp;
public $bezeichnung; // varchar(64)
public $studiengang_kz; // integer
public $vondatum; // date
public $bisdatum; // date
public $vontimestamp;
public $bistimestamp;
/**
* Konstruktor
* @param $conn Connection zur DB
* $bezeichnung und studiengang_kz ID der zu ladenden Ferien
* @param $bezeichnung und studiengang_kz ID der zu ladenden Ferien
*/
function ferien($conn, $bezeichnung=null, $studiengang_kz=null)
public function _construct($bezeichnung=null, $studiengang_kz=null)
{
$this->conn = $conn;
parent::__construct();
if($bezeichnung!=null && $studiengang_kz!=null && is_numeric($studiengang_kz))
$this->load($bezeichnung, studiengang_kz);
}
/**
* Laedt alle verfuegbaren Feriendaten
* @param $stg_kz default = 0
* @return true wenn ok, false im Fehlerfall
*/
function getAll($stg_kz=0)
public function getAll($stg_kz=0)
{
$sql_query="SELECT * FROM lehre.tbl_ferien WHERE studiengang_kz=0 OR studiengang_kz=$stg_kz ORDER BY vondatum";
if (!$result=pg_query($this->conn, $sql_query))
if(!is_numeric($stg_kz))
{
$this->errormsg = pg_errormessage($this->conn);
$this->errormsg = 'Studiengang_kz ist ungültig';
return false;
}
//$num_rows=pg_numrows($result);
//for ($i=0; $i<$num_rows; $i++)
while ($row=pg_fetch_object($result))
$sql_query="SELECT * FROM lehre.tbl_ferien WHERE studiengang_kz=0 OR studiengang_kz='$stg_kz' ORDER BY vondatum";
if (!$this->db_query($sql_query))
{
$this->errormsg = $this->db_last_error();
return false;
}
while ($row = $this->db_fetch_object())
{
// Record holen
// Instanz erzeugen
$f = new ferien($this->conn);
$f = new ferien();
$f->bezeichnung=$row->bezeichnung;
$f->studiengang_kz = $row->studiengang_kz;
$f->vondatum=$row->vondatum;
@@ -87,7 +93,7 @@ class ferien
* @param $bezeichnung, studiengang_kz ID der zu ladenden Ferien
* @return true wenn ok, false im Fehlerfall
*/
function load($bezeichnung, $studiengang_kz)
public function load($bezeichnung, $studiengang_kz)
{
if($studiengang_kz == '' || !is_numeric($studiengang_kz) || $bezeichnung=='')
{
@@ -95,15 +101,16 @@ class ferien
return false;
}
$qry = "SELECT * FROM lehre.tbl_ferien WHERE bezeichnung = '$this->bezeichnung' AND studiengang_kz = '$this->studiengang_kz';";
$qry = "SELECT * FROM lehre.tbl_ferien WHERE bezeichnung = '".addslashes($this->bezeichnung)."'
AND studiengang_kz = '$this->studiengang_kz';";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->bezeichnung = $row->bezeichnung;
$this->studiengang_kz = $row->studiengang_kz;
@@ -118,57 +125,47 @@ class ferien
return true;
}
/**
* Loescht einen Datensatz
* @param $bezeichnung, studiengang_kz id des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($bezeichnung, $studiengang_kz)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
protected function validate()
{
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
//Laenge Pruefen
if(strlen($this->bezeichnung)>64)
{
$this->errormsg = "Bezeichnung darf nicht laenger als 64 Zeichen sein bei <b>$this->studiengang_kz</b> - $this->bezeichnung";
$this->errormsg = 'Bezeichnung darf nicht laenger als 64 Zeichen sein';
return false;
}
if($this->studiengang_kz!='')
{
$this->errormsg = 'Studiengang_kz muss eingetragen werden';
return false;
}
if($this->bezeichnung=='')
{
$this->errormsg = 'Bezeichnung muss eingetragen werden';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz anlegen
if($this->studiengang_kz == '' || !is_numeric($this->studiengang_kz) || $this->bezeichnung=='')
{
$this->errormsg = 'ID ungültig';
return false;
}
$qry = 'INSERT INTO lehre.tbl_ferien (bezeichnung, studiengang_kz, vondatum, bisdatum) VALUES ('.
$this->addslashes($this->bezeichnung).', '.
$this->addslashes($this->studiengang_kz).', '.
@@ -178,49 +175,30 @@ class ferien
else
{
//bestehenden Datensatz akualisieren
if($this->studiengang_kz == '' || !is_numeric($this->studiengang_kz) || $this->bezeichnung=='')
{
$this->errormsg = 'ID der Ferien ungültig';
return false;
}
$qry = 'UPDATE lehre.tbl_ferien SET '.
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
'vondatum='.$this->addslashes($this->vondatum).', '.
'bisdatum='.$this->addslashes($this->bisdatum).';';
'bisdatum='.$this->addslashes($this->bisdatum).
"WHERE studiengang_kz='".addslashes($this->studiengang_kz)."' AND bezeichnung='".addslashes($this->bezeichnung)."';";
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes - '.$this->uid;
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
function isferien($timestamp)
/**
* Prueft ob der uebergebene Timestamp in der Ferienzeit liegt
*
* @param $timestamp
* @return boolean
*/
public function isferien($timestamp)
{
foreach ($this->ferien AS $f)
if ($timestamp>=$f->vontimestamp && $timestamp<=$f->bistimestamp)
+64 -95
View File
@@ -23,57 +23,38 @@
* Klasse firma
* @create 18-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class firma
class firma extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var adresse Objekt
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
var $firma_id; // @var integer
var $name; // @var string
var $adresse; // @var string
var $email; // @var string
var $telefon; // @var string
var $fax; // @var string
var $anmerkung; // @var string
var $ext_id; // @var integer
var $insertamum; // @var timestamp
var $insertvon; // @var bigint
var $updateamum; // @var timestamp
var $updatevon; // @var bigint
var $firmentyp_kurzbz; // @var
var $schule; // @var boolean
public $firma_id; // integer
public $name; // string
public $adresse; // string
public $email; // string
public $telefon; // string
public $fax; // string
public $anmerkung; // string
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $firmentyp_kurzbz;
public $schule; // boolean
/**
* Konstruktor
* @param $conn Connection
* $firma_id ID der Adresse die geladen werden soll (Default=null)
* @param $firma_id ID der Firma die geladen werden soll (Default=null)
*/
function firma($conn,$firma_id=null, $unicode=false)
public function __construct($firma_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($firma_id != null)
parent::__construct();
if(!is_null($firma_id))
$this->load($firma_id);
}
@@ -82,7 +63,7 @@ class firma
* @param $firma_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
function load($firma_id)
public function load($firma_id)
{
if(!is_numeric($firma_id))
{
@@ -92,9 +73,9 @@ class firma
$qry = "SElECT * FROM public.tbl_firma WHERE firma_id='$firma_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->firma_id = $row->firma_id;
$this->name = $row->name;
@@ -129,53 +110,41 @@ class firma
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
protected function validate()
{
//Gesamtlaenge pruefen
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
if(strlen($this->name)>128)
{
$this->errormsg = 'Name darf nicht länger als 128 Zeichen sein - firma_id: '.$this->firma_id.'/'.$this->name;
$this->errormsg = 'Name darf nicht länger als 128 Zeichen sein';
return false;
}
if(strlen($this->anmerkung)>256)
{
$this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein - firma_id: '.$this->firma_id.'/'.$this->name;
$this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $firma_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO public.tbl_firma (name, adresse, email, telefon, fax, anmerkung, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, ext_id, schule) VALUES('.
$qry='INSERT INTO public.tbl_firma (name, adresse, email, telefon, fax, anmerkung,
firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, ext_id, schule) VALUES('.
$this->addslashes($this->name).', '.
$this->addslashes($this->adresse).', '.
$this->addslashes($this->email).', '.
@@ -215,32 +184,32 @@ class firma
'schule='.($this->schule?'true':'false').' '.
'WHERE firma_id='.$this->addslashes($this->firma_id).';';
}
//echo $qry;
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($this->new)
{
//Sequence lesen
$qry="SELECT currval('public.tbl_firma_firma_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->firma_id = $row->id;
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -248,7 +217,7 @@ class firma
}
else
{
$this->errormsg = "*****\nFehler beim Speichern des Firma-Datensatzes.\n".$qry."\n".pg_errormessage($this->conn)."\n*****\n";
$this->errormsg = 'Fehler beim Speichern des Firma-Datensatzes';
return false;
}
}
@@ -258,7 +227,7 @@ class firma
* @param $firma_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($firma_id)
public function delete($firma_id)
{
if(!is_numeric($firma_id))
{
@@ -268,7 +237,7 @@ class firma
$qry = "SELECT * FROM public.tbl_firma WHERE firma_id='$firma_id'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
@@ -281,15 +250,15 @@ class firma
* Laedt alle Firmen
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
public function getAll()
{
$qry = "SElECT * FROM public.tbl_firma ORDER BY name";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$fa = new firma($this->conn, null, null);
$fa = new firma();
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
@@ -316,19 +285,19 @@ class firma
}
}
// *******************************************
// * Liefert alle vorhandenen Firmentypen
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function getFirmenTypen()
/**
* Liefert alle vorhandenen Firmentypen
* @return true wenn ok, false im Fehlerfall
*/
public function getFirmenTypen()
{
$qry = "SELECT * FROM public.tbl_firmentyp ORDER BY firmentyp_kurzbz";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$fa = new firma($this->conn, null, null);
$fa = new firma();
$fa->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fa->beschreibung = $row->beschreibung;
@@ -343,11 +312,11 @@ class firma
}
}
// *********************************************
// * Laedt alle Firmen eines bestimmen Firmentyps
// * @return true wenn ok, false im Fehlerfall
// *********************************************
function getFirmen($firmentyp_kurzbz='')
/**
* Laedt alle Firmen eines bestimmen Firmentyps
* @return true wenn ok, false im Fehlerfall
*/
public function getFirmen($firmentyp_kurzbz='')
{
$qry = "SElECT * FROM public.tbl_firma";
@@ -355,11 +324,11 @@ class firma
$qry.=" WHERE firmentyp_kurzbz='".addslashes($firmentyp_kurzbz)."'";
$qry.=" ORDER BY name";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$fa = new firma($this->conn, null, null);
$fa = new firma();
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
+94 -113
View File
@@ -23,69 +23,55 @@
/**
* Klasse fuer die Fragen des Reihungstesttools
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/gebiet.class.php');
require_once(dirname(__FILE__).'/pruefling.class.php');
class frage
class frage extends basis_db
{
//Tabellenspalten
var $frage_id;
var $gebiet_id;
var $nummer;
var $demo;
var $level;
var $kategorie_kurzbz;
public $frage_id;
public $gebiet_id;
public $nummer;
public $demo;
public $level;
public $kategorie_kurzbz;
var $sprache;
var $audio;
var $text;
var $bild;
var $pruefling_id;
var $prueflingfrage_id;
var $begintime;
var $endtime;
public $sprache;
public $audio;
public $text;
public $bild;
public $pruefling_id;
public $prueflingfrage_id;
public $begintime;
public $endtime;
var $insertamum;
var $updateamum;
var $insertvon;
var $updatevon;
public $insertamum;
public $updateamum;
public $insertvon;
public $updatevon;
// ErgebnisArray
var $result=array();
var $num_rows=0;
var $errormsg;
var $new;
public $result=array();
public $num_rows=0;
public $new;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine frage
// * @param $conn Datenbank-Connection
// * $frage_id Frage die geladen werden soll (default=null)
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
public function frage($conn, $frage_id=null, $unicode=false)
/**
* Konstruktor - Uebergibt die Connection und laedt optional eine frage
* @param $frage_id Frage die geladen werden soll (default=null)
*/
public function __construct($frage_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
if($frage_id != null)
parent::__construct();
if(!is_null($frage_id))
$this->load($frage_id);
}
// ***********************************************************
// * Laedt Frage mit der uebergebenen ID
// * @param $frage_id ID der Frage die geladen werden soll
// ***********************************************************
/**
* Laedt Frage mit der uebergebenen ID
* @param $frage_id ID der Frage die geladen werden soll
*/
public function load($frage_id)
{
if(!is_numeric($frage_id) || $frage_id=='')
@@ -96,9 +82,9 @@ class frage
$qry = "SELECT * FROM testtool.tbl_frage WHERE frage_id='".addslashes($frage_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->frage_id = $row->frage_id;
$this->gebiet_id = $row->gebiet_id;
@@ -126,33 +112,22 @@ class frage
}
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
private function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
private function validate()
{
return true;
}
// ******************************************************************
// * Speichert die Benutzerdaten in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
// * ansonsten der Datensatz mit $uid upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ******************************************************************
/**
* Speichert die Benutzerdaten in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
* ansonsten der Datensatz mit $uid upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
@@ -184,31 +159,31 @@ class frage
' updatevon='.$this->addslashes($this->updatevon).
" WHERE frage_id='".addslashes($this->frage_id)."';";
}
//echo $qry;
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($this->new)
{
$qry = "SELECT currval('testtool.tbl_frage_frage_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->frage_id = $row->id;
pg_query($this->conn,'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Lesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Lesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -254,10 +229,9 @@ class frage
' updatevon='.$this->addslashes($this->updatevon).
" WHERE frage_id='".addslashes($this->frage_id)."' AND sprache='".addslashes($this->sprache)."';";
}
//echo $qry;
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
@@ -266,17 +240,24 @@ class frage
return false;
}
}
/**
* Liefert die Fragen eines Gebietes mit der nummer $nummer
*
* @param $gebiet_id
* @param $nummer
* @return true wenn ok, sonst false
*/
public function getFragen($gebiet_id, $nummer)
{
$qry = "SELECT * FROM testtool.tbl_frage
WHERE gebiet_id='".addslashes($gebiet_id)."' AND nummer='".addslashes($nummer)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new frage($this->conn, null, null);
$obj = new frage();
$obj->frage_id = $row->frage_id;
$obj->kategorie_kurzbz = $row->kategorie_kurzbz;
@@ -331,9 +312,9 @@ class frage
$qry.="ORDER BY tbl_pruefling_frage.nummer ASC LIMIT 1";
}
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
return $row->frage_id;
else
return false;
@@ -354,9 +335,9 @@ class frage
$qry = "SELECT * FROM testtool.tbl_frage_sprache JOIN testtool.tbl_frage USING(frage_id)
WHERE frage_id='".addslashes($frage_id)."' AND sprache='".addslashes($sprache)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->frage_id = $row->frage_id;
$this->sprache = $row->sprache;
@@ -413,7 +394,7 @@ class frage
*/
public function generateFragenpool($pruefling_id, $gebiet_id)
{
$gebiet = new gebiet($this->conn, $gebiet_id);
$gebiet = new gebiet($gebiet_id);
//Bei Levelgesteuerten Fragen wird nur die erste Frage angelegt
if($gebiet->level_start!='')
@@ -421,9 +402,9 @@ class frage
// Anzahl der bereits vorhandenen Fragen holen
$qry = "SELECT count(*) as anzahl FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
WHERE gebiet_id='".addslashes($gebiet_id)."' AND pruefling_id='".addslashes($pruefling_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if($row->anzahl>=$gebiet->maxfragen)
{
@@ -440,9 +421,9 @@ class frage
// Wie viele Fragen gibt es in diesem Gebiet
$qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage WHERE NOT demo AND gebiet_id='".addslashes($gebiet_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$fragengesamt = $row->anzahl;
}
@@ -464,9 +445,9 @@ class frage
GROUP BY level
ORDER BY level";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$level[$row->level]=round(($row->anzahl/$fragengesamt)*$maxfragen);
}
@@ -483,7 +464,7 @@ class frage
}
}
pg_query($this->conn, 'BEGIN;');
$this->db_query('BEGIN;');
while($maxfragen>0)
{
@@ -512,9 +493,9 @@ class frage
tbl_frage.gebiet_id='".addslashes($gebiet_id)."' AND
tbl_pruefling_frage.pruefling_id='".addslashes($pruefling_id)."'
ORDER BY nummer DESC LIMIT 1;";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
$this->nummer = $row->nummer+1;
else
$this->nummer = 1;
@@ -522,7 +503,7 @@ class frage
else
{
$this->errormsg = 'Fehler beim Generieren des Fragenpools'.$qry;
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
@@ -532,14 +513,14 @@ class frage
//PrueflingFrage speichern
if(!$this->save_prueflingfrage(true))
{
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
$maxfragen--;
}
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
@@ -558,9 +539,9 @@ class frage
}
$qry = "SELECT * FROM testtool.tbl_pruefling_frage WHERE prueflingfrage_id='".addslashes($prueflingfrage_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->prueflingfrage_id = $row->prueflingfrage_id;
$this->pruefling_id = $row->pruefling_id;
@@ -607,9 +588,9 @@ class frage
$qry = "SELECT * FROM testtool.tbl_pruefling_frage WHERE pruefling_id='".addslashes($pruefling_id)."' AND frage_id='".addslashes($frage_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->prueflingfrage_id = $row->prueflingfrage_id;
$this->pruefling_id = $row->pruefling_id;
@@ -691,7 +672,7 @@ class frage
" WHERE prueflingfrage_id='".addslashes($this->prueflingfrage_id)."'";
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -711,8 +692,8 @@ class frage
*/
private function getNewFrage($gebiet_id, $pruefling_id, $level=null)
{
$gebiet = new gebiet($this->conn, $gebiet_id);
$pruefling = new pruefling($this->conn);
$gebiet = new gebiet($gebiet_id);
$pruefling = new pruefling();
//Frage suchen die dem pruefling noch nicht zugeordnet ist
@@ -744,9 +725,9 @@ class frage
$qry .= " LIMIT 1";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
return $row->frage_id;
}
+75 -49
View File
@@ -20,14 +20,6 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
function db_query($conn, $sql_query)
{
if (!$result=pg_query($conn, $sql_query))
return pg_last_error($conn);
else
return '';
}
// Auth: Benutzer des Webportals
function get_uid()
{
@@ -52,68 +44,101 @@ function crlf()
return $crlf;
}
function check_lektor($uid, $conn)
function check_lektor($uid)
{
$db = new basis_db();
// uid von View 'Lektor' holen
$sql_query="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='$uid'";
//echo $sql_query;
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
$num_rows=pg_num_rows($result);
// Wenn kein ergebnis return 0 sonst ID
if ($num_rows>0)
if($db->db_query($sql_query))
{
$row=pg_fetch_object($result);
return $row->mitarbeiter_uid;
$num_rows=$db->db_num_rows();
// Wenn kein ergebnis return 0 sonst ID
if ($num_rows>0)
{
$row = $db->db_fetch_object();
return $row->mitarbeiter_uid;
}
else
return 0;
}
else
else
return 0;
}
function check_lektor_lehreinheit($conn, $uid, $lehreinheit_id)
function check_lektor_lehreinheit($uid, $lehreinheit_id)
{
$db = new basis_db();
// uid von View 'Lektor' holen
$sql_query="SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE mitarbeiter_uid='$uid' AND lehreinheit_id = '$lehreinheit_id'";
$sql_query="SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter
WHERE mitarbeiter_uid='".addslashes($uid)."' AND lehreinheit_id = '".addslashes($lehreinheit_id)."'";
//echo $sql_query;
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
$num_rows=pg_num_rows($result);
// Wenn kein ergebnis return 0 sonst ID
if ($num_rows>0)
if($db->db_query($sql_query))
{
$row=pg_fetch_object($result);
return $row->mitarbeiter_uid;
$num_rows = $db->db_num_rows();
// Wenn kein ergebnis return 0 sonst ID
if ($num_rows>0)
{
$row = $db->db_fetch_object();
return $row->mitarbeiter_uid;
}
else
return 0;
}
else
else
return 0;
}
function check_lektor_lehrveranstaltung($conn, $uid, $lehrveranstaltung_id, $studiensemester_kurzbz)
function check_lektor_lehrveranstaltung($uid, $lehrveranstaltung_id, $studiensemester_kurzbz)
{
$db = new basis_db();
// uid von View 'Lektor' holen
$sql_query="SELECT mitarbeiter_uid FROM campus.vw_lehreinheit WHERE mitarbeiter_uid='$uid' AND lehrveranstaltung_id = '$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz'";
$sql_query="SELECT mitarbeiter_uid FROM campus.vw_lehreinheit
WHERE mitarbeiter_uid='".addslashes($uid)."' AND
lehrveranstaltung_id = '".addslashes($lehrveranstaltung_id)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
//echo $sql_query;
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
$num_rows=pg_num_rows($result);
// Wenn kein ergebnis return 0 sonst ID
if ($num_rows>0)
if($db->db_query($sql_query))
{
$row=pg_fetch_object($result);
return $row->mitarbeiter_uid;
$num_rows = $db->db_num_rows();
// Wenn kein ergebnis return 0 sonst ID
if ($num_rows>0)
{
$row = $db>db_fetch_object();
return $row->mitarbeiter_uid;
}
else
return 0;
}
else
else
return 0;
}
function check_student($uid, $conn)
function check_student($uid)
{
$db = new basis_db();
// uid von Tabelle 'Student' holen
$sql_query="SELECT student_uid FROM public.tbl_student WHERE student_uid='$uid'";
$sql_query="SELECT student_uid FROM public.tbl_student WHERE student_uid='".addslashes($uid)."'";
//echo $sql_query;
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
$num_rows=pg_numrows($result);
// Wenn kein ergebnis return 0 sonst ID
if ($num_rows>0)
return pg_result($result,0,'student_uid');
else
if($db->db_query($sql_query))
{
$num_rows = $db->db_num_rows();
// Wenn kein ergebnis return 0 sonst ID
if ($num_rows>0)
{
$row = $db->db_fetch_object();
return $row->student_uid;
}
else
return 0;
}
else
return 0;
}
@@ -270,20 +295,21 @@ function writeCISlog($stat, $rm = '')
// * und $naechstes=true dann wird das naechste StSem geliefert
// * wenn $naechstes=false dann wird das vorherige StSem geliefert
// ***************************************************************
function getStudiensemesterFromDatum($conn, $datum, $naechstes=true)
function getStudiensemesterFromDatum($datum, $naechstes=true)
{
$db = new basis_db();
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE";
if($naechstes)
$qry.= " ende>'$datum' ORDER BY ende ASC ";
$qry.= " ende>'".addslashes($datum)."' ORDER BY ende ASC ";
else
$qry.= " start<'$datum' ORDER BY ende DESC ";
$qry.= " start<'".addslashes($datum)."' ORDER BY ende DESC ";
$qry.= "LIMIT 1";
if($result = pg_query($conn, $qry))
if($db->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $db->db_fetch_object())
return $row->studiensemester_kurzbz;
else
return false;
@@ -323,7 +349,7 @@ function strtoupperFULL($str)
// ****************************************************************
function checkalias($alias)
{
if($anz = preg_match("/^[-a-z0-9]*[a-z0-9]{1,}\.[-a-z0-9]{1,}$/",$alias))
if(preg_match("/^[-a-z0-9]*[a-z0-9]{1,}\.[-a-z0-9]{1,}$/",$alias))
return true;
else
return false;
@@ -375,8 +401,8 @@ function checkldapuser($username,$password)
return false;
}
@ldap_close($connect);
return true;
@ldap_close($connect);
}
else
{
+43 -66
View File
@@ -23,53 +23,54 @@
* Klasse funktion (FAS-Online)
* @create 14-03-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class funktion
class funktion extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var fachbereich Objekt
public $new; // boolean
public $result = array(); // fachbereich Objekt
//Tabellenspalten
var $funktion_kurzbz; // @var integer
var $beschreibung; // @var string
var $aktiv; // @var boolean
var $ext_id; // @var bigint
public $funktion_kurzbz; // integer
public $beschreibung; // string
public $aktiv; // boolean
public $ext_id; // bigint
/**
* Konstruktor
* @param $conn Connection zur DB
* $funktion_kurzbz ID der zu ladenden Funktion
* @param $funktion_kurzbz Kurzbz der zu ladenden Funktion
*/
function funktion($conn, $funktion_kurzbz=null)
public function __construct($funktion_kurzbz=null)
{
$this->conn = $conn;
if($funktion_kurzbz != null)
parent::__construct();
if(!is_null($funktion_kurzbz))
$this->load($funktion_kurzbz);
}
/**
* Laedt alle verfuegbaren Funktionen
* @param uid Wenn die UID uebergeben wird, werden nur die Funktionen dieser Person geladen
* @return true wenn ok, false im Fehlerfall
*/
function getAll($uid=null)
public function getAll($uid=null)
{
if (is_null($uid))
$qry='SELECT * FROM public.tbl_funktion order by funktion_kurzbz;';
else
$qry="SELECT * FROM public.tbl_funktion JOIN public.tbl_benutzerfunktion USING (funktion_kurzbz) WHERE uid='$uid';";
$qry="SELECT * FROM public.tbl_funktion JOIN public.tbl_benutzerfunktion USING (funktion_kurzbz)
WHERE uid='".addslashes($uid)."';";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim laden der Datensaetze';
$this->errormsg = 'Fehler beim Laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$funktion_obj = new funktion($this->conn);
$funktion_obj = new funktion();
$funktion_obj->funktion_kurzbz = $row->funktion_kurzbz;
$funktion_obj->beschreibung = $row->beschreibung;
@@ -80,7 +81,13 @@ class funktion
return true;
}
function checkFunktion($funktion)
/**
* Prueft ob die funktion vorhanden ist
*
* @param $funktion
* @return true wenn vorhanden sonst false
*/
public function checkFunktion($funktion)
{
foreach ($this->result AS $fkt)
if ($fkt->funktion_kurzbz==$funktion)
@@ -93,7 +100,7 @@ class funktion
* @param $funktion_kurzbz ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
function load($funktion_kurzbz)
public function load($funktion_kurzbz)
{
if($funktion_kurzbz == '')
{
@@ -101,15 +108,15 @@ class funktion
return false;
}
$qry = "SELECT * FROM public.tbl_funktion WHERE funktion_kurzbz = '$funktion_kurzbz';";
$qry = "SELECT * FROM public.tbl_funktion WHERE funktion_kurzbz = '".addslashes($funktion_kurzbz)."';";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->funktion_kurzbz = $row->funktion_kurzbz;
$this->beschreibung = $row->beschreibung;
@@ -124,45 +131,32 @@ class funktion
return true;
}
/**
* Loescht einen Datensatz
* @param $funktion_id id des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($funktion_kurzbz)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
protected function validate()
{
//Laenge Pruefen
if(strlen($this->beschreibung)>64)
{
$this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei <b>$this->funktion_kurzbz</b> - $this->beschreibung";
$this->errormsg = 'Bezeichnung darf nicht laenger als 128 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
function save()
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
@@ -196,25 +190,8 @@ class funktion
'WHERE funktion_kurzbz = '.$this->addslashes($this->funktion_kurzbz).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
return true;
}
else
+56 -80
View File
@@ -24,8 +24,9 @@
* Klasse fuer die Gebiete des Testtools (Reihungstesttool)
*
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class gebiet
class gebiet extends basis_db
{
//Tabellenspalten
public $gebiet_id;
@@ -50,46 +51,32 @@ class gebiet
// ErgebnisArray
public $result=array();
public $errormsg;
public $new;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional ein Gebiet
// * @param $conn Datenbank-Connection
// * $gebiet_id Gebiet das geladen werden soll (default=null)
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
public function gebiet($conn, $gebiet_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional ein Gebiet
* @param $gebiet_id Gebiet das geladen werden soll (default=null)
*/
public function __construct($gebiet_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($gebiet_id != null)
parent::__construct();
if(!is_null($gebiet_id))
$this->load($gebiet_id);
}
// ***********************************************************
// * Laedt Gebiet mit der uebergebenen ID
// * @param $gebiet_id ID des Gebiets das geladen werden soll
// ***********************************************************
/**
* Laedt Gebiet mit der uebergebenen ID
* @param $gebiet_id ID des Gebiets das geladen werden soll
* @return true wenn ok, sonst false
*/
public function load($gebiet_id)
{
$qry = "SELECT * FROM testtool.tbl_gebiet WHERE gebiet_id='".addslashes($gebiet_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->gebiet_id = $row->gebiet_id;
$this->kurzbz = $row->kurzbz;
@@ -116,7 +103,7 @@ class gebiet
}
else
{
$this->errormsg = "Kein Eintrag gefunden fuer $gebiet_id";
$this->errormsg = "Gebiet nicht gefunden";
return false;
}
}
@@ -126,23 +113,12 @@ class gebiet
return false;
}
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
private function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
private function validate()
{
if(strlen($this->kurzbz)>10)
@@ -198,12 +174,12 @@ class gebiet
return true;
}
// ******************************************************************
// * Speichert das Gebiet in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
// * ansonsten der Datensatz aktualisiert
// * @return true wenn erfolgreich, false im Fehlerfall
// ******************************************************************
/**
* Speichert das Gebiet in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
* ansonsten der Datensatz aktualisiert
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
@@ -260,31 +236,31 @@ class gebiet
" WHERE gebiet_id='".addslashes($this->gebiet_id)."';";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//aktuelle ID aus der Sequence holen
if($new)
{
$qry='SELECT currval("testtool.tbl_gebiet_gebiet_id_seq") as id;';
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->gebiet_id = $row->id;
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Lesen der Sequence';
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Lesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -293,7 +269,7 @@ class gebiet
}
else
{
$this->errormsg = 'Fehler beim Speichern der Frage:'.$qry;
$this->errormsg = 'Fehler beim Speichern der Frage';
return false;
}
}
@@ -304,7 +280,7 @@ class gebiet
*
* @param $gebiet_id
*/
function check_gebiet($gebiet_id)
public function check_gebiet($gebiet_id)
{
$this->errormsg = '';
$this->load($gebiet_id);
@@ -325,9 +301,9 @@ class gebiet
if($this->level_start!='')
{
$qry = "SELECT count(*) as anzahl, level FROM testtool.tbl_frage WHERE gebiet_id='".addslashes($gebiet_id)."' GROUP BY level";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
if($row->anzahl<$this->maxfragen)
{
@@ -341,9 +317,9 @@ class gebiet
$qry = "SELECT frage_id, nummer FROM testtool.tbl_frage
WHERE (SELECT count(*) as anzahl FROM testtool.tbl_vorschlag WHERE frage_id=tbl_frage.frage_id)<2
AND gebiet_id='".addslashes($gebiet_id)."' AND NOT demo;";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$this->errormsg .= "Frage Nummer $row->nummer (ID: $row->frage_id) hat weniger als 2 Vorschlaege.\n";
}
@@ -353,9 +329,9 @@ class gebiet
if($this->level_start!='')
{
$qry = "SELECT level FROM testtool.tbl_frage WHERE gebiet_id='".addslashes($gebiet_id)."' AND level is not null GROUP by level";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if(pg_num_rows($result)<2)
if($this->db_num_rows()<2)
{
$this->errormsg .= "Wenn Levels verwendet werden, muessen mindestens 2 verschiedene Level vorhanden sein.\n";
}
@@ -368,9 +344,9 @@ class gebiet
if($this->maxfragen!='' && $this->maxfragen!=0)
{
$qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage WHERE gebiet_id='".addslashes($gebiet_id)."' AND not demo AND level is not null GROUP BY level";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if($row->anzahl>$this->maxfragen)
{
@@ -395,9 +371,9 @@ class gebiet
GROUP BY level, punkte ) as b
GROUP BY level) as c
WHERE c.anzahl>1";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$this->errormsg .= "Pro Level/Frage darf die positive Punkteanzahl nicht unterschiedlich sein wenn Zufallsfragen und Levels/Levelgleichverteilung verwendet wird. (Unterschiede in Level $row->level)\n";
}
@@ -431,11 +407,11 @@ class gebiet
{
$qry = 'SELECT * FROM testtool.tbl_gebiet ORDER BY bezeichnung';
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new gebiet($this->conn, null, null);
$obj = new gebiet();
$obj->gebiet_id = $row->gebiet_id;
$obj->kurzbz = $row->kurzbz;
@@ -486,7 +462,7 @@ class gebiet
FROM testtool.tbl_vorschlag JOIN testtool.tbl_frage USING(frage_id)
WHERE gebiet_id='".addslashes($gebiet_id)."' AND punkte>0 AND NOT demo";
if($this->maxfragen!='' && $this->maxfragen>0)
$qry.=" LIMIT $maxfragen";
$qry.=" LIMIT $this->maxfragen";
}
elseif($this->levelgleichverteilung && !$this->multipleresponse)
{
@@ -548,13 +524,13 @@ class gebiet
) as a
GROUP by level, punkte";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
$maxfragen = $this->maxfragen;
$maxpunkte = 0;
$lastpunkte=0;
//Punkte mit der Anzahl der Mindestfragen fuer dieses Level multiplizieren
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
if($maxfragen>0)
{
@@ -569,9 +545,9 @@ class gebiet
}
}
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
return $row->max;
}
+117 -110
View File
@@ -19,68 +19,53 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class gruppe
class gruppe extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $result = array(); // gruppen Objekt
public $new; // boolean
public $result = array(); // gruppen Objekt
//Tabellenspalten
var $gruppe_kurzbz; // varchar(16)
var $studiengang_kz; // integer
var $bezeichnung; // varchar(32)
var $semester; // smallint
var $sort; // smallint
var $lehre=true; //boolean
var $mailgrp; // boolean
var $beschreibung; // varchar(128)
var $generiert; // boolean
var $sichtbar; // boolean
var $aktiv; // boolean
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $orgform_kurzbz;
public $gruppe_kurzbz; // varchar(16)
public $studiengang_kz; // integer
public $bezeichnung; // varchar(32)
public $semester; // smallint
public $sort; // smallint
public $lehre=true; //boolean
public $mailgrp; // boolean
public $beschreibung; // varchar(128)
public $generiert; // boolean
public $sichtbar; // boolean
public $aktiv; // boolean
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $orgform_kurzbz;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Gruppe
// * @param $conn Datenbank-Connection
// * $gruppe_kurzbz
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function gruppe($conn, $gruppe_kurzbz=null, $unicode=false)
/**
* Konstruktor - Laedt optional eine Gruppe
* @param $gruppe_kurzbz
*/
public function __construct($gruppe_kurzbz=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
*/
if($gruppe_kurzbz!=null)
parent::__construct();
if(!is_null($gruppe_kurzbz))
$this->load($gruppe_kurzbz);
}
// *************************
// * Loescht eine Gruppe
// *************************
function delete($gruppe_kurzbz)
/**
* Loescht eine Gruppe
* @param gruppe_kurzbz
* @return boolean
*/
public function delete($gruppe_kurzbz)
{
$qry ="DELETE FROM public.tbl_gruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
@@ -89,39 +74,48 @@ class gruppe
}
}
// ****************************************
// * Prueft ob bereits eine Gruppe mit der
// * uebergebenen Kurzbezeichnung existiert
// * @param gruppe_kurzbz
// ****************************************
function exists($gruppe_kurzbz)
/**
* Prueft ob bereits eine Gruppe mit der
* uebergebenen Kurzbezeichnung existiert
* @param gruppe_kurzbz
*/
public function exists($gruppe_kurzbz)
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_gruppe WHERE gruppe_kurzbz='".addslashes(strtoupper($gruppe_kurzbz))."'";
if($row = pg_fetch_object(pg_query($this->conn,$qry)))
if($this->db_query($qry))
{
if($row->anzahl>0)
return true;
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
return true;
else
return false;
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage: '.$qry;
return false;
}
}
else
else
{
$this->errormsg = 'Fehler bei einer Abfrage: '.$qry;
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
// *********************************************************
// * Laedt die Gruppe
// * @param gruppe_kurzbz
// *********************************************************
function load($gruppe_kurzbz)
/**
* Laedt die Gruppe
* @param gruppe_kurzbz
*/
public function load($gruppe_kurzbz)
{
$qry = "SELECT * FROM public.tbl_gruppe where gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
$qry = "SELECT * FROM public.tbl_gruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
$this->studiengang_kz = $row->studiengang_kz;
@@ -154,15 +148,21 @@ class gruppe
}
}
function getAll()
/**
* Laedt alle Gruppen
*
* @return boolean
*/
public function getAll()
{
$qry = "SELECT * FROM public.tbl_gruppe ORDER BY gruppe_kurzbz";
if( $result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$grp_obj = new gruppe($this->conn, null, null);
$grp_obj = new gruppe();
$grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz;
$grp_obj->studiengang_kz = $row->studiengang_kz;
$grp_obj->bezeichnung = $row->bezeichnung;
@@ -191,12 +191,20 @@ class gruppe
}
}
function countStudenten($gruppe_kurzbz)
/**
* Liefert die Anzahl der Personen in dieser Gruppe
*
* @param $gruppe_kurzbz
* @return anzahl der Personen
*/
public function countStudenten($gruppe_kurzbz)
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
$qry = "SELECT count(*) as anzahl FROM public.tbl_benutzergruppe
WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
return $row->anzahl;
else
{
@@ -211,23 +219,33 @@ class gruppe
}
}
function getgruppe($studiengang_kz=null, $semester=null, $mailgrp=null, $sichtbar=null)
/**
* Laedt die Gruppen die den Parametern ensprechen
*
* @param $studiengang_kz
* @param $semester
* @param $mailgrp
* @param $sichtbar
* @return boolean
*/
public function getgruppe($studiengang_kz=null, $semester=null, $mailgrp=null, $sichtbar=null)
{
$qry = 'SELECT * FROM public.tbl_gruppe WHERE 1=1';
if(!is_null($studiengang_kz) && $studiengang_kz!='')
$qry .= " AND studiengang_kz='$studiengang_kz'";
$qry .= " AND studiengang_kz='".addslashes($studiengang_kz)."'";
if(!is_null($semester) && $semester!='')
$qry .= " AND semester='$semester'";
$qry .= " AND semester='".addslashes($semester)."'";
if(!is_null($mailgrp) && $mailgrp!='')
$qry .= " AND mailgrp=".($mailgrp?'true':'false');
if(!is_null($sichtbar))
$qry .= " AND sichtbar=".($sichtbar?'true':'false');
$qry.=" ORDER BY beschreibung";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$grp_obj = new gruppe($this->conn, null, null);
$grp_obj = new gruppe();
$grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz;
$grp_obj->studiengang_kz = $row->studiengang_kz;
$grp_obj->bezeichnung = $row->bezeichnung;
@@ -256,12 +274,12 @@ class gruppe
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(strlen($this->gruppe_kurzbz)>16)
{
@@ -326,25 +344,14 @@ class gruppe
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Gruppe in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null, $upper=true)
/**
* Speichert Gruppe in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null, $upper=true)
{
if(is_null($new))
$new = $this->new;
@@ -399,7 +406,7 @@ class gruppe
" WHERE gruppe_kurzbz=".$this->addslashes(strtoupper($this->gruppe_kurzbz)).";";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
+76 -91
View File
@@ -23,54 +23,39 @@
* Klasse kontakt
* @create 20-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class kontakt
class kontakt extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var adresse Objekt
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
Var $kontakt_id; // @var integer
var $person_id; // @var integer
var $firma_id; // @var integer
var $kontakttyp; // @var string
var $anmerkung; // @var string
var $kontakt; // @var string
var $zustellung; // @var boolean
var $ext_id; // @var integer
var $insertamum; // @var timestamp
var $insertvon; // @var bigint
var $updateamum; // @var timestamp
var $updatevon; // @var bigint
public $kontakt_id; // integer
public $person_id; // integer
public $firma_id; // integer
public $kontakttyp; // string
public $anmerkung; // string
public $kontakt; // string
public $zustellung; // boolean
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
var $beschreibung;
var $firma_name;
public $beschreibung;
public $firma_name;
/**
* Konstruktor
* @param $conn Connection
* $kontakt_id ID der Adresse die geladen werden soll (Default=null)
* @param $kontakt_id ID der Adresse die geladen werden soll (Default=null)
*/
function kontakt($conn,$kontakt_id=null, $unicode=false)
public function __construct($kontakt_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($kontakt_id != null)
parent::__construct();
if(!is_null($kontakt_id))
$this->load($kontakt_id);
}
@@ -79,7 +64,7 @@ class kontakt
* @param $kontakt_id ID des zu ladenden Kontaktes
* @return true wenn ok, false im Fehlerfall
*/
function load($kontakt_id)
public function load($kontakt_id)
{
if(!is_numeric($kontakt_id))
{
@@ -87,11 +72,12 @@ class kontakt
return false;
}
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name FROM public.tbl_kontakt LEFT JOIN public.tbl_firma USING(firma_id) WHERE kontakt_id='$kontakt_id'";
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name
FROM public.tbl_kontakt LEFT JOIN public.tbl_firma USING(firma_id) WHERE kontakt_id='$kontakt_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->kontakt_id = $row->kontakt_id;
$this->person_id = $row->person_id;
@@ -122,54 +108,43 @@ class kontakt
}
/**
* Prueft die Variablen auf gueltigkeit
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
public function validate()
{
//Gesamtlaenge pruefen
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
if(strlen($this->kontakttyp)>32)
{
$this->errormsg = 'kontakttyp darf nicht länger als 32 Zeichen sein - firma_id: '.$row->email_id;
$this->errormsg = 'kontakttyp darf nicht länger als 32 Zeichen sein';
return false;
}
if(strlen($this->anmerkung)>64)
{
$this->errormsg = 'anmerkung darf nicht länger als 64 Zeichen sein - firma_id: '.$row->email_id;
$this->errormsg = 'anmerkung darf nicht länger als 64 Zeichen sein';
return false;
}
if(strlen($this->kontakt)>128)
{
$this->errormsg = 'kontakt darf nicht länger als 128 Zeichen sein - firma_id: '.$row->email_id;
$this->errormsg = 'kontakt darf nicht länger als 128 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
@@ -194,7 +169,7 @@ class kontakt
//Pruefen ob kontakt_id eine gueltige Zahl ist
if(!is_numeric($this->kontakt_id))
{
$this->errormsg = 'kontakt_id muss eine gueltige Zahl sein: '.$this->kontakt_id.' ('.$this->person_id.')';
$this->errormsg = 'kontakt_id muss eine gueltige Zahl sein';
return false;
}
@@ -211,32 +186,32 @@ class kontakt
'WHERE kontakt_id='.$this->addslashes($this->kontakt_id).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
//Sequence auslesen um die eingefuegte ID zu ermitteln
if($this->new)
{
$qry = "SELECT currval('public.tbl_kontakt_kontakt_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->kontakt_id = $row->id;
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen er Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -249,12 +224,12 @@ class kontakt
}
}
// **
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $kontakt_id ID die geloescht werden soll
// * @return true wenn ok, false im Fehlerfall
// **
function delete($kontakt_id)
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $kontakt_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($kontakt_id)
{
if(!is_numeric($kontakt_id))
{
@@ -264,7 +239,7 @@ class kontakt
$qry = "DELETE FROM public.tbl_kontakt WHERE kontakt_id='$kontakt_id'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
@@ -273,10 +248,12 @@ class kontakt
}
}
// **
// * Laedt alle Kontaktdaten einer Person
// **
function load_pers($person_id)
/**
* Laedt alle Kontaktdaten einer Person
* @param person_id
* @return boolean
*/
public function load_pers($person_id)
{
if(!is_numeric($person_id))
{
@@ -284,13 +261,14 @@ class kontakt
return false;
}
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name FROM public.tbl_kontakt LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id='$person_id'";
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name
FROM public.tbl_kontakt LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id='$person_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new kontakt($this->conn, null, null);
$obj = new kontakt();
$obj->kontakt_id = $row->kontakt_id;
$obj->person_id = $row->person_id;
@@ -308,23 +286,30 @@ class kontakt
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
// **************************
// * Laedt alle Kontakttypen
// * @return true wenn ok
// * false im Fehlerfall
// **************************
function getKontakttyp()
/**
* Laedt alle Kontakttypen
* @return true wenn ok
* false im Fehlerfall
*/
public function getKontakttyp()
{
$qry = "SELECT * FROM public.tbl_kontakttyp ORDER BY beschreibung";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new kontakt($this->conn, null, null);
$obj = new kontakt();
$obj->kontakttyp = $row->kontakttyp;
$obj->beschreibung = $row->beschreibung;
+75 -64
View File
@@ -23,15 +23,12 @@
* Klasse Konto
* @create 2007-05-14
*/
require_once ('basis_db.class.php');
require_once(dirname(__FILE__).'/basis_db.class.php');
class konto extends basis_db
{
//var $conn; // @var resource DB-Handle
public $new; // @var boolean
public $errormsg; // @var string
public $result = array(); // @var adresse Objekt
public $new;
public $result = array();
public $buch_nr = array();
public $buch_date = array();
@@ -60,10 +57,10 @@ class konto extends basis_db
public $standardbetrag;
public $standardtext;
// **************************************************************************
// * Konstruktor
// * @param $buchungsnr ID der Adresse die geladen werden soll (Default=null)
// **************************************************************************
/**
* Konstruktor
* @param $buchungsnr Nr der zu ladenden Buchung (default=null)
*/
public function __construct($buchungsnr=null)
{
parent::__construct();
@@ -72,11 +69,11 @@ class konto extends basis_db
$this->load($buchungsnr);
}
// ************************************************
// * Laedt die Funktion mit der ID $buchungsnr
// * @param $buchungsnr ID der zu ladenden Email
// * @return true wenn ok, false im Fehlerfall
// ************************************************
/**
* Laedt die Funktion mit der ID $buchungsnr
* @param $buchungsnr ID der zu ladenden Email
* @return true wenn ok, false im Fehlerfall
*/
public function load($buchungsnr)
{
if(!is_numeric($buchungsnr))
@@ -128,11 +125,11 @@ class konto extends basis_db
}
}
// *******************************************
// * Prueft die Variablen auf gueltigkeit
// * @return true wenn ok, false im Fehlerfall
// *******************************************
private function validate()
/**
* Prueft die Variablen auf gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
$this->betrag = str_replace(',','.',$this->betrag);
if(!is_numeric($this->betrag))
@@ -168,13 +165,13 @@ class konto extends basis_db
return true;
}
// ***********************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert
// * @param $new true wenn insert false wenn update
// * @return true wenn ok, false im Fehlerfall
// ***********************************************************************
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz aktualisiert
* @param $new true wenn insert false wenn update
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
//Variablen pruefen
@@ -225,7 +222,6 @@ class konto extends basis_db
" WHERE buchungsnr='".addslashes($this->buchungsnr)."';";
}
//echo $qry;
if($this->db_query($qry))
{
@@ -262,11 +258,11 @@ class konto extends basis_db
}
}
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param buchungsnr ID die geloescht werden soll
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param buchungsnr ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($buchungsnr)
{
//Pruefen ob Verweise auf diese Buchung Vorhanden sind
@@ -306,12 +302,12 @@ class konto extends basis_db
}
}
// ******************************************
// * Laedt alle Buchungen einer Person
// * und legt diese geordnet in ein Array
// * @param person_id, filter
// * @return true wenn ok, false wenn fehler
// ******************************************
/**
* Laedt alle Buchungen einer Person
* und legt diese geordnet in ein Array
* @param person_id, filter
* @return true wenn ok, false wenn fehler
*/
public function getBuchungen($person_id, $filter='alle', $studiengang_kz='')
{
if(!is_numeric($person_id))
@@ -321,7 +317,7 @@ class konto extends basis_db
}
if($studiengang_kz!='')
$stgwhere = " AND tbl_konto.studiengang_kz='$studiengang_kz' ";
$stgwhere = " AND tbl_konto.studiengang_kz='".addslashes($studiengang_kz)."' ";
else
$stgwhere = '';
@@ -345,7 +341,7 @@ class konto extends basis_db
$qry = "SELECT tbl_konto.*, anrede, titelpost, titelpre, nachname, vorname, vornamen
FROM public.tbl_konto JOIN public.tbl_person USING (person_id)
WHERE person_id='".$person_id."' $stgwhere ORDER BY buchungsdatum";
//echo $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -392,10 +388,10 @@ class konto extends basis_db
}
}
// ******************************************
// * Liefert alle Buchungstypen
// * @return true wenn ok, false wenn Fehler
// ******************************************
/**
* Liefert alle Buchungstypen
* @return true wenn ok, false wenn Fehler
*/
public function getBuchungstyp()
{
$qry = "SELECT * FROM public.tbl_buchungstyp ORDER BY beschreibung";
@@ -422,13 +418,14 @@ class konto extends basis_db
}
}
// ******************************
// * Berechnet den offenen Betrag
// * einer Buchung
// ******************************
/**
* Berechnet den offenen Betrag
* einer Buchung
*/
public function getDifferenz($buchungsnr)
{
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto WHERE buchungsnr='$buchungsnr' OR buchungsnr_verweis='$buchungsnr'";
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
WHERE buchungsnr='".addslashes($buchungsnr)."' OR buchungsnr_verweis='".addslashes($buchungsnr)."'";
if($this->db_query($qry))
{
@@ -448,28 +445,42 @@ class konto extends basis_db
}
// ******************************
// * ueberprueft, ob studiengebuehr gebucht ist fuer
// * student_uid und studiensemester
// * gibt true/false zurueck und setzt bei true das buchungsdatum $this->buchungsdatum
// ******************************
/**
* ueberprueft, ob studiengebuehr gebucht ist fuer
* student_uid und studiensemester
* gibt true/false zurueck und setzt bei true das buchungsdatum $this->buchungsdatum
*/
public function checkStudienbeitrag($uid, $stsem)
{
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum FROM public.tbl_konto, public.tbl_benutzer WHERE tbl_konto.studiensemester_kurzbz = '".$stsem."' AND tbl_benutzer.uid = '".$uid."' AND tbl_benutzer.person_id = tbl_konto.person_id and tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr";
$this->db_query($subqry);
if ($this->db_num_rows()==0)
return false;
else
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum FROM public.tbl_konto, public.tbl_benutzer
WHERE
tbl_konto.studiensemester_kurzbz = '".addslashes($stsem)."'
AND tbl_benutzer.uid = '".addslashes($uid)."'
AND tbl_benutzer.person_id = tbl_konto.person_id
AND tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr";
if($this->db_query($subqry))
{
while ($subrow = $this->db_fetch_object())
if ($this->db_num_rows()==0)
return false;
else
{
$buch_nr[] = $subrow->buchungsnr;
$buch_date[] = $subrow->buchungsdatum;
while ($subrow = $this->db_fetch_object())
{
$buch_nr[] = $subrow->buchungsnr;
$buch_date[] = $subrow->buchungsdatum;
}
}
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto WHERE buchungsnr='".$buch_nr[0]."' OR buchungsnr_verweis='".$buch_nr[0]."'";
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
WHERE buchungsnr='".$buch_nr[0]."' OR buchungsnr_verweis='".$buch_nr[0]."'";
if($this->db_query($qry))
{
+57 -83
View File
@@ -19,69 +19,52 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class legesamtnote
class legesamtnote extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $legesamtnoten = array(); // lehreinheit Objekt
public $new;
public $legesamtnoten = array();
//Tabellenspalten
var $student_uid; // varchar(16)
var $lehreinheit_id; // int
var $note; // smallint
var $benotungsdatum; //date
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
public $student_uid; // varchar(16)
public $lehreinheit_id; // int
public $note; // smallint
public $benotungsdatum; //date
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Uebung
// * @param $conn Datenbank-Connection
// * $uebung_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function legesamtnote($conn, $student_uid=null, $lehreinheit_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional eine LEGesamtNote
* @param $uebung_id
*/
public function __construct($student_uid=null, $lehreinheit_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($this->conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($student_uid != null)
parent::__construct();
if(!is_null($student_uid))
$this->load($student_uid, $lehreinheit_id);
}
// *********************************************************
// * Laedt die legesamtnote
// * @param student_uid, lehreinheit_id
// *********************************************************
function load($student_uid, $lehreinheit_id)
/**
* Laedt die legesamtnote
* @param student_uid, lehreinheit_id
*/
public function load($student_uid, $lehreinheit_id)
{
if(!is_numeric($lehreinheit_id))
{
$this->errormsg='lehreinheit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM campus.tbl_legesamtnote where student_uid = '".$student_uid."' and lehreinheit_id = '".$lehreinheit_id."'";
$qry = "SELECT * FROM campus.tbl_legesamtnote
WHERE student_uid = '".addslashes($student_uid)."' AND lehreinheit_id = '".addslashes($lehreinheit_id)."'";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehreinheit_id = $row->lehreinheit_id;
$this->student_uid = $row->student_uid;
@@ -101,13 +84,18 @@ class legesamtnote
}
else
{
$this->errormsg = 'Fehler beim laden der Uebung';
$this->errormsg = 'Fehler beim Laden der LEGesamtNote';
return false;
}
}
function load_legesamtnote($lehreinheit_id)
/**
* Ledt die LEGesamtnoten einer Lehreinheit
*
* @param $lehreinheit_id
* @return boolean
*/
public function load_legesamtnote($lehreinheit_id)
{
if(!is_numeric($lehreinheit_id))
{
@@ -115,14 +103,14 @@ class legesamtnote
return false;
}
$qry = "SELECT * FROM campus.tbl_legesamtnote WHERE lehreinheit_id='".$lehreinheit_id."' order by student_uid";
$qry = "SELECT * FROM campus.tbl_legesamtnote WHERE lehreinheit_id='".$lehreinheit_id."' ORDER BY student_uid";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$legesamtnote_obj = new uebung($this->conn);
$legesamtnote_obj = new legesamtnote();
$legesamtnote_obj->student_uid = $row->student_uid;
$legesamtnote_obj->note = $row->note;
@@ -139,17 +127,17 @@ class legesamtnote
}
else
{
$this->errormsg = 'Fehler beim laden der legesamtnoten';
$this->errormsg = 'Fehler beim Laden der legesamtnoten';
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(!is_numeric($this->lehreinheit_id))
{
@@ -164,28 +152,14 @@ class legesamtnote
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
/**
* Speichert Uebung in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Uebung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
{
//if(is_null($new))
// $new = $this->new;
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
@@ -211,10 +185,10 @@ class legesamtnote
' benotungsdatum='.$this->addslashes($this->benotungsdatum).','.
' updateamum='.$this->addslashes($this->updateamum).','.
' updatevon='.$this->addslashes($this->updatevon).
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." and student_uid = '".$this->student_uid."';";
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." AND student_uid = '".$this->student_uid."';";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
}
+166 -183
View File
@@ -19,94 +19,78 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/log.class.php');
class lehreinheit
class lehreinheit extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $lehreinheiten = array(); // lehreinheit Objekt
public $new; // boolean
public $lehreinheiten = array(); // lehreinheit Objekt
//Tabellenspalten
var $lehreinheit_id; // integer
var $lehrveranstaltung_id; // integer
var $studiensemester_kurzbz; // varchar(16)
var $lehrfach_id; // integer
var $lf_kurzbz;
var $lf_bez;
var $lf_aktiv;
var $lehrform_kurzbz; // varchar(8)
var $stundenblockung; // smalint
var $wochenrythmus; // smalint
var $start_kw; // smalint
var $raumtyp; // varchar(8)
var $raumtypalternativ; // varchar(8)
var $lehre; // boolean
var $anmerkung; // varchar(255)
var $unr; // integer
var $lvnr; // bigint
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $sprache; // varchar(16)
var $ext_id; // bigint
public $lehreinheit_id; // integer
public $lehrveranstaltung_id; // integer
public $studiensemester_kurzbz; // varchar(16)
public $lehrfach_id; // integer
public $lf_kurzbz;
public $lf_bez;
public $lf_aktiv;
public $lehrform_kurzbz; // varchar(8)
public $stundenblockung; // smalint
public $wochenrythmus; // smalint
public $start_kw; // smalint
public $raumtyp; // varchar(8)
public $raumtypalternativ; // varchar(8)
public $lehre; // boolean
public $anmerkung; // varchar(255)
public $unr; // integer
public $lvnr; // bigint
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $sprache; // varchar(16)
public $ext_id; // bigint
var $anz=0; //Zahler fuer erweiterte Attribute
var $mitarbeiter_uid=array();
var $studiengang_kz=array();
var $semester=array();
var $verband=array();
var $gruppe=array();
var $gruppe_kurzbz=array();
var $titel=array();
var $lehrform=array();
public $anz=0; //Zahler fuer erweiterte Attribute
public $mitarbeiter_uid=array();
public $studiengang_kz=array();
public $semester=array();
public $verband=array();
public $gruppe=array();
public $gruppe_kurzbz=array();
public $titel=array();
public $lehrform=array();
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine LE
// * @param $conn Datenbank-Connection
// * $gruppe_kurzbz
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function lehreinheit($conn, $lehreinheit_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional eine LE
* @param $gruppe_kurzbz
*/
public function __construct($lehreinheit_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
*/
parent::__construct();
if($lehreinheit_id!=null)
$this->load($lehreinheit_id);
}
// *********************************************************
// * Laedt die LE
// * @param lehreinheit_id
// *********************************************************
function load($lehreinheit_id)
/**
* Laedt die LE
* @param lehreinheit_id
*/
public function load($lehreinheit_id)
{
if(!is_numeric($lehreinheit_id))
{
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehreinheit_id = $row->lehreinheit_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
@@ -130,6 +114,11 @@ class lehreinheit
$this->ext_id = $row->ext_id;
return true;
}
else
{
$this->errormsg = 'Es existiert keine Lehreinheit mit dieser ID';
return false;
}
}
else
{
@@ -137,11 +126,12 @@ class lehreinheit
return false;
}
}
// *********************************************************
// * Laedt die LE von der View mit erweiterten Attributen
// * @param lehreinheit_id
// *********************************************************
function loadLE($lehreinheit_id)
/**
* Laedt die LE von der View mit erweiterten Attributen
* @param lehreinheit_id
*/
public function loadLE($lehreinheit_id)
{
if(!is_numeric($lehreinheit_id))
{
@@ -150,11 +140,11 @@ class lehreinheit
$qry = "SELECT * FROM campus.vw_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
$this->anz=0;
while($row = pg_fetch_object($result))
{ // lehrfunktion_kurzbz fachbereich_kurzbz semesterstunden lv_semesterstunden planstunden stundensatz faktor lektor stg_kurzbz stg_kurzbzlang stg_bez stg_typ anmerkunglektor
while($row = $this->db_fetch_object())
{
$this->lehreinheit_id = $row->lehreinheit_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -187,9 +177,10 @@ class lehreinheit
$this->gruppe[$this->anz] = $row->gruppe;
$this->gruppe_kurzbz[$this->anz] = $row->gruppe_kurzbz;
$this->titel[$this->anz] = '';
//$this->lehrform[$this->anz] = $row->lehrform;
$this->anz++;
}
return true;
}
else
{
@@ -198,10 +189,20 @@ class lehreinheit
}
}
function load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz, $uid='', $fachbereich_kurzbz='')
/**
* Laedt die Lehreinheiten zu einer Lehrveranstaltung
*
* @param $lehrveranstaltung_id
* @param $studiensemester_kurzbz
* @param $uid
* @param $fachbereich_kurzbz
* @return boolean
*/
public function load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz, $uid='', $fachbereich_kurzbz='')
{
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz' ";
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE
lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."'
AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($uid!='')
$qry .= " AND lehreinheit_id IN ( SELECT lehreinheit_id FROM lehre.tbl_lehreinheitmitarbeiter WHERE mitarbeiter_uid='".addslashes($uid)."')";
@@ -211,11 +212,11 @@ class lehreinheit
$qry.= "ORDER BY lehreinheit_id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$le_obj = new lehreinheit($this->conn, null, null);
$le_obj = new lehreinheit();
$le_obj->lehreinheit_id = $row->lehreinheit_id;
$le_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
@@ -249,12 +250,12 @@ class lehreinheit
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if($this->lehreinheit_id!='' && !is_numeric($this->lehreinheit_id))
{
@@ -352,24 +353,13 @@ class lehreinheit
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert LE in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert LE in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -430,31 +420,31 @@ class lehreinheit
' ext_id='.$this->addslashes($this->ext_id).
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id).";";
}
//echo $qry;
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($new)
{
//Sequence auslesen
$qry ="SELECT currval('lehre.tbl_lehreinheit_lehreinheit_id_seq') AS lehreinheit_id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehreinheit_id = $row->lehreinheit_id;
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
}
else
{
$this->errormsg = 'Fehler beim auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK;');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK;');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
@@ -468,7 +458,7 @@ class lehreinheit
}
}
/*************************************************************************
/**
* Prueft die geladene Lehrveranstaltung auf Kollisionen im Stundenplan.
* Rueckgabewert 'false' und die Fehlermeldung steht in '$this->errormsg'.
* @param string datum gewuenschtes Datum YYYY-MM-TT
@@ -476,8 +466,8 @@ class lehreinheit
* @param string ort gewuenschter Ort
* @param string db_stpl_table Tabllenname des Stundenplans im DBMS
* @return boolean true=ok, false=error
*************************************************************************/
function check_lva($datum,$stunde,$ort,$stpl_table)
*/
public function check_lva($datum,$stunde,$ort,$stpl_table)
{
$ignore_reservation=false;
$ignore_zeitsperre=false;
@@ -485,32 +475,28 @@ class lehreinheit
// Bezeichnung der Stundenplan-Tabelle und des Keys
$stpl_id=$stpl_table.TABLE_ID;
$stpl_table='lehre.'.TABLE_BEGIN.$stpl_table;
/*// Connection holen
if (is_null($conn=$this->getConnection()))
{
return false;
}*/
//Lektoren SQL
$sql_lkt='';
foreach ($this->mitarbeiter_uid as $lkt)
$sql_lkt.="OR mitarbeiter_uid='$lkt' ";
$sql_lkt.="OR mitarbeiter_uid='".addslashes($lkt)."' ";
$sql_lkt=substr($sql_lkt,3);
$sql_lkt="(($sql_lkt) AND mitarbeiter_uid!='_DummyLektor')";
// Datenbank abfragen
$sql_query="SELECT $stpl_id FROM $stpl_table
WHERE datum='$datum' AND stunde=$stunde
AND (ort_kurzbz='$ort' OR $sql_lkt)";
WHERE datum='".addslashes($datum)."' AND stunde='".addslashes($stunde)."'
AND (ort_kurzbz='".addslashes($ort)."' OR $sql_lkt)";
if (is_numeric($this->unr))
$sql_query.=" AND unr!=$this->unr";
if (! $erg_stpl=pg_query($this->conn, $sql_query))
$sql_query.=" AND unr!='".addslashes($this->unr)."'";
if (!$this->db_query($sql_query))
{
//die($sql_query.pg_last_error($this->conn));
$this->errormsg=pg_last_error($this->conn);
$this->errormsg=$this->db_last_error();
return false;
}
$anzahl=pg_numrows($erg_stpl);
$erg_stpl=$this->db_result;
$anzahl=$this->db_numrows($erg_stpl);
//Check
if ($anzahl==0)
{
@@ -526,7 +512,8 @@ class lehreinheit
$sql_lkt="(($sql_lkt) AND uid!='_DummyLektor')";
$sql_query="SELECT reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde
FROM lehre.vw_reservierung
WHERE datum='$datum' AND stunde=$stunde AND (ort_kurzbz='$ort' OR $sql_lkt)";
WHERE datum='".addslashes($datum)."' AND stunde='".addslashes($stunde)."'
AND (ort_kurzbz='".addslashes($ort)."' OR $sql_lkt)";
// Verband SQL
//$sql_query.="(studiengang_kz=$this->studiengang_kz AND semester=$this->sem";
//if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
@@ -538,12 +525,13 @@ class lehreinheit
//$sql_query.="))";
//echo $sql_query.'<br>';
if (! $erg_res=pg_query($this->conn, $sql_query))
if (!$this->db_query($sql_query))
{
$this->errormsg=$sql_query.pg_last_error($this->conn);
$this->errormsg=$sql_query.$this->db_last_error();
return false;
}
$anz_res=pg_numrows($erg_res);
$erg_res=$this->db_result;
$anz_res=$this->db_num_rows($erg_res);
//Check
if ($anz_res==0)
{
@@ -563,18 +551,19 @@ class lehreinheit
OR (vondatum='$datum' AND bisdatum>'$datum' AND vonstunde<=$stunde)
OR (vondatum<'$datum' AND bisdatum='$datum' AND bisstunde>=$stunde) )";
//echo $sql_query.'<br>';
if (! $erg_zs=pg_query($this->conn, $sql_query))
if (!$this->db_query($sql_query))
{
$this->errormsg=$sql_query.pg_last_error($this->conn);
$this->errormsg=$sql_query.$this->db_last_error();
return false;
}
$anz_zs=pg_numrows($erg_zs);
$erg_zs=$this->db_result;
$anz_zs=$this->db_num_rows($erg_zs);
//Check
if ($anz_zs==0)
return true;
else
{
$row=pg_fetch_object($erg_zs);
$row=$this->db_fetch_object($erg_zs);
$this->errormsg="Kollision (Zeitsperre): $row->zeitsperre_id|$row->mitarbeiter_uid|$row->zeitsperretyp_kurzbz|$row->bezeichnung|$row->vondatum/$row->vonstunde-$row->bisdatum/$row->bisstunde - $row->vertretung_uid";
return false;
}
@@ -583,7 +572,7 @@ class lehreinheit
}
else
{
$row=pg_fetch_object($erg_res);
$row=$this->db_fetch_object($erg_res);
$this->errormsg="Kollision (Reservierung): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde";
return false;
}
@@ -592,13 +581,13 @@ class lehreinheit
}
else
{
$row=pg_fetch_row($erg_stpl);
$row=$this->db_fetch_row($erg_stpl);
$this->errormsg="Kollision mit StundenplanID($stpl_table.$stpl_id): $row[0]";
return false;
}
}
/*************************************************************************
/**
* Speichert die geladene Lehreinheit im Stundenplan.
* Rueckgabewert 'false' und die Fehlermeldung steht in '$this->errormsg'.
* @param string datum gewuenschtes Datum YYYY-MM-TT
@@ -607,12 +596,11 @@ class lehreinheit
* @param string db_stpl_table Tabllenname des Stundenplans im DBMS
* @param string user UID des aktuellen Bentzers
* @return boolean true=ok, false=error
*************************************************************************/
function save_stpl($datum,$stunde,$ort,$stpl_table,$user)
*/
public function save_stpl($datum,$stunde,$ort,$stpl_table,$user)
{
// Parameter Checken
// Bezeichnung der Stundenplan-Tabelle und des Keys
$stpl_id=$stpl_table.TABLE_ID;
$stpl_table='lehre.'.TABLE_BEGIN.$stpl_table;
// Variablen pruefen
@@ -637,10 +625,9 @@ class lehreinheit
else
$sql_query.=",'".$this->gruppe_kurzbz[$i]."'";
$sql_query.=",'".$this->titel[$i]."','$this->anmerkung','$user')";
if (! $erg_stpl=pg_query($this->conn, $sql_query))
if (!$this->db_query($sql_query))
{
//die(pg_last_error($this->conn).$sql_query);
$this->errormsg=pg_last_error($this->conn);
$this->errormsg=$this->db_last_error();
return false;
}
}
@@ -658,7 +645,7 @@ class lehreinheit
* @param integer stg_kz Kennzahl des Studiengangs
* @return variabel Array mit LVA; <b>false</b> bei Fehler
*/
function getLehreinheitLVPL($db_stpl_table,$studiensemester, $type, $stg_kz, $sem, $lektor, $ver=null, $grp=null, $gruppe=null)
public function getLehreinheitLVPL($db_stpl_table,$studiensemester, $type, $stg_kz, $sem, $lektor, $ver=null, $grp=null, $gruppe=null)
{
$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
@@ -686,19 +673,14 @@ class lehreinheit
$sql_query='SELECT *, planstunden-verplant::smallint AS offenestunden
FROM lehre.'.$lva_stpl_view.' JOIN lehre.tbl_lehrform ON '.$lva_stpl_view.'.lehrform=tbl_lehrform.lehrform_kurzbz
WHERE '.$where.' AND verplanen ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;';
//$this->errormsg=$sql_query;
//return false;
if(!($erg=pg_query($this->conn, $sql_query)))
if(!$this->db_query($sql_query))
{
$this->errormsg=pg_errormessage($this->conn).$sql_query;
$this->errormsg=$this->db_last_error().$sql_query;
return false;
}
$num_rows=pg_numrows($erg);
//$l=array();
for($i=0;$i<$num_rows;$i++)
while($row = $this->db_fetch_object())
{
$row=pg_fetch_object($erg,$i);
//$l[$row->unr]=new lehrveranstaltung();
$this->lehreinheiten[$row->unr]->lehreinheit_id[]=$row->lehreinheit_id;
$this->lehreinheiten[$row->unr]->lvnr[]=$row->lvnr;
$this->lehreinheiten[$row->unr]->unr=$row->unr;
@@ -745,22 +727,25 @@ class lehreinheit
return true;
}
// ***************************
// * Loescht eine Lehreinheit
// ***************************
function delete($lehreinheit_id)
/**
* Loescht eine Lehreinheit
* @param lehreinheit_id
* @return boolean
*/
public function delete($lehreinheit_id)
{
if(!is_numeric($lehreinheit_id))
{
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
return false;
}
//Pruefen ob schon eine Kreuzerlliste fuer diese Lehreinheit angelegt wurde.
//Falls ja dann wird das loeschen verweigert
$qry = "SELECT count(*) as anzahl FROM campus.tbl_uebung WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
{
@@ -769,16 +754,16 @@ class lehreinheit
}
else
{
pg_query($this->conn, 'BEGIN');
$this->db_query('BEGIN');
//UNDO Befehl zusammenbauen
$undosql='';
//LehreinheitMitarbeiter
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$undosql.=" INSERT INTO lehre.tbl_lehreinheitmitarbeiter(lehreinheit_id, mitarbeiter_uid, lehrfunktion_kurzbz, planstunden, stundensatz, faktor, anmerkung, bismelden, updateamum, updatevon, insertamum, insertvon, semesterstunden)
VALUES(".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->mitarbeiter_uid).",".$this->addslashes($row->lehrfunktion_kurzbz).",".$this->addslashes($row->planstunden).",".$this->addslashes($row->stundensatz).",".$this->addslashes($row->faktor).",".
@@ -788,9 +773,9 @@ class lehreinheit
//LehreinheitGruppe
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$undosql.=" INSERT INTO lehre.tbl_lehreinheitgruppe(lehreinheitgruppe_id, lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon)
VALUES(".$this->addslashes($row->lehreinheitgruppe_id).",".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->studiengang_kz).",'".addslashes($row->semester)."','".addslashes($row->verband)."','".addslashes($row->gruppe)."',".
@@ -800,9 +785,9 @@ class lehreinheit
//Lehreinheit
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$undosql.=" INSERT INTO lehre.tbl_lehreinheit(lehreinheit_id, lehrveranstaltung_id, studiensemester_kurzbz, lehrfach_id, lehrform_kurzbz, stundenblockung, wochenrythmus, start_kw, raumtyp, raumtypalternativ, sprache, lehre, anmerkung, unr, lvnr, updateamum, updatevon, insertamum, insertvon)
VALUES(".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->lehrveranstaltung_id).",".$this->addslashes($row->studiensemester_kurzbz).",".$this->addslashes($row->lehrfach_id).",".$this->addslashes($row->lehrform_kurzbz).",".$this->addslashes($row->stundenblockung).",".
@@ -811,7 +796,7 @@ class lehreinheit
}
}
$log = new log($this->conn);
$log = new log();
//Gruppenzuteilung, Mitarbeiterzuteilung und Lehreinheit loeschen
$qry = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id';
@@ -828,20 +813,20 @@ class lehreinheit
if(!$log->save())
{
$this->errormsg = 'Fehler beim Schreiben des Log-Eintrages';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
else
{
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->errormsg = pg_last_error($this->conn);
$this->db_query('ROLLBACK');
$this->errormsg = $this->db_last_error();
return false;
}
}
@@ -849,17 +834,15 @@ class lehreinheit
}
else
{
$this->errormsg = 'Fehler beim loeschen';
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim loeschen';
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
}
?>
+119 -133
View File
@@ -19,61 +19,43 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class lehreinheitgruppe
class lehreinheitgruppe extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $lehreinheitgruppe = array(); // lehreinheitgruppe Objekt
public $new; // boolean
public $lehreinheitgruppe = array(); // lehreinheitgruppe Objekt
//Tabellenspalten
var $lehreinheitgruppe_id; //integer
var $lehreinheit_id; // integer
var $studiengang_kz; // integer
var $semester; // smalint
var $verband; // char(1)
var $gruppe; // char(1)
var $gruppe_kurzbz; // varchar(16)
var $ext_id; // bigint
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
public $lehreinheitgruppe_id; //integer
public $lehreinheit_id; // integer
public $studiengang_kz; // integer
public $semester; // smalint
public $verband; // char(1)
public $gruppe; // char(1)
public $gruppe_kurzbz; // varchar(16)
public $ext_id; // bigint
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine LE
// * @param $conn Datenbank-Connection
// * $gruppelehreinheit_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function lehreinheitgruppe($conn, $lehreinheitgruppe_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional eine LEGruppe
* @param $lehreinheitgruppe_id
*/
public function __construct($lehreinheitgruppe_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
*/
if($lehreinheitgruppe_id!=null)
parent::__construct();
if(!is_null($lehreinheitgruppe_id))
$this->load($lehreinheitgruppe_id);
}
// *********************************************************
// * Laedt die LEGruppe
// * @param lehreinheit_id
// *********************************************************
/**
* Laedt die LEGruppe
* @param lehreinheit_id
*/
function load($lehreinheitgruppe_id)
{
if(!is_numeric($lehreinheitgruppe_id))
@@ -83,9 +65,9 @@ class lehreinheitgruppe
}
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehreinheitgruppe_id = $row->lehreinheitgruppe_id;
$this->lehreinheit_id = $row->lehreinheit_id;
@@ -102,6 +84,11 @@ class lehreinheitgruppe
return true;
}
else
{
$this->errormsg = 'Es existiert kein Eintrag mit dieser ID';
return false;
}
}
else
{
@@ -110,12 +97,12 @@ class lehreinheitgruppe
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(!is_numeric($this->lehreinheit_id))
{
@@ -150,24 +137,13 @@ class lehreinheitgruppe
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert GruppeLE in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert GruppeLE in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -178,7 +154,6 @@ class lehreinheitgruppe
if($new)
{
//ToDo ID entfernen
$qry = 'INSERT INTO lehre.tbl_lehreinheitgruppe (lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, ext_id, insertamum, insertvon)
VALUES('.$this->addslashes($this->lehreinheit_id).','.
$this->addslashes($this->studiengang_kz).','.
@@ -205,7 +180,7 @@ class lehreinheitgruppe
" WHERE lehreinheitgruppe_id=".$this->addslashes($this->lehreinheitgruppe_id).";";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
@@ -217,20 +192,20 @@ class lehreinheitgruppe
}
}
// ****************************************************
// * Sieht nach ob Gruppe schon zu dieser Lehreinheit
// * zugeordnet ist.
// * @param lehreinheit_id
// * studiengang_kz
// * semester
// * verband
// * gruppe
// * gruppe_kurzbz
// * @return true wenn vorhanden, false wenn nicht
// ****************************************************
function exists($lehreinheit_id, $studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz)
/**
* Sieht nach ob Gruppe schon zu dieser Lehreinheit
* zugeordnet ist.
* @param lehreinheit_id
* studiengang_kz
* semester
* verband
* gruppe
* gruppe_kurzbz
* @return true wenn vorhanden, false wenn nicht
*/
public function exists($lehreinheit_id, $studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz)
{
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'";
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='".addslashes($lehreinheit_id)."'";
if($gruppe_kurzbz!='')
{
@@ -238,35 +213,35 @@ class lehreinheitgruppe
}
else
{
$qry .= " AND semester='$semester'";
$qry .= " AND semester='".addslashes($semester)."'";
if($verband!='')
$qry .= " AND verband='$verband'";
$qry .= " AND verband='".addslashes($verband)."'";
if($gruppe!='')
$qry .= " AND gruppe='$gruppe'";
$qry .= " AND gruppe='".addslashes($gruppe)."'";
}
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if(pg_num_rows($result)>0)
if($this->db_num_rows()>0)
return true;
else
return false;
}
else
{
$this->errormsg = 'Fehler beim lesen der Lehreinheitgruppen';
$this->errormsg = 'Fehler beim Lesen der Lehreinheitgruppen';
return false;
}
}
// *******************************************
// * Liefert alle Gruppenzuordnungen zu einer
// * Lehreinheit.
// * @param lehreinheit_id Lehreinheit zu der
// * die Gruppen geladen werden sollen
// * @return true wenn ok, false im fehlerfall
// *******************************************
function getLehreinheitgruppe($lehreinheit_id)
/**
* Liefert alle Gruppenzuordnungen zu einer
* Lehreinheit.
* @param lehreinheit_id Lehreinheit zu der
* die Gruppen geladen werden sollen
* @return true wenn ok, false im fehlerfall
*/
public function getLehreinheitgruppe($lehreinheit_id)
{
if(!is_numeric($lehreinheit_id))
{
@@ -275,11 +250,12 @@ class lehreinheitgruppe
}
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$leg_obj = new lehreinheitgruppe($this->conn, null, null);
$leg_obj = new lehreinheitgruppe();
$leg_obj->lehreinheitgruppe_id = $row->lehreinheitgruppe_id;
$leg_obj->lehreinheit_id = $row->lehreinheit_id;
@@ -305,12 +281,12 @@ class lehreinheitgruppe
}
}
// ***************************************************************
// * Loescht die Zuornung Gruppe-Lehreinheit
// * @param lehreinheigruppe_id ID des zu loeschenden Datensatzes
// * @return true wenn ok, false im fehlerfall
// ***************************************************************
function delete($lehreinheitgruppe_id)
/**
* Loescht die Zuornung Gruppe-Lehreinheit
* @param lehreinheigruppe_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im fehlerfall
*/
public function delete($lehreinheitgruppe_id)
{
if(!is_numeric($lehreinheitgruppe_id))
{
@@ -319,9 +295,9 @@ class lehreinheitgruppe
}
$qry_del = "DELETE FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'";
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$sql_undo = "INSERT INTO lehre.tbl_lehreinheitgruppe ".
"(lehreinheitgruppe_id, lehreinheit_id, studiengang_kz, semester, ".
@@ -338,7 +314,7 @@ class lehreinheitgruppe
$this->addslashes($row->insertamum).','.
$this->addslashes($row->insertvon).');';
$log = new log($this->conn, null, null);
$log = new log();
$log->sql = $qry_del;
$log->sqlundo = $sql_undo;
$log->mitarbeiter_uid = get_uid();
@@ -347,30 +323,30 @@ class lehreinheitgruppe
else
{
$qry_stg = "SELECT UPPER(typ::varchar(1) || kurzbz) as kuerzel FROM public.tbl_studiengang WHERE studiengang_kz='$row->studiengang_kz'";
$result_stg = pg_query($this->conn, $qry_stg);
$row_stg = pg_fetch_object($result_stg);
$this->db_query($qry_stg);
$row_stg = $this->db_fetch_object();
$grp = $row_stg->kuerzel.$row->semester.$row->verband.$row->gruppe;
}
$log->beschreibung = "Gruppenzuteilung loeschen $grp - $row->lehreinheit_id";
pg_query($this->conn, 'BEGIN;');
$this->db_query('BEGIN;');
if($log->save(true))
{
if(pg_query($this->conn, $qry_del))
if($this->db_query($qry_del))
{
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
else
{
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
@@ -383,53 +359,63 @@ class lehreinheitgruppe
}
else
{
$this->errormsg = 'Fehler beim lesen aus der Datenbank';
$this->errormsg = 'Fehler beim Lesen aus der Datenbank';
return false;
}
}
// ****
// * Prueft ob die Gruppe schon dieser Lehreinheit zugeordnet ist
// ****
function checkVorhanden()
/**
* Prueft ob die Gruppe schon dieser Lehreinheit zugeordnet ist
*/
public function checkVorhanden()
{
$qry = "SELECT
count(*) as anzahl
FROM
lehre.tbl_lehreinheitgruppe
WHERE
lehreinheit_id='$this->lehreinheit_id' AND
studiengang_kz='$this->studiengang_kz'";
lehreinheit_id='".addslashes($this->lehreinheit_id)."' AND
studiengang_kz='".addslashes($this->studiengang_kz)."'";
if($this->semester!='')
$qry.=" AND trim(semester)='$this->semester'";
$qry.=" AND trim(semester)='".addslashes($this->semester)."'";
else
$qry.=" AND (trim(semester)='' OR semester is null)";
if($this->verband!='')
$qry.=" AND trim(verband)='$this->verband'";
$qry.=" AND trim(verband)='".addslashes($this->verband)."'";
else
$qry.=" AND (trim(verband)='' OR verband is null)";
if($this->gruppe!='')
$qry.=" AND trim(gruppe)='$this->gruppe'";
$qry.=" AND trim(gruppe)='".addslashes($this->gruppe)."'";
else
$qry.=" AND (trim(gruppe)='' OR gruppe is null)";
if($this->gruppe_kurzbz!='')
$qry.=" AND trim(gruppe_kurzbz)='$this->gruppe_kurzbz'";
$qry.=" AND trim(gruppe_kurzbz)='".addslashes($this->gruppe_kurzbz)."'";
else
$qry.= " AND (trim(gruppe_kurzbz)='' OR gruppe_kurzbz is null)";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
return true;
else
return false;
}
else
{
$this->errormsg = 'Interner Fehler';
return false;
}
}
else
{
$this->errormsg='Fehler bei einer Abfrage';
return false;
}
}
}
+101 -120
View File
@@ -19,66 +19,50 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class lehreinheitmitarbeiter
class lehreinheitmitarbeiter extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $lehreinheitmitarbeiter = array(); // lehreinheitmitarbeiter Objekt
public $new; // boolean
public $lehreinheitmitarbeiter = array(); // lehreinheitmitarbeiter Objekt
//Tabellenspalten
var $lehreinheit_id; // integer
var $mitarbeiter_uid; // varchar(16)
var $mitarbeiter_uid_old; // verwendet bei Update der UID
var $semesterstunden; // smalint
var $planstunden; // smalint
var $stundensatz; // numeric(6,2)
var $faktor; // numeric(2,1)
var $anmerkung; // varchar(256)
var $lehrfunktion_kurzbz; // varchar(16)
var $bismelden; // boolean
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $ext_id; // bigint
public $lehreinheit_id; // integer
public $mitarbeiter_uid; // varchar(16)
public $mitarbeiter_uid_old; // verwendet bei Update der UID
public $semesterstunden; // smalint
public $planstunden; // smalint
public $stundensatz; // numeric(6,2)
public $faktor; // numeric(2,1)
public $anmerkung; // varchar(256)
public $lehrfunktion_kurzbz; // varchar(16)
public $bismelden; // boolean
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $ext_id; // bigint
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine LE
// * @param $conn Datenbank-Connection
// * $lehreinheit_id
// * $uid
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function lehreinheitmitarbeiter($conn, $lehreinheit_id=null, $mitarbeiter_uid=null, $unicode=false)
/**
* Konstruktor - Laedt optional einee LEMitarbeiterzuordnung
* @param $lehreinheit_id
* @param $uid
*/
public function __construct($lehreinheit_id=null, $mitarbeiter_uid=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
*/
if($lehreinheit_id!=null && $mitarbeiter_uid!=null)
parent::__construct();
if(!is_null($lehreinheit_id) && !is_null($mitarbeiter_uid))
$this->load($lehreinheit_id, $mitarbeiter_uid);
}
// *********************************************************
// * Laedt die LEMitarbeiter
// * @param lehreinheit_id
// *********************************************************
function load($lehreinheit_id, $mitarbeiter_uid=null)
/**
* Laedt die LEMitarbeiterzuordnung
* @param lehreinheit_id
* @param mitarbeiter_uid
* @return boolean
*/
public function load($lehreinheit_id, $mitarbeiter_uid=null)
{
if(!is_numeric($lehreinheit_id))
{
@@ -86,10 +70,11 @@ class lehreinheitmitarbeiter
return false;
}
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
if($result = pg_query($this->conn, $qry))
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter
WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehreinheit_id = $row->lehreinheit_id;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
@@ -109,34 +94,40 @@ class lehreinheitmitarbeiter
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
// *********************************************************
// * Laedt die Lektoren einer Lehreinheit
// * @param lehreinheit_id
// * @return array + true wenn ok / false im Fehlerfall
// *********************************************************
function getLehreinheitmitarbeiter($lehreinheit_id, $mitarbeiter_uid=null)
/**
* Laedt die Lektoren einer Lehreinheit
* @param lehreinheit_id
* @return array + true wenn ok / false im Fehlerfall
*/
public function getLehreinheitmitarbeiter($lehreinheit_id, $mitarbeiter_uid=null)
{
if(!is_numeric($lehreinheit_id))
{
$this->errormsg = 'Lehreinheit_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id'";
if($mitarbeiter_uid!=null)
$qry.=" AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
$qry .=" ORDER BY mitarbeiter_uid";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new lehreinheitmitarbeiter($this->conn, null, null, null);
$obj = new lehreinheitmitarbeiter();
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz;
@@ -160,12 +151,12 @@ class lehreinheitmitarbeiter
return false;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if($this->stundensatz!='' && !is_numeric($this->stundensatz))
{
@@ -196,24 +187,13 @@ class lehreinheitmitarbeiter
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert LEMitarbeiter in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert LEMitarbeiter in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -270,25 +250,25 @@ class lehreinheitmitarbeiter
mitarbeiter_uid=".$this->addslashes($this->mitarbeiter_uid_old).";";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$qry.pg_errormessage($this->conn);
$this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$this->db_last_error();
return false;
}
}
// *******************************************************
// * Prueft ob die Kombination Lehreinheit-Mitarbeiter
// * bereits existiert
// * @param $lehreinheit_id
// * $uid
// * @return true wenn die zuteilung existiert sonst false
// *******************************************************
function exists($lehreinheit_id, $uid)
/**
* Prueft ob die Kombination Lehreinheit-Mitarbeiter
* bereits existiert
* @param $lehreinheit_id
* @param $uid
* @return true wenn die zuteilung existiert sonst false
*/
public function exists($lehreinheit_id, $uid)
{
if(!is_numeric($lehreinheit_id))
{
@@ -296,29 +276,30 @@ class lehreinheitmitarbeiter
return false;
}
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($uid)."'";
if($result=pg_query($this->conn, $qry))
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter
WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($uid)."'";
if($this->db_query($qry))
{
if(pg_num_rows($result)>0)
if($this->db_num_rows()>0)
return true;
else
return false;
}
else
{
$this->errormsg = 'Fehler beim lesen der Lehreinheitmitarbeiter zuteilung';
$this->errormsg = 'Fehler beim Lesen der Lehreinheitmitarbeiterzuteilung';
return false;
}
}
// *******************************************
// * Loescht die Zuteilung eines Mitarbeiters
// * zu einer Lehreinheit
// * @param $lehreinheit_id
// * $mitarbeiter_uid
// * @return true wenn ok, false im fehlerfall
// *******************************************
function delete($lehreinheit_id, $mitarbeiter_uid)
/**
* Loescht die Zuteilung eines Mitarbeiters
* zu einer Lehreinheit
* @param $lehreinheit_id
* @param $mitarbeiter_uid
* @return true wenn ok, false im fehlerfall
*/
public function delete($lehreinheit_id, $mitarbeiter_uid)
{
if(!is_numeric($lehreinheit_id))
{
@@ -327,9 +308,9 @@ class lehreinheitmitarbeiter
}
$qry_del = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$undo = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden, '.
' stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon, updateamum, updatevon)'.
@@ -348,29 +329,29 @@ class lehreinheitmitarbeiter
$this->addslashes($row->updateamum).','.
$this->addslashes($row->updatevon).');';
$log = new log($this->conn, null, null);
$log = new log();
$log->sqlundo = $undo;
$log->sql = $qry_del;
$log->mitarbeiter_uid = get_uid();
$log->beschreibung = "Lektorzuteilung loeschen $mitarbeiter_uid - $lehreinheit_id";
pg_query($this->conn, 'BEGIN;');
$this->db_query('BEGIN;');
if($log->save(true))
{
if(pg_query($this->conn, $qry_del))
if($this->db_query($qry_del))
{
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
$this->errormsg = 'Fehler beim Loeschen der Zuteilung';
return false;
}
}
else
{
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
$this->errormsg = 'UNDO Eintrag konnte nicht erstellt werden';
return false;
}
@@ -383,7 +364,7 @@ class lehreinheitmitarbeiter
}
else
{
$this->errormsg = 'Fehler beim lesen der Daten';
$this->errormsg = 'Fehler beim Lesen der Daten';
return false;
}
}
+89 -117
View File
@@ -19,103 +19,86 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class lehrfach
class lehrfach extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $lehrfaecher = array(); // lehrfach Objekt
public $new; // boolean
public $lehrfaecher = array(); // lehrfach Objekt
//Tabellenspalten
var $lehrfach_id; // integer
var $studiengang_kz; // integer
var $fachbereich_kurzbz;// integer
var $kurzbz; // varchar(12)
var $bezeichnung; // varchar(255)
var $farbe; // char(6)
var $aktiv; // boolean
var $semester; // smallint
var $sprache; // varchar(16)
var $ext_id;
public $lehrfach_id; // integer
public $studiengang_kz; // integer
public $fachbereich_kurzbz; // integer
public $kurzbz; // varchar(12)
public $bezeichnung; // varchar(255)
public $farbe; // char(6)
public $aktiv; // boolean
public $semester; // smallint
public $sprache; // varchar(16)
public $ext_id;
// ***********************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional ein LF
// * @param $conn Datenbank-Connection
// * $lehrfach_nr Lehrfach das geladen werden soll (default=null)
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// ***********************************************************************
function lehrfach($conn, $lehrfach_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional ein Lehrfach
* @param $lehrfach_nr Lehrfach das geladen werden soll (default=null)
*/
public function __construct($lehrfach_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($lehrfach_id != null)
parent::__construct();
if(!is_null($lehrfach_id))
$this->load($lehrfach_id);
}
// *********************************************************
// * Laedt Lehrfach mit der uebergebenen ID
// * @param $lehrfach_nr Nr des LF das geladen werden soll
// *********************************************************
function load($lehrfach_id)
/**
* Laedt Lehrfach mit der uebergebenen ID
* @param $lehrfach_id ID des LF das geladen werden soll
*/
public function load($lehrfach_id)
{
//lehrfach_nr auf Gueltigkeit pruefen
if(is_numeric($lehrfach_id) && $lehrfach_id!='')
{
$qry = "SELECT * FROM lehre.tbl_lehrfach WHERE lehrfach_id='$lehrfach_id'";
if(!$result=pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler beim lesen des Lehrfaches';
return false;
}
if($row = pg_fetch_object($result))
{
$this->lehrfach_id = $row->lehrfach_id;
$this->studiengang_kz = $row->studiengang_kz;
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$this->kurzbz = $row->kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->farbe = $row->farbe;
$this->aktiv = ($row->aktiv=='t'?true:false);
$this->semester = $row->semester;
$this->sprache = $row->sprache;
$this->ext_id = $row->ext_id;
}
else
{
$this->errormsg = 'Es ist kein Lehrfach mit der ID '.$lehrfach_id.' vorhanden';
return false;
}
return true;
}
else
//lehrfach_id auf Gueltigkeit pruefen
if(!is_numeric($lehrfach_id) && $lehrfach_id!='')
{
$this->errormsg = 'Die lehrfach_nr muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_lehrfach WHERE lehrfach_id='$lehrfach_id'";
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Lesen des Lehrfaches';
return false;
}
if($row = $this->db_fetch_object())
{
$this->lehrfach_id = $row->lehrfach_id;
$this->studiengang_kz = $row->studiengang_kz;
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$this->kurzbz = $row->kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->farbe = $row->farbe;
$this->aktiv = ($row->aktiv=='t'?true:false);
$this->semester = $row->semester;
$this->sprache = $row->sprache;
$this->ext_id = $row->ext_id;
}
else
{
$this->errormsg = 'Es ist kein Lehrfach mit dieser ID vorhanden';
return false;
}
return true;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(!is_numeric($this->studiengang_kz))
{
@@ -160,25 +143,14 @@ class lehrfach
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * zeichen mit backslash versehen und das ergbnis
// * unter hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert das Lehrfach in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
/**
* Speichert das Lehrfach in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
@@ -222,34 +194,34 @@ class lehrfach
" WHERE lehrfach_id='$this->lehrfach_id'";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($this->new)
{
if($this->lehrfach_id=='')
{
$qry = "SELECT currval('lehre.tbl_lehrfach_lehrfach_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehrfach_id = $row->id;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
}
//Log schreiben
return true;
@@ -263,13 +235,13 @@ class lehrfach
/**
* Liefert die Tabellenelemente die den Kriterien der Parameter entsprechen
* @param $stg Studiengangs_kz
* $sem Semester
* $order Sortierkriterium
* $fachb fachbereich_kurzbz
* @param $stg Studiengangs_kz
* @param $sem Semester
* @param $order Sortierkriterium
* @param $fachb fachbereich_kurzbz
* @return array mit Lehrfaechern oder false=fehler
*/
function getTab($stg=null,$sem=null, $order='lehrfach_id', $fachb=null)
public function getTab($stg=null,$sem=null, $order='lehrfach_id', $fachb=null)
{
if($stg!=null && !is_numeric($stg))
{
@@ -287,21 +259,21 @@ class lehrfach
$sql_query .= " WHERE true";
if($stg!=null)
$sql_query .= " AND studiengang_kz='$stg'";
$sql_query .= " AND studiengang_kz='".addslashes($stg)."'";
if($sem!=null)
$sql_query .= " AND semester='$sem'";
$sql_query .= " AND semester='".addslashes($sem)."'";
if($fachb!=null)
$sql_query .= " AND fachbereich_kurzbz='".addslashes($fachb)."'";
$sql_query .= " ORDER BY $order";
if($result=pg_query($this->conn,$sql_query))
if($this->db_query($sql_query))
{
while($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$l = new lehrfach($this->conn);
$l = new lehrfach();
$l->lehrfach_id = $row->lehrfach_id;
$l->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$l->kurzbz = $row->kurzbz;
@@ -321,7 +293,7 @@ class lehrfach
}
else
{
$this->errormsg = pg_errormessage($this->conn);
$this->errormsg = $this->db_last_error();
return false;
}
return true;
+47 -70
View File
@@ -19,59 +19,45 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class lehrform
class lehrform extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $lehrform = array(); // lehrform Objekt
public $new; // boolean
public $lehrform = array(); // lehrform Objekt
//Tabellenspalten
var $lehrform_kurbz; // varchar(8)
var $bezeichnung; // varchar (256)
var $verplanen; // boolean
public $lehrform_kurbz; // varchar(8)
public $bezeichnung; // varchar (256)
public $verplanen; // boolean
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
// * @param $conn Datenbank-Connection
// * $lehrform_kurbz Lehrform die geladen werden soll (default=null)
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function lehrform($conn, $lehrform_kurzbz=null, $unicode=false)
/**
* Konstruktor - Laedt optional eine Lehrform
* @param $lehrform_kurbz Lehrform die geladen werden soll (default=null)
*/
public function __construct($lehrform_kurzbz=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
parent::__construct();
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($lehrform_kurzbz != null)
if(!is_null($lehrform_kurzbz))
$this->load($lehrform_kurzbz);
}
// *********************************************************
// * Laedt Lehrform mit der uebergebenen ID
// * @param $lehrform_kurzbz Lehrform die geladen werden soll
// *********************************************************
function load($lehrform_kurzbz)
/**
* Laedt Lehrform mit der uebergebenen ID
* @param $lehrform_kurzbz Lehrform die geladen werden soll
*/
public function load($lehrform_kurzbz)
{
$qry = "SELECT * FROM lehre.tbl_lehrform WHERE lehrform_kurzbz='".addslashes($lehrform_kurzbz)."'";
if(!$result=pg_query($this->conn,$qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim lesen der Lehrform';
$this->errormsg = 'Fehler beim Lesen der Lehrform';
return false;
}
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehrform_kurzbz = $row->lehrform_kurzbz;
$this->bezeichnung = $row->bezeichnung;
@@ -87,21 +73,23 @@ class lehrform
}
// ***************************
// * Liefert alle Lehrformen
// ***************************
function getAll()
/**
* Liefert alle Lehrformen
* @return boolean
*/
public function getAll()
{
$qry = "SELECT * FROM lehre.tbl_lehrform ORDER BY lehrform_kurzbz";
if(!$result=pg_query($this->conn,$qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim lesen der Lehrform';
$this->errormsg = 'Fehler beim Lesen der Lehrform';
return false;
}
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$lf = new lehrform($this->conn);
$lf = new lehrform();
$lf->lehrform_kurzbz = $row->lehrform_kurzbz;
$lf->bezeichnung = $row->bezeichnung;
@@ -113,12 +101,12 @@ class lehrform
return true;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
public function validate()
{
if(strlen($this->lehrform_kurbz)>8)
{
@@ -139,24 +127,13 @@ class lehrform
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * zeichen mit backslash versehen und das ergbnis
// * unter hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert die Lehrform in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
/**
* Speichert die Lehrform in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
@@ -177,7 +154,7 @@ class lehrform
" WHERE lehrform_kurzbz='$this->lehrform_kurzbz'";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
+25 -57
View File
@@ -19,38 +19,27 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
class lehrfunktion
require_once(dirname(__FILE__).'/basis_db.class.php');
class lehrfunktion extends basis_db
{
var $conn; // @var resource DB-Connection
var $new; // @var boolean
var $errormsg; // @var string
var $lehrfunktionen = array(); // @var lehrfunktion Objekt
public $new; // @var boolean
public $lehrfunktionen = array(); // @var lehrfunktion Objekt
var $lehrfunktion_kurzbz; // @var varchar(16)
var $beschreibung; // @var varchar(256)
var $standardfaktor; // @var numeric(3,2)
public $lehrfunktion_kurzbz; // @var varchar(16)
public $beschreibung; // @var varchar(256)
public $standardfaktor; // @var numeric(3,2)
// **
// * Konstruktor
// * @param conn Connection zur DB
// * lehrfunktion_kurzbz kurzbezeichnung der zu ladenden Funktion
// *
function lehrfunktion($conn, $lehrfunktion_kurzbz=null, $unicode=false)
/**
* Konstruktor
* @param conn Connection zur DB
* lehrfunktion_kurzbz kurzbezeichnung der zu ladenden Funktion
*/
public function __construct($lehrfunktion_kurzbz=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
parent::__construct();
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($lehrfunktion_kurzbz!=null)
if(!is_null($lehrfunktion_kurzbz))
$this->load($lehrfunktion_kurzbz);
}
@@ -59,17 +48,17 @@ class lehrfunktion
* @param lehrfunktion_kurzbz ID des Datensatzes der zu laden ist
* @return true wenn ok, false im Fehlerfall
*/
function load($lehrfunktion_kurzbz)
public function load($lehrfunktion_kurzbz)
{
$qry = "SELECT * FROM lehre.tbl_lehrfunktion WHERE lehrfunktion_kurzbz = '".addslashes($lehrfunktion_kurzbz)."';";
if(!$result = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz;
$this->beschreibung = $row->beschreibung;
@@ -87,19 +76,19 @@ class lehrfunktion
* Laedt alle Lehrfunktionen
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
public function getAll()
{
$qry = "SELECT * FROM lehre.tbl_lehrfunktion ORDER BY lehrfunktion_kurzbz;";
if(!$result = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim laden der Datensaetze';
$this->errormsg = 'Fehler beim Laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$lehrfkt_obj = new lehrfunktion($this->conn);
$lehrfkt_obj = new lehrfunktion();
$lehrfkt_obj->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz;
$lehrfkt_obj->beschreibung = $row->beschreibung;
@@ -109,26 +98,5 @@ class lehrfunktion
}
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Loescht den Datensatz mit der ID die uebergeben wird
* @param lehrfunktion_kurzbz ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function delete($lehrfunktion_kurzbz)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
}
?>
+134 -128
View File
@@ -1,12 +1,24 @@
<?php
/*
$Header: /include/lehrstunde.class.php,v 1.2 2004/10/16 17:05:38 pam Exp $
$Log: lehrstunde.class.php,v $
Revision 1.2 2004/10/16 17:05:38 pam
Anpassung an neue DB-Struktur.
*/
/* 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>.
*/
/****************************************************************************
* @class Lehrstunde
* @author Christian Paminger
@@ -14,66 +26,60 @@
* @version $Revision: 1.2 $
* Update: 21.10.2004 von Christian Paminger
* @brief Beschreibung einer Unterrichts-Stunde der Tabelle tbl_stundenplan
* Abhaengig: von ?
*****************************************************************************/
*****************************************************************************/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/studiensemester.class.php');
// include_once('mitarbeiter.class.php');
require_once('studiensemester.class.php');
class lehrstunde
class lehrstunde extends basis_db
{
var $conn; // @brief Connection zur Datenbank
public $stundenplan_id; // @brief id in der Datenbank
public $lehreinheit_id; // @brief id der Lehreinheit in der DB
public $unr; // @brief Unterrichtsnummer
public $lektor_uid; // @brief UID des Lektors
public $lektor_kurzbz; // @brief Kurzbezeichnung des Lektors
public $datum; // @brief Datum
public $stunde; // @brief Unterrichts-Stunde des Tages
public $ort_kurzbz; // @brief Ort in dem der Unterricht stattfindet
public $lehrfach_id; // @brief Nummer des Lehrfachs
public $lehrfach; // @brief Name des Lehrfachs
public $lehrfach_bez; // @brief Voller Name des Lehrfachs
public $lehrform; // @brief Lehrform des Lehrfachs (Vorlesung, ...)
public $studiengang_kz; // @brief Kennzahl des Studiengangs
public $studiengang; // @brief Kurzbezeichnung des Studiengangs
public $sem; // @brief Semester
public $ver; // @brief Verband
public $grp; // @brief Gruppe
public $gruppe_kurzbz; // @brief Kurzbezeichnung der Gruppe
public $titel; // @brief Titel der Unterrichtsstunde
public $anmerkung; // @brief Anmerkungen zur Unterrichtsstunde
public $fix; // @brief true wenn diese Stunde nicht mehr verschoben wird
public $updateamum; // @brief letztes Update
public $updatevon; // @brief Update von wem?
public $new; // @brief true wenns ein neuer Datensatz ist
public $reservierung; // @brief true wenns eine Reservierung ist
var $stundenplan_id;// @brief id in der Datenbank
var $lehreinheit_id;// @brief id der Lehreinheit in der DB
var $unr; // @brief Unterrichtsnummer
var $lektor_uid; // @brief UID des Lektors
var $lektor_kurzbz; // @brief Kurzbezeichnung des Lektors
var $datum; // @brief Datum
var $stunde; // @brief Unterrichts-Stunde des Tages
var $ort_kurzbz; // @brief Ort in dem der Unterricht stattfindet
var $lehrfach_id; // @brief Nummer des Lehrfachs
var $lehrfach; // @brief Name des Lehrfachs
var $lehrfach_bez; // @brief Voller Name des Lehrfachs
var $lehrform; // @brief Lehrform des Lehrfachs (Vorlesung, ...)
var $studiengang_kz;// @brief Kennzahl des Studiengangs
var $studiengang; // @brief Kurzbezeichnung des Studiengangs
var $sem; // @brief Semester
var $ver; // @brief Verband
var $grp; // @brief Gruppe
var $gruppe_kurzbz; // @brief Kurzbezeichnung der Gruppe
var $titel; // @brief Titel der Unterrichtsstunde
var $anmerkung; // @brief Anmerkungen zur Unterrichtsstunde
var $fix; // @brief true wenn diese Stunde nicht mehr verschoben wird
var $updateamum; // @brief letztes Update
var $updatevon; // @brief Update von wem?
var $errormsg; // @brief String fuer die Fehlermeldung
var $new; // @brief true wenns ein neuer Datensatz ist
var $reservierung; // @brief true wenns eine Reservierung ist
var $lehrstunden=array(); // @brief Objekt der eigenen Klasse
var $anzahl; // @brief Gesamte Anzahl der Stunden im Array
var $ss=null; // @brief Studiensemester
public $lehrstunden=array(); // @brief Objekt der eigenen Klasse
public $anzahl; // @brief Gesamte Anzahl der Stunden im Array
public $ss=null; // @brief Studiensemester
/** Konstruktor
*
/**
* Konstruktor
*
*/
function lehrstunde($conn)
public function __construct()
{
// Startvariablen setzen
$this->conn=$conn;
parent::__construct();
$this->new=TRUE;
}
/**
* Einen Datensatz laden
*
* Einen Datensatz laden
* @param stundenplan_id
* @param stpl_table
*/
function load($stundenplan_id,$stpl_table='stundenplandev')
public function load($stundenplan_id,$stpl_table='stundenplandev')
{
///////////////////////////////////////////////////////////////////////
// Parameter Checken
@@ -83,17 +89,16 @@ class lehrstunde
$stpl_table='lehre.'.TABLE_BEGIN.$stpl_table;
$sql_query="SELECT * FROM $stpl_view WHERE $stpl_id=$stundenplan_id;";
//echo $sql_query.'<br>';
//Datenbankabfrage
if (! $stpl_tbl=pg_query($this->conn, $sql_query))
if (!$this->db_query($sql_query))
{
$this->errormsg=$sql_query.pg_last_error($this->conn);
//echo $this->errormsg;
$this->errormsg=$sql_query.$this->db_last_error();
return false;
}
$this->anzahl=pg_numrows($stpl_tbl);
$this->anzahl = $this->db_num_rows();
//Daten uebernehmen
if ($this->anzahl!=1)
{
@@ -102,7 +107,7 @@ class lehrstunde
}
else
{
$row=pg_fetch_object ($stpl_tbl);
$row=$this->db_fetch_object();
$this->stundenplan_id=$row->{$stpl_id};
$this->unr=$row->unr;
$this->lektor_uid=$row->uid;
@@ -133,7 +138,7 @@ class lehrstunde
* Datensatz in DB speichern
*
*/
function save($uid, $stpl_table='stundenplandev')
public function save($uid, $stpl_table='stundenplandev')
{
// Parameter Checken
// Bezeichnung der Stundenplan-Tabelle und des Keys
@@ -154,13 +159,11 @@ class lehrstunde
//echo $sql_query."<br>";
//Datenbankabfrage
if (! pg_query($this->conn, $sql_query))
if (!$this->db_query($sql_query))
{
$this->errormsg=$sql_query.pg_last_error($this->conn);
//echo $this->errormsg;
$this->errormsg=$sql_query.$this->db_last_error();
return false;
}
//$this->errormsg.=$sql_query;
}
return true;
@@ -172,7 +175,7 @@ class lehrstunde
* @param stpl_table Name der Tabelle
*
*/
function delete($id, $stpl_table='stundenplandev')
public function delete($id, $stpl_table='stundenplandev')
{
// Parameter Checken
// Bezeichnung der Stundenplan-Tabelle und des Keys
@@ -181,13 +184,11 @@ class lehrstunde
// Delete SQL vorbereiten
$sql_query='DELETE FROM '.$stpl_table;
$sql_query.=" WHERE $stpl_id=$id";
//echo $sql_query."<br>";
//Datenbankrequest
if (! pg_query($this->conn, $sql_query))
if (!$this->db_query($sql_query))
{
$this->errormsg=$sql_query.pg_last_error($this->conn);
//echo $this->errormsg;
$this->errormsg=$sql_query.$this->db_last_error();
return false;
}
else
@@ -195,6 +196,8 @@ class lehrstunde
}
/**
* Laedt Lehrstunden
*
* @param type (student, lektor, lehrverband, gruppe, ort, ....)
* @param datum_von (inklusive) Startdatum der Abfrage
* @param datum_bis (exklusive) Enddatum der Abfrage
@@ -207,14 +210,13 @@ class lehrstunde
* @param gruppe_kurzbz
*
*/
function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null)
public function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null)
{
///////////////////////////////////////////////////////////////////////
// Parameter Checken
// Bezeichnung der Stundenplan-Tabelle und des Keys
$stpl_id=$stpl_view.TABLE_ID;
$stpl_view='lehre.'.VIEW_BEGIN.$stpl_view;
$num_rows_einheit=0;
// Datum im Format YYYY-MM-TT ?
if (!ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$datum_von) )
@@ -269,16 +271,16 @@ class lehrstunde
if ($type=='student')
{
// Lehrverband ermitteln
$sql_query="SELECT studiengang_kz, semester, verband, gruppe FROM public.tbl_student WHERE student_uid='$uid'";
//echo $sql_query;
if (! $result=pg_query($this->conn, $sql_query) )
$sql_query="SELECT studiengang_kz, semester, verband, gruppe FROM public.tbl_student WHERE student_uid='".addslashes($uid)."'";
if (!$this->db_query($sql_query) )
{
$this->errormsg=pg_last_error($this->conn);
$this->errormsg=$this->db_last_error();
return -2;
}
$num_rows=pg_num_rows($result);
$num_rows=$this->db_num_rows();
if ($num_rows>0)
$row=pg_fetch_object($result);
$row=$this->db_fetch_object();
else
{
$this->errormsg='Fehler: Student ('.$uid.') wurde nicht gefunden!';
@@ -292,15 +294,17 @@ class lehrstunde
// Gruppen ermitteln
if (is_null($this->ss))
$this->ss=studiensemester::getNearest();
$sql_query="SELECT gruppe_kurzbz FROM public.tbl_benutzergruppe WHERE uid='$uid' AND (studiensemester_kurzbz='$this->ss' OR studiensemester_kurzbz IS NULL)";
//echo $sql_query;
if (! $result_einheit=pg_query($this->conn, $sql_query) )
$sql_query="SELECT gruppe_kurzbz FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND (studiensemester_kurzbz='".addslashes($this->ss)."' OR studiensemester_kurzbz IS NULL)";
if (!$this->db_query($sql_query))
{
$this->errormsg=pg_last_error($this->conn);
return false;
}
else
$num_rows_einheit=pg_num_rows($result_einheit);
{
$result_einheit = $this->db_result;
}
}
///////////////////////////////////////////////////////////////////////
@@ -333,16 +337,15 @@ class lehrstunde
if ($type=='student')
$sql_query.=' AND gruppe_kurzbz IS NULL';
$sql_query.=' )';
for ($i=0;$i<$num_rows_einheit;$i++)
while($row=$this->db_fetch_object($result_einheit))
{
$row=pg_fetch_object($result_einheit,$i);
$sql_query.=" OR gruppe_kurzbz='$row->gruppe_kurzbz'";
}
$sql_query.=')';
}
$sql_query.=' ORDER BY datum, stunde, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, uid';
$sql_query_stdplan.=$sql_query;
//echo '<label>'.htmlspecialchars($sql_query_stdplan).'</label>';
}
else
{
@@ -354,19 +357,20 @@ class lehrstunde
}
//echo $sql_query_stdplan;
//Datenbankabfrage
if (! $stpl_tbl=pg_query($this->conn, $sql_query_stdplan))
if (!$this->db_query($sql_query_stdplan))
{
$this->errormsg=pg_last_error($this->conn);
//echo $this->errormsg;
$this->errormsg = $this->db_last_error();
return -2;
}
$num_rows=pg_numrows($stpl_tbl);
$stpl_tbl = $this->db_result;
$num_rows = $this->db_num_rows($stpl_tbl);
$this->anzahl=$num_rows;
//Daten uebernehmen
for ($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object ($stpl_tbl, $i);
$stunde=new lehrstunde($this->conn);
$row=$this->db_fetch_object($stpl_tbl, $i);
$stunde=new lehrstunde();
$stunde->stundenplan_id=$row->{$stpl_id};
$stunde->lehreinheit_id=$row->lehreinheit_id;
$stunde->unr=$row->unr;
@@ -406,18 +410,20 @@ class lehrstunde
$sql_query_reservierung.=$sql_query;
//echo $sql_query_reservierung;
//Datenbankabfrage
if (! $stpl_tbl=pg_query($this->conn, $sql_query_reservierung))
if (!$this->db_query($sql_query_reservierung))
{
$this->errormsg=pg_last_error($this->conn);
$this->errormsg = $this->db_last_error();
return -2;
}
$num_rows=pg_numrows($stpl_tbl);
$stpl_tbl = $this->db_result;
$num_rows=$this->db_num_rows($stpl_tbl);
$this->anzahl+=$num_rows;
//Daten uebernehmen
for ($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object ($stpl_tbl, $i);
$row = $this->db_fetch_object($stpl_tbl, $i);
$stunde=new lehrstunde($this->conn);
$stunde->reservierung=true;
$stunde->stundenplan_id=$row->reservierung_id;
@@ -440,10 +446,8 @@ class lehrstunde
$stunde->anmerkung=$row->beschreibung;
$stunde->farbe='';
$this->lehrstunden[]=$stunde;
//var_dump($stunde);
}
}
//echo $this->anzahl;
return $this->anzahl;
}
@@ -452,7 +456,7 @@ class lehrstunde
* @param uid (mitarbeiter)
*
*/
function load_lehrstunden_le($lehreinheit_id, $uid=null, $stpl_table='stundenplandev')
public function load_lehrstunden_le($lehreinheit_id, $uid=null, $stpl_table='stundenplandev')
{
///////////////////////////////////////////////////////////////////////
// Parameter Checken
@@ -463,24 +467,24 @@ class lehrstunde
///////////////////////////////////////////////////////////////////////
// Stundenplandaten ermitteln
// Abfrage generieren
$sql="SELECT * FROM ".$stpl_table." WHERE lehreinheit_id=$lehreinheit_id";
$sql="SELECT * FROM ".$stpl_table." WHERE lehreinheit_id='".addslashes($lehreinheit_id)."'";
if ($uid!=null && !is_null($uid))
$sql.=" AND mitarbeiter_uid='$uid'";
//echo $sql;
$sql.=" AND mitarbeiter_uid='".addslashes($uid)."'";
//Datenbankabfrage
if (!$result=pg_query($this->conn, $sql))
if (!$this->db_query($sql))
{
$this->errormsg=pg_last_error($this->conn);
//echo $this->errormsg;
$this->errormsg=$this->db_last_error();
return -1;
}
$num_rows=pg_numrows($result);
$num_rows=$this->db_num_rows();
$this->anzahl=$num_rows;
//Daten uebernehmen
for ($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object ($result, $i);
$stunde=new lehrstunde($this->conn);
$row=$this->db_fetch_object(null, $i);
$stunde=new lehrstunde();
$stunde->stundenplan_id=$row->{$stpl_id};
$stunde->lehreinheit_id=$row->lehreinheit_id;
$stunde->unr=$row->unr;
@@ -507,7 +511,7 @@ class lehrstunde
}
/*************************************************************************
/**
* Prueft die geladene Lehrveranstaltung auf Kollisionen im Stundenplan.
* Rueckgabewert 'false' und die Fehlermeldung steht in '$this->errormsg'.
* @param string datum gewuenschtes Datum YYYY-MM-TT
@@ -515,8 +519,8 @@ class lehrstunde
* @param string ort gewuenschter Ort
* @param string db_stpl_table Tabllenname des Stundenplans im DBMS
* @return boolean true=ok, false=fehler
*************************************************************************/
function kollision($stpl_table='stundenplandev')
*/
public function kollision($stpl_table='stundenplandev')
{
$ignore_reservation=false;
// Parameter Checken
@@ -537,14 +541,14 @@ class lehrstunde
if ($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ')
$sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz')";
$sql_query.=")) AND unr!=$this->unr";
//(echo $sql_query.'<br>';
if (! $erg_stpl=pg_query($this->conn, $sql_query))
if (!$this->db_query($sql_query))
{
$this->errormsg=$sql_query.pg_last_error($this->conn);
$this->errormsg=$sql_query.$this->db_last_error();
return true;
}
$anz=pg_numrows($erg_stpl);
$erg_stpl = $this->db_result;
$anz=$this->db_num_rows($erg_stpl);
//Check
if ($anz==0)
{
@@ -558,16 +562,17 @@ class lehrstunde
AND (vondatum<'$this->datum' OR (vondatum='$this->datum' AND (vonstunde<=$this->stunde OR vonstunde IS NULL)))
AND (bisdatum>'$this->datum' OR (bisdatum='$this->datum' AND (bisstunde>=$this->stunde OR bisstunde IS NULL)));";
//echo $sql_query.'<br>';
if (! $erg_zs=pg_query($this->conn, $sql_query))
if (!$this->db_query($sql_query))
{
$this->errormsg=$sql_query.pg_last_error($this->conn);
$this->errormsg=$sql_query.$this->db_last_error();
return true;
}
$anz_zs=pg_numrows($erg_zs);
$erg_zs = $this->db_result;
$anz_zs=$this->db_num_rows($erg_zs);
//Check
if ($anz_zs!=0)
{
$row=pg_fetch_object($erg_zs);
$row = $this->db_fetch_object($erg_zs);
$this->errormsg="Kollision (Zeitsperre): $row->zeitsperre_id|$row->lektor|$row->zeitsperretyp_kurzbz - $row->vondatum/$row->vonstunde|$row->bisdatum/$row->bisstunde";
return true;
}
@@ -590,12 +595,13 @@ class lehrstunde
$sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz')";
$sql_query.="))";
//echo $sql_query.'<br>';
if (! $erg_res=pg_query($this->conn, $sql_query))
if (!$this->db_query($sql_query))
{
$this->errormsg=$sql_query.pg_last_error($this->conn);
$this->errormsg=$sql_query.$this->db_last_error();
return true;
}
$anz_res=pg_numrows($erg_res);
$erg_res = $this->db_result;
$anz_res = $this->db_num_rows($erg_res);
//Check
if ($anz_res==0)
{
@@ -603,7 +609,7 @@ class lehrstunde
}
else
{
$row=pg_fetch_object($erg_res);
$row = $this->db_fetch_object($erg_res);
$this->errormsg="Kollision (Reservierung): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde";
return true;
}
@@ -612,7 +618,7 @@ class lehrstunde
}
else
{
$row=pg_fetch_object($erg_stpl);
$row = $this->db_fetch_object($erg_stpl);
$this->errormsg="Kollision ($stpl_table): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde"; //\n".$sql_query
return true;
}
+93 -120
View File
@@ -19,67 +19,54 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
class lehrveranstaltung
require_once(dirname(__FILE__).'/basis_db.class.php');
class lehrveranstaltung extends basis_db
{
var $conn; // @var resource DB-Handle
var $errormsg; // @var string
var $new; // @var boolean
var $lehrveranstaltungen = array(); // @var lehrveranstaltung Objekt
public $conn; // resource DB-Handle
public $errormsg; // string
public $new; // boolean
public $lehrveranstaltungen = array(); // lehrveranstaltung Objekt
var $lehrveranstaltung_id; // @var serial
var $studiengang_kz; //@var integer
var $bezeichnung; //@var string
var $kurzbz; //@var string
var $lehrform_kurzbz; //@var string
var $semester; //@var smallint
var $ects; //@var numeric(5,2)
var $semesterstunden; //@var smallint
public $lehrveranstaltung_id; // serial
public $studiengang_kz; // integer
public $bezeichnung; // string
public $kurzbz; // string
public $lehrform_kurzbz; // string
public $semester; // smallint
public $ects; // numeric(5,2)
public $semesterstunden; // smallint
var $anmerkung; //@var string
var $lehre=true; //@var boolean
var $lehreverzeichnis; //@var string
var $aktiv=true; //@var boolean
var $ext_id; //@var bigint
var $insertamum; //@var timestamp
var $insertvon; //@var string
var $planfaktor; //@var numeric(3,2)
var $planlektoren; //@var integer
var $planpersonalkosten; //@var numeric(7,2)
var $plankostenprolektor; //@var numeric(6,2)
var $updateamum; //@var timestamp
var $updatevon; //@var string
var $sprache='German'; //@var varchar(16)
var $sort; //@var smallint
var $zeugnis=true; //@var boolean
var $projektarbeit; //@var boolean
var $koordinator; //@var varchar(16)
var $bezeichnung_english; //@var varchar(256)
var $orgform_kurzbz;
public $anmerkung; // string
public $lehre=true; // boolean
public $lehreverzeichnis; // string
public $aktiv=true; // boolean
public $ext_id; // bigint
public $insertamum; // timestamp
public $insertvon; // string
public $planfaktor; // numeric(3,2)
public $planlektoren; // integer
public $planpersonalkosten; // numeric(7,2)
public $plankostenprolektor; // numeric(6,2)
public $updateamum; // timestamp
public $updatevon; // string
public $sprache='German'; // varchar(16)
public $sort; // smallint
public $zeugnis=true; // boolean
public $projektarbeit; // boolean
public $koordinator; // varchar(16)
public $bezeichnung_english; // varchar(256)
public $orgform_kurzbz;
/**
* Konstruktor
* @param $conn Connection zur Datenbank
* $lehrveranstaltung_id ID der zu ladenden Lehrveranstaltung
* @param $lehrveranstaltung_id ID der zu ladenden Lehrveranstaltung
*/
function lehrveranstaltung($conn, $lehrveranstaltung_id=null, $unicode=false)
public function __construct($lehrveranstaltung_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
*/
if($lehrveranstaltung_id != null)
parent::__construct();
if(!is_null($lehrveranstaltung_id))
$this->load($lehrveranstaltung_id);
}
@@ -88,7 +75,7 @@ class lehrveranstaltung
* @param $lehrveranstaltung_id ID des zu ladenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
function load($lehrveranstaltung_id)
public function load($lehrveranstaltung_id)
{
if(!is_numeric($lehrveranstaltung_id))
{
@@ -97,13 +84,13 @@ class lehrveranstaltung
}
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id='$lehrveranstaltung_id';";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
if($row = pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->lehrveranstaltung_id=$row->lehrveranstaltung_id;
$this->studiengang_kz=$row->studiengang_kz;
@@ -142,19 +129,19 @@ class lehrveranstaltung
* Liefert alle Lehrveranstaltungen
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
public function getAll()
{
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung;";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung($this->conn, null, null);
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id;
$lv_obj->studiengang_kz=$row->studiengang_kz;
@@ -194,10 +181,10 @@ class lehrveranstaltung
/**
* Liefert alle Lehrveranstaltungen zu einem Studiengang/Semester
* @param $studiengang_kz
* $semester
* @param $semester
* @return true wenn ok, false im Fehlerfall
*/
function load_lva($studiengang_kz, $semester=null, $lehreverzeichnis=null, $lehre=null, $aktiv=null, $sort=null)
public function load_lva($studiengang_kz, $semester=null, $lehreverzeichnis=null, $lehre=null, $aktiv=null, $sort=null)
{
//Variablen pruefen
@@ -238,15 +225,15 @@ class lehrveranstaltung
$qry .= " ORDER BY semester, bezeichnung";
//Datensaetze laden
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung($this->conn, null, null);
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id;
$lv_obj->studiengang_kz=$row->studiengang_kz;
@@ -288,7 +275,7 @@ class lehrveranstaltung
* @param $student_uid
* @return true wenn ok, false im Fehlerfall
*/
function load_lva_student($student_uid)
public function load_lva_student($student_uid)
{
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung
WHERE lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM campus.vw_student_lehrveranstaltung
@@ -296,14 +283,14 @@ class lehrveranstaltung
ORDER BY semester, bezeichnung";
//Datensaetze laden
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung($this->conn, null, null);
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id;
$lv_obj->studiengang_kz=$row->studiengang_kz;
@@ -340,72 +327,66 @@ class lehrveranstaltung
return true;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
public function validates()
{
//Laenge Pruefen
if(strlen($this->bezeichnung)>128)
{
$this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei <b>$this->ext_id</b> - $this->bezeichnung";
$this->errormsg = 'Bezeichnung darf nicht laenger als 128 Zeichen sein';
return false;
}
if(strlen($this->kurzbz)>16)
{
$this->errormsg = "Kurzbez darf nicht laenger als 16 Zeichen sein bei <b>$this->ext_id</b> - $this->kurzbz";
$this->errormsg = 'Kurzbez darf nicht laenger als 16 Zeichen sein';
return false;
}
if(strlen($this->anmerkung)>64)
{
$this->errormsg = "Anmerkung darf nicht laenger als 64 Zeichen sein bei <b>$this->ext_id</b> - $this->anmerkung";
$this->errormsg = 'Anmerkung darf nicht laenger als 64 Zeichen sein';
return false;
}
if(strlen($this->lehreverzeichnis)>16)
{
$this->errormsg = "Lehreverzeichnis darf nicht laenger als 16 Zeichen sein bei <b>$this->ext_id</b> - $this->lehreverzeichnis";
$this->errormsg = 'Lehreverzeichnis darf nicht laenger als 16 Zeichen sein';
return false;
}
if(!is_numeric($this->studiengang_kz))
{
$this->errormsg = "Studiengang_kz ist ungueltig bei <b>$this->ext_id</b> - $this->studiengang_kz";
$this->errormsg = 'Studiengang_kz ist ungueltig';
return false;
}
if($this->semester!='' && !is_numeric($this->semester))
{
$this->errormsg = "Semester ist ungueltig bei <b>$this->ext_id</b> - $this->semester";
$this->errormsg = 'Semester ist ungueltig';
return false;
}
if($this->planfaktor!='' && !is_numeric($this->planfaktor))
{
$this->errormsg = "Planfaktor ist ungueltig bei <b>$this->ext_id</b> - $this->planfaktor";
$this->errormsg = 'Planfaktor ist ungueltig';
return false;
}
if($this->semesterstunden!='' && !is_numeric($this->semesterstunden))
{
$this->errormsg = "Semesterstunden ist ungueltig bei <b>$this->ext_id</b> - $this->semesterstunden";
$this->errormsg = 'Semesterstunden ist ungueltig';
return false;
}
if($this->planlektoren!='' && !is_numeric($this->planlektoren))
{
$this->errormsg = "Planlektoren ist ungueltig bei <b>$this->ext_id</b> - $this->planlektoren";
$this->errormsg = 'Planlektoren ist ungueltig';
return false;
}
if($this->ects!='' && !is_numeric($this->ects))
{
$this->errormsg = "ECTS sind ungueltig bei <b>$this->ext_id</b> - $this->ects";
$this->errormsg = 'ECTS sind ungueltig';
return false;
}
if($this->ects>40)
{
$this->errormsg = "ECTS größer als 40 bei <b>$this->ext_id</b> - $this->ects";
$this->errormsg = 'ECTS darf nicht groesser als 40 sein';
return false;
}
$this->errormsg = '';
@@ -416,13 +397,13 @@ class lehrveranstaltung
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save($new=null)
public function save($new=null)
{
if($new==null)
$new = $this->new;
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($new)
@@ -509,30 +490,30 @@ class lehrveranstaltung
'WHERE lehrveranstaltung_id = '.$this->addslashes($this->lehrveranstaltung_id).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('lehre.tbl_lehrveranstaltung_lehrveranstaltung_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehrveranstaltung_id = $row->id;
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -540,29 +521,19 @@ class lehrveranstaltung
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Loescht einen Datensatz
* @param $lehrveranstaltung_id ID des zu loeeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
* Laedt die Lehrveranstaltung zu der ein Mitarbeiter
* in einem Studiensemester zugeordnet ist
* @param studiengang_kz, uid, studiensemester_kurzbz
* @return true wenn ok, false wenn Fehler
*/
function delete($lehrveranstaltung_id)
{
return false;
}
// ****************************************************
// * Laedt die Lehrveranstaltung zu der ein Mitarbeiter
// * in einem Studiensemester zugeordnet ist
// * @param studiengang_kz, uid, studiensemester_kurzbz
// * @return true wenn ok, false wenn Fehler
// ****************************************************
function loadLVAfromMitarbeiter($studiengang_kz, $uid, $studiensemester_kurzbz)
public function loadLVAfromMitarbeiter($studiengang_kz, $uid, $studiensemester_kurzbz)
{
if(!is_numeric($studiengang_kz))
{
@@ -578,11 +549,11 @@ class lehrveranstaltung
tbl_lehreinheitmitarbeiter.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($studiensemester_kurzbz)."' AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".addslashes($uid)."';";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung($this->conn, null, null);
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id;
$lv_obj->studiengang_kz=$row->studiengang_kz;
@@ -623,6 +594,7 @@ class lehrveranstaltung
return false;
}
}
/**
* Liefert die Tabellenelemente die den Kriterien der Parameter entsprechen
* @param $stg Studiengangs_kz
@@ -630,7 +602,7 @@ class lehrveranstaltung
* $order Sortierkriterium
* @return array mit Lehrferanstaltungen oder false=fehler
*/
function getTab($stg=null,$sem=null, $order='lehrveranstaltung_id')
public function getTab($stg=null,$sem=null, $order='lehrveranstaltung_id')
{
if($stg!=null && !is_numeric($stg))
{
@@ -655,11 +627,12 @@ class lehrveranstaltung
$sql_query .= " ORDER BY $order";
if($result=pg_query($this->conn,$sql_query))
if($this->db_query($sql_query))
{
while($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$l = new lehrveranstaltung($this->conn, null, null);
$l = new lehrveranstaltung();
$l->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$l->kurzbz = $row->kurzbz;
$l->bezeichnung = $row->bezeichnung;
@@ -692,7 +665,7 @@ class lehrveranstaltung
}
else
{
$this->errormsg = pg_errormessage($this->conn);
$this->errormsg = $this->db_last_error();
return false;
}
return true;
+76 -73
View File
@@ -19,48 +19,41 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class lehrverband
class lehrverband extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $result = array(); // lehrverband Objekt
public $new; // boolean
public $result = array(); // lehrverband Objekt
//Tabellenspalten
var $studiengang_kz; // integer
var $semester; // integer
var $verband; // integer
var $gruppe; // integer
var $aktiv; // boolean
var $bezeichnung; // varchar(16)
var $orgform_kurzbz;
public $studiengang_kz; // integer
public $semester; // integer
public $verband; // integer
public $gruppe; // integer
public $aktiv; // boolean
public $bezeichnung; // varchar(16)
public $orgform_kurzbz;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional einen Lehrverband
// * @param $conn Datenbank-Connection
// *
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function lehrverband($conn, $unicode=false)
/**
* Konstruktor
*
*/
public function __construct()
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
parent::__construct();
}
function exists($studiengang_kz, $semester, $verband, $gruppe)
/**
* Prueft ob ein Lehrverband existiert
*
* @param $studiengang_kz
* @param $semester
* @param $verband
* @param $gruppe
* @return true wenn vorhanden, sonst false
*/
public function exists($studiengang_kz, $semester, $verband, $gruppe)
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_lehrverband WHERE
studiengang_kz='".addslashes($studiengang_kz)."' AND
@@ -68,25 +61,38 @@ class lehrverband
trim(verband)='".trim(addslashes($verband))."' AND
trim(gruppe)='".trim(addslashes($gruppe))."'";
if($row=pg_fetch_object(pg_query($this->conn, $qry)))
if($this->db_query($qry))
{
if($row->anzahl>0)
if($row = $this->db_fetch_object())
{
return true;
if($row->anzahl>0)
return true;
else
return false;
}
else
{
$this->errormsg = 'Fehler bei Abfrage: '.$qry;
return false;
}
}
else
else
{
$this->errormsg = 'Fehler bei Abfrage: '.$qry;
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
function load($studiengang_kz, $semester, $verband, $gruppe)
/**
* Laedt einen Lehrverband
*
* @param $studiengang_kz
* @param $semester
* @param $verband
* @param $gruppe
* @return boolean
*/
public function load($studiengang_kz, $semester, $verband, $gruppe)
{
$qry = "SELECT * FROM public.tbl_lehrverband
WHERE studiengang_kz='".addslashes($studiengang_kz)."'
@@ -94,9 +100,9 @@ class lehrverband
AND verband='".addslashes($verband)."'
AND gruppe='".addslashes($gruppe)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->studiengang_kz = $row->studiengang_kz;
$this->semester = $row->semester;
@@ -115,17 +121,17 @@ class lehrverband
}
else
{
$this->errormsg = 'Fehler beim lesen der Daten';
$this->errormsg = 'Fehler beim Lesen der Daten';
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(!is_numeric($this->semester))
{
@@ -148,7 +154,15 @@ class lehrverband
return true;
}
function getlehrverband($studiengang_kz=null, $semester=null, $verband=null)
/**
* Liefert alle Lehrverbaende unterhalb des uebergebenen
*
* @param $studiengang_kz
* @param $semester
* @param $verband
* @return boolean
*/
public function getlehrverband($studiengang_kz=null, $semester=null, $verband=null)
{
$qry = 'SELECT * FROM public.tbl_lehrverband WHERE aktiv=true';
if(!is_null($studiengang_kz))
@@ -159,11 +173,11 @@ class lehrverband
$qry .=' AND verband='.$this->addslashes($verband);
$qry .= ' ORDER BY studiengang_kz, semester, verband, gruppe';
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrverband($this->conn);
$lv_obj = new lehrverband();
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->semester = $row->semester;
@@ -179,29 +193,18 @@ class lehrverband
}
else
{
$this->errormsg = 'Fehler beim lesen der Lehrverbaende '.$qry;
$this->errormsg = 'Fehler beim Lesen der Lehrverbaende '.$qry;
return false;
}
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Lehrverband in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert Lehrverband in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if($new==null)
$new = $this->new;
@@ -233,7 +236,7 @@ class lehrverband
" AND gruppe='".addslashes($this->gruppe)."';";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
+75 -104
View File
@@ -19,57 +19,38 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class log
class log extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $logs = array(); // lehreinheit Objekt
public $new; // boolean
public $logs = array(); // lehreinheit Objekt
//Tabellenspalten
var $log_id; // Serial
var $executetime; // timestamp
var $sql; // text
var $sqlundo; // text
var $beschreibung; // varchar(64)
var $mitarbeiter_uid; // varchar(16)
public $log_id; // Serial
public $executetime; // timestamp
public $sql; // text
public $sqlundo; // text
public $beschreibung; // varchar(64)
public $mitarbeiter_uid; // varchar(16)
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional einen DS
// * @param $conn Datenbank-Connection
// * $log_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function log($conn, $log_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional einen DS
* @param $log_id
*/
public function __construct($log_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
parent::__construct();
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
*/
if($log_id!=null)
if(!is_null($log_id))
$this->load($log_id);
}
// *********************************************************
// * Laedt einen Log Eintrag
// * @param log_id
// *********************************************************
function load($log_id)
/**
* Laedt einen Log Eintrag
* @param log_id
*/
public function load($log_id)
{
if(!is_numeric($log_id))
{
@@ -78,9 +59,9 @@ class log
}
$qry = "SELECT * FROM public.tbl_log WHERE log_id='$log_id'";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->log_id = $row->log_id;
$this->executetime = $row->executetime;
@@ -98,26 +79,26 @@ class log
}
else
{
$this->errormsg = 'Fehler beim laden des Log Eintrages';
$this->errormsg = 'Fehler beim Laden des Log Eintrages';
return false;
}
}
// ********************************************
// * Laedt die letzten 10 Undo Eintraege
// * @param $uid UID des Mitarbeiters dessen
// * UNDO befehle geladen werden sollen
// * @return true wenn ok , false im Fehlerfall
// ********************************************
function load_undo($uid)
/**
* Laedt die letzten 10 Undo Eintraege
* @param $uid UID des Mitarbeiters dessen
* UNDO befehle geladen werden sollen
* @return true wenn ok , false im Fehlerfall
*/
public function load_undo($uid)
{
$qry = "SELECT * FROM public.tbl_log WHERE mitarbeiter_uid='".addslashes($uid)."' AND sqlundo is not null ORDER BY executetime DESC LIMIT 10";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$log_obj = new log($this->conn, null, null);
$log_obj = new log();
$log_obj->log_id = $row->log_id;
$log_obj->executetime = $row->executetime;
@@ -132,39 +113,28 @@ class log
}
else
{
$this->errormsg = 'Fehler beim laden der Log-Eintraege';
$this->errormsg = 'Fehler beim Laden der Log-Eintraege';
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
public function validate()
{
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert einen Log Eintrag in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz aktualisiert
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert einen Log Eintrag in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz aktualisiert
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -192,7 +162,7 @@ class log
" WHERE log_id=".$this->addslashes($this->log_id).";";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
}
@@ -204,12 +174,12 @@ class log
}
// **********************************
// * Loescht einen Log Eintrag
// * @param $log_id ID des DS
// * @return true wenn ok sonst false
// **********************************
function delete($log_id)
/**
* Loescht einen Log Eintrag
* @param $log_id ID des DS
* @return true wenn ok sonst false
*/
public function delete($log_id)
{
if(!is_numeric($log_id))
{
@@ -219,51 +189,52 @@ class log
$qry = "DELETE FROM public.tbl_log WHERE log_id='$log_id'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim loeschen des LOG Eintrages';
$this->errormsg = 'Fehler beim Loeschen des LOG Eintrages';
return false;
}
}
// ************************************
// * Fuehrt einen UnDo Befehl aus und
// * loescht anschliessend den Eintrag
// * aus dem Log
// * @param $log_id
// * @return true wenn ok, sonst false
// ************************************
function undo($log_id)
/**
* Fuehrt einen UnDo Befehl aus und
* loescht anschliessend den Eintrag
* aus dem Log
* @param $log_id
* @return true wenn ok, sonst false
*/
public function undo($log_id)
{
if(!is_numeric($log_id))
{
$this->errormsg = 'Log_id ist ungueltig'.$log_id;
return false;
}
pg_query($this->conn, 'BEGIN;');
$this->db_query('BEGIN;');
//Undo Befehl aus Log holen
$qry = "SELECT * FROM public.tbl_log WHERE log_id='$log_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if($row->sqlundo!='')
{
//UnDo Befehl ausfuehren
if(pg_query($this->conn, $row->sqlundo))
if($this->db_query($row->sqlundo))
{
//Log Eintrag aus Log entfernen
$qry = "DELETE FROM public.tbl_log WHERE log_id='$log_id';";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
$this->errormsg = 'UnDo Eintrag konnte nicht entfernt werden';
return false;
}
+76 -103
View File
@@ -23,69 +23,53 @@
* Klasse Zeugnisnote
* @create 2007-06-06
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class lvgesamtnote
class lvgesamtnote extends basis_db
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result=array();
public $new; // boolean
public $result=array();
//Tabellenspalten
var $lehrveranstaltung_id; // integer
var $student_uid; // varchar(16)
var $mitarbeiter_uid; // varchar(16)
var $studiensemester_kurzbz; // varchar(16)
var $note; // smalint
var $freigabedatum; // date
var $benotungsdatum; // date
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $bemerkung; // text
var $freigabevon_uid; //varchar(16)
public $lehrveranstaltung_id; // integer
public $student_uid; // varchar(16)
public $mitarbeiter_uid; // varchar(16)
public $studiensemester_kurzbz; // varchar(16)
public $note; // smalint
public $freigabedatum; // date
public $benotungsdatum; // date
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $bemerkung; // text
public $freigabevon_uid; //varchar(16)
var $lehrveranstaltung_bezeichung;
var $note_bezeichnung;
public $lehrveranstaltung_bezeichung;
public $note_bezeichnung;
// *********************************************************************
// * Konstruktor
// * @param $conn Connection
// * $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// *********************************************************************
function lvgesamtnote($conn, $lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null , $unicode=false)
/**
* Konstruktor
* @param $lehrveranstaltung_id
* $student_uid
* $studiensemester_kurzbz
*/
public function __construct($lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg= "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
parent::__construct();
if($lehrveranstaltung_id!=null && $student_uid!=null && $studiensemester_kurzbz!=null)
$this->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz);
}
// **************************************************************
// * Laedt eine LVGesamtNote
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// ***************************************************************
function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
/**
* Laedt eine LVGesamtNote
* @param $lehrveranstaltung_id
* @param $student_uid
* @param $studiensemester_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
if(!is_numeric($lehrveranstaltung_id))
{
@@ -98,9 +82,9 @@ class lvgesamtnote
student_uid='".addslashes($student_uid)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->student_uid = $row->student_uid;
@@ -130,11 +114,11 @@ class lvgesamtnote
}
}
// *************************************
// * Prueft die Daten vor dem Speichern
// * auf Gueltigkeit
// *************************************
function validate()
/**
* Prueft die Daten vor dem Speichern
* auf Gueltigkeit
*/
protected function validate()
{
if(!is_numeric($this->lehrveranstaltung_id))
{
@@ -168,25 +152,14 @@ class lvgesamtnote
}
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *******************************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if($new==null)
$new=$this->new;
@@ -228,48 +201,48 @@ class lvgesamtnote
'AND studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = "Fehler beim Speichern des Datensatzes: ".pg_last_error($this->conn);
$this->errormsg = "Fehler beim Speichern des Datensatzes: ".$this->db_last_error();
return false;
}
}
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $lehrveranstaltung_id
* @param $student_uid
* @param $studiensemester_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
$qry = "DELETE FROM campus.tbl_lvgesamtnote WHERE
lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' AND
student_uid='".addslashes($student_uid)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim loeschen der Daten';
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
// *********************************************
// * Laed die Noten
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false wenn Fehler
// *********************************************
function getLvGesamtNoten($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
/**
* Laedt die Noten
* @param $lehrveranstaltung_id
* $student_uid
* $studiensemester_kurzbz
* @return true wenn ok, false wenn Fehler
*/
public function getLvGesamtNoten($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
$qry = "SELECT
tbl_lvgesamtnote.*,
@@ -291,11 +264,11 @@ class lvgesamtnote
if($student_uid!=null)
$qry.=" AND tbl_lvgesamtnote.student_uid='".addslashes($student_uid)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new lvgesamtnote($this->conn, null, null, null, null);
$obj = new lvgesamtnote();
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->student_uid = $row->student_uid;
@@ -319,9 +292,9 @@ class lvgesamtnote
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
?>
+59 -55
View File
@@ -23,62 +23,64 @@
* Klasse lvinfo (FAS-Online)
* @create 04-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class lvinfo
class lvinfo extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var fachbereich Objekt
public $new; // boolean
public $result = array(); // fachbereich Objekt
//Tabellenspalten
var $lehrveranstaltung_id; // @var integer
var $lehrziele; // @var string
var $titel; // @var varchar(256)
var $methodik; // @var string
var $lehrinhalte; // @var string
var $voraussetzungen; // @var string
var $unterlagen; // @var string
var $pruefungsordnung; // @var string
var $anmerkungen; // @var string
var $kurzbeschreibung; // @var string
var $genehmigt; // @var boolean
var $aktiv; // @var boolean
var $sprache; // @var string
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
var $insertamum; // @var timestamp
var $insertvon=0; // @var string
public $lehrveranstaltung_id; // integer
public $lehrziele; // string
public $titel; // varchar(256)
public $methodik; // string
public $lehrinhalte; // string
public $voraussetzungen; // string
public $unterlagen; // string
public $pruefungsordnung; // string
public $anmerkungen; // string
public $kurzbeschreibung; // string
public $genehmigt; // boolean
public $aktiv; // boolean
public $sprache; // string
public $updateamum; // timestamp
public $updatevon=0; // string
public $insertamum; // timestamp
public $insertvon=0; // string
var $lastqry; //zuletzt ausgefuehrte qry (benoetigt fuer log)
public $lastqry; //zuletzt ausgefuehrte qry (benoetigt fuer log)
/**
* Konstruktor
* @param $conn Connection zur DB
* $lvinfo_id ID des zu ladenden Ortes
*/
function lvinfo($conn, $lvinfo_id=null)
public function __construct($lvinfo_id=null)
{
$this->conn = $conn;
parent::__construct();
if($lvinfo_id != null && is_numeric($lvinfo_id))
$this->load($lvinfo_id);
}
/**
* Laedt alle verfuegbaren LVInfos
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
public function getAll()
{
$qry = 'SELECT * FROM campus.tbl_lvinfo order by lvinfo_id;';
$qry = 'SELECT * FROM campus.tbl_lvinfo ORDER BY lvinfo_id;';
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$lvinfo_obj = new lvinfo($this->conn);
$lvinfo_obj = new lvinfo();
$lvinfo_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lvinfo_obj->lehrziele = $row->lehrziele;
@@ -109,21 +111,23 @@ class lvinfo
* $sprache
* @return true wenn ok, false im Fehlerfall
*/
function load($lehrveranstaltung_id, $sprache)
public function load($lehrveranstaltung_id, $sprache)
{
if($lehrveranstaltung_id == '' || !is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'lvinfo_id ungültig';
return false;
}
$qry = "SELECT * FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id = '$lehrveranstaltung_id' AND sprache='".addslashes($sprache)."';";
$qry = "SELECT * FROM campus.tbl_lvinfo
WHERE lehrveranstaltung_id = '$lehrveranstaltung_id' AND sprache='".addslashes($sprache)."';";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->lehrziele = $row->lehrziele;
@@ -157,7 +161,7 @@ class lvinfo
* @param $lvinfo_id ID des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($lvinfo_id)
public function delete($lvinfo_id)
{
if(!is_numeric($lvinfo_id))
{
@@ -167,7 +171,7 @@ class lvinfo
$qry = "DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$lvinfo_id'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
$this->lastqry = $qry;
return true;
@@ -178,20 +182,17 @@ class lvinfo
return false;
}
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
protected function validate()
{
//Laenge Pruefen
if(strlen($this->sprache)>16)
{
$this->errormsg = "Sprache darf nicht laenger als 16 Zeichen sein bei <b>".$this->lvinfo_id."</b> - $this->sprache";
$this->errormsg = 'Sprache darf nicht laenger als 16 Zeichen sein';
return false;
}
if(!is_numeric($this->lehrveranstaltung_id))
@@ -201,14 +202,15 @@ class lvinfo
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
@@ -266,9 +268,8 @@ class lvinfo
'WHERE lehrveranstaltung_id = '.$this->addslashes($this->lehrveranstaltung_id)." AND sprache=".$this->addslashes($this->sprache).";";
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
$this->lastqry=$qry;
return true;
}
@@ -279,7 +280,14 @@ class lvinfo
}
}
function exists($lehrveranstaltung_id, $sprache=null)
/**
* Prueft ob bereits eine LV-Info angelegt ist
*
* @param $lehrveranstaltung_id
* @param $sprache
* @return boolean
*/
public function exists($lehrveranstaltung_id, $sprache=null)
{
if(!is_numeric($lehrveranstaltung_id))
{
@@ -292,18 +300,14 @@ class lvinfo
if(!is_null($sprache))
$qry .= " AND sprache='".addslashes($sprache)."'";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
{
return true;
}
else
{
return false;
}
}
else
{
@@ -325,7 +329,7 @@ class lvinfo
* @param $target ID der Lehrveranstaltung zu der die LV-Info kopiert werden soll
* @return true wenn ok, false wenn Fehler
*/
function copy($source, $target)
public function copy($source, $target)
{
if(!is_numeric($source) || $source=='')
{
@@ -347,7 +351,7 @@ class lvinfo
lehrinhalte, methodik, voraussetzungen, unterlagen, pruefungsordnung, anmerkung, kurzbeschreibung, genehmigt,
aktiv, updateamum, updatevon, insertamum, insertvon FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id=$source";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
+50 -50
View File
@@ -30,25 +30,25 @@
class mail
{
var $to;
var $CC_recievers;
var $BCC_recievers;
var $sender;
var $replyTo;
var $subject;
var $textContent;
var $htmlContent;
var $attachments;
var $errormsg;
public $to;
public $CC_recievers;
public $BCC_recievers;
public $sender;
public $replyTo;
public $subject;
public $textContent;
public $htmlContent;
public $attachments;
public $errormsg;
// **********************************************************
// * MAIL - Konstruktor
// * $to Empfaenger
// * $from Absender
// * $subject Betreff
// * $text Text des Mails
// **********************************************************
function mail($to, $from, $subject, $text)
/**
* MAIL - Konstruktor
* $to Empfaenger
* $from Absender
* $subject Betreff
* $text Text des Mails
*/
public function __construct($to, $from, $subject, $text)
{
$this->to = $to;
$this->subject = $subject;
@@ -59,10 +59,10 @@ class mail
$attachments='';
}
// ***********************************************************
// * Mail zusammenbauen und senden
// ***********************************************************
function send()
/**
* Mail zusammenbauen und senden
*/
public function send()
{
//wenn MAIL_DEBUG gesetzt ist dann alles an diese Adresse schicken
if(MAIL_DEBUG!='')
@@ -151,10 +151,10 @@ class mail
return false;
}
// **********************************************
// * Setzt den Text fuer ein Mail
// **********************************************
function setTextContent($text, $charset = 'UTF-8', $encoding = '8bit')
/**
* Setzt den Text fuer ein Mail
*/
public function setTextContent($text, $charset = 'UTF-8', $encoding = '8bit')
{
$this->textContent[0] = $text;
$this->textContent[1] = $charset;
@@ -162,10 +162,10 @@ class mail
return true;
}
// **********************************************
// * Setzt den HTMLText fuer ein Mail
// **********************************************
function setHTMLContent($html, $charset = 'UTF-8', $encoding = '8bit')
/**
* Setzt den HTMLText fuer ein Mail
*/
public function setHTMLContent($html, $charset = 'UTF-8', $encoding = '8bit')
{
$this->htmlContent[0] = $html;
$this->htmlContent[1] = $charset;
@@ -176,14 +176,14 @@ class mail
return true;
}
// ***********************************************
// * Fuegt ein Attachment zum Mail hinzu
// * $file Dateiname des hinzuzufuegenden Files
// * $type MIME Type "application/xls"
// * $name Anzeigename des Files
// * $ContentID die ContentID der Datei falls sie als inline-image genutzt wird
// ***********************************************
function addAttachmentBinary($file, $type, $name, $ContentID = "")
/**
* Fuegt ein Attachment zum Mail hinzu
* $file Dateiname des hinzuzufuegenden Files
* $type MIME Type "application/xls"
* $name Anzeigename des Files
* $ContentID die ContentID der Datei falls sie als inline-image genutzt wird
*/
public function addAttachmentBinary($file, $type, $name, $ContentID = "")
{
if (!file_exists($file))
{
@@ -206,19 +206,19 @@ class mail
return true;
}
// ********************************************
// * Setzt den ReplyTo
// ********************************************
function setReplyTo($repl)
/**
* Setzt den ReplyTo
*/
public function setReplyTo($repl)
{
$this->replyTo = $repl;
return true;
}
// ********************************************
// * Setzt die CC Empfaenger
// ********************************************
function setCCRecievers($rcvs)
/**
* Setzt die CC Empfaenger
*/
public function setCCRecievers($rcvs)
{
$this->CC_recievers = '';
if (is_array($rcvs))
@@ -234,10 +234,10 @@ class mail
return true;
}
// ********************************************
// * Setzt die BCC Empfaenger
// ********************************************
function setBCCRecievers($rcvs)
/**
* Setzt die BCC Empfaenger
*/
public function setBCCRecievers($rcvs)
{
$this->BCC_recievers = '';
if (is_array($rcvs))
+33 -49
View File
@@ -24,45 +24,32 @@
* Klasse Nation (FAS-Online)
* @create 06-04-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class nation
class nation extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $nation = array(); // nation Objekt
public $new; // boolean
public $nation = array(); // nation Objekt
//Tabellenspalten
var $code;
var $sperre;
var $kontinent;
var $entwicklungsstand;
var $eu;
var $ewr;
var $kurztext;
var $langtext;
var $engltext;
public $code;
public $sperre;
public $kontinent;
public $entwicklungsstand;
public $eu;
public $ewr;
public $kurztext;
public $langtext;
public $engltext;
/**
* Konstruktor
* @param $conn Connection
* $code Zu ladende Nation
* @param $code Zu ladende Nation
*/
function nation($conn, $code=null, $unicode=false)
public function __construct($code=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
parent::__construct();
if($code != null)
$this->load($code);
}
@@ -73,18 +60,18 @@ class nation
* @param $code code der zu ladenden Nation
* @return true wenn ok, false im Fehlerfall
*/
function load($code)
public function load($code)
{
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM bis.tbl_nation WHERE nation_code='$code';";
//echo $qry;
if(!$res = pg_query($this->conn,$qry))
$qry = "SELECT * FROM bis.tbl_nation WHERE nation_code='".addslashes($code)."';";
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->code = $code;
@@ -110,7 +97,7 @@ class nation
* @param ohnesperre wenn dieser Parameter auf true gesetzt ist werden
* nur die nationen geliefert dessen Buerger bei uns studieren duerfen
*/
function getAll($ohnesperre=false)
public function getAll($ohnesperre=false)
{
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM bis.tbl_nation";
@@ -119,15 +106,15 @@ class nation
$qry .=" ORDER BY kurztext";
if(!$res = pg_query($this->conn,$qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$nation = new nation($this->conn);
$nation = new nation();
$nation->code = $row->nation_code;
$nation->sperre = ($row->sperre=='t'?true:false);
@@ -143,15 +130,12 @@ class nation
}
return true;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert die Personendaten in die Datenbank
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
/**
* Speichert die Personendaten in die Datenbank
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
@@ -167,7 +151,7 @@ class nation
$this->addslashes($this->sperre).');';
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
}
+50 -94
View File
@@ -24,59 +24,41 @@
* Klasse Note
* @create 2007-06-06
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class note
class note extends basis_db
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result=array();
public $new; // boolean
public $result=array();
//Tabellenspalten
var $note; // smallint
var $bezeichnung; // varchar(32)
var $anmerkung; // varchar(256)
var $farbe;
public $note; // smallint
public $bezeichnung; // varchar(32)
public $anmerkung; // varchar(256)
public $farbe;
// *********************************************************************
// * Konstruktor
// * @param $conn Connection
// * $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// *********************************************************************
function note($conn, $note = null, $unicode=false)
/**
* Konstruktor
* @param $lehrveranstaltung_id
* $student_uid
* $studiensemester_kurzbz
*/
public function __construct($note = null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
parent::__construct();
if(!pg_query($conn,$qry))
{
$this->errormsg= "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($note != null)
$this->load($note);
}
// **************************************************************
// * Laedt eine Zeugnisnote
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// ***************************************************************
function load($note)
/**
* Laedt eine Note
* @param $lehrveranstaltung_id
* $student_uid
* $studiensemester_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function load($note)
{
if(!is_numeric($note))
{
@@ -86,9 +68,9 @@ class note
$qry = "SELECT * FROM lehre.tbl_note WHERE note='".$note."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->note = $row->note;
$this->bezeichnung = $row->bezeichnung;
@@ -109,37 +91,27 @@ class note
}
}
// *************************************
// * Prueft die Daten vor dem Speichern
// * auf Gueltigkeit
// *************************************
function validate()
/**
* Prueft die Daten vor dem Speichern
* auf Gueltigkeit
*/
public function validate()
{
if(!is_numeric($this->note))
{
$this->errormsg = 'Note ist ungueltig';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *******************************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if($new==null)
$new=$this->new;
@@ -164,7 +136,7 @@ class note
'WHERE note='.$this->addslashes($this->note).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -174,36 +146,20 @@ class note
return false;
}
}
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($note)
/**
* Laedt alle Noten
* @return true wenn ok, false wenn Fehler
*/
public function getAll()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
// *********************************************
// * Laed alle Noten
// * @return true wenn ok, false wenn Fehler
// *********************************************
function getAll()
{
$qry = "select * from lehre.tbl_note order by note";
$qry = "SELECT * FROM lehre.tbl_note ORDER BY note";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$n = new note($this->conn, null, null);
$n = new note();
$n->note = $row->note;
$n->bezeichnung = $row->bezeichnung;
@@ -216,7 +172,7 @@ class note
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
+6 -1
View File
@@ -24,7 +24,7 @@
* Klasse Organisationseinheit
*
*/
require_once('basis_db.class.php');
require_once(dirname(__FILE__).'/basis_db.class.php');
class organisationseinheit extends basis_db
{
@@ -112,6 +112,11 @@ class organisationseinheit extends basis_db
}
return true;
}
else
{
$this->errormsg = 'Fehler bei Abfrage';
return false;
}
}
/**
+65 -123
View File
@@ -23,53 +23,38 @@
* Klasse ort (FAS-Online)
* @create 04-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class ort
class ort extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var ort Objekt
public $new; // boolean
public $result = array(); // ort Objekt
//Tabellenspalten
var $ort_kurzbz; // @var string
var $bezeichnung; // @var string
var $planbezeichnung; // @var string
var $max_person; // @var integer
var $lehre; // @var boolean
var $reservieren; // @var boolean
var $aktiv; // @var boolean
var $lageplan; // @var oid
var $dislozierung; // @var smallint
var $kosten; // @var numeric(8,2)
var $ausstattung;
var $stockwerk; // @var integer
var $standort_kurzbz; // @var varchar(16)
var $telefonklappe; // @var varchar(8)
public $ort_kurzbz; // string
public $bezeichnung; // string
public $planbezeichnung; // string
public $max_person; // integer
public $lehre; // boolean
public $reservieren; // boolean
public $aktiv; // boolean
public $lageplan; // oid
public $dislozierung; // smallint
public $kosten; // numeric(8,2)
public $ausstattung;
public $stockwerk; // integer
public $standort_kurzbz; // varchar(16)
public $telefonklappe; // varchar(8)
/**
* Konstruktor
* @param $conn Connection zur DB
* $ort_kurzbz Kurzbz des zu ladenden Ortes
*/
function ort($conn, $ort_kurzbz=null, $unicode=false)
public function __construct($ort_kurzbz=null)
{
$this->conn = $conn;
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE'";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9'";
if(!pg_query($this->conn, $qry))
{
$this->errormsg ='Fehler beim Setzen des Encodings';
return false;
}
}
parent::__construct();
if($ort_kurzbz != null)
$this->load($ort_kurzbz);
}
@@ -78,19 +63,19 @@ class ort
* Laedt alle verfuegbaren Orte
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
public function getAll()
{
$qry = 'SELECT * FROM public.tbl_ort order by ort_kurzbz;';
$qry = 'SELECT * FROM public.tbl_ort ORDER BY ort_kurzbz;';
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$ort_obj = new ort($this->conn);
$ort_obj = new ort();
$ort_obj->ort_kurzbz = $row->ort_kurzbz;
$ort_obj->bezeichnung = $row->bezeichnung;
@@ -117,7 +102,7 @@ class ort
* @param $fachb_id ID des zu ladenden Ortes
* @return true wenn ok, false im Fehlerfall
*/
function load($ort_kurzbz)
public function load($ort_kurzbz)
{
if($ort_kurzbz == '')
{
@@ -125,15 +110,15 @@ class ort
return false;
}
$qry = "SELECT * FROM public.tbl_ort WHERE ort_kurzbz = '$ort_kurzbz';";
$qry = "SELECT * FROM public.tbl_ort WHERE ort_kurzbz = '".addslashes($ort_kurzbz)."';";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->ort_kurzbz = $row->ort_kurzbz;
$this->bezeichnung = $row->bezeichnung;
@@ -142,8 +127,8 @@ class ort
$this->aktiv = ($row->aktiv=='t'?true:false);
$this->lehre = ($row->lehre=='t'?true:false);
$this->lageplan = $row->lageplan;
$this->dislozierung = $row->dislozierung;
$this->kosten = $row->kosten;
$this->dislozierung = $row->dislozierung;
$this->kosten = $row->kosten;
$this->reservieren = ($row->reservieren=='t'?true:false);
$this->ausstattung = $row->ausstattung;
$this->stockwerk = $row->stockwerk;
@@ -158,69 +143,50 @@ class ort
return true;
}
/**
* Loescht einen Datensatz
* @param $ort_kurzbz ID des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($ort_kurzbz)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
public function validate()
{
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
$this->ort_kurzbz = str_replace("'",'´',$this->ort_kurzbz);
$this->planbezeichnung = str_replace("'",'´',$this->planbezeichnung);
//Laenge Pruefen
if(strlen($this->bezeichnung)>30)
{
$this->errormsg = "Bezeichnung darf nicht laenger als 30 Zeichen sein bei <b>$this->ort_kurzbz</b> - $this->bezeichnung";
$this->errormsg = 'Bezeichnung darf nicht laenger als 30 Zeichen sein';
return false;
}
if(strlen($this->planbezeichnung)>30)
{
$this->errormsg = "Planbezeichnung darf nicht laenger als 30 Zeichen sein bei <b>$this->ort_kurzbz</b> - $this->planbezeichnung";
$this->errormsg = 'Planbezeichnung darf nicht laenger als 30 Zeichen sein';
return false;
}
if(strlen($this->ort_kurzbz)>8)
{
$this->errormsg = "Ort_kurzbz darf nicht laenger als 8 Zeichen sein bei <b>$this->ort_kurzbz/b>";
$this->errormsg = 'Ort_kurzbz darf nicht laenger als 8 Zeichen sein';
return false;
}
if($this->ort_kurzbz == '')
{
$this->errormsg = 'ort_kurzbz darf nicht leer sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
{
//Pruefen ob ort_kurzbz eine gueltige Bezeichnung ist
if($this->ort_kurzbz == '')
{
$this->errormsg = 'ort_kurzbz darf nicht leer sein';
return false;
}
//Neuen Datensatz anlegen
$qry = 'INSERT INTO public.tbl_ort (ort_kurzbz, bezeichnung, planbezeichnung, max_person, aktiv, lehre, reservieren, lageplan,
dislozierung, kosten, stockwerk, standort_kurzbz, telefonklappe) VALUES ('.
@@ -242,13 +208,6 @@ class ort
{
//bestehenden Datensatz akualisieren
//Pruefen ob ort_kurzbz gueltig ist
if($this->ort_kurzbz == '')
{
$this->errormsg = 'ort_kurzbz darf nicht leer sein';
return false;
}
$qry = 'UPDATE public.tbl_ort SET '.
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
'planbezeichnung='.$this->addslashes($this->planbezeichnung).', '.
@@ -265,25 +224,8 @@ class ort
'WHERE ort_kurzbz = '.$this->addslashes($this->ort_kurzbz).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
return true;
}
else
@@ -293,17 +235,17 @@ class ort
}
}
// ****
// * Sucht nach freien Raeumen
// * @param datum ... Datum fuer das der Raum gesucht wird
// * zeit_von ... Zeit ab wann soll der Raum frei sein
// * zeit_bis ... Zeit bis wann soll der Raum frei sein
// * raumtyp ... Art des Raumes (optional)
// * anzpersonen ... Anzahl der Personen die mindestens Platz haben sollen (optional)
// * reservierung ... true wenn nur Raeume aufscheinen sollen die auch Reservierbar sind
// * db_table ... Stundenplantabelle die geprueft werden soll
// * @return true wenn ok, false im Fehlerfall
// ****
/**
* Sucht nach freien Raeumen
* @param datum ... Datum fuer das der Raum gesucht wird
* zeit_von ... Zeit ab wann soll der Raum frei sein
* zeit_bis ... Zeit bis wann soll der Raum frei sein
* raumtyp ... Art des Raumes (optional)
* anzpersonen ... Anzahl der Personen die mindestens Platz haben sollen (optional)
* reservierung ... true wenn nur Raeume aufscheinen sollen die auch Reservierbar sind
* db_table ... Stundenplantabelle die geprueft werden soll
* @return true wenn ok, false im Fehlerfall
*/
function search($datum, $zeit_von, $zeit_bis, $raumtyp=null, $anzpersonen=null, $reservierung=true, $db_table='stundenplandev')
{
$stundevon = 1;
@@ -316,8 +258,8 @@ class ort
SELECT stunde, extract(epoch from (ende-('".addslashes($zeit_von)."'::time))) AS delta FROM lehre.tbl_stunde
) foo WHERE delta>=0 ORDER BY delta LIMIT 1;";
if($result = pg_query($this->conn, $qry))
if($row = pg_fetch_object($result))
if($this->db_query($qry))
if($row = $this->db_fetch_object())
$stundevon = $row->stunde;
//stundebis ermitteln
@@ -327,8 +269,8 @@ class ort
SELECT stunde, extract(epoch from (ende-('".addslashes($zeit_bis)."'::time))) AS delta FROM lehre.tbl_stunde
) foo WHERE delta>=0 ORDER BY delta LIMIT 1;";
if($result = pg_query($this->conn, $qry))
if($row = pg_fetch_object($result))
if($this->db_query($qry))
if($row = $this->db_fetch_object())
$stundebis = $row->stunde;
//Freie Raeume suchen
@@ -353,12 +295,12 @@ class ort
SELECT ort_kurzbz FROM campus.tbl_reservierung WHERE datum='".addslashes($datum)."' AND stunde>='".addslashes($stundevon)."' AND stunde<='".addslashes($stundebis)."'
)
";
//echo $qry;
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$ort_obj = new ort($this->conn);
$ort_obj = new ort();
$ort_obj->ort_kurzbz = $row->ort_kurzbz;
$ort_obj->bezeichnung = $row->bezeichnung;
+27 -61
View File
@@ -23,27 +23,27 @@
* Klasse ortraumtyp (FAS-Online)
* @create 04-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class ortraumtyp
class ortraumtyp extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var fachbereich Objekt
public $new; // boolean
public $result = array(); // fachbereich Objekt
//Tabellenspalten
var $ort_kurzbz; // @var string
var $hierarchie; // @var smallint
var $raumtyp_kurzbz; // @var string
public $ort_kurzbz; // string
public $hierarchie; // smallint
public $raumtyp_kurzbz; // string
/**
* Konstruktor
* @param $conn Connection zur DB
* $ort_kurzbz und hierarchie ID des zu ladenden OrtRaumtyps
*/
function ortraumtyp($conn, $ort_kurzbz=null, $hierarchie=0)
public function __construct($ort_kurzbz=null, $hierarchie=0)
{
$this->conn = $conn;
parent::__construct();
if($ort_kurzbz != null && $hierarchie!=null && is_numeric($hierarchie))
$this->load($ort_kurzbz, $hierarchie);
}
@@ -52,19 +52,19 @@ class ortraumtyp
* Laedt alle verfuegbaren OrtRaumtypen
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
public function getAll()
{
$qry = 'SELECT * FROM public.tbl_ortraumtyp order by ort_kurzbz, hierarchie;';
$qry = 'SELECT * FROM public.tbl_ortraumtyp ORDER BY ort_kurzbz, hierarchie;';
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$ortraumtyp_obj = new ort($this->conn);
$ortraumtyp_obj = new ort();
$ortraumtyp_obj->ort_kurzbz = $row->ort_kurzbz;
$ortraumtyp_obj->hierarchie = $row->hierarchie;
@@ -80,7 +80,7 @@ class ortraumtyp
* @param $ortraumtyp, hierarchie ID des zu ladenden OrtRaumtyps
* @return true wenn ok, false im Fehlerfall
*/
function load($ort_kurzbz, $hierarchie)
public function load($ort_kurzbz, $hierarchie)
{
if($ort_kurzbz == '' || !is_numeric($hierarchie) || $hierarchie=='')
{
@@ -88,15 +88,15 @@ class ortraumtyp
return false;
}
$qry = "SELECT * FROM public.tbl_ortraumtyp WHERE ort_kurzbz = '$ort_kurzbz' AND hierarchie = '$hierarchie';";
$qry = "SELECT * FROM public.tbl_ortraumtyp WHERE ort_kurzbz = '".addslashes($ort_kurzbz)."' AND hierarchie = '".addslashes($hierarchie)."';";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->ort_kurzbz = $row->ort_kurzbz;
$this->hierarchie = $row->hierarchie;
@@ -110,53 +110,36 @@ class ortraumtyp
return true;
}
/**
* Loescht einen Datensatz
* @param $ort_kurzbz, hierarchie ID des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($ort_kurzbz)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
public function validate()
{
$this->ort_kurzbz = str_replace("'",'´',$this->ort_kurzbz);
$this->raumtyp_kurzbz = str_replace("'",'´',$this->raumtyp_kurzbz);
//Laenge Pruefen
if(strlen($this->ort_kurzbz)>8)
{
$this->errormsg = "Ort_kurzbz darf nicht laenger als 8 Zeichen sein bei <b>$this->kurzbz, $hierarchie</b>";
$this->errormsg = 'Ort_kurzbz darf nicht laenger als 8 Zeichen sein';
return false;
}
if(strlen($this->raumtyp_kurzbz)>8)
{
$this->errormsg = "Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein bei <b>$this->kurzbz, $hierarchie</b> - $this->raumtyp_kurzbz";
$this->errormsg = 'Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
@@ -190,25 +173,8 @@ class ortraumtyp
'WHERE ort_kurzbz = '.$this->addslashes($this->ort_kurzbz).' AND hierarchie = '.$this->addslashes($this->hierarchie).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
return true;
}
else
+7 -7
View File
@@ -305,7 +305,7 @@ class person extends basis_db
}
if($this->geschlecht!='m' && $this->geschlecht!='w' && $this->geschlecht!='u')
{
$this->errormsg = 'Geschlecht muß w, m oder u sein!';
$this->errormsg = 'Geschlecht mu w, m oder u sein!';
return false;
}
@@ -314,15 +314,15 @@ class person extends basis_db
{
if(ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$this->gebdatum, $regs))
{
$day = sprintf('%02s',$regs[1]);
$month = sprintf('%02s',$regs[2]);
$year = substr($regs[3],2,2);
//$day = sprintf('%02s',$regs[1]);
//$month = sprintf('%02s',$regs[2]);
//$year = substr($regs[3],2,2);
}
elseif(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->gebdatum, $regs))
{
$day = sprintf('%02s',$regs[3]);
$month = sprintf('%02s',$regs[2]);
$year = substr($regs[1],2,2);
//$day = sprintf('%02s',$regs[3]);
//$month = sprintf('%02s',$regs[2]);
//$year = substr($regs[1],2,2);
}
else
{
+155 -182
View File
@@ -19,72 +19,56 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class preinteressent
class preinteressent extends basis_db
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result = array();
public $new; // boolean
public $result = array();
//Tabellenspalten
var $preinteressent_id; // serial
var $person_id;
var $studiensemester_kurzbz; // varchar(16)
var $aufmerksamdurch_kurzbz; // varchar(16)
var $firma_id; // integer
var $anmerkung; // text
var $erfassungsdatum; // date
var $einverstaendnis; // boolean
var $absagedatum; // timestamp
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $maturajahr; // numeric(4,0)
var $infozusendung; // date
var $kontaktmedium_kurzbz; // varchar(32)
public $preinteressent_id; // serial
public $person_id;
public $studiensemester_kurzbz; // varchar(16)
public $aufmerksamdurch_kurzbz; // varchar(16)
public $firma_id; // integer
public $anmerkung; // text
public $erfassungsdatum; // date
public $einverstaendnis; // boolean
public $absagedatum; // timestamp
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $maturajahr; // numeric(4,0)
public $infozusendung; // date
public $kontaktmedium_kurzbz; // varchar(32)
var $studiengang_kz;
var $prioritaet; // smallint
var $prioritaet_arr = array('1'=>'niedrg', '2'=>'mittel', '3'=>'hoch');
var $freigabedatum; // timestamp
var $uebernahmedatum; // timestamp
public $studiengang_kz;
public $prioritaet; // smallint
public $prioritaet_arr = array('1'=>'niedrg', '2'=>'mittel', '3'=>'hoch');
public $freigabedatum; // timestamp
public $uebernahmedatum; // timestamp
// ***********************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// * preinteressent_id ID des zu ladenden Datensatzes
// ***********************************************
function preinteressent($conn, $preinteressent_id=null, $unicode=false)
/**
* Konstruktor
* @param preinteressent_id ID des zu ladenden Datensatzes
*/
public function __construct($preinteressent_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
parent::__construct();
if($preinteressent_id != null)
$this->load($preinteressent_id);
}
// ***********************************************
// * Laedt einen Datensatz
// * @param preinteressent_id ID des zu ladenden Datensatzes
// ***********************************************
function load($preinteressent_id)
/**
* Laedt einen Datensatz
* @param preinteressent_id ID des zu ladenden Datensatzes
*/
public function load($preinteressent_id)
{
//id auf gueltigkeit pruefen
//id auf Gueltigkeit pruefen
if(!is_numeric($preinteressent_id) || $preinteressent_id == '')
{
$this->errormsg = 'preinteressent_id muss eine gueltige Zahl sein';
@@ -94,9 +78,9 @@ class preinteressent
//laden des Datensatzes
$qry = "SELECT * FROM public.tbl_preinteressent WHERE preinteressent_id='$preinteressent_id';";
if($result = pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->preinteressent_id = $row->preinteressent_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -129,13 +113,13 @@ class preinteressent
}
}
// **************************************************
// * Loescht einen Datensatz, erstellt einen UNDO Befehl
// * und einen LOG Eintrag
// * @param preinteressent_id ID des zu loeschenden Datensatzes
// * @return true wenn ok, false im Fehlerfall
// **************************************************
function delete($preinteressent_id)
/**
* Loescht einen Datensatz, erstellt einen UNDO Befehl
* und einen LOG Eintrag
* @param preinteressent_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($preinteressent_id)
{
//id auf Gueltigkeit pruefen
if(!is_numeric($preinteressent_id) || $preinteressent_id == '')
@@ -145,12 +129,12 @@ class preinteressent
}
$undo='';
//UNDO Befehl zusammenbauen
pg_query($this->conn, 'BEGIN;');
$this->db_query('BEGIN;');
$qry = "SELECT * FROM public.tbl_preinteressent WHERE preinteressent_id = '$preinteressent_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$undo.=" INSERT INTO public.tbl_preinteressent(preinteressent_id, person_id, studiensemester_kurzbz,
aufmerksamdurch_kurzbz, firma_id, erfassungsdatum, einverstaendnis, absagedatum, anmerkung,
@@ -176,15 +160,15 @@ class preinteressent
else
{
$this->errormsg = 'Fehler beim Erstellen des UNDO Befehls';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
$qry = "SELECT * FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$undo.=" INSERT INTO public.tbl_preinteressentstudiengang(studiengang_kz, preinteressent_id, prioritaet,
freigabedatum, uebernahmedatum, insertamum, insertvon, updateamum, updatevon) VALUES(".
@@ -202,17 +186,17 @@ class preinteressent
else
{
$this->errormsg = 'Fehler beim Erstellen des UNDO Befehls';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
$qry = "DELETE FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id';
DELETE FROM public.tbl_preinteressent WHERE preinteressent_id = '$preinteressent_id';";
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
$log = new log($this->conn);
$log = new log();
$log->new = true;
$log->sql = $qry;
@@ -224,72 +208,49 @@ class preinteressent
if(!$log->save())
{
$this->errormsg = 'Fehler beim Schreiben des Log-Eintrages';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
// ******************************************
// * Prueft die Daten vor dem Speichern
// * @return true wenn ok, false wenn fehler
// ******************************************
function validate()
/**
* Prueft die Daten vor dem Speichern
* @return true wenn ok, false wenn fehler
*/
protected function validate()
{
if($this->person_id=='')
{
$this->errormsg = 'Person_id muss angegeben werden';
return false;
}
/*
if($this->studiensemester_kurzbz=='')
{
$this->errormsg = 'Studiensemester_kurzbz muss angegeben werden';
return false;
}
*/
if($this->aufmerksamdurch_kurzbz=='')
{
$this->errormsg = 'Aufmerksamdurch muss angegeben werden';
return false;
}
/*
if($this->firma_id=='')
{
$this->errormsg = 'Es muss eine Schule angegeben werden';
return false;
}
*/
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *********************************************************************
// * Speichert den aktuellen Datensatz
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $preinteressent_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *********************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $preinteressent_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
@@ -338,30 +299,30 @@ class preinteressent
" WHERE preinteressent_id='".addslashes($this->preinteressent_id)."'";
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('public.tbl_preinteressent_preinteressent_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->preinteressent_id = $row->id;
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -375,27 +336,27 @@ class preinteressent
}
}
// *******************************************
// * Laedt die Freigegebenen Preinteressenten
// * eines Studienganges welche noch nicht
// * uebernommen wurden
// * @param $studiengang_kz
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function loadFreigegebene($studiengang_kz, $studiensemester_kurzbz='')
/**
* Laedt die Freigegebenen Preinteressenten
* eines Studienganges welche noch nicht
* uebernommen wurden
* @param $studiengang_kz
* $studiensemester_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function loadFreigegebene($studiengang_kz, $studiensemester_kurzbz='')
{
$qry = "SELECT tbl_preinteressent.*, tbl_preinteressentstudiengang.* FROM public.tbl_preinteressent JOIN public.tbl_preinteressentstudiengang USING(preinteressent_id) JOIN public.tbl_person USING(person_id) WHERE
(studiengang_kz, person_id) NOT IN (SELECT studiengang_kz, person_id FROM public.tbl_prestudent WHERE person_id=tbl_person.person_id) AND freigabedatum is not null AND
tbl_preinteressentstudiengang.studiengang_kz='$studiengang_kz'";
if($studiensemester_kurzbz!='')
$qry.=" AND tbl_preinteressent.studiensemester_kurzbz='$studiensemester_kurzbz'";
$qry.=" AND tbl_preinteressent.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new preinteressent($this->conn, null, null);
$obj = new preinteressent();
$obj->preinteressent_id = $row->preinteressent_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -428,27 +389,30 @@ class preinteressent
}
}
// *******************************************
// * Laedt die Preinteressenten
// * eines Studienganges welche noch nicht
// * uebernommen wurden
// * @param $studiengang_kz
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function loadPreinteressenten($studiengang_kz='', $studiensemester_kurzbz=null, $filter='', $nichtfreigegeben=null, $uebernommen=null, $kontaktmedium=null, $absage=false, $erfassungsdatum_von=null, $erfassungsdatum_bis=null)
/**
* Laedt die Preinteressenten
* eines Studienganges welche noch nicht
* uebernommen wurden
* @param $studiengang_kz
* $studiensemester_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function loadPreinteressenten($studiengang_kz='', $studiensemester_kurzbz=null, $filter='', $nichtfreigegeben=null, $uebernommen=null, $kontaktmedium=null, $absage=false, $erfassungsdatum_von=null, $erfassungsdatum_bis=null)
{
$qry = "SELECT distinct tbl_preinteressent.* FROM public.tbl_preinteressent JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_preinteressentstudiengang USING(preinteressent_id) LEFT JOIN public.tbl_kontakt USING(person_id) WHERE true";
$qry = "SELECT distinct tbl_preinteressent.*
FROM public.tbl_preinteressent JOIN public.tbl_person USING(person_id)
LEFT JOIN public.tbl_preinteressentstudiengang USING(preinteressent_id)
LEFT JOIN public.tbl_kontakt USING(person_id) WHERE true";
if($studiengang_kz!='')
$qry.=" AND tbl_preinteressentstudiengang.studiengang_kz='$studiengang_kz'";
$qry.=" AND tbl_preinteressentstudiengang.studiengang_kz='".addslashes($studiengang_kz)."'";
if(!is_null($studiensemester_kurzbz))
{
if($studiensemester_kurzbz=='')
$qry.=" AND tbl_preinteressent.studiensemester_kurzbz is null";
else
$qry.=" AND tbl_preinteressent.studiensemester_kurzbz='$studiensemester_kurzbz'";
$qry.=" AND tbl_preinteressent.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
}
if($filter!='')
@@ -473,11 +437,11 @@ class preinteressent
else
$qry.=" AND absagedatum is null";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new preinteressent($this->conn, null, null);
$obj = new preinteressent();
$obj->preinteressent_id = $row->preinteressent_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -506,7 +470,13 @@ class preinteressent
}
}
function loadZuordnungen($preinteressent_id)
/**
* Laedt die Zuordnung von Preinteressenten zu Studiengaengen
*
* @param $preinteressent_id
* @return booelan
*/
public function loadZuordnungen($preinteressent_id)
{
if(!is_numeric($preinteressent_id) || $preinteressent_id=='')
{
@@ -514,13 +484,14 @@ class preinteressent
return false;
}
$qry = "SELECT * FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id' ORDER BY studiengang_kz";
$qry = "SELECT * FROM public.tbl_preinteressentstudiengang
WHERE preinteressent_id='$preinteressent_id' ORDER BY studiengang_kz";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new preinteressent($this->conn, null, null);
$obj = new preinteressent();
$obj->studiengang_kz = $row->studiengang_kz;
$obj->preinteressent_id = $row->preinteressent_id;
@@ -543,11 +514,11 @@ class preinteressent
}
}
// *****************************************
// * Laedt eine Zuordnung
// * @return true wenn ok, false wenn Fehler
// *****************************************
function loadZuordnung($preinteressent_id, $studiengang_kz)
/**
* Laedt eine Zuordnung
* @return true wenn ok, false wenn Fehler
*/
public function loadZuordnung($preinteressent_id, $studiengang_kz)
{
if(!is_numeric($preinteressent_id) || $preinteressent_id=='')
{
@@ -561,11 +532,12 @@ class preinteressent
return false;
}
$qry = "SELECT * FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='$studiengang_kz'";
$qry = "SELECT * FROM public.tbl_preinteressentstudiengang
WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='$studiengang_kz'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->studiengang_kz = $row->studiengang_kz;
$this->preinteressent_id = $row->preinteressent_id;
@@ -591,12 +563,12 @@ class preinteressent
}
}
// ********************************************
// * Speichert die Studiengangszuordnung eines
// * Preinteressent
// * @return true wenn ok, false wenn Fehler
// ********************************************
function saveZuordnung($new=null)
/**
* Speichert die Studiengangszuordnung eines
* Preinteressent
* @return true wenn ok, false wenn Fehler
*/
public function saveZuordnung($new=null)
{
if($new==null)
$new = $this->new;
@@ -628,7 +600,7 @@ class preinteressent
" WHERE preinteressent_id='".addslashes($this->preinteressent_id)."' AND studiengang_kz='".addslashes($this->studiengang_kz)."'";
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -639,11 +611,11 @@ class preinteressent
}
}
// *****************************************
// * Loescht eine Zuordnung
// * @return true wenn ok, false wenn Fehler
// *****************************************
function deleteZuordnung($preinteressent_id, $studiengang_kz)
/**
* Loescht eine Zuordnung
* @return true wenn ok, false wenn Fehler
*/
public function deleteZuordnung($preinteressent_id, $studiengang_kz)
{
if(!is_numeric($preinteressent_id) || $preinteressent_id=='')
{
@@ -657,9 +629,10 @@ class preinteressent
return false;
}
$qry = "DELETE FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='$studiengang_kz'";
$qry = "DELETE FROM public.tbl_preinteressentstudiengang
WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='$studiengang_kz'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -670,11 +643,11 @@ class preinteressent
}
}
// ******************************************
// * Laedt alle Preinteressenten einer Person
// * @return true wenn ok, false wenn Fehler
// ******************************************
function getPreinteressenten($person_id)
/**
* Laedt alle Preinteressenten einer Person
* @return true wenn ok, false wenn Fehler
*/
public function getPreinteressenten($person_id)
{
if(!is_numeric($person_id) || $person_id=='')
{
@@ -684,11 +657,11 @@ class preinteressent
$qry = "SELECT * FROM public.tbl_preinteressent WHERE person_id='$person_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new preinteressent($this->conn, null, null);
$obj = new preinteressent();
$obj->preinteressent_id = $row->preinteressent_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
+171 -167
View File
@@ -23,86 +23,76 @@
class prestudent extends person
{
//Tabellenspalten
var $prestudent_id; // varchar(16)
var $aufmerksamdurch_kurzbz;
var $studiengang_kz;
var $berufstaetigkeit_code;
var $ausbildungcode;
var $zgv_code;
var $zgvort;
var $zgvdatum;
var $zgvmas_code;
var $zgvmaort;
var $zgvmadatum;
var $aufnahmeschluessel;
var $facheinschlberuf;
var $anmeldungreihungstest;
var $reihungstestangetreten;
var $reihungstest_id;
var $punkte; //rt_gesamtpunkte
var $rt_punkte1;
var $rt_punkte2;
var $bismelden;
var $anmerkung;
var $ext_id_prestudent;
var $dual;
public $prestudent_id; // varchar(16)
public $aufmerksamdurch_kurzbz;
public $studiengang_kz;
public $berufstaetigkeit_code;
public $ausbildungcode;
public $zgv_code;
public $zgvort;
public $zgvdatum;
public $zgvmas_code;
public $zgvmaort;
public $zgvmadatum;
public $aufnahmeschluessel;
public $facheinschlberuf;
public $anmeldungreihungstest;
public $reihungstestangetreten;
public $reihungstest_id;
public $punkte; //rt_gesamtpunkte
public $rt_punkte1;
public $rt_punkte2;
public $bismelden;
public $anmerkung;
public $ext_id_prestudent;
public $dual;
var $status_kurzbz;
var $studiensemester_kurzbz;
var $ausbildungssemester;
var $datum;
var $insertamum;
var $insertvon;
var $updateamum;
var $updatevon;
var $orgform_kurzbz;
public $status_kurzbz;
public $studiensemester_kurzbz;
public $ausbildungssemester;
public $datum;
public $insertamum;
public $insertvon;
public $updateamum;
public $updatevon;
public $orgform_kurzbz;
var $studiensemester_old='';
var $ausbildungssemester_old='';
public $studiensemester_old='';
public $ausbildungssemester_old='';
// ErgebnisArray
var $result=array();
var $num_rows=0;
public $result=array();
public $num_rows=0;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional einen Prestudent
// * @param $conn Datenbank-Connection
// * $prestudent_id Prestudent der geladen werden soll (default=null)
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function prestudent($conn, $prestudent_id=null, $unicode=false)
/**
* Konstruktor - Uebergibt die Connection und laedt optional einen Prestudent
* @param $prestudent_id Prestudent der geladen werden soll (default=null)
*/
public function __construct($prestudent_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
*/
parent::__construct();
if($prestudent_id != null)
$this->load($prestudent_id);
}
// ***********************************************************
// * Laedt Prestudent mit der uebergebenen ID
// * @param $uid ID der Person die geladen werden soll
// ***********************************************************
function load($prestudent_id)
/**
* Laedt Prestudent mit der uebergebenen ID
* @param $uid ID der Person die geladen werden soll
*/
public function load($prestudent_id)
{
$qry = "SELECT * FROM public.tbl_prestudent WHERE prestudent_id='$prestudent_id'";
if($result = pg_query($this->conn, $qry))
if(!is_numeric($prestudent_id))
{
if($row = pg_fetch_object($result))
$this->errormsg = 'ID ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_prestudent WHERE prestudent_id='$prestudent_id'";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->prestudent_id = $row->prestudent_id;
$this->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
@@ -147,12 +137,12 @@ class prestudent extends person
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if($this->punkte>9999.9999)
{
@@ -172,13 +162,13 @@ class prestudent extends person
return true;
}
// ******************************************************************
// * Speichert die Benutzerdaten in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
// * ansonsten der Datensatz mit $uid upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ******************************************************************
function save()
/**
* Speichert die Benutzerdaten in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
* ansonsten der Datensatz mit $uid upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Personen Datensatz speichern
//if(!person::save())
@@ -250,30 +240,30 @@ class prestudent extends person
" WHERE prestudent_id='".addslashes($this->prestudent_id)."';";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($this->new)
{
$qry = "SELECT currval('public.tbl_prestudent_prestudent_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->prestudent_id = $row->id;
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
return false;
}
}
@@ -287,13 +277,13 @@ class prestudent extends person
}
}
// ******************************************************************
// * Laden aller Prestudenten, die an $datum zum Reihungstest geladen sind.
// * Wenn $equal auf true gesetzt ist wird genau dieses Datum verwendet,
// * ansonsten werden auch alle mit späterem Datum geladen.
// * @return true wenn erfolgreich, false im Fehlerfall
// ******************************************************************
function getPrestudentRT($datum, $equal=false)
/**
* Laden aller Prestudenten, die an $datum zum Reihungstest geladen sind.
* Wenn $equal auf true gesetzt ist wird genau dieses Datum verwendet,
* ansonsten werden auch alle mit späterem Datum geladen.
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function getPrestudentRT($datum, $equal=false)
{
$sql_query='SELECT DISTINCT * FROM public.vw_prestudent WHERE rt_datum';
if ($equal)
@@ -302,7 +292,7 @@ class prestudent extends person
$sql_query.='>=';
$sql_query.="'$datum' ORDER BY nachname,vorname";
if(!$result=pg_query($this->conn,$sql_query))
if(!$this->db_query($sql_query))
{
$this->errormsg = 'Fehler beim Speichern des Benutzer-Datensatzes:'.$sql_query;
return false;
@@ -310,9 +300,9 @@ class prestudent extends person
$this->num_rows=0;
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$ps=new prestudent($this->conn);
$ps=new prestudent();
$ps->prestudent_id = $row->prestudent_id;
$ps->person_id = $row->person_id;
$ps->reihungstest_id = $row->reihungstest_id;
@@ -366,14 +356,14 @@ class prestudent extends person
//$ps->ext_id_prestudent = $row->ext_id_prestudent;
$this->result[]=$ps;
$this->num_rows++;
}
}
return true;
}
// ********
// * Laedt die Rolle(n) eines Prestudenten
// ********
function getPrestudentRolle($prestudent_id, $status_kurzbz=null, $studiensemester_kurzbz=null, $order="datum, insertamum", $ausbildungssemester=null)
/**
* Laedt die Rolle(n) eines Prestudenten
*/
public function getPrestudentRolle($prestudent_id, $status_kurzbz=null, $studiensemester_kurzbz=null, $order="datum, insertamum", $ausbildungssemester=null)
{
if(!is_numeric($prestudent_id))
{
@@ -390,11 +380,11 @@ class prestudent extends person
$qry.= " AND ausbildungssemester='".addslashes($ausbildungssemester)."'";
$qry.= ' ORDER BY '.$order;
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$rolle = new prestudent($this->conn, null, null);
$rolle = new prestudent();
$rolle->prestudent_id = $row->prestudent_id;
$rolle->status_kurzbz = $row->status_kurzbz;
@@ -418,10 +408,16 @@ class prestudent extends person
}
}
// ********
// * Laedt die Rolle(n) eines Prestudenten
// ********
function load_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester)
/**
* Laedt die Rolle
*
* @param $prestudent_id
* @param $status_kurzbz
* @param $studiensemester_kurzbz
* @param $ausbildungssemester
* @return boolean
*/
public function load_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester)
{
if(!is_numeric($prestudent_id) || $prestudent_id=='')
{
@@ -434,9 +430,9 @@ class prestudent extends person
" AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'".
" AND ausbildungssemester='".addslashes($ausbildungssemester)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->prestudent_id = $row->prestudent_id;
$this->status_kurzbz = $row->status_kurzbz;
@@ -464,12 +460,12 @@ class prestudent extends person
}
}
// *******************************************************************************
// * Laedt die Interessenten und Bewerber fuer ein bestimmtes Studiensemester
// * @param $studiensemester_kurzbz Studiensemester fuer das die Int. und Bewerber
// * geladen werden sollen
// *******************************************************************************
function loadIntessentenUndBewerber($studiensemester_kurzbz, $studiengang_kz, $semester=nulll, $typ=null, $orgform=null)
/**
* Laedt die Interessenten und Bewerber fuer ein bestimmtes Studiensemester
* @param $studiensemester_kurzbz Studiensemester fuer das die Int. und Bewerber
* geladen werden sollen
*/
public function loadIntessentenUndBewerber($studiensemester_kurzbz, $studiengang_kz, $semester=nulll, $typ=null, $orgform=null)
{
$qry = "SELECT
*, a.anmerkung, tbl_person.anmerkung as anmerkungen
@@ -531,11 +527,11 @@ class prestudent extends person
}
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$ps = new prestudent($this->conn, null, null);
$ps = new prestudent();
$ps->person_id = $row->person_id;
$ps->staatsbuergerschaft = $row->staatsbuergerschaft;
@@ -600,16 +596,16 @@ class prestudent extends person
}
}
// ********************************************************
// * Prueft ob eine Person bereits einen PreStudenteintrag
// * fuer einen Studiengang besitzt
// * @param person_id
// * studiengang_kz
// * @return true wenn vorhanden
// * false wenn nicht vorhanden
// * false und errormsg wenn Fehler aufgetreten ist
// *********************************************************
function exists($person_id, $studiengang_kz)
/**
* Prueft ob eine Person bereits einen PreStudenteintrag
* fuer einen Studiengang besitzt
* @param person_id
* studiengang_kz
* @return true wenn vorhanden
* false wenn nicht vorhanden
* false und errormsg wenn Fehler aufgetreten ist
*/
public function exists($person_id, $studiengang_kz)
{
if(!is_numeric($person_id))
{
@@ -623,10 +619,11 @@ class prestudent extends person
return false;
}
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent WHERE person_id='$person_id' AND studiengang_kz='$studiengang_kz'";
if($result = pg_query($this->conn, $qry))
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
WHERE person_id='$person_id' AND studiengang_kz='$studiengang_kz'";
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
{
@@ -652,11 +649,11 @@ class prestudent extends person
}
}
// *******************************************
// * Speichert die Prestudentrolle
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function save_rolle()
/**
* Speichert die Prestudentrolle
* @return true wenn ok, false im Fehlerfall
*/
public function save_rolle()
{
if($this->new)
{
@@ -704,7 +701,7 @@ class prestudent extends person
" WHERE prestudent_id='".addslashes($this->prestudent_id)."' AND status_kurzbz='".addslashes($this->status_kurzbz)."' AND studiensemester_kurzbz='".addslashes($this->studiensemester_old)."' AND ausbildungssemester='".addslashes($this->ausbildungssemester_old)."';";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
@@ -716,14 +713,14 @@ class prestudent extends person
}
}
// ******************************************
// * Loescht eine Rolle
// * @param $prestudent_id
// * $status_kurzbz
// * $studiensemester_kurzbz
// * @return true wenn ok, false wenn Fehler
// ******************************************
function delete_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester)
/**
* Loescht eine Rolle
* @param $prestudent_id
* $status_kurzbz
* $studiensemester_kurzbz
* @return true wenn ok, false wenn Fehler
*/
public function delete_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester)
{
if(!is_numeric($prestudent_id))
{
@@ -734,9 +731,9 @@ class prestudent extends person
$qry = "DELETE FROM public.tbl_prestudentstatus WHERE prestudent_id='$prestudent_id' AND status_kurzbz='".addslashes($status_kurzbz)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND ausbildungssemester='".addslashes($ausbildungssemester)."'";
if($this->load_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester))
{
pg_query($this->conn, 'BEGIN;');
$this->db_query('BEGIN;');
$log = new log($this->conn, null, null);
$log = new log();
$log->executetime = date('Y-m-d H:i:s');
$log->beschreibung = 'Loeschen der Rolle '.$status_kurzbz.' bei '.$prestudent_id;
@@ -758,21 +755,21 @@ class prestudent extends person
if($log->save(true))
{
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
@@ -782,8 +779,15 @@ class prestudent extends person
return false;
}
}
function getLastStatus($prestudent_id, $studiensemester_kurzbz='')
/**
* Liefert den Letzten Status eines Prestudenten in einem Studiensemester
* Wenn kein Studiensemester angegeben wird, wird der letztgueltige Status ermittelt
* @param $prestudent_id
* @param $studiensemester_kurzbz
* @return boolean
*/
public function getLastStatus($prestudent_id, $studiensemester_kurzbz='')
{
if($prestudent_id=='' || !is_numeric($prestudent_id))
{
@@ -794,12 +798,12 @@ class prestudent extends person
$qry = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='$prestudent_id'";
if($studiensemester_kurzbz!='')
$qry.=" AND studiensemester_kurzbz='$studiensemester_kurzbz'";
$qry.=" AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
$qry.=" ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->prestudent_id = $row->prestudent_id;
$this->status_kurzbz = $row->status_kurzbz;
@@ -826,11 +830,11 @@ class prestudent extends person
}
}
// **********************************************
// * Laedt alle Prestudenten der Person
// * @return true wenn ok, false wenn Fehler
// **********************************************
function getPrestudenten($person_id)
/**
* Laedt alle Prestudenten der Person
* @return true wenn ok, false wenn Fehler
*/
public function getPrestudenten($person_id)
{
if(!is_numeric($person_id) || $person_id=='')
{
@@ -840,11 +844,11 @@ class prestudent extends person
$qry = "SELECT * FROM public.tbl_prestudent WHERE person_id='$person_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new prestudent($this->conn, null, null);
$obj = new prestudent();
$obj->prestudent_id = $row->prestudent_id;
$obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
+67 -96
View File
@@ -23,66 +23,47 @@
* Klasse projektarbeit
* @create 08-02-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class projektarbeit
class projektarbeit extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var adresse Objekt
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
var $projektarbeit_id; // @var integer
var $projekttyp_kurzbz; // @var string
var $titel; // @var string
var $titel_english; // @var string
var $lehreinheit_id; // @var integer
var $student_uid; // @var integer
var $firma_id; // @var integer
var $note; // @var integer
var $punkte; // @var numeric(6,2)
var $beginn; // @var date
var $ende; // @var date
var $faktor; // @var numeric(3,2)
var $freigegeben; // @var boolean
var $gesperrtbis; // @var date
var $stundensatz; // @var numeric(6,2)
var $gesamtstunden; // @var numeric(8,2)
var $themenbereich; // @var sting
var $anmerkung; // @var string
var $ext_id; // @var integer
var $insertamum; // @var timestamp
var $insertvon; // @var bigint
var $updateamum; // @var timestamp
var $updatevon; // @var bigint
public $projektarbeit_id; // integer
public $projekttyp_kurzbz; // string
public $titel; // string
public $titel_english; // string
public $lehreinheit_id; // integer
public $student_uid; // integer
public $firma_id; // integer
public $note; // integer
public $punkte; // numeric(6,2)
public $beginn; // date
public $ende; // date
public $faktor; // numeric(3,2)
public $freigegeben; // boolean
public $gesperrtbis; // date
public $stundensatz; // numeric(6,2)
public $gesamtstunden; // numeric(8,2)
public $themenbereich; // sting
public $anmerkung; // string
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
/**
* Konstruktor
* @param $conn Connection
* $projektarbeit_id ID der Projektarbeit, die geladen werden soll (Default=null)
* @param $projektarbeit_id ID der Projektarbeit, die geladen werden soll (Default=null)
*/
function projektarbeit($conn,$projektarbeit_id=null, $unicode=false)
public function __construct($projektarbeit_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
parent::__construct();
if($projektarbeit_id != null)
$this->load($projektarbeit_id);
}
@@ -92,7 +73,7 @@ class projektarbeit
* @param $projektarbeit_id ID der zu ladenden Projektarbeit
* @return true wenn ok, false im Fehlerfall
*/
function load($projektarbeit_id)
public function load($projektarbeit_id)
{
if(!is_numeric($projektarbeit_id))
{
@@ -102,9 +83,9 @@ class projektarbeit
$qry = "SELECT * FROM lehre.tbl_projektarbeit WHERE projektarbeit_id='$projektarbeit_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->projektarbeit_id = $row->projektarbeit_id;
$this->projekttyp_kurzbz = $row->projekttyp_kurzbz;
@@ -145,14 +126,13 @@ class projektarbeit
}
/**
* Prueft die Variablen auf gueltigkeit
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
protected function validate()
{
//Gesamtlaenge pruefen
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
if ($this->projekttyp_kurzbz==null)
{
$this->errormsg='Projekttyp_kurzbz darf nicht NULL sein!';
@@ -220,26 +200,17 @@ class projektarbeit
$this->errormsg = '';
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $projektarbeit_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save($new=null)
public function save($new=null)
{
//Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($new==null)
@@ -307,31 +278,31 @@ class projektarbeit
'WHERE projektarbeit_id='.$this->addslashes($this->projektarbeit_id).';';
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($new)
{
//Sequence auslesen
$qry = "SELECT currval('lehre.tbl_projektarbeit_projektarbeit_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->projektarbeit_id = $row->id;
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
return false;
}
}
@@ -350,7 +321,7 @@ class projektarbeit
* @param $projektarbeit_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($projektarbeit_id)
public function delete($projektarbeit_id)
{
if(!is_numeric($projektarbeit_id))
{
@@ -360,7 +331,7 @@ class projektarbeit
$qry = "DELETE FROM lehre.tbl_projektarbeit WHERE projektarbeit_id='$projektarbeit_id'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -371,20 +342,20 @@ class projektarbeit
}
}
// ********************************************
// * Laedt alle Projektarbeiten eines Studenten
// * @param student_uid
// * @return true wenn ok, false wenn Fehler
// ********************************************
function getProjektarbeit($student_uid)
/**
* Laedt alle Projektarbeiten eines Studenten
* @param student_uid
* @return true wenn ok, false wenn Fehler
*/
public function getProjektarbeit($student_uid)
{
$qry = "SELECT * FROM lehre.tbl_projektarbeit WHERE student_uid='".addslashes($student_uid)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new projektarbeit($this->conn, null, null);
$obj = new projektarbeit();
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->projekttyp_kurzbz = $row->projekttyp_kurzbz;
@@ -412,7 +383,7 @@ class projektarbeit
$this->result[] = $obj;
}
return true;
}
else
{
@@ -421,12 +392,12 @@ class projektarbeit
}
}
// ********************************************
// * Laedt alle Projektarbeiten eines Studienganges/Studiensemesters
// * @param studiengang_kz, studiensemester_kurzbz
// * @return true wenn ok, false wenn Fehler
// ********************************************
function getProjektarbeitStudiensemester($studiengang_kz, $studiensemester_kurzbz)
/**
* Laedt alle Projektarbeiten eines Studienganges/Studiensemesters
* @param studiengang_kz, studiensemester_kurzbz
* @return true wenn ok, false wenn Fehler
*/
public function getProjektarbeitStudiensemester($studiengang_kz, $studiensemester_kurzbz)
{
$qry = "SELECT
tbl_projektarbeit.*
@@ -438,11 +409,11 @@ class projektarbeit
tbl_lehrveranstaltung.studiengang_kz='".addslashes($studiengang_kz)."' AND
tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new projektarbeit($this->conn, null, null);
$obj = new projektarbeit();
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->projekttyp_kurzbz = $row->projekttyp_kurzbz;
@@ -470,7 +441,7 @@ class projektarbeit
$this->result[] = $obj;
}
return true;
}
else
{
+62 -91
View File
@@ -23,58 +23,39 @@
* Klasse projektbetreuer
* @create 08-02-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class projektbetreuer
class projektbetreuer extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var adresse Objekt
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
var $person_id; // @var integer
var $projektarbeit_id; // @var integer
var $note; // @var integer
var $betreuerart_kurzbz;// @var varchar
var $faktor; // @var numeric(3,2)
var $name; // @var string
var $punkte; // @var numeric(6,2)
var $stunden; // @var numeric(8,4)
var $stundensatz; // @var numeric(6,2)
var $ext_id; // @var integer
var $insertamum; // @var timestamp
var $insertvon; // @var bigint
var $updateamum; // @var timestamp
var $updatevon; // @var bigint
public $person_id; // integer
public $projektarbeit_id; // integer
public $note; // integer
public $betreuerart_kurzbz;// varchar
public $faktor; // numeric(3,2)
public $name; // string
public $punkte; // numeric(6,2)
public $stunden; // numeric(8,4)
public $stundensatz; // numeric(6,2)
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
var $person_id_old;
public $person_id_old;
/**
* Konstruktor
* @param $conn Connection
* $person_id, $projektarbeit ID des Projektbetreuers, der geladen werden soll (Default=null)
* @param $person_id, $projektarbeit ID des Projektbetreuers, der geladen werden soll (Default=null)
*/
function projektbetreuer($conn, $person_id=null, $projektarbeit_id=null, $unicode=false)
public function __construct($person_id=null, $projektarbeit_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
parent::__construct();
if($projektarbeit_id != null && $person_id!=null)
$this->load($person_id, $projektarbeit_id);
}
@@ -85,7 +66,7 @@ class projektbetreuer
* @param $projektarbeit_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
function load($person_id, $projektarbeit_id, $betreuerart_kurzbz)
public function load($person_id, $projektarbeit_id, $betreuerart_kurzbz)
{
if(!is_numeric($person_id))
{
@@ -101,9 +82,9 @@ class projektbetreuer
$qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE person_id='$person_id' AND projektarbeit_id='$projektarbeit_id' AND betreuerart_kurzbz='".addslashes($betreuerart_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->person_id = $row->person_id;
$this->projektarbeit_id = $row->projektarbeit_id;
@@ -135,15 +116,11 @@ class projektbetreuer
}
/**
* Prueft die Variablen auf gueltigkeit
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
protected function validate()
{
//Gesamtlaenge pruefen
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
if($this->betreuerart_kurzbz=='')
{
$this->errormsg = 'Betreuerart muss eingegeben werden';
@@ -180,35 +157,36 @@ class projektbetreuer
return false;
}
//Pruefen ob projektarbeit_id eine gueltige Zahl ist
if(!is_numeric($this->projektarbeit_id))
{
$this->errormsg = 'projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
//Pruefen ob person_id eine gueltige Zahl ist
if(!is_numeric($this->person_id))
{
$this->errormsg = 'person_id muss eine gueltige Zahl sein';
return false;
}
$this->errormsg = '';
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save($new=null)
public function save($new=null)
{
if($new==null)
$new = $this->new;
//Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($new)
@@ -235,19 +213,6 @@ class projektbetreuer
if($this->person_id_old=='')
$this->person_id_old = $this->person_id;
//Pruefen ob projektarbeit_id eine gueltige Zahl ist
if(!is_numeric($this->projektarbeit_id))
{
$this->errormsg = 'projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
//Pruefen ob person_id eine gueltige Zahl ist
if(!is_numeric($this->person_id))
{
$this->errormsg = 'person_id muss eine gueltige Zahl sein';
return false;
}
if($this->betreuerart_kurzbz_old=='')
$this->betreuerart_kurzbz_old = $this->betreuerart_kurzbz;
@@ -264,8 +229,8 @@ class projektbetreuer
'updatevon='.$this->addslashes($this->updatevon).' '.
"WHERE projektarbeit_id='".addslashes($this->projektarbeit_id)."' AND person_id='".addslashes($this->person_id_old)."' AND betreuerart_kurzbz='".addslashes($this->betreuerart_kurzbz_old)."';";
}
//echo $qry;
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
}
@@ -282,7 +247,7 @@ class projektbetreuer
* @param $projektarbeit_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($person_id, $projektarbeit_id, $betreuerart_kurzbz)
public function delete($person_id, $projektarbeit_id, $betreuerart_kurzbz)
{
if(!is_numeric($person_id))
{
@@ -298,7 +263,7 @@ class projektbetreuer
$qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id='".$person_id."' AND projektarbeit_id='".$projektarbeit_id."' AND betreuerart_kurzbz='".addslashes($betreuerart_kurzbz)."';";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -309,11 +274,11 @@ class projektbetreuer
}
}
// ************************************************
// * Liefert alle Betreuer zu einer Projektarbeit
// * @param projektarbeit_id
// ************************************************
function getProjektbetreuer($projektarbeit_id)
/**
* Liefert alle Betreuer zu einer Projektarbeit
* @param projektarbeit_id
*/
public function getProjektbetreuer($projektarbeit_id)
{
if(!is_numeric($projektarbeit_id))
{
@@ -323,11 +288,11 @@ class projektbetreuer
$qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id='".$projektarbeit_id."' ORDER BY name";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new projektbetreuer($this->conn, null, null, null);
$obj = new projektbetreuer();
$obj->person_id = $row->person_id;
$obj->projektarbeit_id = $row->projektarbeit_id;
@@ -346,6 +311,12 @@ class projektbetreuer
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
}
+79 -86
View File
@@ -19,60 +19,46 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class pruefling
class pruefling extends basis_db
{
//Tabellenspalten
var $pruefling_id;
var $studiengang_kz;
var $idnachweis;
var $registriert;
var $prestudent_id;
var $semester;
public $pruefling_id;
public $studiengang_kz;
public $idnachweis;
public $registriert;
public $prestudent_id;
public $semester;
// ErgebnisArray
var $result=array();
var $num_rows=0;
var $errormsg;
var $new;
public $result=array();
public $num_rows=0;
public $new;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional einen pruefling
// * @param $conn Datenbank-Connection
// * $frage_id Frage die geladen werden soll (default=null)
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function pruefling($conn, $pruefling_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional einen pruefling
* @param $frage_id Frage die geladen werden soll (default=null)
*/
public function __construct($pruefling_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
parent::__construct();
if($pruefling_id != null)
$this->load($pruefling_id);
}
// ***********************************************************
// * Laedt Pruefling mit der uebergebenen ID
// * @param $pruefling_id ID der Frage die geladen werden soll
// ***********************************************************
function load($pruefling_id)
/**
* Laedt Pruefling mit der uebergebenen ID
* @param $pruefling_id ID der Frage die geladen werden soll
*/
public function load($pruefling_id)
{
$qry = "SELECT * FROM testtool.tbl_pruefling WHERE pruefling_id='".addslashes($pruefling_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->pruefling_id = $row->pruefling_id;
$this->studiengang_kz = $row->studiengang_kz;
@@ -90,39 +76,28 @@ class pruefling
}
else
{
$this->errormsg = "Fehler beim laden: $qry";
$this->errormsg = "Fehler beim Laden: $qry";
return false;
}
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
return true;
}
// ******************************************************************
// * Speichert die Benutzerdaten in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
// * ansonsten der Datensatz mit $uid upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ******************************************************************
function save()
/**
* Speichert die Benutzerdaten in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
* ansonsten der Datensatz mit $uid upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
@@ -148,29 +123,29 @@ class pruefling
" WHERE pruefling_id='".addslashes($this->pruefling_id)."';";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($this->new)
{
$qry = "SELECT currval('testtool.tbl_pruefling_pruefling_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->pruefling_id = $row->id;
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
$this->errormsg = 'Fehler beim Lesen der Sequence';
return false;
}
}
else
{
pg_query($this->conn, 'ROLLBACK;');
$this->db_query('ROLLBACK;');
$this->errormsg = 'Fehler beim Lesen der Sequence';
return false;
}
@@ -182,18 +157,25 @@ class pruefling
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Speichern der Frage:'.$qry;
return false;
}
}
function getPruefling($prestudent_id)
/**
* Laedt einen Puefling anhand der Prestudent_id
*
* @param $prestudent_id
* @return boolean
*/
public function getPruefling($prestudent_id)
{
$qry = "SELECT * FROM testtool.tbl_pruefling WHERE prestudent_id='".addslashes($prestudent_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->pruefling_id = $row->pruefling_id;
$this->studiengang_kz = $row->studiengang_kz;
@@ -211,7 +193,7 @@ class pruefling
}
else
{
$this->errormsg = "Fehler beim laden: $qry";
$this->errormsg = "Fehler beim Laden: $qry";
return false;
}
}
@@ -223,9 +205,9 @@ class pruefling
* @param $pruefling_id
* @param $gebiet_id
*/
function getPrueflingLevel($pruefling_id, $gebiet_id)
public function getPrueflingLevel($pruefling_id, $gebiet_id)
{
$gebiet = new gebiet($this->conn, $gebiet_id);
$gebiet = new gebiet($gebiet_id);
//wenn Levelsystem fuer dieses Gebiet aktiviert ist
if($gebiet->level_start!='')
@@ -234,11 +216,12 @@ class pruefling
$max_level = 0;
$min_level = 0;
$qry = "SELECT max(level) as max, min(level) as min FROM testtool.tbl_frage WHERE gebiet_id='".addslashes($gebiet_id)."'";
$qry = "SELECT max(level) as max, min(level) as min FROM testtool.tbl_frage
WHERE gebiet_id='".addslashes($gebiet_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$max_level = $row->max;
$min_level = $row->min;
@@ -272,9 +255,9 @@ class pruefling
$aktueller_level=$gebiet->level_start;
$anzahl_richtig=0;
$anzahl_falsch=0;
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
if($row->punkte>0)
{
@@ -313,6 +296,11 @@ class pruefling
return $aktueller_level;
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
else
return -1;
@@ -324,16 +312,16 @@ class pruefling
* @param $prestudent_id
* @return Endpunkte des Reihungstests
*/
function getReihungstestErgebnis($prestudent_id)
public function getReihungstestErgebnis($prestudent_id)
{
$qry = "SELECT * FROM testtool.vw_auswertung
WHERE prestudent_id='".addslashes($prestudent_id)."'";
$ergebnis=0;
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
//wenn maxpunkte ueberschritten wurde -> 100%
if($row->punkte>=$row->maxpunkte)
@@ -345,6 +333,11 @@ class pruefling
}
return $ergebnis;
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
}
?>
+100 -125
View File
@@ -20,69 +20,51 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class pruefung
class pruefung extends basis_db
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result = array(); // pruefung Objekt
public $new; // boolean
public $result = array(); // pruefung Objekt
var $pruefung_id;
var $lehreinheit_id; // integer
var $student_uid; // varchar(16)
var $mitarbeiter_uid; // varchar(16)
var $note; // smallint
var $pruefungstyp_kurzbz; // varchar(16)
var $datum; // Date
var $anmerkung; // varchar(256)
var $insertamum; // timestamp)
var $insertvon; // varchar(16)
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $ext_id; // bigint
public $pruefung_id;
public $lehreinheit_id; // integer
public $student_uid; // varchar(16)
public $mitarbeiter_uid; // varchar(16)
public $note; // smallint
public $pruefungstyp_kurzbz; // varchar(16)
public $datum; // Date
public $anmerkung; // varchar(256)
public $insertamum; // timestamp)
public $insertvon; // varchar(16)
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $ext_id; // bigint
var $lehrveranstaltung_bezeichnung;
var $lehrveranstaltung_id;
var $note_bezeichnung;
var $pruefungstyp_beschreibung;
var $studiensemester_kurzbz;
public $lehrveranstaltung_bezeichnung;
public $lehrveranstaltung_id;
public $note_bezeichnung;
public $pruefungstyp_beschreibung;
public $studiensemester_kurzbz;
// **************************************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// * pruefung_id ID der zu ladenden Pruefung
// * unicode Wenn true, dann wird das Encoding auf UNICODE
// * gesetzt wenn false dann auf LATIN9
// **************************************************************
function pruefung($conn, $pruefung_id=null, $unicode=false)
/**
* Konstruktor
* @param pruefung_id ID der zu ladenden Pruefung
*/
public function __construct($pruefung_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
parent::__construct();
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($pruefung_id!=null)
$this->load($pruefung_id);
}
// *****************************************************
// * Laedt einen Pr&uuml;fungsdatensatz
// * @param pruefung_id ID
// * @return true wenn ok, false im Fehlerfall
// *****************************************************
function load($pruefung_id)
/**
* Laedt einen Pr&uuml;fungsdatensatz
* @param pruefung_id ID
* @return true wenn ok, false im Fehlerfall
*/
public function load($pruefung_id)
{
if(!is_numeric($pruefung_id))
{
@@ -93,9 +75,9 @@ class pruefung
$qry = "SELECT tbl_pruefung.*, tbl_lehreinheit.lehrveranstaltung_id, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM lehre.tbl_pruefung JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE pruefung_id=$pruefung_id";
if($res = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->pruefung_id = $row->pruefung_id;
$this->lehreinheit_id=$row->lehreinheit_id;
@@ -123,28 +105,28 @@ class pruefung
return true;
}
// *******************************************
// * Liefert alle Studiengaenge
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function getAll($order=null, $student=null)
/**
* Liefert alle Pruefungen
* @return true wenn ok, false im Fehlerfall
*/
public function getAll($order=null, $student=null)
{
$qry = 'SELECT * FROM lehre.tbl_pruefung';
if ($student)
$qry.=' WHERE student ="'.$student.'"';
$qry.=' WHERE student ="'.addslashes($student).'"';
if($order!=null)
$qry .=" ORDER BY $order";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$pruef_obj = new pruefung($this->conn);
$pruef_obj = new pruefung();
$pruef_obj->lehreinheit_id=$row->lehreinheit_id;
$pruef_obj->student_uid=$row->student_uid;
$pruef_obj->mitarbeiter_uid=$row->mitarbeiter_uid;
@@ -164,12 +146,12 @@ class pruefung
return true;
}
// ****************************************************
// * Loescht eine Pruefung
// * @param $preufung_id ID der zu loeschenden Pruefung
// * @return true wenn ok, false im Fehlerfall
// ****************************************************
function delete($pruefung_id)
/**
* Loescht eine Pruefung
* @param $preufung_id ID der zu loeschenden Pruefung
* @return true wenn ok, false im Fehlerfall
*/
public function delete($pruefung_id)
{
if(!is_numeric($pruefung_id))
{
@@ -179,7 +161,7 @@ class pruefung
$qry = "DELETE FROM lehre.tbl_pruefung WHERE pruefung_id='$pruefung_id'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -190,45 +172,30 @@ class pruefung
}
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************
// * Prueft die Gueltigkeit der Variablen
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function checkvars()
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
public function validate()
{
//Laenge Pruefen
if(strlen($this->anmerkung)>256)
{
$this->errormsg = "Anmerkung darf nicht laenger als 256 Zeichen sein bei <b>$this->ext_id</b> - $this->anmerkung";
return false;
}
if(strlen($this->insertvon)>16)
{
$this->errormsg = "Insertvon darf nicht laenger als 16 Zeichen sein bei <b>$this->ext_id</b> - $this->insertvon";
return false;
}
if(strlen($this->updatevon)>10)
{
$this->errormsg = "Updatevon darf nicht laenger als 16 Zeichen sein bei <b>$this->ext_id</b> - $this->updatevon";
$this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
// *******************************************
// * Speichert den aktuellen Datensatz
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function save()
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
{
return false;
}
@@ -276,32 +243,32 @@ class pruefung
'ext_id='.$this->addslashes($this->ext_id).' '.
'WHERE pruefung_id='.$this->addslashes($this->pruefung_id).';';
}
//echo $qry;
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($this->new)
{
//Sequence auslesen
$qry = "SELECT currval('lehre.tbl_pruefung_pruefung_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->pruefung_id = $row->id;
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -309,18 +276,18 @@ class pruefung
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->errormsg = 'Fehler beim Speichern der Pruefung (Class pruefung->save()):'.pg_last_error($this->conn);
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Speichern der Pruefung:'.$this->db_last_error();
return false;
}
}
// *****************************************
// * Liefert alle Pruefungen eines Studenten
// * @param student_uid
// * @return true wenn ok, false wenn Fehler
// *****************************************
function getPruefungen($student_uid, $pruefungstyp=null,$lv_id=null,$stsem=null)
/**
* Liefert alle Pruefungen eines Studenten
* @param student_uid
* @return true wenn ok, false wenn Fehler
*/
public function getPruefungen($student_uid, $pruefungstyp=null,$lv_id=null,$stsem=null)
{
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
@@ -331,18 +298,18 @@ class pruefung
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
if ($pruefungstyp != null)
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".$pruefungstyp."'";
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes(pruefungstyp)."'";
if ($lv_id != null)
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".$lv_id."'";
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'";
if ($stsem != null)
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".$stsem."'";
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'";
$qry .= " ORDER BY datum DESC";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new pruefung($this->conn, null, null);
$obj = new pruefung();
$obj->pruefung_id = $row->pruefung_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
@@ -373,7 +340,15 @@ class pruefung
}
}
function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null)
/**
* Laedt die Pruefungen zu einer Lehrveranstaltung
*
* @param $lv_id
* @param $pruefungstyp
* @param $stsem
* @return boolean
*/
public function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null)
{
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
@@ -383,18 +358,18 @@ class pruefung
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
if ($pruefungstyp != null)
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".$pruefungstyp."'";
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes($pruefungstyp)."'";
if ($lv_id != null)
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".$lv_id."'";
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'";
if ($stsem != null)
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".$stsem."'";
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'";
$qry .= " ORDER BY datum DESC";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new pruefung($this->conn, null, null);
$obj = new pruefung();
$obj->pruefung_id = $row->pruefung_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
+34 -72
View File
@@ -23,51 +23,50 @@
* Klasse ortraumtyp (FAS-Online)
* @create 04-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class raumtyp
class raumtyp extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var fachbereich Objekt
public $new; // boolean
public $result = array(); // fachbereich Objekt
//Tabellenspalten
var $beschreibung; // @var string
var $raumtyp_kurzbz; // @var string
public $beschreibung; // string
public $raumtyp_kurzbz; // string
/**
* Konstruktor
* @param $conn Connection zur DB
* $ort_kurzbz und hierarchie ID des zu ladenden OrtRaumtyps
* @param $ort_kurzbz und hierarchie ID des zu ladenden Raumtyps
*/
function raumtyp($conn, $raumtyp_kurzbz=null)
public function __construct($raumtyp_kurzbz=null)
{
$this->conn = $conn;
parent::__construct();
if($raumtyp_kurzbz != null)
$this->load($raumtyp_kurzbz);
}
/**
* Laedt alle verfuegbaren OrtRaumtypen
* Laedt alle verfuegbaren Raumtypen
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
public function getAll()
{
$qry = 'SELECT * FROM public.tbl_raumtyp order by raumtyp_kurzbz;';
$qry = 'SELECT * FROM public.tbl_raumtyp ORDER BY raumtyp_kurzbz;';
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden der Datensaetze';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$raumtyp_obj = new raumtyp($this->conn);
$raumtyp_obj = new raumtyp();
$raumtyp_obj->beschreibung = $row->beschreibung;
$raumtyp_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$raumtyp_obj->beschreibung = $row->beschreibung;
$raumtyp_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$this->result[] = $raumtyp_obj;
@@ -80,7 +79,7 @@ class raumtyp
* @param $raumtyp ID des zu ladenden Raumtyps
* @return true wenn ok, false im Fehlerfall
*/
function load($raumtyp_kurzbz)
public function load($raumtyp_kurzbz)
{
if($raumtyp_kurzbz == '')
{
@@ -88,15 +87,15 @@ class raumtyp
return false;
}
$qry = "SELECT * FROM public.tbl_raumtyp WHERE raumtyp_kurzbz = '$raumtyp_kurzbz';";
$qry = "SELECT * FROM public.tbl_raumtyp WHERE raumtyp_kurzbz = '".addslashes($raumtyp_kurzbz)."';";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->beschreibung = $row->beschreibung;
$this->raumtyp_kurzbz = $row->kurzbz;
@@ -111,52 +110,40 @@ class raumtyp
return true;
}
/**
* Loescht einen Datensatz
* @param $raumtyp_kurzbz ID des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($raumtyp_kurzbz)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
public function validate()
{
$this->beschreibung = str_replace("'",'´',$this->beschreibung);
$this->raumtyp_kurzbz = str_replace("'",'´',$this->raumtyp_kurzbz);
//Laenge Pruefen
if(strlen($this->beschreibung)>256)
{
$this->errormsg = "Beschreibung darf nicht laenger als 256 Zeichen sein bei <b>$this->raumtyp_kurzbz</b> - ".$this->beschreibung;
$this->errormsg = 'Beschreibung darf nicht laenger als 256 Zeichen sein';
return false;
}
if(strlen($this->raumtyp_kurzbz)>8)
{
$this->errormsg = "Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein bei <b>$this->raumtyp_kurzbz</b>";
$this->errormsg = 'Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein';
return false;
}
if($this->raumtyp_kurzbz == '')
{
$this->errormsg = 'Keine gültige Kurzbz';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
@@ -176,38 +163,13 @@ class raumtyp
else
{
//bestehenden Datensatz akualisieren
//Pruefen ob id gueltig ist
if($this->raumtyp_kurzbz == '')
{
$this->errormsg = 'Keine gültige ID';
return false;
}
$qry = 'UPDATE public.tbl_raumtyp SET '.
'beschreibung='.$this->addslashes($this->beschreibung).' '.
'WHERE raumtyp_kurzbz = '.$this->addslashes($this->ort_kurzbz).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
return true;
}
else
-128
View File
@@ -1,128 +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;
}
}
?>
+96 -154
View File
@@ -23,54 +23,37 @@
* Klasse Reihungstest
* @create 10-01-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class reihungstest
class reihungstest extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $done=false; // @var boolean
var $result = array();
public $new; // boolean
public $done=false; // boolean
public $result = array();
//Tabellenspalten
Var $reihungstest_id; // @var integer
var $studiengang_kz; // @var integer
var $ort_kurzbz; // @var string
var $anmerkung; // @var string
var $datum; // @var date
var $uhrzeit; // @var time without time zone
var $ext_id; // @var integer
var $insertamum; // @var timestamp
var $insertvon; // @var bigint
var $updateamum; // @var timestamp
var $updatevon; // @var bigint
public $reihungstest_id;// integer
public $studiengang_kz; // integer
public $ort_kurzbz; // string
public $anmerkung; // string
public $datum; // date
public $uhrzeit; // time without time zone
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
/**
* Konstruktor
* @param $conn Connection
* $kontakt_id ID der Adresse die geladen werden soll (Default=null)
* @param $reihungstest_id ID der Adresse die geladen werden soll (Default=null)
*/
function reihungstest($conn,$reihungstest_id=null, $unicode=false)
public function __construct($reihungstest_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
parent::__construct();
if(!is_null($reihungstest_id))
$this->load($reihungstest_id);
}
/**
@@ -78,7 +61,7 @@ class reihungstest
* @param $sreihungstest_id ID des zu ladenden Reihungstests
* @return true wenn ok, false im Fehlerfall
*/
function load($reihungstest_id)
public function load($reihungstest_id)
{
if(!is_numeric($reihungstest_id))
{
@@ -86,11 +69,12 @@ class reihungstest
return false;
}
$qry = "SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id='$reihungstest_id'";
if($result = pg_query($this->conn, $qry))
$qry = "SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id='".addslashes($reihungstest_id)."'";
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
{
if($row = $this->db_fetch_object())
{
$this->reihungstest_id = $row->reihungstest_id;
$this->studiengang_kz = $row->studiengang_kz;
$this->ort_kurzbz = $row->ort_kurzbz;
@@ -117,22 +101,23 @@ class reihungstest
}
}
// ****
// * Liefert alle Reihungstests
// * wenn ein Datum uebergeben wird, dann werden alle Reihungstests ab diesem
// * Datum zurueckgeliefert
// ****
function getAll($datum=null)
/**
* Liefert alle Reihungstests
* wenn ein Datum uebergeben wird, dann werden alle Reihungstests ab diesem
* Datum zurueckgeliefert
*/
public function getAll($datum=null)
{
$qry = "SELECT * FROM public.tbl_reihungstest ";
if($datum!=null)
$qry.=" WHERE datum>='$datum'";
$qry.=" WHERE datum>='".addslashes($datum)."'";
$qry.=" ORDER BY datum DESC, uhrzeit";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new reihungstest($this->conn, null, null);
$obj = new reihungstest();
$obj->reihungstest_id = $row->reihungstest_id;
$obj->studiengang_kz = $row->studiengang_kz;
@@ -156,39 +141,28 @@ class reihungstest
return false;
}
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Variablen auf gueltigkeit
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
private function validate()
{
//Zahlenfelder pruefen
if(!is_numeric($this->studiengang_kz))
{
$this->errormsg='studiengang_kz enthaelt ungueltige Zeichen:'.$this->reihungstest_id.' - Studiengang: '.$row->studiengang_kz;
$this->errormsg='studiengang_kz enthaelt ungueltige Zeichen';
return false;
}
//Gesamtlaenge pruefen
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
if(strlen($this->ort_kurzbz)>8)
{
$this->errormsg = 'Ort_kurzbz darf nicht länger als 8 Zeichen sein - Studiengang: '.$row->studiengang_kz;
$this->errormsg = 'Ort_kurzbz darf nicht länger als 8 Zeichen sein';
return false;
}
if(strlen($this->anmerkung)>64)
{
$this->errormsg = 'Anmerkung darf nicht länger als 64 Zeichen sein - Studiengang: '.$row->studiengang_kz;
$this->errormsg = 'Anmerkung darf nicht länger als 64 Zeichen sein';
return false;
}
@@ -202,10 +176,11 @@ class reihungstest
* andernfalls wird der Datensatz mit der ID in $reihungstest_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
$this->done=false;
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
@@ -220,105 +195,72 @@ class reihungstest
$this->addslashes($this->ext_id).', now(), '.
$this->addslashes($this->insertvon).', now(), '.
$this->addslashes($this->updatevon).');';
$this->done=true;
}
else
{
$qry="SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id='$this->reihungstest_id';";
if($resultz = pg_query($this->conn, $qry))
{
while($rowz = pg_fetch_object($resultz))
{
$update=false;
if($rowz->studiengang_kz!=$this->studiengang_kz) $update=true;
if($rowz->ort_kurzbz!=$this->ort_kurzbz) $update=true;
if($rowz->anmerkung!=$this->anmerkung) $update=true;
if($rowz->datum!=$this->datum) $update=true;
if($rowz->uhrzeit!=$this->uhrzeit) $update=true;
if($rowz->ext_id!=$this->ext_id) $update=true;
if($update)
{
$qry='UPDATE public.tbl_reihungstest SET '.
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
'ort_kurzbz='.$this->addslashes($this->ort_kurzbz).', '.
'anmerkung='.$this->addslashes($this->anmerkung).', '.
'datum='.$this->addslashes($this->datum).', '.
'uhrzeit='.$this->addslashes($this->uhrzeit).', '.
'ext_id='.$this->addslashes($this->ext_id).', '.
'updateamum= now(), '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE reihungstest_id='.$this->addslashes($this->reihungstest_id).';';
$this->done=true;
}
}
}
else
{
return false;
}
$qry='UPDATE public.tbl_reihungstest SET '.
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
'ort_kurzbz='.$this->addslashes($this->ort_kurzbz).', '.
'anmerkung='.$this->addslashes($this->anmerkung).', '.
'datum='.$this->addslashes($this->datum).', '.
'uhrzeit='.$this->addslashes($this->uhrzeit).', '.
'ext_id='.$this->addslashes($this->ext_id).', '.
'updateamum= now(), '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE reihungstest_id='.$this->addslashes($this->reihungstest_id).';';
}
if ($this->done)
if($this->db_query($qry))
{
if(pg_query($this->conn, $qry))
if($this->new)
{
if($this->new)
$qry = "SELECT currval('public.tbl_reihungstest_reihungstest_id_seq') as id";
if($this->db_query($qry))
{
$qry = "SELECT currval('public.tbl_reihungstest_reihungstest_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($row = $this->db_fetch_object())
{
if($row = pg_fetch_object($result))
{
$this->reihungstest_id = $row->id;
pg_query($this->conn, 'COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
return false;
}
$this->reihungstest_id = $row->id;
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten: '.$this->reihungstest_id.'/'.$qry;
return false;
}
}
else
{
return true;
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $reihungstest_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($reihungstest_id)
{
//noch nicht implementiert!
}
function getReihungstest($studiengang_kz)
{
$qry = "SELECT * FROM public.tbl_reihungstest WHERE studiengang_kz='$studiengang_kz'";
if($result = pg_query($this->conn, $qry))
else
{
while($row = pg_fetch_object($result))
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Liefert die Reihungstests eines Studienganges
*
* @param $studiengang_kz
* @return true wenn ok, sonst false
*/
public function getReihungstest($studiengang_kz)
{
$qry = "SELECT * FROM public.tbl_reihungstest WHERE studiengang_kz='".addslashes($studiengang_kz)."'";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new reihungstest($this->conn, null, null);
$obj = new reihungstest();
$obj->reihungstest_id = $row->reihungstest_id;
$obj->studiengang_kz = $row->studiengang_kz;
+45 -83
View File
@@ -19,72 +19,45 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class reservierung
class reservierung extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $reservierungen = array(); // reservierung Objekt
public $new; // boolean
public $reservierungen = array(); // reservierung Objekt
//Tabellenspalten
var $reservierung_id; // int
var $ort_kurzbz; // varchar(8)
var $studiengang_kz; // int
var $uid; // varchar(32)
var $stunde; // smalint
var $datum; // date
var $titel; // varchar(10)
var $beschreibung; // varchar(32)
var $semester; // smalint
var $verband; // char(1)
var $gruppe; // char(1)
var $gruppe_kurzbz; // varchar(10)
public $reservierung_id; // int
public $ort_kurzbz; // varchar(8)
public $studiengang_kz; // int
public $uid; // varchar(32)
public $stunde; // smalint
public $datum; // date
public $titel; // varchar(10)
public $beschreibung; // varchar(32)
public $semester; // smalint
public $verband; // char(1)
public $gruppe; // char(1)
public $gruppe_kurzbz; // varchar(10)
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Reservierung
// * @param $conn Datenbank-Connection
// * $reservierung_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function reservierung($conn, $reservierung_id=null, $unicode=false)
/**
* Konstruktor - Uebergibt die Connection und laedt optional eine Reservierung
* @param $reservierung_id
*/
public function __construct($reservierung_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
else
*/
$this->new = true;
parent::__construct();
$this->new = true;
if($reservierung_id!=null)
$this->load($reservierung_id);
}
// *********************************************************
// * Laedt eine Reservierung
// * @param reservierung_id
// *********************************************************
function load($reservierung_id)
{
$this->errormsg = 'Not implemented';
return false;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(strlen($this->ort_kurzbz)>8)
{
@@ -140,24 +113,13 @@ class reservierung
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Reservierung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert Reservierung in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(!is_null($new))
$this->new = $new;
@@ -200,7 +162,7 @@ class reservierung
" WHERE reservierung_id='".addslashes($this->reservierung_id)."'";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
$this->new = false;
@@ -213,12 +175,12 @@ class reservierung
}
}
// ************************************************************
// * Loescht eine Reservierung
// * @param reservierung_id ID der zu leoschenden Reservierung
// * @return true wenn ok, false im Fehlerfall
// ************************************************************
function delete($reservierung_id)
/**
* Loescht eine Reservierung
* @param reservierung_id ID der zu leoschenden Reservierung
* @return true wenn ok, false im Fehlerfall
*/
public function delete($reservierung_id)
{
if(!is_numeric($reservierung_id))
{
@@ -228,7 +190,7 @@ class reservierung
$qry = "DELETE FROM campus.tbl_reservierung WHERE reservierung_id='$reservierung_id'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
+52 -84
View File
@@ -23,72 +23,51 @@
* Klasse bankverbindung
* @create 20-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class resturlaub
class resturlaub extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var adresse Objekt
public $new;
public $result = array();
//Tabellenspalten
var $mitarbeiter_uid;
var $resturlaubstage;
var $mehrarbeitsstunden;
var $urlaubstageprojahr;
var $updateamum;
var $updatevon;
var $insertamum;
var $insertvon;
public $mitarbeiter_uid;
public $resturlaubstage;
public $mehrarbeitsstunden;
public $urlaubstageprojahr;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
var $vorname;
var $vornamen;
var $nachname;
public $vorname;
public $vornamen;
public $nachname;
// **
// * Konstruktor
// * @param $conn Connection
// * $uid
// **
function resturlaub($conn, $uid=null, $unicode=false)
/**
* Konstruktor
* @param $uid
*/
public function __construct($uid=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
parent::__construct();
if($uid!=null)
$this->load($uid);
}
// **
// * Laedt die Resturlaubstage eines Mitarbeiters
// * @param $mitarbeiter_uid ID der zu ladenden Resturlaubstage
// * @return true wenn ok, false im Fehlerfall
// **
function load($mitarbeiter_uid)
/**
* Laedt die Resturlaubstage eines Mitarbeiters
* @param $mitarbeiter_uid ID der zu ladenden Resturlaubstage
* @return true wenn ok, false im Fehlerfall
*/
public function load($mitarbeiter_uid)
{
$qry = "SELECT * FROM campus.tbl_resturlaub WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->resturlaubstage = $row->resturlaubstage;
@@ -113,11 +92,11 @@ class resturlaub
}
}
// **
// * Prueft die Variablen auf gueltigkeit
// * @return true wenn ok, false im Fehlerfall
// **
function validate()
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if($this->resturlaubstage!='' && !is_numeric($this->resturlaubstage))
{
@@ -139,24 +118,13 @@ class resturlaub
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// **
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// **
function save()
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Variablen pruefen
if(!$this->validate())
@@ -186,8 +154,8 @@ class resturlaub
'updatevon='.$this->addslashes($this->updatevon).
' WHERE mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).';';
}
//echo $qry;
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -198,20 +166,20 @@ class resturlaub
}
}
// ***********************************
// * Liefert die Resturlaubstage der
// * Fixangestellten
// ***********************************
function getResturlaubFixangestellte()
/**
* Liefert die Resturlaubstage der
* Fixangestellten
*/
public function getResturlaubFixangestellte()
{
$qry = "SELECT * FROM campus.vw_mitarbeiter LEFT JOIN campus.tbl_resturlaub ON(uid=mitarbeiter_uid)
WHERE fixangestellt=true AND aktiv=true ORDER BY nachname, vorname";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new resturlaub($this->conn, null, null);
$obj = new resturlaub();
$obj->mitarbeiter_uid = $row->uid;
$obj->resturlaubstage = $row->resturlaubstage;
+16 -56
View File
@@ -24,78 +24,38 @@
* Klasse schluesseltyp (FAS-Online)
* @create 03-01-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class schluesseltyp
class schluesseltyp extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
//var $schluesseltyp = array(); // schluesseltyp Objekt
public $new; // boolean
//Tabellenspalten
var $schluesseltyp; //string
var $beschreibung; //string
var $anzahl; //smallint
var $kaution; //numeric(5,2)
public $schluesseltyp; //string
public $beschreibung; //string
public $anzahl; //smallint
public $kaution; //numeric(5,2)
/**
* Konstruktor
* @param $conn Connection
* $code Zu ladende Schluesseltyp
*/
function schluesseltyp($conn, $code=null, $unicode=false)
public function __construct()
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
}
/**
* Laedt die Funktion mit der ID $schluesseltyp
* @param $code code des zu ladenden schluesseltyps
* @return true wenn ok, false im Fehlerfall
*/
function load($code)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
parent::__construct();
}
/**
* Laedt alle schluesseltypen
* Speichert die Daten in die Datenbank
* @return true wenn erfolgreich, false im Fehlerfall
*/
function getAll()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert die Daten in die Datenbank
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
public function save()
{
$qry1='SELECT * FROM public.tbl_schluesseltyp WHERE beschreibung='.$this->addslashes($this->beschreibung).';';
if($result1=pg_query($this->conn,$qry1))
if($this->db_query($qry1))
{
if(pg_num_rows($result1)>0) //eintrag gefunden
if($this->db_num_rows()>0) //eintrag gefunden
{
if($row1 = pg_fetch_object($result1))
if($row1 = $this->db_fetch_object())
{
if($row1->anzahl=null)
{
@@ -120,7 +80,7 @@ class schluesseltyp
$this->addslashes($this->kaution).');';
echo nl2br($qry."\n");
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
}
+114 -122
View File
@@ -24,56 +24,39 @@ class student extends benutzer
{
//Tabellenspalten
var $matrikelnr;
var $prestudent_id;
var $studiengang_kz;
var $semester;
var $verband;
var $gruppe;
var $ext_id_student;
public $matrikelnr;
public $prestudent_id;
public $studiengang_kz;
public $semester;
public $verband;
public $gruppe;
public $ext_id_student;
var $studiensemester_kurzbz;
public $studiensemester_kurzbz;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional einen Studenten
// * @param $conn Datenbank-Connection
// * $uid Student der geladen werden soll (default=null)
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function student($conn, $uid=null, $unicode=false)
/**
* Konstruktor - Laedt optional einen Studenten
* @param $uid Student der geladen werden soll (default=null)
*/
public function __construct($uid=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
*/
parent::__construct();
//Student laden
if($uid!=null)
$this->load($uid);
}
// **************************************************
// * Laedt die Daten eines Studenten
// * Wenn Studiensemester_kurzbz angegeben wird, dann werden
// * Studiengang, Semester, Verband und Gruppe aus der Tabelle
// * Studentlehrverband geholt.
// * @param uid
// * studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// **************************************************
function load($uid, $studiensemester_kurzbz=null)
/**
* Laedt die Daten eines Studenten
* Wenn Studiensemester_kurzbz angegeben wird, dann werden
* Studiengang, Semester, Verband und Gruppe aus der Tabelle
* Studentlehrverband geholt.
* @param uid
* studiensemester_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function load($uid, $studiensemester_kurzbz=null)
{
if(!benutzer::load($uid))
return false;
@@ -84,9 +67,9 @@ class student extends benutzer
tbl_studentlehrverband.verband as verband, tbl_studentlehrverband.gruppe as gruppe
FROM public.tbl_student JOIN public.tbl_studentlehrverband USING(student_uid)
WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND student_uid='".addslashes($uid)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->uid = $row->student_uid;
$this->matrikelnr = $row->matrikelnr;
@@ -116,12 +99,12 @@ class student extends benutzer
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(strlen($this->uid)>16)
{
@@ -173,19 +156,19 @@ class student extends benutzer
}
// ************************************************************
// * Speichert die Studentendaten in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz mit $person_id upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null, $savebenutzer=true)
/**
* Speichert die Studentendaten in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz mit $person_id upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null, $savebenutzer=true)
{
//Variablen checken
if(!$this->validate())
return false;
pg_query($this->conn,'BEGIN;');
$this->db_query('BEGIN;');
if($new==null)
$new = $this->new;
@@ -195,7 +178,7 @@ class student extends benutzer
//Basisdaten speichern
if(!benutzer::save())
{
pg_query($this->conn,'ROLLBACK;');
$this->db_query('ROLLBACK;');
return false;
}
}
@@ -234,15 +217,15 @@ class student extends benutzer
" WHERE student_uid='".addslashes($this->uid)."';";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
pg_query($this->conn,'COMMIT;');
$this->db_query('COMMIT;');
//Log schreiben
return true;
}
else
{
pg_query($this->conn,'ROLLBACK;');
$this->db_query('ROLLBACK;');
$this->errormsg = 'Fehler beim Speichern des Studenten-Datensatzes'.$qry;
return false;
}
@@ -259,32 +242,31 @@ class student extends benutzer
* @param integer stg_kz Kennzahl des Studiengangs
* @return integer Anzahl der gefundenen Einträge; <b>negativ</b> bei Fehler
*/
function getStudents($stg_kz,$sem=null,$ver=null,$grp=null,$gruppe=null, $stsem=null)
public function getStudents($stg_kz,$sem=null,$ver=null,$grp=null,$gruppe=null, $stsem=null)
{
$where = '';
if ($gruppe!=null)
{
$where=" gruppe_kurzbz='".$gruppe."' AND tbl_benutzer.uid=tbl_benutzergruppe.uid";
$where=" gruppe_kurzbz='".addslashes($gruppe)."' AND tbl_benutzer.uid=tbl_benutzergruppe.uid";
if($stsem!=null)
$where.=" AND tbl_benutzergruppe.studiensemester_kurzbz='$stsem'";
$where.=" AND tbl_benutzergruppe.studiensemester_kurzbz='".addslashes($stsem)."'";
}
else
{
if ($stg_kz>=0)
{
$where.=" tbl_studentlehrverband.studiengang_kz=$stg_kz";
$where.=" tbl_studentlehrverband.studiengang_kz='".addslashes($stg_kz)."'";
if ($sem!=null)
$where.=" AND tbl_studentlehrverband.semester=$sem";
$where.=" AND tbl_studentlehrverband.semester='".addslashes($sem)."'";
if ($ver!=null)
$where.=" AND tbl_studentlehrverband.verband='".$ver."'";
$where.=" AND tbl_studentlehrverband.verband='".addslashes($ver)."'";
if ($grp!=null)
$where.=" AND tbl_studentlehrverband.gruppe='".$grp."'";
$where.=" AND tbl_studentlehrverband.gruppe='".addslashes($grp)."'";
}
}
if($stsem!=null)
$where.=" AND tbl_studentlehrverband.studiensemester_kurzbz='$stsem'";
$where.=" AND tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."'";
//$sql_query="SELECT * FROM campus.vw_student WHERE $where ORDER by nachname,vorname";
$sql_query = "SELECT *, tbl_student.semester as std_semester, tbl_student.verband as std_verband, tbl_student.gruppe as std_gruppe, tbl_student.studiengang_kz as std_studiengang_kz,
@@ -294,17 +276,16 @@ class student extends benutzer
$sql_query.= ",public.tbl_benutzergruppe";
$sql_query.= " WHERE tbl_prestudent.prestudent_id=tbl_student.prestudent_id AND tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_student.student_uid AND tbl_studentlehrverband.student_uid=tbl_student.student_uid AND $where ORDER BY nachname, vorname";
//echo $sql_query;
if(!($erg=pg_query($this->conn, $sql_query)))
if(!$this->db_query($sql_query))
{
$this->errormsg=pg_errormessage($this->conn);
$this->errormsg=$this->db_last_error();
return false;
}
$num_rows=pg_num_rows($erg);
$result=array();
for($i=0;$i<$num_rows;$i++)
while($row = $this->db_fetch_object())
{
$row=pg_fetch_object($erg,$i);
$l=new student($this->conn, null, null);
$l=new student();
// Personendaten
$l->uid=$row->uid;
$l->person_id=$row->person_id;
@@ -348,20 +329,21 @@ class student extends benutzer
return $result;
}
// ****
// * Prueft ob die StudentLehrverband Zuteilung
// * bereits existiert
// * @param student_uid
// * studiensemester_kurzbz
// * @return true wenn vorhanden, false wenn nicht
// ****
function studentlehrverband_exists($student_uid, $studiensemester_kurzbz)
/**
* Prueft ob die StudentLehrverband Zuteilung
* bereits existiert
* @param student_uid
* @param studiensemester_kurzbz
* @return true wenn vorhanden, false wenn nicht
*/
public function studentlehrverband_exists($student_uid, $studiensemester_kurzbz)
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_studentlehrverband WHERE student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
$qry = "SELECT count(*) as anzahl FROM public.tbl_studentlehrverband
WHERE student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
return true;
@@ -381,20 +363,22 @@ class student extends benutzer
}
}
// ****
// * Prueft ob die StudentLehrverband Zuteilung
// * bereits existiert
// * @param student_uid
// * studiensemester_kurzbz
// * @return true wenn vorhanden, false wenn nicht
// ****
function load_studentlehrverband($student_uid, $studiensemester_kurzbz)
/**
* Prueft ob die StudentLehrverband Zuteilung
* bereits existiert
* @param student_uid
* studiensemester_kurzbz
* @return true wenn vorhanden, false wenn nicht
*/
public function load_studentlehrverband($student_uid, $studiensemester_kurzbz)
{
$qry = "SELECT * FROM public.tbl_studentlehrverband WHERE student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
$qry = "SELECT * FROM public.tbl_studentlehrverband
WHERE student_uid='".addslashes($student_uid)."'
AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->uid = $row->student_uid;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -422,10 +406,12 @@ class student extends benutzer
}
}
// ****
// * Speichert die Zuteilung von Student zu Lehrverband
// ****
function save_studentlehrverband($new=null)
/**
* Speichert die Zuteilung von Student zu Lehrverband
* @param $new
* @return boolean
*/
public function save_studentlehrverband($new=null)
{
if($new==null)
$new = $this->new;
@@ -455,30 +441,36 @@ class student extends benutzer
" updatevon=".$this->addslashes($this->updatevon).
" WHERE student_uid='".addslashes($this->uid)."' AND studiensemester_kurzbz='".addslashes($this->studiensemester_kurzbz)."'";
}
//echo $qry;
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Studentlehrverband zuordnung';
$this->errormsg = 'Fehler beim Speichern der Studentlehrverbandzuordnung';
return false;
}
}
// ****************************************
// * Laedt die UID anhand der Prestudent_id
// * @param prestudent_id
// * @return uid wenn ok, false wenn Fehler
// ****************************************
function getUid($prestudent_id)
/**
* Laedt die UID anhand der Prestudent_id
* @param prestudent_id
* @return uid wenn ok, false wenn Fehler
*/
public function getUid($prestudent_id)
{
if(!is_numeric($prestudent_id))
{
$this->errormsg = 'PrestudentID ist ungueltig';
return false;
}
$qry = "SELECT student_uid FROM public.tbl_student WHERE prestudent_id='$prestudent_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
return $row->student_uid;
}
@@ -495,18 +487,18 @@ class student extends benutzer
}
}
// ****************************************
// * Laedt die UID anhand der Matrikelnummer
// * @param matrikelnummer
// * @return uid wenn ok, false wenn Fehler
// ****************************************
function getUidFromMatrikelnummer($matrikelnummer)
/**
* Laedt die UID anhand der Matrikelnummer
* @param matrikelnummer
* @return uid wenn ok, false wenn Fehler
*/
public function getUidFromMatrikelnummer($matrikelnummer)
{
$qry = "SELECT student_uid FROM public.tbl_student WHERE matrikelnr='".addslashes($matrikelnummer)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
return $row->student_uid;
}
+220 -232
View File
@@ -20,251 +20,237 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* gerald Raab <gerald.raab@technikum-wien.at>.
*/
/**
* Notenverwaltung fuer das Kreuzerltool
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class studentnote
class studentnote extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $beispiele = array(); // lehreinheit Objekt
public $new; // boolean
public $beispiele = array(); // lehreinheit Objekt
//Vars
var $uebung_id; // serial
var $gewicht; // smalint
var $punkte; // Real
var $note;
var $note_gesamt;
var $negativ;
var $fehlt;
public $uebung_id; // serial
public $gewicht; // smalint
public $punkte; // Real
public $note;
public $note_gesamt;
public $negativ;
public $fehlt;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Uebung
// * @param $conn Datenbank-Connection
// * $uebung_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function studentnote($conn, $unicode=false)
/**
* Konstruktor - Laedt optional eine Uebung
* @param $uebung_id
*/
public function __construct()
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($this->conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
parent::__construct();
}
function calc_gesamtnote($lehreinheit_id, $ss, $student_uid)
/**
* Berechnet die Gesamtnote aus den Uebungen einer Lehreinheit
*
* @param $lehreinheit_id
* @param $ss Studiensemester
* @param $student_uid
*/
public function calc_gesamtnote($lehreinheit_id, $ss, $student_uid)
{
$studentgesamtnote = 0;
$counter = 0;
$gewichte = 0;
$negativ_all = false;
$note_x_gewicht = 0;
$note_x_gewicht_l1 = 0;
$gewichte_l1 = 0;
$fehlt_all = false;
$beispiele = false;
$ueb1_obj = new uebung();
$ueb1_obj->load_uebung($lehreinheit_id,1);
foreach($ueb1_obj->uebungen as $ueb1)
{
$conn = $this->conn;
$studentgesamtnote = 0;
$counter = 0;
$gewichte = 0;
$negativ_all = false;
$note_x_gewicht = 0;
$note_x_gewicht_l1 = 0;
$gewichte_l1 = 0;
$fehlt_all = false;
$beispiele = false;
$ueb1_obj = new uebung($conn);
$ueb1_obj->load_uebung($lehreinheit_id,1);
foreach($ueb1_obj->uebungen as $ueb1)
{
$this->calc_l1_note($ueb1->uebung_id, $student_uid, $lehreinheit_id);
$note_x_gewicht_l1 += ($this->l1_note * $this->l1_gewicht);
$gewichte_l1 += $this->l1_gewicht;
if ($this->negativ)
$negativ_all = $this->negativ;
if ($this->fehlt)
$fehlt_all = $this->fehlt;
}
if ($gewichte_l1 > 0)
{
$this->studentgesamtnote = ($note_x_gewicht_l1 / $gewichte_l1);
$this->negativ = $negativ_all;
$this->fehlt = $fehlt_all;
}
else
{
$this->studentgesamtnote = "n";
$this->negativ = $negativ_all;
$this->fehlt = $fehlt_all;
}
$this->calc_l1_note($ueb1->uebung_id, $student_uid, $lehreinheit_id);
$note_x_gewicht_l1 += ($this->l1_note * $this->l1_gewicht);
$gewichte_l1 += $this->l1_gewicht;
if ($this->negativ)
$negativ_all = $this->negativ;
if ($this->fehlt)
$fehlt_all = $this->fehlt;
}
if ($gewichte_l1 > 0)
{
$this->studentgesamtnote = ($note_x_gewicht_l1 / $gewichte_l1);
$this->negativ = $negativ_all;
$this->fehlt = $fehlt_all;
}
else
{
$this->studentgesamtnote = "n";
$this->negativ = $negativ_all;
$this->fehlt = $fehlt_all;
}
}
function calc_l1_note($uebung_id, $student_uid, $lehreinheit_id)
/**
* ?? berechnet irgendwas...
*
* @param $uebung_id
* @param $student_uid
* @param lehreinheit_id
*/
public function calc_l1_note($uebung_id, $student_uid, $lehreinheit_id)
{
$studentgesamtnote = 0;
$counter = 0;
$gewichte = 0;
$negativ = false;
$note_x_gewicht = 0;
$note_x_gewicht_l1 = 0;
$gewichte_l1 = 0;
$fehlt = false;
$beispiele = false;
$punkte_gesamt = 0;
$punkte_mitarbeit = 0;
$punkte_eingetragen = 0;
$l1_gewicht = 0;
$ueb1 = new uebung($uebung_id);
$ueb_obj = new uebung();
$ueb_obj->load_uebung($lehreinheit_id, 2, $uebung_id);
if ($ueb_obj->uebungen)
{
$conn = $this->conn;
$studentgesamtnote = 0;
$counter = 0;
$gewichte = 0;
$negativ = false;
$note_x_gewicht = 0;
$note_x_gewicht_l1 = 0;
$gewichte_l1 = 0;
$fehlt = false;
$beispiele = false;
$gewichte = 0;
$punkte_gesamt = 0;
$punkte_mitarbeit = 0;
$punkte_eingetragen = 0;
$l1_gewicht = 0;
$ueb1 = new uebung($conn, $uebung_id);
$ueb_obj = new uebung($conn);
$ueb_obj->load_uebung($lehreinheit_id, 2, $uebung_id);
if ($ueb_obj->uebungen)
foreach ($ueb_obj->uebungen as $ueb)
{
$note_x_gewicht = 0;
$gewichte = 0;
$punkte_gesamt = 0;
foreach ($ueb_obj->uebungen as $ueb)
{
if ($ueb->abgabe && !$ueb->beispiele)
{
if ($this->calc_note($ueb->uebung_id, $student_uid))
if ($ueb->abgabe && !$ueb->beispiele)
{
if ($this->calc_note($ueb->uebung_id, $student_uid))
{
if (is_numeric($this->note))
{
if (is_numeric($this->note))
{
if ($ueb->positiv && $this->note == 5)
$negativ = true;
$note_x_gewicht += ($this->note * $this->gewicht);
$gewichte += $this->gewicht;
}
else
{
$fehlt = true;
if ($ueb->positiv)
$negativ = true;
}
if ($ueb->positiv && $this->note == 5)
$negativ = true;
$note_x_gewicht += ($this->note * $this->gewicht);
$gewichte += $this->gewicht;
}
else
{
$fehlt = true;
if ($ueb->positiv)
$negativ = true;
}
}
else
{
$this->calc_punkte($ueb->uebung_id, $student_uid);
$punkte_gesamt += $this->punkte_gesamt;
$punkte_mitarbeit += $this->punkte_mitarbeit;
$punkte_eingetragen += $this->punkte_eingetragen;
$beispiele = true;
}
}
if ($gewichte > 0)
{
$l1_note = ($note_x_gewicht / $gewichte);
$l1_gewicht = $ueb1->gewicht;
}
//if ($punkte_gesamt > 0)
if ($beispiele)
{
if ($ueb1->prozent == 't')
{
$qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung
WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$ueb1->uebung_id'";
$punkte_moeglich=1;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$punkte_moeglich = $row->punktegesamt_alle;
if ($punkte_moeglich == 0)
$punkte_moeglich = 1;
$punkte_ns = $punkte_gesamt/$punkte_moeglich*100;
}
else
$punkte_ns = $punkte_gesamt;
//Prozentpunkte
$qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_ns."' and uebung_id = '".$ueb1->uebung_id."'";
// Punkteanzahl
//$qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_gesamt."' and uebung_id = '".$ueb1->uebung_id."'";
if($result=pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
$note = $row->note;
else
$note = 5;
}
if ($ueb1->positiv && ($note == 5))
$negativ = true;
$l1_note = $note;
//$l1_note = ($note * $ueb1->gewicht);
if ($note != null)
$l1_gewicht = $ueb1->gewicht;
else
$l1_gewicht = 0;
}
if ($ueb1->positiv && $beispiele && ($punkte_gesamt == 0))
$negativ = true;
//else if ($beispiele && ($punkte_gesamt == 0))
// $felt = true;
}
// keine kreuzerllisten/abgaben
else
{
$s = new uebung($conn);
$s->load_studentuebung($student_uid, $ueb1->uebung_id);
if ($s->note && $ueb1->gewicht)
{
if ($s->note == 5 && $ueb1->positiv)
$negativ = true;
$l1_note= $s->note;
$l1_gewicht = $ueb1->gewicht;
}
else
{
$fehlt = true;
if ($ueb1->positiv)
$negativ = true;
$this->calc_punkte($ueb->uebung_id, $student_uid);
$punkte_gesamt += $this->punkte_gesamt;
$punkte_mitarbeit += $this->punkte_mitarbeit;
$punkte_eingetragen += $this->punkte_eingetragen;
$beispiele = true;
}
}
if ($l1_gewicht > 0)
{
$this->l1_note = $l1_note;
$this->l1_gewicht = $l1_gewicht;
$this->negativ = $negativ;
$this->fehlt = $fehlt;
$this->punkte_gesamt_l1 = $punkte_gesamt;
$this->punkte_eingetragen_l1 = $punkte_eingetragen;
$this->punkte_mitarbeit_l1 = $punkte_mitarbeit;
if ($gewichte > 0)
{
$l1_note = ($note_x_gewicht / $gewichte);
$l1_gewicht = $ueb1->gewicht;
}
//if ($punkte_gesamt > 0)
if ($beispiele)
{
if ($ueb1->prozent == 't')
{
$qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung
WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$ueb1->uebung_id'";
$punkte_moeglich=1;
if($this->db_query($qry))
if($row = $this->db_fetch_object())
$punkte_moeglich = $row->punktegesamt_alle;
if ($punkte_moeglich == 0)
$punkte_moeglich = 1;
$punkte_ns = $punkte_gesamt/$punkte_moeglich*100;
}
else
$punkte_ns = $punkte_gesamt;
//Prozentpunkte
$qry = "SELECT min(note) as note FROM campus.tbl_notenschluesseluebung WHERE punkte <= '".$punkte_ns."' AND uebung_id = '".$ueb1->uebung_id."'";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
$note = $row->note;
else
$note = 5;
}
if ($ueb1->positiv && ($note == 5))
$negativ = true;
$l1_note = $note;
if ($note != null)
$l1_gewicht = $ueb1->gewicht;
else
$l1_gewicht = 0;
}
if ($ueb1->positiv && $beispiele && ($punkte_gesamt == 0))
$negativ = true;
}
else
{
$s = new uebung();
$s->load_studentuebung($student_uid, $ueb1->uebung_id);
if ($s->note && $ueb1->gewicht)
{
if ($s->note == 5 && $ueb1->positiv)
$negativ = true;
$l1_note= $s->note;
$l1_gewicht = $ueb1->gewicht;
}
else
{
$this->l1_note = null;
$this->l1_gewicht = 0;
$this->negativ = $negativ;
$this->fehlt = $fehlt;
$this->punkte_gesamt_l1 = null;
$this->punkte_eingetragen_l1 = null;
$this->punkte_mitarbeit_l1 = null;
$fehlt = true;
if ($ueb1->positiv)
$negativ = true;
}
}
if ($l1_gewicht > 0)
{
$this->l1_note = $l1_note;
$this->l1_gewicht = $l1_gewicht;
$this->negativ = $negativ;
$this->fehlt = $fehlt;
$this->punkte_gesamt_l1 = $punkte_gesamt;
$this->punkte_eingetragen_l1 = $punkte_eingetragen;
$this->punkte_mitarbeit_l1 = $punkte_mitarbeit;
}
else
{
$this->l1_note = null;
$this->l1_gewicht = 0;
$this->negativ = $negativ;
$this->fehlt = $fehlt;
$this->punkte_gesamt_l1 = null;
$this->punkte_eingetragen_l1 = null;
$this->punkte_mitarbeit_l1 = null;
}
}
// *********************************************************
// * berechnet die note der übung
// * @param uebung_id, student_uid
// * setzt this->note, this->gewicht
// *********************************************************
function calc_note($uebung_id, $student_uid)
/**
* berechnet die note der übung
* @param uebung_id, student_uid
* setzt this->note, this->gewicht
*/
public function calc_note($uebung_id, $student_uid)
{
if(!is_numeric($uebung_id))
{
@@ -277,7 +263,7 @@ class studentnote
$punkte_eingetragen = 0;
$punkte_gesamt = 0;
$mitarbeit = 0;
$ueb = new uebung($this->conn);
$ueb = new uebung();
$ueb->load($uebung_id);
if($ueb->load_studentuebung($student_uid, $uebung_id))
@@ -296,12 +282,12 @@ class studentnote
}
// *********************************************************
// * berechnet die punkte der übung (kreuzerlliste)
// * @param uebung_id, student_uid
// * setzt this->punkte_gesamt
// *********************************************************
function calc_punkte($uebung_id, $student_uid)
/**
* berechnet die punkte der übung (kreuzerlliste)
* @param uebung_id, student_uid
* setzt this->punkte_gesamt
*/
public function calc_punkte($uebung_id, $student_uid)
{
if(!is_numeric($uebung_id))
{
@@ -315,23 +301,25 @@ class studentnote
$punkte_gesamt = 0;
$mitarbeit = 0;
$ueb = new uebung($this->conn);
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$student_uid' AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=pg_query($this->conn, $qry))
if($row = pg_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
if($ueb->load_studentuebung($student_uid, $uebung_id))
{
$mitarbeit = $ueb->mitarbeitspunkte;
}
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$student_uid' AND vorbereitet=true";
$punkte_eingetragen=0;
if($this->db_query($qry))
if($row = $this->db_fetch_object())
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
if($ueb->load_studentuebung($student_uid, $uebung_id))
{
$mitarbeit = $ueb->mitarbeitspunkte;
}
$punkte_gesamt = $punkte_eingetragen + $mitarbeit;
$punkte_gesamt = $punkte_eingetragen + $mitarbeit;
$this->punkte_gesamt = $punkte_gesamt;
$this->punkte_eingetragen = $punkte_eingetragen;
$this->punkte_mitarbeit = $mitarbeit;
return true;
$this->punkte_gesamt = $punkte_gesamt;
$this->punkte_eingetragen = $punkte_eingetragen;
$this->punkte_mitarbeit = $mitarbeit;
return true;
}
}
+81 -136
View File
@@ -20,65 +20,52 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class studiengang
class studiengang extends basis_db
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result = array(); // studiengang Objekt
public $new; // boolean
public $result = array(); // studiengang Objekt
var $studiengang_kz; // integer
var $kurzbz; // varchar(5)
var $kurzbzlang; // varchar(10)
var $bezeichnung; // varchar(128)
var $english; // varchar(128)
var $typ; // char(1)
var $farbe; // char(6)
var $email; // varchar(64)
var $max_semester; // smallint
var $max_verband; // char(1)
var $max_gruppe; // char(1)
var $erhalter_kz; // smallint
var $bescheid; // varchar(256)
var $bescheidbgbl1; // varchar(16)
var $bescheidbgbl2; // varchar(16)
var $bescheidgz; // varchar(16)
var $bescheidvom; // Date
var $titelbescheidvom; // Date
var $ext_id; // bigint
var $orgform_kurzbz;
var $zusatzinfo_html;
var $sprache;
var $testtool_sprachwahl;
public $studiengang_kz; // integer
public $kurzbz; // varchar(5)
public $kurzbzlang; // varchar(10)
public $bezeichnung; // varchar(128)
public $english; // varchar(128)
public $typ; // char(1)
public $farbe; // char(6)
public $email; // varchar(64)
public $max_semester; // smallint
public $max_verband; // char(1)
public $max_gruppe; // char(1)
public $erhalter_kz; // smallint
public $bescheid; // varchar(256)
public $bescheidbgbl1; // varchar(16)
public $bescheidbgbl2; // varchar(16)
public $bescheidgz; // varchar(16)
public $bescheidvom; // Date
public $titelbescheidvom; // Date
public $ext_id; // bigint
public $orgform_kurzbz;
public $zusatzinfo_html;
public $sprache;
public $testtool_sprachwahl;
var $kuerzel; // = typ + kurzbz (Bsp: BBE)
public $kuerzel; // = typ + kurzbz (Bsp: BBE)
var $studiengang_typ_arr = array();
var $kuerzel_arr = array();
public $studiengang_typ_arr = array();
public $kuerzel_arr = array();
// **************************************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// * studiengang_kz Kennzahl des zu ladenden Studienganges
// **************************************************************
function studiengang($conn, $studiengang_kz=null, $unicode=false)
/**
* Konstruktor
* @param studiengang_kz Kennzahl des zu ladenden Studienganges
*/
public function __construct($studiengang_kz=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
*/
if(is_numeric($studiengang_kz))
parent::__construct();
if(!is_null($studiengang_kz))
$this->load($studiengang_kz);
$this->studiengang_typ_arr["b"] = "Bachelor";
@@ -88,12 +75,12 @@ class studiengang
$this->studiengang_typ_arr["e"] = "Erhalter";
}
// *****************************************************
// * Laedt einen Studiengang
// * @param stg_id ID des Studienganges der zu laden ist
// * @return true wenn ok, false im Fehlerfall
// *****************************************************
function load($studiengang_kz)
/**
* Laedt einen Studiengang
* @param studiengang_kz KZ des Studienganges der zu Laden ist
* @return true wenn ok, false im Fehlerfall
*/
public function load($studiengang_kz)
{
if(!is_numeric($studiengang_kz))
{
@@ -101,11 +88,11 @@ class studiengang
return false;
}
$qry = "SELECT * FROM public.tbl_studiengang WHERE studiengang_kz=$studiengang_kz";
$qry = "SELECT * FROM public.tbl_studiengang WHERE studiengang_kz='".addslashes($studiengang_kz)."'";
if($res = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->studiengang_kz=$row->studiengang_kz;
$this->kurzbz=$row->kurzbz;
@@ -145,11 +132,13 @@ class studiengang
return true;
}
// *******************************************
// * Liefert alle Studiengaenge
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function getAll($order=null, $aktiv=true)
/**
* Liefert alle Studiengaenge
* @param $order Sortierreihenfolge
* @param $aktiv wenn true dann nur aktive sonst alle
* @return true wenn ok, false im Fehlerfall
*/
public function getAll($order=null, $aktiv=true)
{
$qry = 'SELECT * FROM public.tbl_studiengang';
if ($aktiv)
@@ -158,15 +147,15 @@ class studiengang
if($order!=null)
$qry .=" ORDER BY $order";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = pg_fetch_object($res))
while($row = $this->db_fetch_object())
{
$stg_obj = new studiengang($this->conn);
$stg_obj = new studiengang();
$stg_obj->studiengang_kz=$row->studiengang_kz;
$stg_obj->kurzbz=$row->kurzbz;
@@ -202,76 +191,57 @@ class studiengang
return true;
}
/**
* Loescht einen Studiengang
* @param $stg_id ID des zu loeschenden Studienganges
* @return true wenn ok, false im Fehlerfall
*/
function delete($stg_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
private function validate()
{
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
$this->kurzbz = str_replace("'",'´',$this->kurzbz);
$this->kurzbzlang = str_replace("'",'´',$this->kurzbzlang);
$this->english = str_replace("'",'´',$this->english);
//Laenge Pruefen
if(strlen($this->bezeichnung)>128)
{
$this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei <b>$this->ext_id</b> - $this->bezeichnung";
$this->errormsg = 'Bezeichnung darf nicht laenger als 128 Zeichen sein.';
return false;
}
if(strlen($this->kurzbz)>5)
{
$this->errormsg = "Kurzbez darf nicht laenger als 5 Zeichen sein bei <b>$this->ext_id</b> - $this->kurzbz";
$this->errormsg = 'Kurzbez darf nicht laenger als 5 Zeichen sein.';
return false;
}
if(strlen($this->kurzbzlang)>10)
{
$this->errormsg = "Kurzbezlang darf nicht laenger als 10 Zeichen sein bei <b>$this->ext_id</b> - $this->kurzbzlang";
$this->errormsg = 'Kurzbezlang darf nicht laenger als 10 Zeichen sein';
return false;
}
if(strlen($this->english)>128)
{
$this->errormsg = "english darf nicht laenger als 128 Zeichen sein bei <b>$this->ext_id</b> - $this->english";
$this->errormsg = 'english darf nicht laenger als 128 Zeichen sein';
return false;
}
if(!is_numeric($this->studiengang_kz))
{
$this->errormsg = 'studiengang_kz ungueltig! ('.$this->studiengang_kz.'/'.$this->ext_id.')';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
{
return false;
}
if($this->new)
{
//Pruefen ob studiengang_kz gueltig ist
if(!is_numeric($this->studiengang_kz))
{
$this->errormsg = 'studiengang_kz ungueltig! ('.$this->studiengang_kz.'/'.$this->ext_id.')';
return false;
}
//Neuen Datensatz anlegen
$qry = 'INSERT INTO public.tbl_studiengang (studiengang_kz, kurzbz, kurzbzlang, bezeichnung, english,
typ, farbe, email, telefon, max_verband, max_semester, max_gruppe, erhalter_kz, bescheid, bescheidbgbl1,
@@ -304,13 +274,6 @@ class studiengang
{
//bestehenden Datensatz akualisieren
//Pruefen ob studiengang_kz gueltig ist
if(!is_numeric($this->studiengang_kz))
{
$this->errormsg = 'studiengang_kz ungueltig.';
return false;
}
$qry = 'UPDATE public.tbl_studiengang SET '.
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
'kurzbz='.$this->addslashes($this->kurzbz).', '.
@@ -337,26 +300,9 @@ class studiengang
'zusatzinfo_html='.$this->addslashes($this->zusatzinfo_html).' '.
'WHERE studiengang_kz='.$this->addslashes($this->studiengang_kz).';';
}
//echo $qry;
if(pg_query($this->conn, $qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
if($this->db_query($qry))
{
return true;
}
else
@@ -366,22 +312,21 @@ class studiengang
}
}
// *******************************************
// * Setzt Studiengaenge aktiv/inaktiv
// * benoetigt studiengang_kz und 'on'/'off'
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function toggleAktiv($studiengang_kz)
/**
* Setzt Studiengaenge aktiv/inaktiv
* benoetigt studiengang_kz und 'on'/'off'
* @return true wenn ok, false im Fehlerfall
*/
public function toggleAktiv($studiengang_kz)
{
if(!is_numeric($studiengang_kz))
{
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
return false;
}
$qry = "UPDATE public.tbl_studiengang SET aktiv = NOT aktiv WHERE studiengang_kz='$studiengang_kz'";
$qry = "UPDATE public.tbl_studiengang SET aktiv = NOT aktiv WHERE studiengang_kz='".addslashes($studiengang_kz)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
+11 -5
View File
@@ -174,13 +174,13 @@ class studiensemester extends basis_db
*/
public function getNearestTillNext()
{
if(!$nearest=$this->getNearest())
if(!$this->getNearest())
return false;
$start=$this->start;
$studiensemester_kurzbz=$this->studiensemester_kurzbz;
if (!$next=$this->getNextFrom($this->studiensemester_kurzbz))
if (!$this->getNextFrom($this->studiensemester_kurzbz))
return false;
$ende=$this->start;
@@ -367,6 +367,7 @@ class studiensemester extends basis_db
else
{
$this->errormsg = 'Fehler beim Ermitteln des vorangegangenen Studiensemesters';
return false;
}
}
@@ -389,19 +390,19 @@ class studiensemester extends basis_db
}
else
{
$this->errormsg = 'Es wurde kein vorjähriges Studiensemester gefunden';
$this->errormsg = 'Es wurde kein vorjhriges Studiensemester gefunden';
return false;
}
}
else
{
$this->errormsg = 'Es wurde kein vorjähriges Studiensemester gefunden';
$this->errormsg = 'Es wurde kein vorjhriges Studiensemester gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Ermitteln des vorjährigen Studiensemesters';
$this->errormsg = 'Fehler beim Ermitteln des vorjhrigen Studiensemesters';
return false;
}
}
@@ -519,6 +520,11 @@ class studiensemester extends basis_db
else
return $studiensemester_kurzbz;
}
else
{
$this->errormsg='Fehler bei einer Abfrage';
return false;
}
}
}
?>
+26 -65
View File
@@ -19,60 +19,33 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class stunde
class stunde extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $stunden = array(); // stunde Objekt
public $new; // boolean
public $stunden = array(); // stunde Objekt
//Tabellenspalten
var $stunde; // smalint
var $beginn; // time without timezone
var $ende; // time without timezone
public $stunde; // smalint
public $beginn; // time without timezone
public $ende; // time without timezone
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Stunde
// * @param $conn Datenbank-Connection
// * $stunde Stunde die geladen werden soll
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function stunde($conn, $stunde=null, $unicode=false)
/**
* Konstruktor
*/
public function __construct()
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($stunde!=null)
$this->load($stunde);
parent::__construct();
}
// *********************************************************
// * Laedt eine Stunde
// * @param $stunde
// *********************************************************
function load($stunde)
{
return true;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(!is_numeric($this->stunde))
{
@@ -82,24 +55,13 @@ class stunde
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert eine Stunde in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
/**
* Speichert eine Stunde in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
@@ -120,9 +82,8 @@ class stunde
" WHERE stunde=".$this->stunde;
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
+61 -87
View File
@@ -19,76 +19,61 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class stundenplan
class stundenplan extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $stundenplan = array(); // stundenplan Objekt
var $stpl_table;
public $new; // boolean
public $stundenplan = array(); // stundenplan Objekt
public $stpl_table;
//Tabellenspalten
var $stundenplan_id;
var $unr;
var $mitarbeiter_uid;
var $datum;
var $stunde;
var $ort_kurzbz;
var $gruppe_kurzbz;
var $titel;
var $anmerkung;
var $lehreinheit_id;
var $studiengang_kz;
var $semester;
var $verband;
var $gruppe;
var $fix;
var $updateamum;
var $updatevon;
var $insertamum;
var $insertvon;
public $stundenplan_id;
public $unr;
public $mitarbeiter_uid;
public $datum;
public $stunde;
public $ort_kurzbz;
public $gruppe_kurzbz;
public $titel;
public $anmerkung;
public $lehreinheit_id;
public $studiengang_kz;
public $semester;
public $verband;
public $gruppe;
public $fix;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional einen Stundenplaneintrag
// * @param $conn Datenbank-Connection
// * $stundenplantabelle
// * $stundenplan_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function stundenplan($conn, $stundenplantabelle, $stundenplan_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional einen Stundenplaneintrag
* @param $stundenplantabelle
* @param $stundenplan_id
*/
public function __construct($stundenplantabelle, $stundenplan_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
parent::__construct();
$this->stpl_table = $stundenplantabelle;
if($stundenplan_id!=null)
$this->load($stundenplan_id);
}
// *********************************************************
// * Laedt einen Stundenplaneintrag
// * @param stundenplan_id
// *********************************************************
function load($stundenplan_id)
/**
* Laedt einen Stundenplaneintrag
* @param stundenplan_id
*/
public function load($stundenplan_id)
{
$qry = "SELECT * FROM lehre.tbl_$this->stpl_table WHERE ".$this->stpl_table."_id='$stundenplan_id'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$id = $this->stpl_table.'_id';
$this->stundenplan_id = $row->$id;
@@ -126,35 +111,23 @@ class stundenplan
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Stundenplaneintrag in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert Stundenplaneintrag in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -209,22 +182,23 @@ class stundenplan
" WHERE ".$this->stpl_table."_id=".$this->addslashes($this->stundenplan_id).";";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Stundenplanes:'.pg_last_error($this->conn);
$this->errormsg = 'Fehler beim Speichern des Stundenplanes:'.$this->db_last_error();
return false;
}
}
// ****
// * Loescht einen Eintrag aus der Stundenplantabelle
// ****
function delete($id)
/**
* Loescht einen Eintrag aus der Stundenplantabelle
* @param id stundenplan_id
*/
public function delete($id)
{
if(!is_numeric($id))
{
@@ -234,13 +208,13 @@ class stundenplan
$qry = "DELETE FROM lehre.tbl_$this->stpl_table WHERE ".$this->stpl_table."_id='$id'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen des Eintrages: '.pg_last_error($this->conn);
$this->errormsg = 'Fehler beim Loeschen des Eintrages: '.$this->db_last_error();
return false;
}
}
+232 -199
View File
@@ -19,84 +19,69 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class uebung
class uebung extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $uebungen = array(); // lehreinheit Objekt
public $new; // boolean
public $uebungen = array(); // lehreinheit Objekt
//Tabellenspalten
var $uebung_id; // serial
var $gewicht; // smalint
var $punkte; // Real
var $angabedatei; // oid
var $freigabevon; // timestamp
var $freigabebis; // timestamp
var $abgabe; // boolean
var $beispiele; // boolean
var $bezeichnung; // varchar(32)
var $positiv; // boolean
var $defaultbemerkung; // text
var $lehreinheit_id; // integer
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $statistik; // boolean
var $liste_id; //integer
var $maxbsp; //smallint
var $maxstd; //smallint
var $nummer; //smallint
var $prozent;
public $uebung_id; // serial
public $gewicht; // smalint
public $punkte; // Real
public $angabedatei; // oid
public $freigabevon; // timestamp
public $freigabebis; // timestamp
public $abgabe; // boolean
public $beispiele; // boolean
public $bezeichnung; // varchar(32)
public $positiv; // boolean
public $defaultbemerkung; // text
public $lehreinheit_id; // integer
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $statistik; // boolean
public $liste_id; //integer
public $maxbsp; //smallint
public $maxstd; //smallint
public $nummer; //smallint
public $prozent;
//Studentuebung
var $student_uid; // varchar(16)
var $mitarbeiter_uid; // varchar(16)
var $abgabe_id; // integer
var $note; // smalint
var $mitarbeitspunkte; // smalint
var $anmerkung; // text
var $benotungsdatum; // timestamp
public $student_uid; // varchar(16)
public $mitarbeiter_uid; // varchar(16)
public $abgabe_id; // integer
public $note; // smalint
public $mitarbeitspunkte; // smalint
public $anmerkung; // text
public $benotungsdatum; // timestamp
//Abgabe
var $abgabe_abgabe_id; // integer
var $abgabedatei; // varchar(64)
var $abgabezeit; // timestamp
var $abgabe_anmerkung; // text
public $abgabe_abgabe_id; // integer
public $abgabedatei; // varchar(64)
public $abgabezeit; // timestamp
public $abgabe_anmerkung; // text
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Uebung
// * @param $conn Datenbank-Connection
// * $uebung_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function uebung($conn, $uebung_id=null, $unicode=false)
/**
* Konstruktor - laedt optional eine Uebung
* @param $uebung_id
*/
public function __construct($uebung_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($this->conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
parent::__construct();
if($uebung_id!=null)
$this->load($uebung_id);
}
// *********************************************************
// * Laedt die Uebung
// * @param uebung_id
// *********************************************************
function load($uebung_id)
/**
* Laedt die Uebung
* @param uebung_id
*/
public function load($uebung_id)
{
if(!is_numeric($uebung_id))
{
@@ -105,9 +90,9 @@ class uebung
}
$qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id='$uebung_id'";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->uebung_id = $row->uebung_id;
$this->gewicht = $row->gewicht;
@@ -146,25 +131,38 @@ class uebung
}
}
function toggle_prozent_punkte($uebung_id)
/**
* Aendert den Status des Boolean Prozent
*
* @param $uebung_id
* @return true wenn geaendert, sonst false
*/
public function toggle_prozent_punkte($uebung_id)
{
$qry = "update campus.tbl_uebung set prozent = not prozent where uebung_id = '".$uebung_id."'";
if(pg_query($this->conn, $qry))
$qry = "UPDATE campus.tbl_uebung SET prozent = not prozent WHERE uebung_id = '".$uebung_id."'";
if($this->db_query($qry))
return true;
else
{
return false;
$this->errormsg = "toggle misslungen";
return false;
}
}
function load_studentuebung($student_uid, $uebung_id)
/**
* Laedt eine Studentuebung Zuordnung
*
* @param $student_uid
* @param $uebung_id
* @return boolean
*/
public function load_studentuebung($student_uid, $uebung_id)
{
$qry = "SELECT * FROM campus.tbl_studentuebung WHERE student_uid='$student_uid' AND uebung_id='$uebung_id'";
$qry = "SELECT * FROM campus.tbl_studentuebung WHERE student_uid='".addslashes($student_uid)."' AND uebung_id='".addslashes($uebung_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->student_uid = $row->student_uid;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
@@ -189,18 +187,24 @@ class uebung
}
else
{
$this->errormsg = 'Fehler beim laden des eintrages';
$this->errormsg = 'Fehler beim Laden des eintrages';
return false;
}
}
function load_abgabe($abgabe_id)
/**
* Laedt eine Abgabe
*
* @param $abgabe_id
* @return boolean
*/
public function load_abgabe($abgabe_id)
{
$qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = '$abgabe_id'";
$qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = '".addslashes($abgabe_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->abgabe_id = $row->abgabe_id;
$this->abgabedatei = $row->abgabedatei;
@@ -221,13 +225,19 @@ class uebung
}
}
function check_studentuebung($uebung_id)
/**
* Prueft ob zu einer Uebung bereits Studenten zugeordnet sind
*
* @param $uebung_id
* @return true wenn ja, sonst false
*/
public function check_studentuebung($uebung_id)
{
$qry = "SELECT * FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id'";
$qry = "SELECT * FROM campus.tbl_studentuebung WHERE uebung_id='".addslashes($uebung_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if (pg_num_rows($result) >0)
if($this->db_num_rows() >0)
return true;
else
return false;
@@ -236,16 +246,43 @@ class uebung
return false;
}
function get_next_nummer()
/**
* Liefert die naechste Nummer einer uebung
* @return boolean, naechste nummer steht in this->next_nummer
*/
public function get_next_nummer()
{
$qry = "SELECT max(nummer) FROM campus.tbl_uebung";
$result = pg_query($this->conn, $qry);
$row = pg_fetch_object($result);
$next = $row->max + 1;
$this->next_nummer = $next;
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$next = $row->max + 1;
$this->next_nummer = $next;
return true;
}
else
{
$this->errormsg = 'Fehler beim Ermitteln der naechsten Nummer';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
function load_uebung($lehreinheit_id, $level=null, $uebung_id=null)
/**
* Laedt eine Uebung
*
* @param $lehreinheit_id
* @param $level
* @param $uebung_id
* @return boolean
*/
public function load_uebung($lehreinheit_id, $level=null, $uebung_id=null)
{
if(!is_numeric($lehreinheit_id))
{
@@ -260,11 +297,11 @@ class uebung
$qry .= " and liste_id = '".$uebung_id."'";
$qry .= " ORDER BY bezeichnung";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$uebung_obj = new uebung($this->conn);
$uebung_obj = new uebung();
$uebung_obj->uebung_id = $row->uebung_id;
$uebung_obj->gewicht = $row->gewicht;
@@ -295,17 +332,17 @@ class uebung
}
else
{
$this->errormsg = 'Fehler beim laden der Uebung';
$this->errormsg = 'Fehler beim Laden der Uebung';
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(!is_numeric($this->lehreinheit_id))
{
@@ -319,25 +356,14 @@ class uebung
}
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Uebung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
/**
* Speichert Uebung in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -396,30 +422,30 @@ class uebung
" WHERE uebung_id=".$this->addslashes($this->uebung_id).";";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('campus.tbl_uebung_uebung_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->uebung_id = $row->id;
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn,'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn,'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -433,12 +459,12 @@ class uebung
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate_studentuebung()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
public function validate_studentuebung()
{
if(!is_numeric($this->uebung_id))
{
@@ -453,13 +479,13 @@ class uebung
return true;
}
// ************************************************************
// * Speichert StudentUebung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function studentuebung_save($new=null)
/**
* Speichert StudentUebung in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function studentuebung_save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -503,9 +529,9 @@ class uebung
" WHERE uebung_id=".$this->addslashes($this->uebung_id)." AND student_uid=".$this->addslashes($this->student_uid).";";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
return true;
}
else
{
@@ -514,7 +540,13 @@ class uebung
}
}
function abgabe_save($new=null)
/**
* Speichert eine Abgabe
*
* @param $new
* @return boolean
*/
public function abgabe_save($new=null)
{
if(is_null($new))
$new = $this->new;
@@ -537,30 +569,30 @@ function abgabe_save($new=null)
" WHERE abgabe_id=".$this->addslashes($this->abgabe_id).";";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('campus.tbl_abgabe_abgabe_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row=pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->abgabe_id = $row->id;
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn,'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn,'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -574,12 +606,11 @@ function abgabe_save($new=null)
}
}
// ************************************************************
// * Loescht eine Uebung plus die abhaengigen eintraege in den
// * Tabellen studentuebung, studentbeispiel, und beispiel
// ************************************************************
function delete($uebung_id)
/**
* Loescht eine Uebung plus die abhaengigen eintraege in den
* Tabellen studentuebung, studentbeispiel, und beispiel
*/
public function delete($uebung_id)
{
if(!is_numeric($uebung_id))
{
@@ -589,28 +620,27 @@ function abgabe_save($new=null)
// subuebungen wegraeumen
$qry = "SELECT * FROM campus.tbl_uebung WHERE liste_id = '".$uebung_id."'";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
{
foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$row->uebung_id.".*") as $angabe)
{
if(file_exists($angabe))
unlink($angabe);
}
$qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id');
DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id');
DELETE FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id';
DELETE FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id';
DELETE FROM campus.tbl_studentuebung WHERE uebung_id = '$row->uebung_id';
DELETE FROM campus.tbl_uebung WHERE uebung_id='$row->uebung_id';";
while($row = $this->db_fetch_object())
{
foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$row->uebung_id.".*") as $angabe)
{
if(file_exists($angabe))
unlink($angabe);
}
$qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id');
DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id');
DELETE FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id';
DELETE FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id';
DELETE FROM campus.tbl_studentuebung WHERE uebung_id = '$row->uebung_id';
DELETE FROM campus.tbl_uebung WHERE uebung_id='$row->uebung_id';";
if(!pg_query($qry))
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
}
@@ -627,23 +657,20 @@ function abgabe_save($new=null)
DELETE FROM campus.tbl_studentuebung WHERE uebung_id = '$uebung_id';
DELETE FROM campus.tbl_uebung WHERE uebung_id='$uebung_id';";
if(pg_query($qry))
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
}
// ************************************************************
// * Loescht eine Uebung plus die abhaengigen eintraege in den
// * Tabellen studentuebung, studentbeispiel, und beispiel
// ************************************************************
function delete_abgabe($abgabe_id)
/**
* Loescht eine Uebung plus die abhaengigen eintraege in den
* Tabellen studentuebung, studentbeispiel, und beispiel
*/
public function delete_abgabe($abgabe_id)
{
if(!is_numeric($abgabe_id))
{
@@ -653,29 +680,35 @@ function abgabe_save($new=null)
// subuebungen wegraeumen
$qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = '".$abgabe_id."'";
if($result=pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
if(file_exists(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei))
unlink(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei);
if(file_exists(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei))
unlink(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei);
$qry = "UPDATE campus.tbl_studentuebung set abgabe_id = null where abgabe_id = '$abgabe_id';
DELETE FROM campus.tbl_abgabe WHERE abgabe_id = '$abgabe_id'";
$qry = "UPDATE campus.tbl_studentuebung set abgabe_id = null where abgabe_id = '$abgabe_id';
DELETE FROM campus.tbl_abgabe WHERE abgabe_id = '$abgabe_id'";
if(!pg_query($qry))
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
else
return true;
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
else
return true;
}
else
{
$this->errormsg='Keine Abgabe mit dieser ID vorhanden';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
}
?>
+29 -34
View File
@@ -34,14 +34,11 @@ class variable extends basis_db
public $name; // varchar(64)
public $wert; // varchar(64)
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Variable
// * @param $conn Datenbank-Connection
// * $uid
// * $name
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
/**
* Konstruktor - Laedt optional eine Variable
* @param $uid
* @param $name
*/
public function __construct($uid=null, $name=null)
{
parent::__construct();
@@ -50,11 +47,11 @@ class variable extends basis_db
$this->load($uid, $name);
}
// *********************************************************
// * Laedt eine Variable
// * @param $uid
// * @param $name
// *********************************************************
/**
* Laedt eine Variable
* @param $uid
* @param $name
*/
public function load($uid, $name)
{
$qry = "SELECT wert FROM public.tbl_variable WHERE uid='".addslashes($uid)."' AND name='".addslashes($name)."'";
@@ -75,12 +72,12 @@ class variable extends basis_db
return false;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
private function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(strlen($this->uid)>32)
{
@@ -101,12 +98,12 @@ class variable extends basis_db
return true;
}
// ************************************************************
// * Speichert Variable in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
/**
* Speichert Variable in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save($new=null)
{
if(is_null($new))
@@ -142,9 +139,9 @@ class variable extends basis_db
}
}
// ****
// * Loescht einen Variableneintrag
// ****
/**
* Loescht einen Variableneintrag
*/
public function delete($name, $uid)
{
if($name=='' || $uid == '')
@@ -164,14 +161,14 @@ class variable extends basis_db
}
}
// ******
// * Liefert alle Variablen eines Benutzers
// ******
/**
* Liefert alle Variablen eines Benutzers
*/
public function getVars($uid)
{
$qry = "SELECT * FROM public.tbl_variable WHERE uid='".addslashes($uid)."' ORDER BY name";
if($result = $this->db_query($qry))
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
@@ -207,8 +204,6 @@ class variable extends basis_db
$this->errormsg.=$this->db_last_error();
return false;
}
else
$num_rows = $this->db_num_rows();
while($row=$this->db_fetch_object())
{
+26 -59
View File
@@ -19,85 +19,52 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class vorlage
class vorlage extends basis_db
{
// ErgebnisArray
var $result=array();
var $num_rows=0;
var $errormsg;
var $new;
public $result=array();
public $num_rows=0;
public $errormsg;
public $new;
//Tabellenspalten
var $vorlage_kurzbz;
var $studiengang_kz;
var $version;
var $text;
public $vorlage_kurzbz;
public $studiengang_kz;
public $version;
public $text;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection
// * @param $conn Datenbank-Connection
// *************************************************************************
function vorlage($conn)
/**
* Konstruktor
*/
public function __construct()
{
$this->conn = $conn;
parent::__construct();
}
// ***********************************************************
// * Laedt Vorschlag mit der uebergebenen ID
// * @param $vorlage_kurzbz, studiengang_kz, version
// ***********************************************************
function load($vorlage_kurzbz, $studiengang_kz, $version)
{
return false;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
{
return true;
}
// ******************************************************************
// * Speichert die Benutzerdaten in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
// * ansonsten der Datensatz mit $uid upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ******************************************************************
function save()
{
return false;
}
function getAktuelleVorlage($studiengang_kz, $vorlage_kurzbz)
/**
* Liefert die Aktuelle Vorlage
*
* @param $studiengang_kz
* @param $vorlage_kurzbz
* @return boolean
*/
public function getAktuelleVorlage($studiengang_kz, $vorlage_kurzbz)
{
$qry = "SELECT * FROM public.tbl_vorlagestudiengang WHERE
(studiengang_kz=0 OR studiengang_kz='".addslashes($studiengang_kz)."') AND
vorlage_kurzbz='".addslashes($vorlage_kurzbz)."' ORDER BY studiengang_kz DESC, version DESC LIMIT 1";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->vorlage_kurzbz = $row->vorlage_kurzbz;
$this->studiengang_kz = $row->studiengang_kz;
$this->version = $row->version;
$this->text = $row->text;
return true;
}
else
{
+79 -92
View File
@@ -19,67 +19,53 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class vorschlag
class vorschlag extends basis_db
{
//Tabellenspalten
var $vorschlag_id;
var $frage_id;
var $nummer;
var $punkte;
public $vorschlag_id;
public $frage_id;
public $nummer;
public $punkte;
var $text;
var $bild;
var $audio;
public $text;
public $bild;
public $audio;
var $insertamum;
var $insertvon;
var $updateamum;
var $updatevon;
public $insertamum;
public $insertvon;
public $updateamum;
public $updatevon;
// ErgebnisArray
var $result=array();
var $num_rows=0;
var $errormsg;
var $new;
public $result=array();
public $num_rows=0;
public $new;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional einen vorschlag
// * @param $conn Datenbank-Connection
// * $frage_id Frage die geladen werden soll (default=null)
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function vorschlag($conn, $vorschlag_id=null, $unicode=false)
/**
* Konstruktor - Laedt optional einen vorschlag
* @param $frage_id Frage die geladen werden soll (default=null)
*/
public function __construct($vorschlag_id=null)
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
parent::__construct();
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
if($vorschlag_id != null)
$this->load($vorschlag_id);
}
// ***********************************************************
// * Laedt Vorschlag mit der uebergebenen ID
// * @param $vorschlag_id ID des Vorschlages der geladen werden soll
// ***********************************************************
function load($vorschlag_id, $sprache='German')
/**
* Laedt Vorschlag mit der uebergebenen ID
* @param $vorschlag_id ID des Vorschlages der geladen werden soll
*/
public function load($vorschlag_id, $sprache='German')
{
$qry = "SELECT * FROM testtool.tbl_vorschlag WHERE vorschlag_id='".addslashes($vorschlag_id)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->vorschlag_id = $row->vorschlag_id;
$this->frage_id = $row->frage_id;
@@ -101,13 +87,19 @@ class vorschlag
}
}
function loadVorschlagSprache($vorschlag_id, $sprache)
/**
* Laedt die Vorschlaege in einer Sprache
*
* @param $vorschlag_id
* @param $sprache
*/
public function loadVorschlagSprache($vorschlag_id, $sprache)
{
$qry = "SELECT * FROM testtool.tbl_vorschlag_sprache
WHERE vorschlag_id='".addslashes($vorschlag_id)."' AND sprache='".addslashes($sprache)."'";
if($result_sprache = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row_sprache = pg_fetch_object($result_sprache))
if($row_sprache = $this->db_fetch_object())
{
$this->text = $row_sprache->text;
$this->bild = $row_sprache->bild;
@@ -116,34 +108,23 @@ class vorschlag
}
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
return true;
}
// ******************************************************************
// * Speichert die Benutzerdaten in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
// * ansonsten der Datensatz mit $uid upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ******************************************************************
function save()
/**
* Speichert die Benutzerdaten in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
* ansonsten der Datensatz mit $uid upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
@@ -171,30 +152,30 @@ class vorschlag
" WHERE vorschlag_id='".addslashes($this->vorschlag_id)."';";
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($this->new)
{
$qry = "SELECT currval('testtool.tbl_vorschlag_vorschlag_id_seq') as id";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->vorschlag_id = $row->id;
pg_query($this->conn, 'COMMIT;');
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
return false;
}
}
@@ -215,7 +196,7 @@ class vorschlag
*
* @return true wenn ok, false wenn Fehler
*/
function validate_vorschlagsprache()
protected function validate_vorschlagsprache()
{
return true;
}
@@ -225,7 +206,7 @@ class vorschlag
*
* @return true wenn ok, false wenn Fehler
*/
function save_vorschlagsprache()
public function save_vorschlagsprache()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate_vorschlagsprache())
@@ -234,9 +215,9 @@ class vorschlag
$qry = "SELECT * FROM testtool.tbl_vorschlag_sprache
WHERE vorschlag_id='".addslashes($this->vorschlag_id)."' AND
sprache='".addslashes($this->sprache)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if(pg_num_rows($result)>0)
if($this->db_num_rows()>0)
$this->new=false;
else
$this->new=true;
@@ -270,7 +251,7 @@ class vorschlag
" WHERE vorschlag_id='".addslashes($this->vorschlag_id)."' AND sprache='".addslashes($this->sprache)."';";
}
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -281,7 +262,7 @@ class vorschlag
}
}
function getVorschlag($frage_id, $sprache, $random)
public function getVorschlag($frage_id, $sprache, $random)
{
$qry = "SELECT * FROM testtool.tbl_vorschlag WHERE frage_id='".addslashes($frage_id)."'";
if($random)
@@ -289,11 +270,11 @@ class vorschlag
else
$qry.=" ORDER BY nummer";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$vs = new vorschlag($this->conn);
$vs = new vorschlag();
$vs->vorschlag_id = $row->vorschlag_id;
$vs->frage_id = $row->frage_id;
$vs->nummer = $row->nummer;
@@ -301,9 +282,9 @@ class vorschlag
$qry = "SELECT * FROM testtool.tbl_vorschlag_sprache
WHERE vorschlag_id='".addslashes($row->vorschlag_id)."' AND sprache='".addslashes($sprache)."'";
if($result_sprache = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row_sprache = pg_fetch_object($result_sprache))
if($row_sprache = $this->db_fetch_object())
{
$vs->text = $row_sprache->text;
$vs->bild = $row_sprache->bild;
@@ -318,21 +299,27 @@ class vorschlag
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
function delete($vorschlag_id)
/**
* Loescht einen Vorschlag
*
* @param $vorschlag_id
* @return boolean
*/
public function delete($vorschlag_id)
{
$qry = "DELETE FROM testtool.tbl_vorschlag WHERE vorschlag_id='".addslashes($vorschlag_id)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim loeschen';
$this->errormsg = 'Fehler beim schen';
return false;
}
}
}
?>
?>
+265 -234
View File
@@ -1,13 +1,24 @@
<?php
/*
$Header: /include/stundenplan.class.php,v 1.2 2004/10/16 17:05:38 pam Exp $
$Log: stundenplan.class.php,v $
Revision 1.2 2004/10/16 17:05:38 pam
Anpassung an neue DB-Struktur.
globals.inc.php wird benoetigt.
*/
/* Copyright (C) 2007 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>.
*/
/****************************************************************************
* @class Stundenplan
* @author Christian Paminger
@@ -17,70 +28,73 @@
* @brief Klasse zm Berechnen und Anzeigen des Stundenplans.
* Abhaengig: von functions.inc.php
*****************************************************************************/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/lehrstunde.class.php');
require_once(dirname(__FILE__).'/ferien.class.php');
require_once(dirname(__FILE__).'/benutzerberechtigung.class.php');
require_once(dirname(__FILE__).'/datum.class.php');
require_once('lehrstunde.class.php');
require_once('ferien.class.php');
require_once('benutzerberechtigung.class.php');
require_once('datum.class.php');
class wochenplan
class wochenplan extends basis_db
{
var $conn; // @brief Connection zur Datenbank
var $crlf; // @brief Return Linefeed
var $type; // @brief Typ des Plans (Student, Lektor, Verband, Ort)
var $user; // @brief Benutzergruppe
var $user_uid; // @brief id in der Datenbank des Benutzers
var $link; // @brief Link auf eigene Seite
var $kal_link; // @brief Link auf den kalender
public $conn; // @brief Connection zur Datenbank
public $crlf; // @brief Return Linefeed
public $type; // @brief Typ des Plans (Student, Lektor, Verband, Ort)
public $user; // @brief Benutzergruppe
public $user_uid; // @brief id in der Datenbank des Benutzers
public $link; // @brief Link auf eigene Seite
public $kal_link; // @brief Link auf den kalender
var $stg_kz; // @brief Kennzahl des Studiengangs
var $stg_bez; // @brief Bezeichnung Studiengang
var $stg_kurzbz; // @brief Kurzbezeichnung Studiengang
var $stg_kurzbzlang;// @brief lange Kurzbezeichnung Studiengang
var $sem; // @brief Semester
var $ver; // @brief Verband (A,B,C,...)
var $grp; // @brief Gruppe (1,2)
public $stg_kz; // @brief Kennzahl des Studiengangs
public $stg_bez; // @brief Bezeichnung Studiengang
public $stg_kurzbz; // @brief Kurzbezeichnung Studiengang
public $stg_kurzbzlang;// @brief lange Kurzbezeichnung Studiengang
public $sem; // @brief Semester
public $ver; // @brief Verband (A,B,C,...)
public $grp; // @brief Gruppe (1,2)
var $pers_uid; // @brief Account Name der Person (PK)
var $pers_titelpost; // @brief Titel der Person
var $pers_titelpre; // @brief Titel der Person
var $pers_nachname; // @brief Personendaten
var $pers_vorname; // @brief Personendaten
var $pers_vornamen; // @brief Personendaten
public $pers_uid; // @brief Account Name der Person (PK)
public $pers_titelpost; // @brief Titel der Person
public $pers_titelpre; // @brief Titel der Person
public $pers_nachname; // @brief Personendaten
public $pers_vorname; // @brief Personendaten
public $pers_vornamen; // @brief Personendaten
var $ort_kurzbz; // @brief Ort PK
var $ort_bezeichnung;
var $ort_planbezeichnung;
var $ort_ausstattung;
public $ort_kurzbz; // @brief Ort PK
public $ort_bezeichnung;
public $ort_planbezeichnung;
public $ort_ausstattung;
var $gruppe_kurzbz;
var $gruppe_bezeichnung;
public $gruppe_kurzbz;
public $gruppe_bezeichnung;
var $datum; // @brief Datum des Montags der zu zeichnenden Woche
var $datum_nextweek;
var $datum_next4week;
var $datum_prevweek;
var $datum_prev4week;
var $datum_begin;
var $datum_end;
var $kalenderwoche;
public $datum; // @brief Datum des Montags der zu zeichnenden Woche
public $datum_nextweek;
public $datum_next4week;
public $datum_prevweek;
public $datum_prev4week;
public $datum_begin;
public $datum_end;
public $kalenderwoche;
var $studiensemester_now;
var $studiensemester_next;
public $studiensemester_now;
public $studiensemester_next;
var $std_plan;
var $stunde;
public $std_plan;
public $stunde;
var $wochenplan;
var $errormsg;
public $wochenplan;
public $errormsg;
function wochenplan($type,$conn)
/**
* Konstruktor
* @param $type
*/
public function __construct($type)
{
$this->type=$type;
$this->conn=$conn;
// Suchpfad einstellen
if (!$result=pg_query($this->conn, 'SET search_path TO lehre;'))
$this->errormsg=pg_last_error($this->conn);
parent::__construct();
$this->type=$type;
$this->link='stpl_week.php?type='.$type;
$this->kal_link='stpl_kalender.php?type='.$type;
$this->datum=mktime();
@@ -88,7 +102,11 @@ class wochenplan
$this->crlf=crlf();
}
function init_stdplan()
/**
* initialisiert den Studenplan
*
*/
public function init_stdplan()
{
//Stundenplan Array initialisieren (Anzahl auf 0 setzten)
unset($this->std_plan);
@@ -100,16 +118,20 @@ class wochenplan
}
}
/**************************************************************************
* @brief Funktion load_data ladet alle Zusatzinformationen fuer die Darstellung
* und ueberprueft die Daten
*
* @param datum Datum eines Tages in der angeforderten Woche
*
* @return gruppe_kurzbz
/**
* Funktion load_data ladet alle Zusatzinformationen fuer die Darstellung
* und ueberprueft die Daten
*
* @param $type
* @param $uid
* @param $ort_kurzbz
* @param $studiengang_kz
* @param $sem
* @param $ver
* @param $grp
* @param $gruppe
*/
function load_data($type, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe=NULL)
public function load_data($type, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe=NULL)
{
///////////////////////////////////////////////////////////////////////
// Parameter Checken
@@ -176,28 +198,27 @@ class wochenplan
else
$sql_query="SELECT uid, titelpre, titelpost, nachname, vorname, vornamen FROM campus.vw_mitarbeiter WHERE uid='$this->pers_uid'";
//echo $sql_query;
if (!($result=pg_exec($this->conn, $sql_query)))
if (!$this->db_query($sql_query))
{
$this->errormsg=pg_last_error($this->conn);
$this->errormsg=$this->db_last_error();
return false;
}
if (pg_num_rows($result)!=1)
if($row = $this->db_fetch_object())
{
$this->errormsg='Error: Cannot identify UID "'.$this->pers_uid.'"!';
return false;
}
$this->pers_uid=pg_result($result,0,'"uid"');
$this->pers_titelpre=pg_result($result,0,'"titelpre"');
$this->pers_titelpost=pg_result($result,0,'"titelpost"');
$this->pers_nachname=pg_result($result,0,'"nachname"');
$this->pers_vorname=pg_result($result,0,'"vorname"');
$this->pers_vornamen=pg_result($result,0,'"vornamen"');
if ($this->type=='student')
{
$this->stg_kz=pg_result($result,0,'"studiengang_kz"');
$this->sem=pg_result($result,0,'"semester"');
$this->ver=pg_result($result,0,'"verband"');
$this->grp=pg_result($result,0,'"gruppe"');
$this->pers_uid = $row->uid;
$this->pers_titelpre = $row->titelpre;
$this->pers_titelpost = $row->titelpost;
$this->pers_nachname = $row->nachname;
$this->pers_vorname =$row->vorname;
$this->pers_vornamen = $row->vornamen;
if ($this->type=='student')
{
$this->stg_kz = $row->studiengang_kz;
$this->sem = $row->semester;
$this->ver = $row->verband;
$this->grp = $row->gruppe;
}
}
}
@@ -206,13 +227,16 @@ class wochenplan
{
$sql_query="SELECT bezeichnung, ort_kurzbz, planbezeichnung, ausstattung FROM public.tbl_ort WHERE ort_kurzbz='$this->ort_kurzbz'";
//echo $sql_query;
if (!$result=pg_query($this->conn, $sql_query))
$this->errormsg=pg_last_error($this->conn);
$this->ort_bezeichnung=pg_result($result,0,'"bezeichnung"');
$this->ort_kurzbz=pg_result($result,0,'"ort_kurzbz"');
$this->ort_planbezeichnung=pg_result($result,0,'"planbezeichnung"');
$this->ort_ausstattung=pg_result($result,0,'"ausstattung"');
$this->link.='&ort_kurzbz='.$this->ort_kurzbz; //Link erweitern
if (!$this->db_query($sql_query))
$this->errormsg=$this->db_last_error();
if($row = $this->db_fetch_object())
{
$this->ort_bezeichnung = $row->bezeichnung;
$this->ort_kurzbz = $row->ort_kurzbz;
$this->ort_planbezeichnung = $row->planbezeichnung;
$this->ort_ausstattung = $row->ausstattung;
$this->link.='&ort_kurzbz='.$this->ort_kurzbz; //Link erweitern
}
}
// Studiengangsdaten ermitteln
@@ -220,45 +244,51 @@ class wochenplan
{
$sql_query="SELECT bezeichnung, kurzbz, kurzbzlang, typ FROM public.tbl_studiengang WHERE studiengang_kz=$this->stg_kz";
//echo $sql_query;
if(!($result=pg_exec($this->conn, $sql_query)))
die(pg_last_error($this->conn));
$this->stg_bez=pg_result($result,0,'"bezeichnung"');
$this->stg_kurzbz=pg_result($result,0,'"typ"').pg_result($result,0,'"kurzbz"');
$this->stg_kurzbzlang=pg_result($result,0,'"kurzbzlang"');
if(!($this->db_query($sql_query)))
die($this->db_last_error());
if($row = db_fetch_object())
{
$this->stg_bez = $row->bezeichnung;
$this->stg_kurzbz = $row->typ.$row->kurzbz;
$this->stg_kurzbzlang = $row->kurzbzlang;
}
}
// Stundentafel abfragen
$sql_query="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde";
if(!$this->stunde=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
if(!$this->db_query($sql_query))
die($this->db_last_error());
$this->stunde = $this->db_result;
// Studiensemesterdaten ermitteln
$sql_query="SELECT * FROM public.tbl_studiensemester WHERE now()<ende ORDER BY start LIMIT 2";
if(!$result=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
if(!$this->db_query($sql_query))
die($this->db_last_error());
else
{
$row=pg_fetch_object($result);
$this->studiensemester_now->name=$row->studiensemester_kurzbz;
$this->studiensemester_now->start=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8,2),substr($row->start,0,4));
$this->studiensemester_now->ende=mktime(0,0,0,substr($row->ende,5,2),substr($row->ende,8,2),substr($row->ende,0,4));
$row=pg_fetch_object($result);
$this->studiensemester_next->name=$row->studiensemester_kurzbz;
$this->studiensemester_next->start=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8,2),substr($row->start,0,4));
$this->studiensemester_next->ende=mktime(0,0,0,substr($row->ende,5,2),substr($row->ende,8,2),substr($row->ende,0,4));
if($row = $this->db_fetch_object())
{
$this->studiensemester_now->name=$row->studiensemester_kurzbz;
$this->studiensemester_now->start=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8,2),substr($row->start,0,4));
$this->studiensemester_now->ende=mktime(0,0,0,substr($row->ende,5,2),substr($row->ende,8,2),substr($row->ende,0,4));#
}
if($row = $this->db_fetch_object())
{
$this->studiensemester_next->name=$row->studiensemester_kurzbz;
$this->studiensemester_next->start=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8,2),substr($row->start,0,4));
$this->studiensemester_next->ende=mktime(0,0,0,substr($row->ende,5,2),substr($row->ende,8,2),substr($row->ende,0,4));
}
}
return true;
}
/**************************************************************************
* @brief Funktion load_week ladet die Stundenplandaten einer Woche
/**
* Funktion load_week ladet die Stundenplandaten einer Woche
*
* @param datum Datum eines Tages in der angeforderten Woche
*
* @return true oder false
*
*/
function load_week($datum, $stpl_view='stundenplan')
public function load_week($datum, $stpl_view='stundenplan')
{
// Pruefung der Attribute
if (!isset($this->type))
@@ -281,7 +311,7 @@ class wochenplan
$this->kalenderwoche=kalenderwoche($this->datum);
// Stundenplandaten ermittlen
$this->wochenplan=new lehrstunde($this->conn);
$this->wochenplan=new lehrstunde();
$anz=$this->wochenplan->load_lehrstunden($this->type,$this->datum_begin,$this->datum_end,$this->pers_uid,$this->ort_kurzbz,$this->stg_kz,$this->sem,$this->ver,$this->grp,$this->gruppe_kurzbz, $stpl_view);
if ($anz<0)
{
@@ -337,7 +367,11 @@ class wochenplan
return true;
}
function draw_header()
/**
* Schreibt den Stundenplan Header im HTML-Format
*
*/
public function draw_header()
{
echo '<TABLE width="100%" bgcolor="#EEEEEE" border="0" cellspacing="0">'.$this->crlf;
echo ' <TR>'.$this->crlf;
@@ -399,18 +433,25 @@ class wochenplan
{
// Orte abfragen
$sql_query="SELECT * FROM public.tbl_ort WHERE aktiv AND lehre ORDER BY ort_kurzbz";
if(!$result_ort=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
$num_rows_ort=pg_numrows($result_ort);
if(!$this->db_query($sql_query))
die($this->db_last_error());
$num_rows_ort=$this->db_num_rows();
// vorigen Ort bestimmen
for ($i=0;$i<($num_rows_ort-1);$i++)
if (pg_result($result_ort,$i+1,'"ort_kurzbz"')==$this->ort_kurzbz)
$prev_ort=pg_fetch_object($result_ort,$i);
{
$row = $this->db_fetch_object(null,$i+1);
if ($row->ort_kurzbz==$this->ort_kurzbz)
$prev_ort=$this->db_fetch_object(null,$i);
}
// naechsten Ort bestimmen
for ($i=1;$i<$num_rows_ort;$i++)
if (pg_result($result_ort,$i-1,'"ort_kurzbz"')==$this->ort_kurzbz)
$next_ort=pg_fetch_object($result_ort,$i);
{
$row = $this->db_fetch_object(null, $i-1);
if ($row->ort_kurzbz==$this->ort_kurzbz)
$next_ort=$this->db_fetch_object(null,$i);
}
// Ort Jump
echo '<FORM align="center" name="AuswahlOrt" action="stpl_week.php">'.$this->crlf;
@@ -425,7 +466,7 @@ class wochenplan
echo " <SELECT name=\"select\" onChange=\"MM_jumpMenu('self',this,0)\" class=\"xxxs_black\">".$this->crlf;
for ($i=0;$i<$num_rows_ort;$i++)
{
$row=pg_fetch_object ($result_ort, $i);
$row=$this->db_fetch_object (null, $i);
echo ' <OPTION value="stpl_week.php?type=ort&ort_kurzbz='.$row->ort_kurzbz.'&datum='.$this->datum.'"';
if ($row->ort_kurzbz==$this->ort_kurzbz)
echo ' selected ';
@@ -465,18 +506,19 @@ class wochenplan
return true;
}
/**************************************************************************
/**
* Zeichnen der Stundenplanwoche in HTML
*/
function draw_week($raumres, $user_uid='')
public function draw_week($raumres, $user_uid='')
{
$o_datum=new datum();
// Stundentafel abfragen
$sql_query="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde";
if(!$result_stunde=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
$num_rows_stunde=pg_numrows($result_stunde);
if(!$this->db_query($sql_query))
die($this->db_last_error());
$result_stunde = $this->db_result;
$num_rows_stunde = $this->db_num_rows($result_stunde);
// Formularbeginn wenn Lektor
if ($this->user=='lektor' && $this->type=='ort')
echo '<form name="reserve" method="post" action="stpl_week.php">'.$this->crlf;
@@ -488,13 +530,14 @@ class wochenplan
echo ' <th align="right">Stunde&nbsp;<br>Beginn&nbsp;<br>Ende&nbsp;</th>'.$this->crlf;
for ($i=0;$i<$num_rows_stunde; $i++)
{
$beginn=pg_result($result_stunde,$i,'"beginn"');
$row = $this->db_fetch_object($result_stunde);
$beginn=$row->beginn;
$beginn=substr($beginn,0,5);
$ende=pg_result($result_stunde,$i,'"ende"');
$ende=$row->ende;
$ende=substr($ende,0,5);
$stunde=pg_result($result_stunde,$i,'"stunde"');
$stunde=$row->stunde;
echo ' <th><div align="center">'.$stunde.'<br>&nbsp;'.$beginn .'&nbsp;<br>&nbsp;'.$ende.'&nbsp;</div></th>'.$this->crlf;
}
}
echo ' </tr>'.$this->crlf;
// Von Montag bis Samstag
$datum_now=mktime();
@@ -508,7 +551,8 @@ class wochenplan
echo ' <tr><td>'.date("l",$datum).'<br>'.date("j. M y",$datum).'<br></td>'.$this->crlf; //.strftime("%A %d %B %Y",$this->datum)
for ($k=0; $k<$num_rows_stunde; $k++)
{
$j=pg_result($result_stunde,$k,'"stunde"');
$row = $this->db_fetch_object($result_stunde, $k);
$j = $row->stunde;
// Stunde aufbereiten
if (isset($this->std_plan[$i][$j][0]->lehrfach))
{
@@ -588,10 +632,6 @@ class wochenplan
else
$lf=$lehrfach[0].'<BR />';
//$lkt=$this->std_plan[$i][$j][0]->lektor.'<BR>';
//$lvb=$this->std_plan[$i][$j][0]->stg.'-'.$this->std_plan[$i][$j][0]->sem.$this->std_plan[$i][$j][0]->ver.$this->std_plan[$i][$j][0]->grp.'<BR>';
// Blinken oder nicht ?
if ($kollision)
{
@@ -658,26 +698,25 @@ class wochenplan
}
}
/**************************************************************************
* @brief Funktion draw_week_xul Stundenplan im XUL-Format
/**
* Funktion draw_week_xul Stundenplan im XUL-Format
*
* @param datum Datum eines Tages in der angeforderten Woche
*
* @return true oder false
*
*/
function draw_week_xul($semesterplan, $uid, $wunsch=null, $ignore_kollision=false)
public function draw_week_xul($semesterplan, $uid, $wunsch=null, $ignore_kollision=false)
{
//echo $wunsch;
global $cfgStdBgcolor;
$count=0;
$berechtigung=new benutzerberechtigung($this->conn);
$berechtigung=new benutzerberechtigung();
$berechtigung->getBerechtigungen($uid);
// Stundentafel abfragen
$sql_query="SELECT * FROM lehre.tbl_stunde ORDER BY stunde";
if(!$result_stunde=pg_query($this->conn, $sql_query))
$this->errormsg=pg_last_error($this->conn);
$num_rows_stunde=pg_numrows($result_stunde);
if(!$this->db_query($sql_query))
$this->errormsg=$this->db_last_error();
$result_stunde = $this->db_result;
$num_rows_stunde=$this->db_num_rows($result_stunde);
// Kontext Menue
echo '<popupset>
@@ -715,7 +754,7 @@ class wochenplan
</vbox>'.$this->crlf; //<html:br />Beginn<html:br />Ende
for ($i=0;$i<$num_rows_stunde; $i++)
{
$row=pg_fetch_object($result_stunde,$i);
$row=$this->db_fetch_object($result_stunde,$i);
$beginn=substr($row->beginn,0,5);
$ende=substr($row->ende,0,5);
$stunde=$row->stunde;
@@ -732,7 +771,7 @@ class wochenplan
$datum=$this->datum;
// Ferien holen
$ferien=new ferien($this->conn);
$ferien=new ferien();
if ($this->type=='verband')
$ferien->getAll($this->stg_kz);
else
@@ -745,7 +784,8 @@ class wochenplan
echo '</vbox>';
for ($k=0; $k<$num_rows_stunde; $k++)
{
$j=pg_result($result_stunde,$k,'"stunde"');
$row = $this->db_fetch_object($result_stunde, $k);
$j=$row->stunde;
if (isset($wunsch[$i][$j]))
$index=$wunsch[$i][$j];
else
@@ -910,8 +950,7 @@ class wochenplan
$updatevonam.='am ';
foreach ($updateamum as $u)
$updatevonam.=$u.' ';
//$updatevonam='Geaendert von '.$updatevon.', am '.$updateamum;
// Blinken oder nicht ?
if ($kollision)
{
@@ -984,7 +1023,7 @@ class wochenplan
</vbox>'.$this->crlf; //<html:br />Beginn<html:br />Ende
for ($i=0;$i<$num_rows_stunde; $i++)
{
$row=pg_fetch_object($result_stunde,$i);
$row=$this->db_fetch_object($result_stunde,$i);
$beginn=substr($row->beginn,0,5);
$ende=substr($row->ende,0,5);
$stunde=$row->stunde;
@@ -1001,17 +1040,15 @@ class wochenplan
/**************************************************************************
* @brief Funktion load_stpl_search sucht Vorschlag fuer Stundenverschiebung
/**
* Funktion load_stpl_search sucht Vorschlag fuer Stundenverschiebung
*
* @param datum der Aktuellen Woche
* @param stpl_id Array der stundenplan_id's
* @param db_stpl_table Name der DB-Tabelle
*
* @return true oder false
*
*/
function load_stpl_search($datum,$stpl_id,$db_stpl_table, $block=1)
public function load_stpl_search($datum,$stpl_id,$db_stpl_table, $block=1)
{
// Initatialisierung der Variablen
$lehrverband=array();
@@ -1027,10 +1064,11 @@ class wochenplan
$this->datum_end=date("Y-m-d",$this->datum_end);
// Stundentafel abfragen
$sql_query='SELECT min(stunde),max(stunde)FROM lehre.tbl_stunde';
if(!$result_stunde=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
$min_stunde=pg_result($result_stunde,0,'min');
$max_stunde=pg_result($result_stunde,0,'max');
if(!$this->db_query($sql_query))
die($this->db_last_error());
$row = $this->db_fetch_object();
$min_stunde=$row->min;
$max_stunde=$row->max;
// Stundenplaneintraege holen
$sql_query="SELECT * FROM $stpl_view WHERE";
$stplids='';
@@ -1039,14 +1077,14 @@ class wochenplan
$stplids=substr($stplids,3);
$sql_query.=$stplids;
//echo $sql_query;
if(!$result_stpl=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
$num_rows_stpl=pg_numrows($result_stpl);
if(!$this->db_query($sql_query))
die($this->db_last_error());
$num_rows_stpl=$this->db_num_rows();
// Daten aufbereiten
$leids='';
for ($i=0;$i<$num_rows_stpl;$i++)
{
$row=pg_fetch_object($result_stpl,$i);
$row=$this->db_fetch_object(null,$i);
//$block=$row->stundenblockung;
//$raumtyp[$i]=$row->raumtyp;
//$raumtypalt[$i]=$row->raumtypalternativ;
@@ -1067,8 +1105,8 @@ class wochenplan
// Raumtypen
$leids = substr($leids, 0, strlen($leids)-1);
$qry = "SELECT raumtyp, raumtypalternativ FROM lehre.tbl_lehreinheit WHERE lehreinheit_id IN ($leids)";
if($result = pg_query($this->conn, $qry)){
while($row = pg_fetch_object($result))
if($this->db_query($qry)){
while($row = $this->db_fetch_object())
{
$raumtyp[]=$row->raumtyp;
$raumtyp[]=$row->raumtypalternativ;
@@ -1115,33 +1153,30 @@ class wochenplan
// Raeume die in Frage kommen, aufgrund der Raumtypen
$sql_query="SELECT DISTINCT ort_kurzbz, hierarchie FROM public.tbl_ort
JOIN public.tbl_ortraumtyp USING (ort_kurzbz) WHERE ($rtype) AND aktiv AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY hierarchie,ort_kurzbz";
// WHERE aktiv AND lehre AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY ort_kurzbz"; // NATURAL JOIN tbl_ortraumtyp WHERE $rtype hierarchie
//echo $sql_query;
if(!$result=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
$num_orte=pg_numrows($result);
for ($i=0;$i<$num_orte;$i++)
$orte[]=pg_fetch_result($result,$i,"ort_kurzbz");
if(!$this->db_query($sql_query))
die($this->db_last_error());
while($row = $this->db_fetch_object())
$orte[]=$row->ort_kurzbz;
// Raster vorbereiten
for ($t=1;$t<=TAGE_PRO_WOCHE;$t++)
{
for ($s=$min_stunde;$s<=$max_stunde;$s++)
{
$raster[$t][$s]->ort=array();
$raster[$t][$s]->kollision=false;
}
}
// Stundenplanabfrage bauen (Wo ist Kollision?)
$sql_query="SELECT DISTINCT datum, stunde FROM $stpl_view
WHERE datum>='$this->datum_begin' AND datum<'$this->datum_end' AND
($lkt $gruppen OR ($lvb) ) AND unr!=$unr"; //AND unr!=$unr"
//echo $sql_query;
if(!$result_kollision=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
$num_k=pg_numrows($result_kollision);
for ($i=0;$i<$num_k;$i++)
if(!$this->db_query($sql_query))
die($this->db_last_error());
while($row = $this->db_fetch_object())
{
$row=pg_fetch_object($result_kollision,$i);
$mtag=substr($row->datum, 8,2);
$month=substr($row->datum, 5,2);
$jahr=substr($row->datum, 0,4);
@@ -1158,12 +1193,11 @@ class wochenplan
$sql_query.=" UNION SELECT DISTINCT datum, stunde, ort_kurzbz FROM campus.tbl_reservierung
WHERE datum>='$this->datum_begin' AND datum<'$this->datum_end' ";
if(!$result_besetzt=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
$num_b=pg_numrows($result_besetzt);
for ($i=0;$i<$num_b;$i++)
if(!$this->db_query($sql_query))
die($this->db_last_error());
while($row = $this->db_fetch_object())
{
$row=pg_fetch_object($result_besetzt,$i);
$mtag=substr($row->datum, 8,2);
$month=substr($row->datum, 5,2);
$jahr=substr($row->datum, 0,4);
@@ -1186,17 +1220,15 @@ class wochenplan
return true;
}
/**************************************************************************
* @brief Funktion load_lva_search sucht Vorschlag fuer LVAs
/**
* Funktion load_lva_search sucht Vorschlag fuer LVAs
*
* @param datum der Aktuellen Woche
* @param lva_id Array der lvaIDs
* @param db_stpl_table Name der DB-Tabelle
*
* @return true oder false
*
*/
function load_lva_search($datum,$lva_id,$db_stpl_table,$type)
public function load_lva_search($datum,$lva_id,$db_stpl_table,$type)
{
// Initialiseren der Variablen
$lehrverband=array();
@@ -1213,10 +1245,11 @@ class wochenplan
$this->datum_end=date("Y-m-d",$this->datum_end);
// Stundentafel abfragen
$sql_query='SELECT min(stunde),max(stunde) FROM lehre.tbl_stunde';
if(!$result_stunde=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
$min_stunde=pg_result($result_stunde,0,'min');
$max_stunde=pg_result($result_stunde,0,'max');
if(!$this->db_query($sql_query))
die($this->db_last_error());
$row = $this->db_fetch_object();
$min_stunde=$row->min;
$max_stunde=$row->max;
// LEs holen
$sql_query='SELECT *, (planstunden-verplant::smallint) AS offenestunden FROM '.$lva_stpl_view.' WHERE';
@@ -1227,9 +1260,9 @@ class wochenplan
$sql_query.=$lvas;
//$this->errormsg.=$sql_query;
//return false;
if(!$result_lva=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
$num_rows_lva=pg_numrows($result_lva);
if(!$this->db_query($sql_query))
die($this->db_last_error());
$num_rows_lva=$this->db_num_rows();
// Arrays setzen
//$wochenrythmus=array();
$verplant=array();
@@ -1240,7 +1273,8 @@ class wochenplan
// Daten aufbereiten
for ($i=0;$i<$num_rows_lva;$i++)
{
$row=pg_fetch_object($result_lva,$i);
$row=$this->db_fetch_object(null,$i);
$raumtyp[$i]=$row->raumtyp;
$raumtypalt[$i]=$row->raumtypalternativ;
if ($row->gruppe_kurzbz!=null && $row->gruppe_kurzbz!='')
@@ -1363,14 +1397,17 @@ class wochenplan
$sql_query="SELECT DISTINCT ort_kurzbz, hierarchie FROM public.tbl_ort
JOIN public.tbl_ortraumtyp USING (ort_kurzbz) WHERE ($rtype) AND aktiv AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY hierarchie,ort_kurzbz"; //
//echo $sql_query;
if(!$result=pg_query($this->conn, $sql_query))
if(!$this->db_query($sql_query))
{
$this->errormsg=pg_last_error($this->conn);
$this->errormsg=$this->db_last_error();
return false;
}
$num_orte=pg_numrows($result);
$num_orte=$this->db_num_rows();
for ($i=0;$i<$num_orte;$i++)
$orte[]=pg_fetch_result($result,$i,"ort_kurzbz");
{
$row = $this->db_fetch_object(null, $i);
$orte[]=$row->ort_kurzbz;
}
// Suche nach freien Orten. Bei 'lva_multi_search' wird die Schleife (do) aktiv
$count=0;
@@ -1410,17 +1447,15 @@ class wochenplan
$sql_query.=" AND unr!=$unr";
//$this->errormsg.=htmlspecialchars($sql_query);
//return false;
if(!$result_kollision=pg_query($this->conn, $sql_query))
if(!$this->db_query($sql_query))
{
//die(pg_last_error($this->conn));
$this->errormsg=pg_last_error($this->conn).$sql_query;
$this->errormsg = $this->db_last_error().$sql_query;
return false;
}
$num_k=pg_numrows($result_kollision);
// Kollisionen ins Raster eintragen
for ($i=0;$i<$num_k;$i++)
while($row = $this->db_fetch_object())
{
$row=pg_fetch_object($result_kollision,$i);
$mtag=substr($row->datum, 8,2);
$month=substr($row->datum, 5,2);
$jahr=substr($row->datum, 0,4);
@@ -1435,23 +1470,19 @@ class wochenplan
($rtype)";
if (is_numeric($unr))
$sql_query.=" AND unr!=$unr";
//echo $sql_query;
// Reservierungen beruecksichtigen
$sql_query.=" UNION SELECT distinct datum, stunde, ort_kurzbz FROM campus.tbl_reservierung
WHERE datum>='$datum_begin' AND datum<'$datum_end'";
if(!$result_besetzt=pg_query($this->conn, $sql_query))
if(!$this->db_query($sql_query))
{
$this->errormsg=pg_last_error($this->conn).$sql_query;
$this->errormsg = $this->db_last_error().$sql_query;
return false;
}
$num_b=pg_numrows($result_besetzt);
// Besetzte Orte ins Raster eintragen
for ($i=0;$i<$num_b;$i++)
while($row = $this->db_fetch_object())
{
$row=pg_fetch_object($result_besetzt,$i);
$mtag=substr($row->datum, 8,2);
$month=substr($row->datum, 5,2);
$jahr=substr($row->datum, 0,4);
@@ -1499,24 +1530,23 @@ class wochenplan
}
/**************************************************************************
* @brief Funktion draw_week_csv Stundenplan im CSV-Format
/**
* Funktion draw_week_csv Stundenplan im CSV-Format
*
* @param target Ziel-System zB Outlook
*
* @return true oder false
*
*/
function draw_week_csv($target, $lvplan_kategorie)
public function draw_week_csv($target, $lvplan_kategorie)
{
if (!date("w",$this->datum))
$this->datum=jump_day($this->datum,1);
$num_rows_stunde=pg_numrows($this->stunde);
$num_rows_stunde=$this->db_num_rows($this->stunde);
for ($i=1; $i<=TAGE_PRO_WOCHE; $i++)
{
for ($k=0; $k<$num_rows_stunde; $k++)
{
$j=pg_result($this->stunde,$k,'"stunde"'); // get id of hour
$row = $this->db_fetch_object($this->stunde, $k);
$j=$row->stunde; // get id of hour
if (isset($this->std_plan[$i][$j][0]->lehrfach))
{
// Daten aufbereiten
@@ -1584,21 +1614,22 @@ class wochenplan
else
$lvb=$lehrverband[0];
$start_time=pg_result($this->stunde,$k,'"beginn"');
$row = $this->db_fetch_object($this->stunde, $k);
$start_time=$row->beginn;
// Blockungen erkennen
if (($this->std_plan[$i][$j][0]->unr == $this->std_plan[$i][$j+1][0]->unr) && $this->std_plan[$i][$j][0]!=0 && $k<($num_rows_stunde-1))
{
$end_time=pg_result($this->stunde,++$k,'"ende"');
$row = $this->db_fetch_object($this->stunde, ++$k);
$end_time=$row->ende;
if (($this->std_plan[$i][$j][0]->unr == $this->std_plan[$i][$j+2][0]->unr) && $k<($num_rows_stunde-2))
{
$end_time=pg_result($this->stunde,++$k,'"ende"');
$end_time=$row->ende;
if (($this->std_plan[$i][$j][0]->unr == $this->std_plan[$i][$j+3][0]->unr) && $k<($num_rows_stunde-3))
$end_time=pg_result($this->stunde,++$k,'"ende"');
$end_time=$row->ende;
}
}
else
$end_time=pg_result($this->stunde,$k,'"ende"');
$end_time=$row->ende;
//$start_time=substr($start_time,0,5);
//$end_time=substr($end_time,0,5);
//$start_date=$this->datum[year].'/'.$this->datum[mon].'/'.$this->datum[mday];
+57 -88
View File
@@ -23,70 +23,50 @@
* Klasse Zeitaufzeichnung
* @create 06-11-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class zeitaufzeichnung
class zeitaufzeichnung extends basis_db
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result = array(); // zeitaufzeichnung Objekt
var $done=false; // boolean
public $new; // boolean
public $result = array(); // zeitaufzeichnung Objekt
public $done=false; // boolean
//Tabellenspalten
var $zeitaufzeichnung_id; // serial
var $uid; // varchar(16)
var $aktivitaet_kurzbz; // varchar(16)
var $start; // timestamp
var $ende; // timestamp
var $beschreibung; // varchar(256)
var $studiengang_kz; // integer
var $fachbereich_kurzbz; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $projekt_kurzbz; // varchar(16)
public $zeitaufzeichnung_id; // serial
public $uid; // varchar(16)
public $aktivitaet_kurzbz; // varchar(16)
public $start; // timestamp
public $ende; // timestamp
public $beschreibung; // varchar(256)
public $studiengang_kz; // integer
public $fachbereich_kurzbz; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $projekt_kurzbz; // varchar(16)
// *************************************************************************
// * Konstruktor
// * @param $conn Connection
// * $zeitaufzeichnung_id ID der Zeitaufzeichnung die geladen werden soll (Default=null)
// * $unicode wenn false dann wird das Encoding auf LATIN9 gesetzt
// * wenn true dann auf UNICODE
// * wenn null dann wird das Encoding nicht veraendert
// *************************************************************************
function zeitaufzeichnung($conn, $zeitaufzeichnung_id=null,$unicode=false)
/**
* Konstruktor
* @param $zeitaufzeichnung_id ID der Zeitaufzeichnung die geladen werden soll (Default=null)
*/
public function __construct($zeitaufzeichnung_id=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
parent::__construct();
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($zeitaufzeichnung_id != null)
$this->load($zeitaufzeichnung_id);
}
// ***********************************************
// * Laedt die Zeitaufzeichnung mit der ID $zeitaufzeichnung_id
// * @param $adress_id ID der zu ladenden Adresse
// * @return true wenn ok, false im Fehlerfall
// ***********************************************
function load($zeitaufzeichnung_id)
/**
* Laedt die Zeitaufzeichnung mit der ID $zeitaufzeichnung_id
* @param $adress_id ID der zu ladenden Adresse
* @return true wenn ok, false im Fehlerfall
*/
public function load($zeitaufzeichnung_id)
{
//Pruefen ob zeitaufzeichnung_id eine gueltige Zahl ist
if(!is_numeric($zeitaufzeichnung_id) || $zeitaufzeichnung_id == '')
{
@@ -97,13 +77,13 @@ class zeitaufzeichnung
//Daten aus der Datenbank lesen
$qry = "SELECT * FROM campus.tbl_zeitaufzeichnung WHERE zeitaufzeichnung_id='$zeitaufzeichnung_id'";
if(!$result = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->zeitaufzeichnung_id = $row->zeitaufzeichnung_id;
$this->uid = $row->uid;
@@ -128,34 +108,23 @@ class zeitaufzeichnung
return true;
}
// *******************************************
// * Prueft die Variablen auf Gueltigkeit
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
$this->errormsg = '';
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ***********************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// ***********************************************************************
function save()
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Variablen pruefen
if(!$this->validate())
@@ -204,30 +173,30 @@ class zeitaufzeichnung
'WHERE zeitaufzeichnung_id='.$this->zeitaufzeichnung_id.';';
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
if($this->new)
{
//naechste ID aus der Sequence holen
$qry="SELECT currval('campus.tbl_zeitaufzeichnung_zeitaufzeichnung_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->zeitaufzeichnung_id = $row->id;
pg_query($this->conn, 'COMMIT');
$this->db_query('COMMIT');
return true;
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
$this->errormsg = "Fehler beim Auslesen der Sequence";
return false;
}
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
return false;
}
@@ -241,12 +210,12 @@ class zeitaufzeichnung
return true;
}
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $zeitaufzeichnnung_id ID die geloescht werden soll
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($zeitaufzeichnung_id)
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $zeitaufzeichnnung_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($zeitaufzeichnung_id)
{
//Pruefen ob zeitaufzeichnung_id eine gueltige Zahl ist
if(!is_numeric($zeitaufzeichnung_id) || $zeitaufzeichnung_id == '')
@@ -258,7 +227,7 @@ class zeitaufzeichnung
//loeschen des Datensatzes
$qry="DELETE FROM campus.tbl_zeitaufzeichnung WHERE zeitaufzeichnung_id='$zeitaufzeichnung_id';";
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
return true;
}
+49 -55
View File
@@ -19,50 +19,49 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class zeitsperre
class zeitsperre extends basis_db
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var news Objekt
public $new; // boolean
public $result = array(); // news Objekt
//Tabellenspalten
var $zeitsperre_id; // serial
var $zeitsperretyp_kurzbz; // varchar(8)
var $mitarbeiter_uid; // varchar(16)
var $bezeichnung; // varchar(32)
var $vondatum; // date
var $vonstunde; // smallint
var $bisdatum; // date
var $bisstunde; // smallint
var $erreichbarkeit_kurzbz; // varchar(5)
var $vertretung_uid; // varchar(16)
var $updateamum; // timestamp
var $updatevon; // string
var $insertamum; // timestamp
var $insertvon; // string
var $freigabeamum;
var $freigabevon;
public $zeitsperre_id; // serial
public $zeitsperretyp_kurzbz; // varchar(8)
public $mitarbeiter_uid; // varchar(16)
public $bezeichnung; // varchar(32)
public $vondatum; // date
public $vonstunde; // smallint
public $bisdatum; // date
public $bisstunde; // smallint
public $erreichbarkeit_kurzbz; // varchar(5)
public $vertretung_uid; // varchar(16)
public $updateamum; // timestamp
public $updatevon; // string
public $insertamum; // timestamp
public $insertvon; // string
public $freigabeamum;
public $freigabevon;
/**
* Konstruktor
* @param $conn Connection zur DB
* $zeitsperre_id ID der zu ladenden Funktion
* @param $zeitsperre_id ID der zu ladenden Funktion
*/
function zeitsperre($conn, $zeitsperre_id=null)
public function __construct($zeitsperre_id=null)
{
$this->conn = $conn;
parent::__construct();
if($zeitsperre_id != null)
$this->load($zeitsperre_id);
}
// **********************************
// * Laedt alle Zeitsperren bei denen
// * ende>=now() ist und uid=$uid
// **********************************
function getzeitsperren($uid, $bisgrenze=true)
/**
* Laedt alle Zeitsperren bei denen
* ende>=now() ist und uid=$uid
*/
public function getzeitsperren($uid, $bisgrenze=true)
{
unset($this->result);
$this->result=array();
@@ -72,22 +71,23 @@ class zeitsperre
WHERE mitarbeiter_uid='".addslashes($uid)."'";
if($bisgrenze)
{
$qry.=" AND (
(date_part('month',vondatum)>=9 AND date_part('year', vondatum)>='".(date('Y')-1)."')
OR
(date_part('month',vondatum)<9 AND date_part('year', vondatum)>='".(date('Y'))."')
)";
//$qry.=" AND bisdatum>=now()::date";
}
$qry.= " ORDER BY vondatum DESC";
//echo $qry;
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new zeitsperre($this->conn);
$obj = new zeitsperre();
$obj->zeitsperre_id = $row->zeitsperre_id;
$obj->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
@@ -117,7 +117,7 @@ class zeitsperre
}
else
{
$this->errormsg = 'Fehler beim laden der Zeitsperren';
$this->errormsg = 'Fehler beim Laden der Zeitsperren';
return false;
}
}
@@ -127,9 +127,8 @@ class zeitsperre
* @param $zeitsperre_id ID der zu laden ist
* @return true wenn ok, false im Fehlerfall
*/
function load($zeitsperre_id)
public function load($zeitsperre_id)
{
if(!is_numeric($zeitsperre_id))
{
$this->errormsg = 'zeitsperre_id muß eine gültige Zahl sein';
@@ -138,13 +137,13 @@ class zeitsperre
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperre_id = '$zeitsperre_id';";
if(!$res = pg_query($this->conn, $qry))
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
if($row = $this->db_fetch_object())
{
$this->zeitsperre_id = $row->zeitsperre_id;
$this->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
@@ -177,7 +176,7 @@ class zeitsperre
* @param $zeitsperre_id id des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($zeitsperre_id)
public function delete($zeitsperre_id)
{
if(!is_numeric($zeitsperre_id))
{
@@ -187,25 +186,20 @@ class zeitsperre
$qry = "DELETE FROM campus.tbl_zeitsperre WHERE zeitsperre_id='$zeitsperre_id'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim L&ouml;schen';
$this->errormsg = 'Fehler beim Löschen';
return false;
}
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
protected function validate()
{
if(strlen($this->bezeichnung)>32)
{
@@ -236,10 +230,10 @@ class zeitsperre
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save($new = null)
public function save($new = null)
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if(!is_null($new))
@@ -298,7 +292,7 @@ class zeitsperre
'WHERE zeitsperre_id = '.$this->addslashes($this->zeitsperre_id).';';
}
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
@@ -313,7 +307,7 @@ class zeitsperre
* Liefert ZeitsperreTypen eines Tages
* @return string wenn ok, false im Fehlerfall
*/
function getTyp($datum)
public function getTyp($datum)
{
$datum_obj=new datum();
$typ='';
@@ -332,7 +326,7 @@ class zeitsperre
* Liefert Erreichbarkeit der Zeitsperre eines Tages
* @return string wenn ok, false im Fehlerfall
*/
function getErreichbarkeit($datum)
public function getErreichbarkeit($datum)
{
$datum_obj=new datum();
$erbk='';
+59 -95
View File
@@ -19,86 +19,61 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class zeitwunsch
class zeitwunsch extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $zeitwuensche = array(); // zeitwunsch Objekt
public $conn; // resource DB-Handle
public $errormsg; // string
public $new; // boolean
public $zeitwuensche = array(); // zeitwunsch Objekt
//Tabellenspalten
var $stunde; // smalint
var $mitarbeiter_uid; // varchar(32)
var $tag; // smalint
var $gewicht; // smalint
var $min_stunde;
var $max_stunde;
public $stunde; // smalint
public $mitarbeiter_uid; // varchar(32)
public $tag; // smalint
public $gewicht; // smalint
public $min_stunde;
public $max_stunde;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
// * @param $conn Datenbank-Connection
// * $uid Uid des Mitarbeiters
// * $tag Tag des Zeitwunsches
// * $stunde Stunde des Zeitwunsches
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function zeitwunsch($conn, $mitarbeiter_uid=null, $tag=null, $stunde=null, $unicode=false)
/**
* Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
*/
public function __construct()
{
$this->conn = $conn;
/*
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
*/
// ggf Mitarbeiter laden
if($mitarbeiter_uid != null && $tag!=null && $stunde!=null)
$this->load($mitarbeiter_uid, $tag, $stunde);
parent::__construct();
$this->init();
}
function init()
/**
* Initialisierung
*
*/
private function init()
{
// Stundenraster abfragen
$sql='SELECT min(stunde) AS min_stunde,max(stunde) AS max_stunde FROM lehre.tbl_stunde;';
if(!$result=pg_query($this->conn, $sql))
if(!$this->db_query($sql))
{
$this->errormsg=pg_last_error($this->conn);
$this->errormsg=$this->db_last_error();
return false;
}
else
{
$row=pg_fetch_object($result);
$row=$this->db_fetch_object();
$this->min_stunde=$row->min_stunde;
$this->max_stunde=$row->max_stunde;
}
return true;
}
// *********************************************************
// * Laedt einen Zeitwunsch
// * @param
// *********************************************************
function load($mitarbeiter_uid, $tag, $stunde)
{
return true;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(strlen($this->mitarbeiter_uid)>32)
{
@@ -128,25 +103,14 @@ class zeitwunsch
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert einen Zeitwunsch in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
/**
* Speichert einen Zeitwunsch in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz mit $lehrfach_nr upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
@@ -166,9 +130,8 @@ class zeitwunsch
tag=".$this->tag.' AND stunde='.$this->stunde;
}
if(pg_query($this->conn,$qry))
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
@@ -180,18 +143,20 @@ class zeitwunsch
/**
* Zeitwunsch einer Person laden
* @param uid
* @param datum
* @return boolean Ergebnis steht in Array $zeitwunsch wenn true
*/
function loadPerson($uid,$datum=null)
public function loadPerson($uid,$datum=null)
{
// Zeitwuensche abfragen
if(!$result=pg_query($this->conn, "SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid='$uid'"))
if(!$this->db_query("SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid='".addslashes($uid)."'"))
{
$this->errormsg=pg_last_error($this->conn);
$this->errormsg = $this->db_last_error();
return false;
}
else
while ($row=pg_fetch_object($result))
while ($row = $this->db_fetch_object())
$this->zeitwunsch[$row->tag][$row->stunde]=$row->gewicht;
if (!is_null($datum))
@@ -203,15 +168,15 @@ class zeitwunsch
// Zeitsperren abfragen
$sql="SELECT vondatum,vonstunde,bisdatum,bisstunde
FROM campus.tbl_zeitsperre
WHERE mitarbeiter_uid='$uid' AND vondatum<='$ende' AND bisdatum>'$start'";
if(!$result=pg_query($this->conn, $sql))
WHERE mitarbeiter_uid='".addslashes($uid)."' AND vondatum<='$ende' AND bisdatum>'$start'";
if(!$this->db_query($sql))
{
$this->errormsg=pg_last_error($this->conn);
$this->errormsg=$this->db_last_error();
return false;
}
else
{
while ($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$beginn=montag($datum);
for ($i=1;$i<=7;$i++)
@@ -257,7 +222,7 @@ class zeitwunsch
* Zeitwunsch der Personen in Lehreinheiten laden
* @return true oder false
*/
function loadZwLE($le_id,$datum=null)
public function loadZwLE($le_id,$datum=null)
{
//$this->init();
// SUB-Select fuer LVAs
@@ -273,13 +238,13 @@ class zeitwunsch
FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid IN ('.$sql_query_le.') GROUP BY tag,stunde';
// Zeitwuensche abfragen
if(!$result=pg_query($this->conn, $sql_query))
if(!$this->db_query($sql_query))
{
$this->errormsg=pg_last_error($this->conn);
$this->errormsg = $this->db_last_error();
return false;
}
else
while ($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
$this->zeitwunsch[$row->tag][$row->stunde]=$row->gewicht;
// ***********************************************************
@@ -295,12 +260,12 @@ class zeitwunsch
$sql="SELECT vondatum,vonstunde,bisdatum,bisstunde
FROM campus.tbl_zeitsperre
WHERE mitarbeiter_uid IN ($sql_query_le) AND vondatum<='$ende' AND bisdatum>'$start'";
if(!$result=pg_query($this->conn, $sql))
if(!$this->db_query($sql))
{
$this->errormsg=pg_last_error($this->conn);
$this->errormsg = $this->db_last_error();
return false;
}
while ($row=pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$beginn=montag($datum);
for ($i=1;$i<=7;$i++)
@@ -339,6 +304,5 @@ class zeitwunsch
}
return true;
}
}
?>
?>
+71 -100
View File
@@ -23,70 +23,54 @@
* Klasse Zeugnisnote
* @create 2007-06-06
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class zeugnisnote
class zeugnisnote extends basis_db
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result=array();
public $new; // boolean
public $result=array();
//Tabellenspalten
var $lehrveranstaltung_id; // integer
var $student_uid; // varchar(16)
var $studiensemester_kurzbz; // varchar(16)
var $note; // smalint
var $uebernahmedatum; // date
var $benotungsdatum; // date
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $ext_id; // bigint
var $bemerkung; // text
public $lehrveranstaltung_id; // integer
public $student_uid; // varchar(16)
public $studiensemester_kurzbz; // varchar(16)
public $note; // smalint
public $uebernahmedatum; // date
public $benotungsdatum; // date
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $ext_id; // bigint
public $bemerkung; // text
var $lehrveranstaltung_bezeichung;
var $note_bezeichnung;
var $zeugnis;
var $lv_lehrform_kurzbz;
public $lehrveranstaltung_bezeichung;
public $note_bezeichnung;
public $zeugnis;
public $lv_lehrform_kurzbz;
// *********************************************************************
// * Konstruktor
// * @param $conn Connection
// * $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// *********************************************************************
function zeugnisnote($conn, $lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null , $unicode=false)
/**
* Konstruktor
* @param $lehrveranstaltung_id
* $student_uid
* $studiensemester_kurzbz
*/
public function __construct($lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null)
{
$this->conn = $conn;
/*
if($unicode!=null)
{
if ($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
parent::__construct();
if(!pg_query($conn,$qry))
{
$this->errormsg= "Encoding konnte nicht gesetzt werden";
return false;
}
}
*/
if($lehrveranstaltung_id!=null && $student_uid!=null && $studiensemester_kurzbz!=null)
$this->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz);
}
// **************************************************************
// * Laedt eine Zeugnisnote
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// ***************************************************************
function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
/**
* Laedt eine Zeugnisnote
* @param $lehrveranstaltung_id
* $student_uid
* $studiensemester_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
if(!is_numeric($lehrveranstaltung_id))
{
@@ -99,9 +83,9 @@ class zeugnisnote
student_uid='".addslashes($student_uid)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $this->db_fetch_object())
{
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->student_uid = $row->student_uid;
@@ -130,11 +114,11 @@ class zeugnisnote
}
}
// *************************************
// * Prueft die Daten vor dem Speichern
// * auf Gueltigkeit
// *************************************
function validate()
/**
* Prueft die Daten vor dem Speichern
* auf Gueltigkeit
*/
protected function validate()
{
if(!is_numeric($this->lehrveranstaltung_id))
{
@@ -169,24 +153,13 @@ class zeugnisnote
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *******************************************************************************
function save($new=null)
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if($new==null)
$new=$this->new;
@@ -226,34 +199,32 @@ class zeugnisnote
'AND studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).';';
}
//if(pg_send_query($this->conn, $qry))
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
{
return true;
}
else
{
//echo $qry;
$this->errormsg='Fehler beim Speichern der Zeugnisnote';
return false;
}
}
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $lehrveranstaltung_id
* $student_uid
* $studiensemester_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
$qry = "DELETE FROM lehre.tbl_zeugnisnote WHERE
lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' AND
student_uid='".addslashes($student_uid)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if(pg_query($this->conn, $qry))
if($this->db_query($qry))
return true;
else
{
@@ -262,14 +233,14 @@ class zeugnisnote
}
}
// *********************************************
// * Laed die Noten
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false wenn Fehler
// *********************************************
function getZeugnisnoten($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
/**
* Laedt die Noten
* @param $lehrveranstaltung_id
* $student_uid
* $studiensemester_kurzbz
* @return true wenn ok, false wenn Fehler
*/
public function getZeugnisnoten($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
$where='';
if($lehrveranstaltung_id!=null)
@@ -321,11 +292,11 @@ class zeugnisnote
WHERE true $where2
ORDER BY sort";
//echo $qry;
if($result = pg_query($this->conn, $qry))
if($this->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $this->db_fetch_object())
{
$obj = new zeugnisnote($this->conn, null, null, null, null);
$obj = new zeugnisnote();
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->student_uid = $row->uid;
+4 -4
View File
@@ -111,7 +111,7 @@ function draw_orgformpart($stg_kz)
$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz not in('VBB','ZGS')";
if($stg_obj->db_query($qry))
{
while($row = $stg_opj->db_fetch_object())
while($row = $stg_obj->db_fetch_object())
{
draw_orgformsubmenu($stg_kz, $row->orgform_kurzbz);
}
@@ -122,7 +122,7 @@ function draw_orgformsubmenu($stg_kz, $orgform)
{
global $conn, $stsem_obj, $rdf_url, $orgform_sequence;
$stg_obj = new studiengang($conn, $stg_kz);
$stg_obj = new studiengang($stg_kz);
$stg_kurzbz = $stg_obj->kuerzel;
echo '
@@ -175,7 +175,7 @@ function draw_orgformsubmenu($stg_kz, $orgform)
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/zgv" >
<VERBAND:name>ZGV erfüllt</VERBAND:name>
<VERBAND:name>ZGV erfüllt</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
@@ -461,7 +461,7 @@ while ($row=$dbo->db_fetch_object())
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/zgv'; ?>" >
<VERBAND:name>ZGV erfüllt</VERBAND:name>
<VERBAND:name>ZGV erfüllt</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
<VERBAND:stg_kz><?php echo $row->studiengang_kz; ?></VERBAND:stg_kz>
<VERBAND:stsem><?php echo $stsem->studiensemester_kurzbz; ?></VERBAND:stsem>
+3 -9
View File
@@ -19,7 +19,6 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
@@ -29,14 +28,10 @@ header("Content-type: application/xhtml+xml");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../vilesci/config.inc.php');
require_once('../config/vilesci.config.inc.php');
require_once('../include/reihungstest.class.php');
require_once('../include/studiengang.class.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$rdf_url='http://www.technikum-wien.at/reihungstest';
?>
@@ -46,7 +41,6 @@ $rdf_url='http://www.technikum-wien.at/reihungstest';
xmlns:RT="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/alle">
<?php
@@ -69,12 +63,12 @@ if(isset($_GET['optional']) && $_GET['optional']=='true')
}
$stg = array();
$stg_obj = new studiengang($conn);
$stg_obj = new studiengang();
$stg_obj->getAll();
foreach ($stg_obj->result as $row)
$stg[$row->studiengang_kz]=$row->kuerzel;
$rt = new reihungstest($conn, null, true);
$rt = new reihungstest();
$rt->getAll();
foreach ($rt->result as $row)
{
+58 -64
View File
@@ -19,7 +19,7 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// header für no cache
// header fuer no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
@@ -32,7 +32,7 @@ if(isset($_GET['xmlformat']) && $_GET['xmlformat']=='xml')
else
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../vilesci/config.inc.php');
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/person.class.php');
require_once('../include/benutzer.class.php');
@@ -43,7 +43,7 @@ require_once('../include/studiensemester.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/studiengang.class.php');
// *********** Funktionen *************************++
// *********** Funktionen *************************
function convdate($date)
{
list($d,$m,$y) = explode('.',$date);
@@ -52,7 +52,8 @@ function convdate($date)
function checkfilter($row, $filter2)
{
global $conn, $studiensemester_kurzbz, $kontofilterstg;
global $studiensemester_kurzbz, $kontofilterstg;
$db = new basis_db();
if($filter2=='dokumente')
{
@@ -61,8 +62,8 @@ function checkfilter($row, $filter2)
dokument_kurzbz NOT IN(
SELECT dokument_kurzbz FROM tbl_dokumentprestudent WHERE prestudent_id='$row->prestudent_id')
AND studiengang_kz='$row->studiengang_kz'";
if($result_filter = pg_query($conn, $qry))
if($row_filter = pg_fetch_object($result_filter))
if($db->db_query($qry))
if($row_filter = $db->db_fetch_object())
if($row_filter->anzahl==0)
return false;
}
@@ -73,8 +74,8 @@ function checkfilter($row, $filter2)
if($kontofilterstg=='true')
$qry.=" AND studiengang_kz='$row->studiengang_kz'";
//echo $qry;
if($result_filter = pg_query($conn, $qry))
if($row_filter = pg_fetch_object($result_filter))
if($db->db_query($qry))
if($row_filter = $db->db_fetch_object())
if($row_filter->summe=='0.00' || $row_filter->summe=='' || $row_filter->summe=='0')
return false;
}
@@ -82,15 +83,15 @@ function checkfilter($row, $filter2)
{
// Alle Personen die keine Studiengebuehrbelastung haben
// Incoming werden nicht beruecksichtigt
$prestudent = new prestudent($conn, null, null);
$prestudent = new prestudent();
$prestudent->getLastStatus($row->prestudent_id);
$qry = "SELECT count(*) as anzahl FROM public.tbl_konto WHERE
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
person_id='".addslashes($row->person_id)."' AND
buchungstyp_kurzbz='Studiengebuehr'";
if($result_filter = pg_query($conn, $qry))
if($row_filter = pg_fetch_object($result_filter))
if($db->db_query($qry))
if($row_filter = $db->db_fetch_object())
if($row_filter->anzahl>0 || $prestudent->status_kurzbz=='Incoming')
return false;
}
@@ -99,15 +100,15 @@ function checkfilter($row, $filter2)
// Alle Personen die keine Belastung auf den uebergebenen Buchungstyp haben
// Incoming werden nicht beruecksichtigt
list($filter, $buchungstyp) = split(';',$filter2);
$prestudent = new prestudent($conn, null, null);
$prestudent = new prestudent();
$prestudent->getLastStatus($row->prestudent_id);
$qry = "SELECT count(*) as anzahl FROM public.tbl_konto WHERE
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
person_id='".addslashes($row->person_id)."' AND
buchungstyp_kurzbz='$buchungstyp'";
if($result_filter = pg_query($conn, $qry))
if($row_filter = pg_fetch_object($result_filter))
if($db->db_query($qry))
if($row_filter = $db->db_fetch_object())
if($row_filter->anzahl>0 || $prestudent->status_kurzbz=='Incoming')
return false;
}
@@ -115,9 +116,9 @@ function checkfilter($row, $filter2)
{
//Alle Personen die den ZGV Typ eingetragen haben aber noch kein Datum
$qry = "SELECT zgv_code, zgvdatum, zgvmas_code, zgvmadatum FROM public.tbl_prestudent WHERE prestudent_id='$row->prestudent_id'";
if($result_filter = pg_query($conn, $qry))
if($db->db_query($qry))
{
if($row_filter = pg_fetch_object($result_filter))
if($row_filter = $db->db_fetch_object())
{
if(($row_filter->zgv_code!='' && $row_filter->zgvdatum=='') ||
($row_filter->zgvmas_code!='' && $row_filter->zgvmadatum==''))
@@ -132,20 +133,10 @@ function checkfilter($row, $filter2)
function draw_content_liste($row)
{
global $rdf_url, $datum_obj, $conn, $stg_arr;
global $rdf_url, $datum_obj, $stg_arr;
$status='';
/*$mail_privat = '';
$qry_mail = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$row->person_id' AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1";
if($result_mail = pg_query($conn, $qry_mail))
{
if($row_mail = pg_fetch_object($result_mail))
{
$mail_privat = $row_mail->kontakt;
}
}*/
$prestudent = new prestudent($conn, null, null);
$prestudent = new prestudent();
$prestudent->getLastStatus($row->prestudent_id);
$status = $prestudent->status_kurzbz;
$orgform = $prestudent->orgform_kurzbz;
@@ -189,14 +180,15 @@ function draw_content_liste($row)
function draw_content($row)
{
global $rdf_url, $datum_obj, $conn;
global $rdf_url, $datum_obj;
$db = new basis_db();
$status='';
$mail_privat = '';
$qry_mail = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$row->person_id' AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1";
if($result_mail = pg_query($conn, $qry_mail))
if($db->db_query($qry_mail))
{
if($row_mail = pg_fetch_object($result_mail))
if($row_mail = $db->db_fetch_object())
{
$mail_privat = $row_mail->kontakt;
}
@@ -204,7 +196,7 @@ function draw_content($row)
if($row->prestudent_id!='')
{
$prestudent = new prestudent($conn, null, null);
$prestudent = new prestudent();
$prestudent->getLastStatus($row->prestudent_id);
$status = $prestudent->status_kurzbz;
$orgform = $prestudent->orgform_kurzbz;
@@ -293,15 +285,12 @@ function draw_prestudent($row)
}
// ******* Init **************************
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
if(isset($_SERVER['REMOTE_USER']))
{
$user = get_uid();
loadVariables($conn, $user);
loadVariables($user);
}
$gruppe_kurzbz=(isset($_GET['gruppe_kurzbz'])?$_GET['gruppe_kurzbz']:null);
@@ -318,6 +307,8 @@ $ss = (isset($_GET['ss'])?$_GET['ss']:null);
$filter2 = (isset($_GET['filter2'])?$_GET['filter2']:null);
$orgform = (isset($_GET['orgform'])?$_GET['orgform']:null);
$db = new basis_db();
if($studiensemester_kurzbz=='aktuelles')
$studiensemester_kurzbz = $semester_aktuell;
@@ -333,7 +324,7 @@ $datum_obj = new datum();
if($xmlformat=='rdf')
{
$stg_arr = array();
$stg_obj = new studiengang($conn, null, null);
$stg_obj = new studiengang();
$stg_obj->getAll(null, false);
foreach ($stg_obj->result as $row)
$stg_arr[$row->studiengang_kz]=$row->kuerzel;
@@ -352,9 +343,9 @@ if($xmlformat=='rdf')
if(isset($uid))
{
$student=new student($conn,null,true);
$student=new student();
$student->load($uid, $studiensemester_kurzbz);
$prestd = new prestudent($conn, null, true);
$prestd = new prestudent();
draw_content($student);
$prestd->load($student->prestudent_id);
@@ -414,22 +405,25 @@ if($xmlformat=='rdf')
$sql_query.= "JOIN public.tbl_benutzergruppe USING (uid) ";
$sql_query.="LEFT JOIN public.tbl_studentlehrverband ON (tbl_studentlehrverband.student_uid=tbl_student.student_uid AND tbl_studentlehrverband.studiensemester_kurzbz='$studiensemester_kurzbz')";
$sql_query.="WHERE ".$where.' ORDER BY nachname, vorname';
//echo $sql_query;
if($result = pg_query($conn, $sql_query))
while($row = pg_fetch_object($result))
if($db->db_query($sql_query))
{
while($row = $db->db_fetch_object())
{
if(checkfilter($row, $filter2))
draw_content_liste($row);
}
}
}
elseif($typ=='incoming')
{
$qry = "SELECT prestudent_id FROM public.tbl_prestudentstatus WHERE status_kurzbz='Incoming' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($conn, $qry))
if($db->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $db->db_fetch_object())
{
$student=new student($conn,null,true);
$student=new student();
if($uid = $student->getUid($row->prestudent_id))
{
//Wenn kein Eintrag fuers aktuelle Studiensemester da ist, dann
@@ -437,7 +431,7 @@ if($xmlformat=='rdf')
if(!$student->load($uid, $studiensemester_kurzbz))
$student->load($uid);
}
$prestd = new prestudent($conn, null, true);
$prestd = new prestudent();
$prestd->load($row->prestudent_id);
if($uid!='')
{
@@ -456,7 +450,7 @@ if($xmlformat=='rdf')
'warteliste','absage','zgv','reihungstestangemeldet',
'reihungstestnichtangemeldet')))
{
$prestd = new prestudent($conn, null, true);
$prestd = new prestudent();
if($studiengang_kz!=null)
{
@@ -466,7 +460,7 @@ if($xmlformat=='rdf')
{
if(checkfilter($row, $filter2))
{
$student=new student($conn,null,true);
$student=new student();
if($uid = $student->getUid($row->prestudent_id))
{
if(!$student->load($uid, $studiensemester_kurzbz))
@@ -499,7 +493,7 @@ if($xmlformat=='rdf')
{
if($filter!='')
{
$filter = utf8_decode($filter);
//$filter = utf8_decode($filter);
$qry = "SELECT prestudent_id
FROM
public.tbl_person JOIN tbl_prestudent USING (person_id) LEFT JOIN tbl_student using(prestudent_id)
@@ -508,11 +502,11 @@ if($xmlformat=='rdf')
vorname ~* '".addslashes($filter)."' OR
student_uid ~* '".addslashes($filter)."' OR
matrikelnr = '".addslashes($filter)."';";
if($result = pg_query($conn, $qry))
if($db->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $db->db_fetch_object())
{
$student=new student($conn,null,true);
$student=new student();
if($uid = $student->getUid($row->prestudent_id))
{
//Wenn kein Eintrag fuers aktuelle Studiensemester da ist, dann
@@ -520,7 +514,7 @@ if($xmlformat=='rdf')
if(!$student->load($uid, $studiensemester_kurzbz))
$student->load($uid);
}
$prestd = new prestudent($conn, null, true);
$prestd = new prestudent();
$prestd->load($row->prestudent_id);
if($uid!='')
{
@@ -537,7 +531,7 @@ if($xmlformat=='rdf')
}
elseif(isset($prestudent_id))
{
$student=new student($conn,null,true);
$student=new student();
if($uid = $student->getUid($prestudent_id))
{
//Wenn kein Eintrag fuers aktuelle Studiensemester da ist, dann
@@ -545,7 +539,7 @@ if($xmlformat=='rdf')
if(!$student->load($uid, $studiensemester_kurzbz))
$student->load($uid);
}
$prestd = new prestudent($conn, null, true);
$prestd = new prestudent();
$prestd->load($prestudent_id);
if($uid!='')
{
@@ -574,10 +568,10 @@ else
{
if($uid!='')
{
$student = new student($conn);
$student = new student();
$student->load($uid);
$studiengang = new studiengang($conn);
$studiengang = new studiengang();
$studiengang->load($student->studiengang_kz);
$typ='';
@@ -594,9 +588,9 @@ else
$qry = "SELECT * FROM campus.vw_benutzer JOIN public.tbl_benutzerfunktion USING(uid) WHERE funktion_kurzbz='rek'";
$rektor = '';
if($result = pg_query($conn, $qry))
if($db->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $db->db_fetch_object())
{
$rektor = $row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost;
}
@@ -606,25 +600,25 @@ else
$studiensemester_kurzbz='';
$qry = "SELECT * FROM public.tbl_prestudentstatus JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE prestudent_id='$student->prestudent_id' AND status_kurzbz in('Student','Incoming') ORDER BY datum LIMIT 1";
if($result = pg_query($conn, $qry))
if($db->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $db->db_fetch_object())
{
$studienbeginn = $row->start;
$studiensemester = $row->studiensemester_kurzbz;
}
}
$stsem = new studiensemester($conn);
$stsem = new studiensemester();
//$aktstsem = $stsem->getaktorNext();
$stsem->load($ss);
$qry = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='$student->prestudent_id' AND studiensemester_kurzbz='$ss' ORDER BY datum DESC";
$semester=0;
if($result = pg_query($conn, $qry))
if($db->db_query($qry))
{
if($row = pg_fetch_object($result))
if($row = $db->db_fetch_object())
{
$semester = $row->ausbildungssemester;
}
+22 -11
View File
@@ -1,11 +1,26 @@
<?php
/*
* Created on 02.12.2004
/* Copyright (C) 2009 Technikum-Wien
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>.
*/
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
@@ -15,15 +30,11 @@ header("Content-type: application/xhtml+xml");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../vilesci/config.inc.php');
require_once('../config/vilesci.config.inc.php');
require_once('../include/studiengang.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// raumtypen holen
$studiengangDAO=new studiengang($conn);
$studiengangDAO=new studiengang();
$studiengangDAO->getAll('typ, kurzbz', false);
$rdf_url='http://www.technikum-wien.at/studiengang';