mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 18:02:18 +00:00
Include VZ Bereinigung
This commit is contained in:
+350
-115
@@ -1,151 +1,386 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
/**
|
||||
* Klasse fuer Berechtigungen der User
|
||||
* @author Christian Paminger
|
||||
* @version 1.0
|
||||
* @updated 11-Feb-2004
|
||||
*/
|
||||
|
||||
class benutzer extends person
|
||||
class benutzer
|
||||
{
|
||||
//Tabellenspalten
|
||||
var $uid; // varchar(16)
|
||||
var $bnaktiv; // boolean
|
||||
var $alias; // varchar(256)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid Benutzer der geladen werden soll (default=null)
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function benutzer($conn, $uid=null, $unicode=false)
|
||||
{
|
||||
$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($uid != null)
|
||||
$this->load($uid);
|
||||
}
|
||||
/**
|
||||
* interne userberechtigung_id (Zaehler aus DB)
|
||||
* @var integer
|
||||
*/
|
||||
var $userberechtigung_id;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $studiengang_kz;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $fachbereich_id;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
var $berechtigung_kurzbz;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
var $uid;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
var $studiensemester_kurzbz;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $start;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $ende;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $starttimestamp;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $endetimestamp;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
var $art;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
var $berechtigungen=array();
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
|
||||
var $variable;
|
||||
|
||||
// ***********************************************************
|
||||
// * Laedt Benutzer mit der uebergebenen ID
|
||||
// * @param $uid ID der Person die geladen werden soll
|
||||
// ***********************************************************
|
||||
function load($uid)
|
||||
var $conn; //Vilesci Connection
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
var $new;
|
||||
var $errormsg;
|
||||
|
||||
function benutzer($conn)
|
||||
{
|
||||
|
||||
$this->conn=$conn;
|
||||
$this->new=true;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
|
||||
|
||||
/**
|
||||
* Ladet die Attribute der Berechtigung aus der Datenbank. Bei Fehler ist der
|
||||
* Rueckgabewert 'false' und die Fehlermeldung steht in 'errormsg'.
|
||||
* @return boolean true=ok, false=fehler
|
||||
*/
|
||||
function load($id)
|
||||
{
|
||||
if(strlen($this->uid)>16)
|
||||
// Berechtigung holen
|
||||
$sql_query="SELECT * FROM tbl_userberechtigung WHERE userberechtigung_id=$id";
|
||||
//echo $sql_query;
|
||||
if(!($erg=pg_exec($this->conn, $sql_query)))
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
$this->errormsg=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
if($this->uid == '')
|
||||
$num_rows=pg_numrows($erg);
|
||||
if($num_rows!=1)
|
||||
{
|
||||
$this->errormsg = 'UID muss eingegeben werden';
|
||||
$this->errormsg="Zuwenige oder zuviele Ergebnisse (Anzahl: $num_rows)!";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->alias)>256)
|
||||
$row=pg_fetch_object($erg,0);
|
||||
|
||||
$this->userberechtigung_id=$row->userberechtigung_id;
|
||||
$this->studiengang_kz=$row->studiengang_kz;
|
||||
$this->fachbereich_id=$row->fachbereich_id;
|
||||
$this->berechtigung_kurzbz=$row->berechtigung_kurzbz;
|
||||
$this->uid=$row->uid;
|
||||
$this->studiensemester_kurzbz=$row->studiensemester_kurzbz;
|
||||
$this->start=$row->start;
|
||||
$this->ende=$row->ende;
|
||||
$this->art=$row->art;
|
||||
$this->new=false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return boolean true=ok, false=fehler
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
/*
|
||||
// Connection holen
|
||||
if (is_null($conn=$this->getConnection()))
|
||||
{
|
||||
$this->errormsg = 'Alias darf nicht laenger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->person_id))
|
||||
{
|
||||
$this->errormsg = 'person_id muss eine gueltige Zahl sein';
|
||||
// Daten zur Person speichern
|
||||
|
||||
if (!person::save()) {
|
||||
$this->errormsg.="Daten zur LVA konnten nicht gespeichert werden.";
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->aktiv))
|
||||
if ($this->new) {
|
||||
$qry="INSERT INTO tbl_lehrveranstaltung(lvnr,unr,einheit_kurzbz,".
|
||||
"lektor,lehrfach_nr,studiengang_kz,fachbereich_id,semester,verband,".
|
||||
"gruppe,raumtyp,raumtypalternativ,semesterstunden,stundenblockung,".
|
||||
"wochenrythmus,start_kw,anmerkung)".
|
||||
"values(".
|
||||
"'".$this->lvnr."',".
|
||||
"'".$this->unr."',".
|
||||
"'".$this->einheit_kurzbz."',".
|
||||
"'".$this->lektor."',".
|
||||
(strlen($this->lehrfach_nr)>0?$this->lehrfach_nr:NULL).",".
|
||||
(strlen($this->studiengang_kz)>0?$this->studiengang_kz:NULL).",".
|
||||
(strlen($this->fachbereich_id)>0?$this->fachbereich_id:NULL).",".
|
||||
(strlen($this->semester)>0?$this->semester:NULL).",".
|
||||
"'".$this->verband."',".
|
||||
"'".$this->gruppe."',".
|
||||
(strlen($this->raumtyp)>0?"'".$this->raumtyp."'":NULL).",".
|
||||
(strlen($this->raumtypalternativ)>0?"'".$this->raumtypalternativ."'":NULL).",".
|
||||
(strlen($this->semesterstunden)>0?$this->semesterstunden:NULL).",".
|
||||
(strlen($this->stundenblockung)>0?$this->stundenblockung:NULL).",".
|
||||
(strlen($this->wochenrythmus)>0?$this->wochenrythmus:NULL).",".
|
||||
(strlen($this->start_kw)>0?$this->start_kw:NULL).",".
|
||||
(strlen($this->anmerkung)>0?"'".$this->anmerkung."'":NULL).",".
|
||||
")";
|
||||
} else
|
||||
{
|
||||
$this->errormsg = 'aktiv muss ein boolscher wert sein';
|
||||
$qry="UPDATE tbl_lehrveranstaltung ".
|
||||
"SET lvnr='".$this->lvnr."',".
|
||||
"unr='".$this->unr."',".
|
||||
"einheit_kurzbz='".$this->einheit_kurzbz."',".
|
||||
"lektor='".$this->lehrfach_nr."',".
|
||||
"lehrfach_nr=".(strlen($this->lehrfach_nr)>0?$this->lehrfach_nr:NULL).",".
|
||||
"studiengang_kz=".(strlen($this->studiengang_kz)>0?$this->studiengang_kz:NULL).",".
|
||||
"fachbereich_id=".(strlen($this->fachbereich_id)>0?$this->fachbereich_id:NULL).",".
|
||||
"semester=".(strlen($this->semester)>0?$this->semester:NULL).",".
|
||||
"verband='".$this->verband."',".
|
||||
"gruppe='".$this->gruppe."',".
|
||||
"raumtyp=".(strlen($this->raumtyp)>0?"'".$this->raumtyp."'":NULL).",".
|
||||
"raumtypalternativ=".(strlen($this->raumtypalternativ)>0?"'".$this->raumtypalternativ."'":NULL).",".
|
||||
"semesterstunden=".(strlen($this->semesterstunden)>0?$this->semesterstunden:NULL).",".
|
||||
"stundenblockung=".(strlen($this->stundenblockung)>0?$this->stundenblockung:NULL).",".
|
||||
"wochenrythmus=".(strlen($this->wochenrythmus)>0?$this->wochenrythmus:NULL).",".
|
||||
"start_kw=".(strlen($this->start_kw)>0?$this->start_kw:NULL).",".
|
||||
"anmerkung=".(strlen($this->anmerkung)>0?"'".$this->anmerkung."'":NULL).
|
||||
" WHERE lehrveranstaltung_id='".$this->lehrveranstaltung_id."'";
|
||||
}
|
||||
//echo "<br>".$qry;
|
||||
if(!@pg_query($conn, $qry))
|
||||
{
|
||||
$this->errormsg=pg_errormessage($conn);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Rueckgabewert ist ein Array mit den Ergebnissen. Bei Fehler false und die
|
||||
* Fehlermeldung liegt in errormsg.
|
||||
* Wenn der Parameter stg_kz NULL ist tritt einheit_kurzbzb in Kraft.
|
||||
* @param string $uid UserID
|
||||
* @return variabel Array mit LVA; <b>false</b> bei Fehler
|
||||
*/
|
||||
function getBerechtigungen($uid)
|
||||
{
|
||||
// Berechtigungen holen
|
||||
$sql_query="SELECT * FROM tbl_userberechtigung WHERE uid='$uid' AND (start<now() OR start IS NULL) AND (ende>now() OR ende IS NULL)";
|
||||
//echo $sql_query;
|
||||
if(!$erg=@pg_query($this->conn, $sql_query))
|
||||
{
|
||||
$this->errormsg=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
//$num_rows=pg_numrows($erg);
|
||||
while($row=pg_fetch_object($erg))
|
||||
{
|
||||
$b=new berechtigung($this->conn);
|
||||
$b->userberechtigung_id=$row->userberechtigung_id;
|
||||
$b->studiengang_kz=$row->studiengang_kz;
|
||||
$b->fachbereich_id=$row->fachbereich_id;
|
||||
$b->berechtigung_kurzbz=$row->berechtigung_kurzbz;
|
||||
$b->uid=$row->uid;
|
||||
$b->studiensemester_kurzbz=$row->studiensemester_kurzbz;
|
||||
$b->start=$row->start;
|
||||
if ($row->start!=null)
|
||||
$b->starttimestamp=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8),substr($row->start,0,4));
|
||||
else
|
||||
$b->starttimestamp=null;
|
||||
$b->ende=$row->ende;
|
||||
if ($row->ende!=null)
|
||||
$b->endetimestamp=mktime(23,59,59,substr($row->ende,5,2),substr($row->ende,8),substr($row->ende,0,4));
|
||||
else
|
||||
$b->endetimestamp=null;
|
||||
$b->art=$row->art;
|
||||
$this->berechtigungen[]=$b;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * 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()
|
||||
|
||||
function isBerechtigt($berechtigung,$studiengang_kz=null,$art=null)
|
||||
{
|
||||
//Personen Datensatz speichern
|
||||
if(!person::save())
|
||||
return false;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!benutzer::validate())
|
||||
return false;
|
||||
|
||||
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
|
||||
$timestamp=time();
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_benutzer (uid, aktiv, alias, person_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
|
||||
"'".addslashes($this->uid)."',".
|
||||
($this->aktiv?'true':'false').','.
|
||||
$this->addslashes($this->alias).",'".
|
||||
$this->person_id."',".
|
||||
$this->addslashes($this->insertamum).",".
|
||||
$this->addslashes($this->insertvon).",".
|
||||
$this->addslashes($this->updateamum).",".
|
||||
$this->addslashes($this->updatevon).");";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE tbl_benutzer SET'.
|
||||
' aktiv='.($this->aktiv?'true':'false').','.
|
||||
' alias='.$this->addslashes($this->alias).','.
|
||||
" person_id='".$this->person_id."',".
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).
|
||||
" WHERE uid='".addslashes($this->uid)."';";
|
||||
if($berechtigung == $b->berechtigung_kurzbz && $studiengang_kz==null && $art==null)
|
||||
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
|
||||
{
|
||||
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
||||
if ($berechtigung==$b->berechtigung_kurzbz
|
||||
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0) && $art==null)
|
||||
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
|
||||
{
|
||||
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
||||
if ($berechtigung==$b->berechtigung_kurzbz
|
||||
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0)
|
||||
&& strstr($b->art,$art))
|
||||
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
|
||||
{
|
||||
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt Array mit Kennzahlen der Studiengaenge sortiert zurueck.
|
||||
* Optional wird auf Berechtigung eingeschraenkt.
|
||||
* Wenn Berechtigung ueber alle Studiengaenge steht im ersten Feld 0.
|
||||
*/
|
||||
function getStgKz($berechtigung=null)
|
||||
{
|
||||
$studiengang_kz=array();
|
||||
$timestamp=time();
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
foreach ($this->berechtigungen as $b)
|
||||
if ($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null)
|
||||
$studiengang_kz[]=$b->studiengang_kz;
|
||||
$studiengang_kz=array_unique($studiengang_kz);
|
||||
sort($studiengang_kz);
|
||||
return $studiengang_kz;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setzt die Studiensemester Variable
|
||||
*/
|
||||
function setVariableStudiensemester($user,$stsem)
|
||||
{
|
||||
//Vorhandende Variable aendern
|
||||
$qry = "Update tbl_variable SET wert='$stsem' WHERE uid='$user' AND name='semester_aktuell'";
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
if(pg_affected_rows($result)==0)
|
||||
{
|
||||
//Falls Variable nicht vorhanden ist eine neue anlegen
|
||||
$qry = "INSERT INTO tbl_variable(uid, name, wert) values('$user', 'semester_aktuell', '$stsem')";
|
||||
if(pg_query($this->conn,$qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg.=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Benutzer-Datensatzes:'.$qry;
|
||||
{
|
||||
$this->errormsg.=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getpossibilities($variable)
|
||||
{
|
||||
$ret = array();
|
||||
|
||||
switch($variable)
|
||||
{
|
||||
case 'semester_aktuell':
|
||||
$qry = "Select * from tbl_studiensemester order by start";
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
$ret[] = $row->studiensemester_kurzbz;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
function loadVariables($user)
|
||||
{
|
||||
if(!($result=@pg_query($this->conn, "SELECT * FROM tbl_variable WHERE uid='$user'")))
|
||||
{
|
||||
$this->errormsg.=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
$num_rows=@pg_numrows($result);
|
||||
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$this->variable->{$row->name}=$row->wert;
|
||||
}
|
||||
|
||||
if (!isset($this->variable->semester_aktuell))
|
||||
{
|
||||
if(!($result=@pg_query($this->conn, 'SELECT * FROM tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1')))
|
||||
{
|
||||
$this->errormsg.=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$num_rows=@pg_numrows($result);
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row=pg_fetch_object($result);
|
||||
$this->variable->semester_aktuell=$row->studiensemester_kurzbz;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($this->variable->db_stpl_table))
|
||||
$this->variable->db_stpl_table='stundenplan';
|
||||
|
||||
if (!isset($this->variable->fas_id))
|
||||
$this->variable->fas_id=0;
|
||||
|
||||
if (!isset($this->variable->sleep_time))
|
||||
$this->variable->sleep_time=300;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,386 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Klasse fuer Berechtigungen der User
|
||||
* @author Christian Paminger
|
||||
* @version 1.0
|
||||
* @updated 11-Feb-2004
|
||||
*/
|
||||
class benutzer
|
||||
{
|
||||
/**
|
||||
* interne userberechtigung_id (Zaehler aus DB)
|
||||
* @var integer
|
||||
*/
|
||||
var $userberechtigung_id;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $studiengang_kz;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $fachbereich_id;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
var $berechtigung_kurzbz;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
var $uid;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
var $studiensemester_kurzbz;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $start;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $ende;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $starttimestamp;
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
var $endetimestamp;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
var $art;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
var $berechtigungen=array();
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
|
||||
var $variable;
|
||||
|
||||
var $conn; //Vilesci Connection
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
var $new;
|
||||
var $errormsg;
|
||||
|
||||
function benutzer($conn)
|
||||
{
|
||||
$this->conn=$conn;
|
||||
$this->new=true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ladet die Attribute der Berechtigung aus der Datenbank. Bei Fehler ist der
|
||||
* Rueckgabewert 'false' und die Fehlermeldung steht in 'errormsg'.
|
||||
* @return boolean true=ok, false=fehler
|
||||
*/
|
||||
function load($id)
|
||||
{
|
||||
// Berechtigung holen
|
||||
$sql_query="SELECT * FROM tbl_userberechtigung WHERE userberechtigung_id=$id";
|
||||
//echo $sql_query;
|
||||
if(!($erg=pg_exec($this->conn, $sql_query)))
|
||||
{
|
||||
$this->errormsg=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
$num_rows=pg_numrows($erg);
|
||||
if($num_rows!=1)
|
||||
{
|
||||
$this->errormsg="Zuwenige oder zuviele Ergebnisse (Anzahl: $num_rows)!";
|
||||
return false;
|
||||
}
|
||||
$row=pg_fetch_object($erg,0);
|
||||
|
||||
$this->userberechtigung_id=$row->userberechtigung_id;
|
||||
$this->studiengang_kz=$row->studiengang_kz;
|
||||
$this->fachbereich_id=$row->fachbereich_id;
|
||||
$this->berechtigung_kurzbz=$row->berechtigung_kurzbz;
|
||||
$this->uid=$row->uid;
|
||||
$this->studiensemester_kurzbz=$row->studiensemester_kurzbz;
|
||||
$this->start=$row->start;
|
||||
$this->ende=$row->ende;
|
||||
$this->art=$row->art;
|
||||
$this->new=false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return boolean true=ok, false=fehler
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
/*
|
||||
// Connection holen
|
||||
if (is_null($conn=$this->getConnection()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// Daten zur Person speichern
|
||||
|
||||
if (!person::save()) {
|
||||
$this->errormsg.="Daten zur LVA konnten nicht gespeichert werden.";
|
||||
return false;
|
||||
}
|
||||
if ($this->new) {
|
||||
$qry="INSERT INTO tbl_lehrveranstaltung(lvnr,unr,einheit_kurzbz,".
|
||||
"lektor,lehrfach_nr,studiengang_kz,fachbereich_id,semester,verband,".
|
||||
"gruppe,raumtyp,raumtypalternativ,semesterstunden,stundenblockung,".
|
||||
"wochenrythmus,start_kw,anmerkung)".
|
||||
"values(".
|
||||
"'".$this->lvnr."',".
|
||||
"'".$this->unr."',".
|
||||
"'".$this->einheit_kurzbz."',".
|
||||
"'".$this->lektor."',".
|
||||
(strlen($this->lehrfach_nr)>0?$this->lehrfach_nr:NULL).",".
|
||||
(strlen($this->studiengang_kz)>0?$this->studiengang_kz:NULL).",".
|
||||
(strlen($this->fachbereich_id)>0?$this->fachbereich_id:NULL).",".
|
||||
(strlen($this->semester)>0?$this->semester:NULL).",".
|
||||
"'".$this->verband."',".
|
||||
"'".$this->gruppe."',".
|
||||
(strlen($this->raumtyp)>0?"'".$this->raumtyp."'":NULL).",".
|
||||
(strlen($this->raumtypalternativ)>0?"'".$this->raumtypalternativ."'":NULL).",".
|
||||
(strlen($this->semesterstunden)>0?$this->semesterstunden:NULL).",".
|
||||
(strlen($this->stundenblockung)>0?$this->stundenblockung:NULL).",".
|
||||
(strlen($this->wochenrythmus)>0?$this->wochenrythmus:NULL).",".
|
||||
(strlen($this->start_kw)>0?$this->start_kw:NULL).",".
|
||||
(strlen($this->anmerkung)>0?"'".$this->anmerkung."'":NULL).",".
|
||||
")";
|
||||
} else
|
||||
{
|
||||
$qry="UPDATE tbl_lehrveranstaltung ".
|
||||
"SET lvnr='".$this->lvnr."',".
|
||||
"unr='".$this->unr."',".
|
||||
"einheit_kurzbz='".$this->einheit_kurzbz."',".
|
||||
"lektor='".$this->lehrfach_nr."',".
|
||||
"lehrfach_nr=".(strlen($this->lehrfach_nr)>0?$this->lehrfach_nr:NULL).",".
|
||||
"studiengang_kz=".(strlen($this->studiengang_kz)>0?$this->studiengang_kz:NULL).",".
|
||||
"fachbereich_id=".(strlen($this->fachbereich_id)>0?$this->fachbereich_id:NULL).",".
|
||||
"semester=".(strlen($this->semester)>0?$this->semester:NULL).",".
|
||||
"verband='".$this->verband."',".
|
||||
"gruppe='".$this->gruppe."',".
|
||||
"raumtyp=".(strlen($this->raumtyp)>0?"'".$this->raumtyp."'":NULL).",".
|
||||
"raumtypalternativ=".(strlen($this->raumtypalternativ)>0?"'".$this->raumtypalternativ."'":NULL).",".
|
||||
"semesterstunden=".(strlen($this->semesterstunden)>0?$this->semesterstunden:NULL).",".
|
||||
"stundenblockung=".(strlen($this->stundenblockung)>0?$this->stundenblockung:NULL).",".
|
||||
"wochenrythmus=".(strlen($this->wochenrythmus)>0?$this->wochenrythmus:NULL).",".
|
||||
"start_kw=".(strlen($this->start_kw)>0?$this->start_kw:NULL).",".
|
||||
"anmerkung=".(strlen($this->anmerkung)>0?"'".$this->anmerkung."'":NULL).
|
||||
" WHERE lehrveranstaltung_id='".$this->lehrveranstaltung_id."'";
|
||||
}
|
||||
//echo "<br>".$qry;
|
||||
if(!@pg_query($conn, $qry))
|
||||
{
|
||||
$this->errormsg=pg_errormessage($conn);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Rueckgabewert ist ein Array mit den Ergebnissen. Bei Fehler false und die
|
||||
* Fehlermeldung liegt in errormsg.
|
||||
* Wenn der Parameter stg_kz NULL ist tritt einheit_kurzbzb in Kraft.
|
||||
* @param string $uid UserID
|
||||
* @return variabel Array mit LVA; <b>false</b> bei Fehler
|
||||
*/
|
||||
function getBerechtigungen($uid)
|
||||
{
|
||||
// Berechtigungen holen
|
||||
$sql_query="SELECT * FROM tbl_userberechtigung WHERE uid='$uid' AND (start<now() OR start IS NULL) AND (ende>now() OR ende IS NULL)";
|
||||
//echo $sql_query;
|
||||
if(!$erg=@pg_query($this->conn, $sql_query))
|
||||
{
|
||||
$this->errormsg=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
//$num_rows=pg_numrows($erg);
|
||||
while($row=pg_fetch_object($erg))
|
||||
{
|
||||
$b=new berechtigung($this->conn);
|
||||
$b->userberechtigung_id=$row->userberechtigung_id;
|
||||
$b->studiengang_kz=$row->studiengang_kz;
|
||||
$b->fachbereich_id=$row->fachbereich_id;
|
||||
$b->berechtigung_kurzbz=$row->berechtigung_kurzbz;
|
||||
$b->uid=$row->uid;
|
||||
$b->studiensemester_kurzbz=$row->studiensemester_kurzbz;
|
||||
$b->start=$row->start;
|
||||
if ($row->start!=null)
|
||||
$b->starttimestamp=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8),substr($row->start,0,4));
|
||||
else
|
||||
$b->starttimestamp=null;
|
||||
$b->ende=$row->ende;
|
||||
if ($row->ende!=null)
|
||||
$b->endetimestamp=mktime(23,59,59,substr($row->ende,5,2),substr($row->ende,8),substr($row->ende,0,4));
|
||||
else
|
||||
$b->endetimestamp=null;
|
||||
$b->art=$row->art;
|
||||
$this->berechtigungen[]=$b;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
function isBerechtigt($berechtigung,$studiengang_kz=null,$art=null)
|
||||
{
|
||||
$timestamp=time();
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
if($berechtigung == $b->berechtigung_kurzbz && $studiengang_kz==null && $art==null)
|
||||
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
|
||||
{
|
||||
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
||||
if ($berechtigung==$b->berechtigung_kurzbz
|
||||
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0) && $art==null)
|
||||
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
|
||||
{
|
||||
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
||||
if ($berechtigung==$b->berechtigung_kurzbz
|
||||
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0)
|
||||
&& strstr($b->art,$art))
|
||||
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
|
||||
{
|
||||
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt Array mit Kennzahlen der Studiengaenge sortiert zurueck.
|
||||
* Optional wird auf Berechtigung eingeschraenkt.
|
||||
* Wenn Berechtigung ueber alle Studiengaenge steht im ersten Feld 0.
|
||||
*/
|
||||
function getStgKz($berechtigung=null)
|
||||
{
|
||||
$studiengang_kz=array();
|
||||
$timestamp=time();
|
||||
|
||||
foreach ($this->berechtigungen as $b)
|
||||
if ($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null)
|
||||
$studiengang_kz[]=$b->studiengang_kz;
|
||||
$studiengang_kz=array_unique($studiengang_kz);
|
||||
sort($studiengang_kz);
|
||||
return $studiengang_kz;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setzt die Studiensemester Variable
|
||||
*/
|
||||
function setVariableStudiensemester($user,$stsem)
|
||||
{
|
||||
//Vorhandende Variable aendern
|
||||
$qry = "Update tbl_variable SET wert='$stsem' WHERE uid='$user' AND name='semester_aktuell'";
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
if(pg_affected_rows($result)==0)
|
||||
{
|
||||
//Falls Variable nicht vorhanden ist eine neue anlegen
|
||||
$qry = "INSERT INTO tbl_variable(uid, name, wert) values('$user', 'semester_aktuell', '$stsem')";
|
||||
if(pg_query($this->conn,$qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg.=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg.=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getpossibilities($variable)
|
||||
{
|
||||
$ret = array();
|
||||
|
||||
switch($variable)
|
||||
{
|
||||
case 'semester_aktuell':
|
||||
$qry = "Select * from tbl_studiensemester order by start";
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
$ret[] = $row->studiensemester_kurzbz;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
function loadVariables($user)
|
||||
{
|
||||
if(!($result=@pg_query($this->conn, "SELECT * FROM tbl_variable WHERE uid='$user'")))
|
||||
{
|
||||
$this->errormsg.=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
$num_rows=@pg_numrows($result);
|
||||
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$this->variable->{$row->name}=$row->wert;
|
||||
}
|
||||
|
||||
if (!isset($this->variable->semester_aktuell))
|
||||
{
|
||||
if(!($result=@pg_query($this->conn, 'SELECT * FROM tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1')))
|
||||
{
|
||||
$this->errormsg.=pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$num_rows=@pg_numrows($result);
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row=pg_fetch_object($result);
|
||||
$this->variable->semester_aktuell=$row->studiensemester_kurzbz;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($this->variable->db_stpl_table))
|
||||
$this->variable->db_stpl_table='stundenplan';
|
||||
|
||||
if (!isset($this->variable->fas_id))
|
||||
$this->variable->fas_id=0;
|
||||
|
||||
if (!isset($this->variable->sleep_time))
|
||||
$this->variable->sleep_time=300;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,185 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class benutzerberechtigung
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $benutzerberechtigungen = array(); // benutzerberechtigung Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $benutzerberechtigung_id; // int
|
||||
var $art; // varchar(16)
|
||||
var $fachbereich_kurzbz; // int
|
||||
var $studiengang_kz; // int
|
||||
var $berechtigung_kurzbz; // varchar(16)
|
||||
var $uid; // varchar(16)
|
||||
var $studiensemester_kurzbz; // varchar(16)
|
||||
var $start; // date
|
||||
var $ende; // date
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $benutzerberechtigung_id
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function benutzerberechtigung($conn, $benutzerberechtigung_id=null, $unicode=false)
|
||||
{
|
||||
$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($benutzerberechtigung_id!=null)
|
||||
$this->load($benutzerberechtigung_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt eine Benutzerberechtigung
|
||||
// * @param benutzerberechtigung_id
|
||||
// *********************************************************
|
||||
function load($benutzerberechtigung_id)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->art)>16)
|
||||
{
|
||||
$this->errormsg = 'Art darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(strlen($this->fachbereich_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Fachbereich_id darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->studiengang_kz!='' && !is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengangskennzahl muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->berechtigung_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Berechtigung_kurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->berechtigung_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Berechtigung_kurzbz muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->uid=='')
|
||||
{
|
||||
$this->errormsg = 'UID muss angegeben werden';
|
||||
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 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 save()
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_benutzerberechtigung (art, fachbereich_kurzbz, studiengang_kz, berechtigung_kurzbz,
|
||||
uid, studiensemester_kurzbz, start, ende)
|
||||
VALUES('.$this->addslashes($this->art).','.
|
||||
$this->addslashes($this->fachbereich_kurzbz).','.
|
||||
$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->berechtigung_kurzbz).','.
|
||||
$this->addslashes($this->uid).','.
|
||||
$this->addslashes($this->studiensemester_kurzbz).','.
|
||||
$this->addslashes($this->start).','.
|
||||
$this->addslashes($this->ende).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE tbl_benutzerberechtigung SET'.
|
||||
' art='.$this->addslashes($this->art).','.
|
||||
' fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).','.
|
||||
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
|
||||
' berechtigung_kurzbz='.$this->addslashes($this->berechtigung_kurzbz).','.
|
||||
' uid='.$this->addslashes($this->uid).','.
|
||||
' studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).','.
|
||||
' start='.$this->addslashes($this->start).','.
|
||||
' ende='.$this->addslashes($this->ende).
|
||||
" WHERE benutzerberechtigung_id='".addslashes($this->benutzerberechtigung_id)."'";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Feedbacks:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,244 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse benutzerfunktion (FAS-Online)
|
||||
* @create 04-12-2006
|
||||
*/
|
||||
|
||||
class benutzerfunktion
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var benutzerfunktion Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $benutzerfunktion_id; // @var serial
|
||||
var $fachbereich_kurzbz; // @var integer
|
||||
var $uid; // @var varchar(16)
|
||||
var $studiengang_kz; // @var integer
|
||||
var $funktion_kurzbz; // @var varchar(16)
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
var $insertamum; // @var timestamp
|
||||
var $insertvon=0; // @var string
|
||||
var $ext_id; // @var bigint
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $benutzerfunktion_id ID der zu ladenden Funktion
|
||||
*/
|
||||
function benutzerfunktion($conn, $benutzerfunktion_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($benutzerfunktion_id != null)
|
||||
$this->load($benutzerfunktion_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Benutzerfunktionen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM tbl_benutzerfunktion ORDER BY benutzerfunktion_id;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$pfunktion_obj = new personenfunktion($this->conn);
|
||||
|
||||
$pfunktion_obj->benutzerfunktion_id = $row->benutzerfunktion_id;
|
||||
$pfunktion_obj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$pfunktion_obj->uid = $row->uid;
|
||||
$pfunktion_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$pfunktion_obj->funktion_kurzbz = $row->funtion_kurzbz;
|
||||
$pfunktion_obj->insertamum = $row->insertamum;
|
||||
$pfunktion_obj->insertvon = $row->insertvon;
|
||||
$pfunktion_obj->updateamum = $row->updateamum;
|
||||
$pfunktion_obj->updatevon = $row->updatevon;
|
||||
|
||||
$this->result[] = $pfunktion_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine Benutzerfunktion
|
||||
* @param $bnutzerfunktion_id ID der zu ladenden Funktion
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($benutzerfunktion_id)
|
||||
{
|
||||
if($benutzerfunktion_id == '')
|
||||
{
|
||||
$this->errormsg = 'benutzerfunktion_id muß eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM tbl_benutzerfunktion WHERE benutzerfunktion_id = '$this->benutzerfunktion_id';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->benutzerfunktion_id = $row->benutzerfunktion_id;
|
||||
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$this->uid = $row->uid;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $fbenutzerfunktion_id id des Datensatzes der geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($benutzerfunktion_id)
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
//if(!$this->checkvars())
|
||||
// return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
//Pruefen ob uid vorhanden
|
||||
$qry = "SELECT uid FROM tbl_benutzer WHERE uid = '$this->uid';";
|
||||
if(!$resx = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pg_num_rows($resx)==0)
|
||||
{
|
||||
$this->errormsg = "uid <b>$this->uid</b> in Tabelle tbl_benutzer nicht gefunden!";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$qry = 'INSERT INTO tbl_benutzerfunktion (fachbereich_kurzbz, uid, studiengang_kz, funktion_kurzbz, insertamum, insertvon,
|
||||
updateamum, updatevon) VALUES ('.
|
||||
$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
$this->addslashes($this->uid).', '.
|
||||
$this->addslashes($this->studiengang_kz).', '.
|
||||
$this->addslashes($this->funktion_kurzbz).', '.
|
||||
$this->addslashes($this->insertamum).', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).'); ';
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob benutzerfunktion_id eine gueltige Zahl ist
|
||||
if(!is_numeric($this->benutzerfunktion_id) || $this->benutzerfunktion_id == '')
|
||||
{
|
||||
$this->errormsg = 'benutzerfunktion_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE tbl_benutzerfunktion SET '.
|
||||
'benutzerfunktion_id='.$this->addslashes($this->benutzerfunktion_id).', '.
|
||||
'fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
'uid='.$this->addslashes($this->uid).', '.
|
||||
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
|
||||
'funktion_kurzbz='.$this->addslashes($this->funktion_kurzbz).', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum).', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon).', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum).', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE benutzerfunktion_id = '.$this->addslashes($this->benutzerfunktion_id).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
/*//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}*/
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes - '.$this->uid;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,160 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class benutzergruppe
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $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)
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)
|
||||
{
|
||||
$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)
|
||||
$this->load($uid, $gruppe_kurzbz);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die BenutzerGruppe
|
||||
// * @param gruppe_kurzbz
|
||||
// *********************************************************
|
||||
function load($uid, $gruppe_kurzbz)
|
||||
{
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nich laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gruppe_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->updatevon)>16)
|
||||
{
|
||||
//ToDo: Just 4 Sync dannach wieder errormsg setzen
|
||||
$this->updatevon = substr($this->updatevon,0,15);
|
||||
}
|
||||
if(strlen($this->insertvon)>16)
|
||||
{
|
||||
$this->errormsg = 'Insertvon darf nicht laenger als 16 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 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)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_benutzergruppe (uid, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon)
|
||||
VALUES('.$this->addslashes($this->uid).','.
|
||||
$this->addslashes($this->gruppe_kurzbz).','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//ToDo
|
||||
$qry = 'Select 1;';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der BenutzerGruppe:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,152 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class benutzerlvstudiensemester
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $benutzerlvstudiensemester = array(); // benutzerlvstudiensemester Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $uid; // varchar(16)
|
||||
var $studiensemester_kurzbz; // varchar(16)
|
||||
var $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)
|
||||
{
|
||||
$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;
|
||||
|
||||
if($uid!=null && $studiensemester_kurzbz!=null && $lehrveranstaltung_id!=null)
|
||||
$this->load($uid, $studiensemester_kurzbz, $lehrveranstaltung_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt eine Zuteilung
|
||||
// * @param $uid, $studiensemester_kurzbz, $lehrveranstaltung_nr
|
||||
// *********************************************************
|
||||
function load($uid, $studiensemester_kurzbz, $lehrveranstaltung_id)
|
||||
{
|
||||
$this->errormsg = 'Not implemented';
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->studiensemester_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Studiensemester_kurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrveranstaltungsnummer muss eine gueltige Zahl 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 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)
|
||||
{
|
||||
if(!is_null($new))
|
||||
$this->new = $new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = 'INSERT INTO campus.tbl_benutzerlvstudiensemester (uid, studiensemester_kurzbz, lehrveranstaltung_id)
|
||||
VALUES('.$this->addslashes($this->uid).','.
|
||||
$this->addslashes($this->studiensemester_kurzbz).','.
|
||||
$this->addslashes($this->lehrveranstaltung_id).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
// ToDo
|
||||
$qry = 'Select 1;';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
$this->new = false;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der BenutzerLVStudiensemester:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,138 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class berechtigung
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $berechtigungen = array(); // berechtigung Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $berechtigung_kurzbz; // varchar(16)
|
||||
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)
|
||||
{
|
||||
$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($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 tbl_berechtigung (berechtigung_kurzbz, beschreibung)
|
||||
VALUES('.$this->addslashes($this->berechtigung_kurzbz).','.
|
||||
$this->addslashes($this->beschreibung).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,711 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse funktionen (FAS-Online)
|
||||
* Verwaltet die Funktionen der Mitarbeiter
|
||||
* @create 07-03-2006
|
||||
*/
|
||||
|
||||
class funktion
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $errormsg; // @var string
|
||||
var $new; // @var boolean
|
||||
var $result = array(); // @var funktion Objekt
|
||||
|
||||
//vars fuer Tabellenspalten
|
||||
var $funktion_id; // @var integer
|
||||
var $mitarbeiter_id; // @var integer
|
||||
var $studiensemester_id; // @var integer
|
||||
var $erhalter_id; // @var integer
|
||||
var $studiengang_id; // @var integer
|
||||
var $fachbereich_id; // @var integer
|
||||
var $name; // @var string
|
||||
var $funktion; // @var integer ( 0 = Mitarbeiter, 1 = Lektor, 2 = Fachbereichskoordinatior, 3 = Assistenz,
|
||||
// 4 = Rektor, 5 = Studiengangsleiter, 6 = Fachbereichsleiter)
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
var $beschart1; // @var integer ( 1 = Dienstverhaeltnis zum Bund, 2 = Dienstverhaeltnis zu einer anderen Gebietskoerperschaft,
|
||||
// 3 = Echter Dienstvertrag, 4 = Freier Dienstvertrag, 5 = Lehre/Ausbildung, 6 = Sonstiges)
|
||||
var $beschart2; // @var integer ( 1 = befristet, 2 = unbefristet)
|
||||
var $verwendung; // @var integer
|
||||
var $hauptberuflich; // @var boolean
|
||||
var $hauptberuf; // @var integer
|
||||
var $entwicklungsteam; // @var boolean
|
||||
var $besonderequalifikation; // @var integer
|
||||
var $sws; // @var float wird nicht verwendet
|
||||
var $ausmass; // @var float ( 1 = Vollzeit, 2 = <=15 Wochenstd, 3 = 15-25 Wochenstd, 4 = 26-36 Wochenstd, 5 = Karenz)
|
||||
var $status; // @var integer Aktstatus der Person (wird bei loeschen einer funktion gesetzt)
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur Datenbank
|
||||
* $fkt_id Id der zu ladenden Funktion (Default=null)
|
||||
*/
|
||||
function funktion($conn, $fkt_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
if($fkt_id != null)
|
||||
$this->load($fkt_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* loescht die Funktion mit der uebergebenen ID
|
||||
* @param $funktion_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($funktion_id)
|
||||
{
|
||||
//Pruefen ob funktion_id gueltig ist
|
||||
if(is_numeric($funktion_id) && $funktion_id != '')
|
||||
{
|
||||
//Person ermitteln
|
||||
$person_id=0;
|
||||
$mitarbeiter_id=0;
|
||||
$qry = "Select person_fk, mitarbeiter_pk from mitarbeiter join funktion on(mitarbeiter_pk=mitarbeiter_fk) where funktion_pk = $funktion_id";
|
||||
if($row=pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
$person_id = $row->person_fk;
|
||||
$mitarbeiter_id = $row->mitarbeiter_pk;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim ermitteln der Person';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM funktion WHERE funktion_pk=$funktion_id;";
|
||||
$sql = $qry;
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Neuen aktstatus ermitteln
|
||||
$qry = "Select aktstatus from person where person_pk=$person_id";
|
||||
if($row=pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
$aktstatus = $row->aktstatus;
|
||||
if($aktstatus!=150) //wenn er nicht ausgeschieden ist
|
||||
{
|
||||
//Funktionen holen
|
||||
$qry = "Select funktion from funktion where ".
|
||||
"studiensemester_fk = (Select studiensemester_pk from studiensemester where aktuell='J')".
|
||||
" AND mitarbeiter_fk = '$mitarbeiter_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
$fkt=array();
|
||||
$i=0;
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$fkt[$i]=$row->funktion;
|
||||
$i++;
|
||||
}
|
||||
|
||||
//Aktstatus ermitteln
|
||||
if(in_array(5,$fkt)) //STGL
|
||||
$aktstatus = 104;
|
||||
elseif(in_array(6,$fkt)) //FBL
|
||||
$aktstatus = 103;
|
||||
elseif(in_array(2,$fkt)) //FBK
|
||||
$aktstatus = 102;
|
||||
elseif(in_array(1,$fkt)) //LKT
|
||||
$aktstatus = 101;
|
||||
else
|
||||
$aktstatus = 100; //Mitarbeiter
|
||||
|
||||
$this->status = $aktstatus;
|
||||
//neuen akstatus setzen
|
||||
$qry = "Update person set aktstatus = $aktstatus where person_pk = $person_id";
|
||||
if(pg_query($qry))
|
||||
{
|
||||
//Log schreiben
|
||||
$sql .= $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim setzen des Aktstatus';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des aktuellen Status';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Beim loeschen ist ein Fehler aufgetreten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'funktion_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
//Hochkomma und HTML Tags ersetzen
|
||||
//$this->name = htmlentities($this->name, ENT_QUOTES);
|
||||
|
||||
//Maximallaenge pruefen
|
||||
$this->errormsg = 'Die Maximallaenge eines Feldes wurde ueberschritten';
|
||||
if(strlen($this->name)>255) return false;
|
||||
|
||||
//Zahlenwerte ueberpruefen
|
||||
/*
|
||||
$this->errormsg = 'Ein Zahlenfeld enthaelt ungueltige Zeichen';
|
||||
|
||||
if(!is_numeric($this->funktion)) return false;
|
||||
if(!is_numeric($this->beschart1)) return false;
|
||||
if(!is_numeric($this->beschart2)) return false;
|
||||
if(!is_numeric($this->verwendung)) return false;
|
||||
if(!is_numeric($this->hauptberuf)) return false;
|
||||
if(!is_numeric($this->sws)) $this->sws=0;
|
||||
if(!is_numeric($this->ausmass)) return false;
|
||||
if(!is_numeric($this->mitarbeiter_id)) return false;
|
||||
if(!is_numeric($this->erhalter_id)) return false;
|
||||
if(!is_numeric($this->studiengang_id)) return false;
|
||||
if(!is_numeric($this->fachbereich_id)) return false;
|
||||
if(!is_numeric($this->studiensemester_id)) return false;
|
||||
if(!is_numeric($this->besonderequalifikation)) return false;
|
||||
*/
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert die Daten in die Datenbank
|
||||
* @return true wenn OK, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
//neuen aktstatus ermitteln
|
||||
if($status=$this->getaktstatus())
|
||||
$statusqry = "Update person SET aktstatus=$status where person_pk = (Select person_fk from mitarbeiter where mitarbeiter_pk='$this->mitarbeiter_id');";
|
||||
else
|
||||
$statusqry = "";
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Naechste ID aus der Sequence holen
|
||||
$qry = "SELECT nextval('funktion_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
$this->errormsg = 'Sequence konnte nicht ausgelesen werden';
|
||||
return false;
|
||||
}
|
||||
$this->funktion_id = $row->id;
|
||||
|
||||
$qry= $statusqry."INSERT INTO funktion (funktion_pk, mitarbeiter_fk, studiensemester_fk, erhalter_fk, studiengang_fk,".
|
||||
" fachbereich_fk, name, funktion, creationdate, creationuser, beschart1, beschart2, verwendung,".
|
||||
" hauptberuflich, hauptberuf, entwicklungsteam, besonderequalifikation, sws, ausmass) VALUES(".
|
||||
" '$this->funktion_id','$this->mitarbeiter_id', '$this->studiensemester_id', '$this->erhalter_id',".
|
||||
($this->studiengang_id!=''?" '$this->studiengang_id'":'null').",".
|
||||
($this->fachbereich_id!=''?" '$this->fachbereich_id'":'null').",".
|
||||
($this->name!=''?" '$this->name'":'null').",".
|
||||
($this->funktion!=''?" '$this->funktion'":'null').", now(), $this->updatevon,".
|
||||
($this->beschart1!=''?" '$this->beschart1'":'null').",".
|
||||
($this->beschart2!=''?" '$this->beschart2'":'null').",".
|
||||
($this->verwendung!=''?" '$this->verwendung'":'null').", '".($this->hauptberuflich?'J':'N')."',".
|
||||
($this->hauptberuf!=''?" '$this->hauptberuf'":'null').", '".($this->entwicklungsteam?'J':'N')."',".
|
||||
($this->besonderequalifikation!=''?" '$this->besonderequalifikation'":'null').", null,".
|
||||
($this->ausmass!=''?" '$this->ausmass'":'null').")";
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!is_numeric($this->mitarbeiter_id) && !is_numeric($this->funktion_id))
|
||||
{
|
||||
$this->errormsg = 'mitarbeiter_id und funktion_id muessen eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry= $statusqry. "UPDATE funktion SET ".
|
||||
" studiensemester_fk=".($this->studiensemester_id!=''?"'$this->studiensemester_id'":'null').",".
|
||||
" erhalter_fk=".($this->erhalter_id!=''?"'$this->erhalter_id'":'null').",".
|
||||
" studiengang_fk=".($this->studiengang_id!=''?"'$this->studiengang_id'":'null').",".
|
||||
" fachbereich_fk=".($this->fachbereich_id!=''?"'$this->fachbereich_id'":'null').",".
|
||||
" name=".($this->name!=''?"'$this->name'":'null').",".
|
||||
" funktion=".($this->funktion!=''?"'$this->funktion'":'null').",".
|
||||
" beschart1=".($this->beschart1!=''?"'$this->beschart1'":'null').",".
|
||||
" beschart2=".($this->beschart2!=''?"'$this->beschart2'":'null').",".
|
||||
" verwendung=".($this->verwendung!=''?"'$this->verwendung'":'null').",".
|
||||
" hauptberuflich='".($this->hauptberuflich?'J':'N')."',".
|
||||
" hauptberuf=".($this->hauptberuf!=''?"'$this->hauptberuf'":'null').",".
|
||||
" entwicklungsteam='".($this->entwicklungsteam?'J':'N')."',".
|
||||
" besonderequalifikation=".($this->besonderequalifikation!=''?"'$this->besonderequalifikation'":'null').",".
|
||||
" sws=".($this->sws!=''?"'$this->sws'":'null').",".
|
||||
" ausmass=".($this->ausmass!=''?"'$this->ausmass'":'null').
|
||||
" WHERE funktion_pk=$this->funktion_id"; // AND mitarbeiter_fk=$this->mitarbeiter_id";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
$qry = "UPDATE funktion SET hauptberuflich='".($this->hauptberuflich?'J':'N')."', hauptberuf=".($this->hauptberuf!=''?"'$this->hauptberuf'":'null')." WHERE mitarbeiter_fk ='$this->mitarbeiter_id' AND studiensemester_fk='$this->studiensemester_id'";
|
||||
if(!pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Updaten der Funktionen';
|
||||
return false;
|
||||
}
|
||||
//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ermittelt den neuen aktstatus einer Person
|
||||
*/
|
||||
function getaktstatus()
|
||||
{
|
||||
$aktstatus=100;
|
||||
//Aktuellen Status holen
|
||||
$qry = "Select aktstatus from person join mitarbeiter on(person_fk=person_pk) where mitarbeiter_pk='".$this->mitarbeiter_id."'";
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
$aktstatus = $row->aktstatus;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des aktuellen Status';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des aktuellen Status';
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
//Wenn die Funktion das aktuelle Studiensemester betrifft
|
||||
$qry = "Select studiensemester_pk from studiensemester where aktuell='J'";
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
if($row=pg_fetch_object($result))
|
||||
{
|
||||
if($row->studiensemester_pk == $this->studiensemester_id)
|
||||
{
|
||||
*/
|
||||
//Neuen Status setzen
|
||||
if($this->funktion == 1 && $aktstatus < 101) //Lektor
|
||||
$aktstatus = 101;
|
||||
elseif($this->funktion == 2 && $aktstatus < 102) //Fachbereichskoordinator
|
||||
$aktstatus = 102;
|
||||
elseif($this->funktion == 6 && $aktstatus < 103) //Fachbereichsleiter
|
||||
$aktstatus = 103;
|
||||
elseif($this->funktion == 5 && $aktstatus < 104) //Studiengangsleiter
|
||||
$aktstatus = 104;
|
||||
/* }
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des aktuellen Studiensemesters';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des aktuellen Studiensemesters';
|
||||
return false;
|
||||
}*/
|
||||
$this->status = $aktstatus;
|
||||
return $aktstatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine Funktion aus der DB
|
||||
* @param $fkt_id ID der zu ladenden Funktion
|
||||
* @return true wenn erfolgreich geladen, false im Fehlerfall
|
||||
*/
|
||||
function load($fkt_id)
|
||||
{
|
||||
//Pruefen ob fkt_id gueltig ist
|
||||
if(!is_numeric($fkt_id))
|
||||
{
|
||||
$this->errormsg = 'funktion_id muss eine Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM funktion WHERE funktion_pk=$fkt_id";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
$this->funktion_id = $row->funktion_pk;
|
||||
$this->mitarbeiter_id = $row->mitarbeiter_fk;
|
||||
$this->studiensemester_id = $row->studiensemester_fk;
|
||||
$this->erhalter_id = $row->erhalter_fk;
|
||||
$this->studiengang_id = $row->studiengang_fk;
|
||||
$this->fachbereich_id = $row->fachbereich_fk;
|
||||
$this->name = $row->name;
|
||||
$this->funktion = $row->funktion;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
$this->beschart1 = $row->beschart1;
|
||||
$this->beschart2 = $row->beschart2;
|
||||
$this->verwendung = $row->verwendung;
|
||||
$this->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
|
||||
$this->hauptberuf = $row->hauptberuf;
|
||||
$this->entwicklungsteam = ($row->entwicklungsteam=='J'?true:false);
|
||||
$this->besonderequalifikation = $row->besonderequalifikation;
|
||||
$this->sws = $row->sws;
|
||||
$this->ausmass = $row->ausmass;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Funktion(en) eines Mitarbeiters
|
||||
* @param $ma_id ID des zu ladenden Mitarbeiters
|
||||
* @return true wenn erfolgreich geladen, false im Fehlerfall
|
||||
*/
|
||||
function load_pers($ma_id, $stsem='')
|
||||
{
|
||||
//pruefen ob ma_id gueltig ist
|
||||
if(!is_numeric($ma_id))
|
||||
{
|
||||
$this->errormsg = 'mitarbeiter_id muss eine Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry="SELECT * FROM funktion WHERE mitarbeiter_fk=$ma_id";
|
||||
if($stsem!='')
|
||||
$qry.= " AND studiensemester_fk='$stsem'";
|
||||
$qry.=" ORDER BY studiensemester_fk DESC, funktion_pk";
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$fkt_obj = new funktion($this->conn);
|
||||
|
||||
$fkt_obj->funktion_id = $row->funktion_pk;
|
||||
$fkt_obj->mitarbeiter_id = $row->mitarbeiter_fk;
|
||||
$fkt_obj->studiensemester_id = $row->studiensemester_fk;
|
||||
$fkt_obj->erhalter_id = $row->erhalter_fk;
|
||||
$fkt_obj->studiengang_id = $row->studiengang_fk;
|
||||
$fkt_obj->fachbereich_id = $row->fachbereich_fk;
|
||||
$fkt_obj->name = $row->name;
|
||||
$fkt_obj->funktion = $row->funktion;
|
||||
$fkt_obj->updateamum = $row->creationdate;
|
||||
$fkt_obj->updatevon = $row->creationuser;
|
||||
$fkt_obj->beschart1 = $row->beschart1;
|
||||
$fkt_obj->beschart2 = $row->beschart2;
|
||||
$fkt_obj->verwendung = $row->verwendung;
|
||||
$fkt_obj->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
|
||||
$fkt_obj->hauptberuf = $row->hauptberuf;
|
||||
$fkt_obj->entwicklungsteam = ($row->entwicklungsteam=='J'?true:false);
|
||||
$fkt_obj->besonderequalifikation = $row->besonderequalifikation;
|
||||
$fkt_obj->sws = $row->sws;
|
||||
$fkt_obj->ausmass = $row->ausmass;
|
||||
|
||||
$this->result[] = $fkt_obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function getMitarbeiter($stg,$fb,$funktion,$stsem=null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
mitarbeiter_fk
|
||||
FROM
|
||||
funktion
|
||||
WHERE
|
||||
studiengang_fk='$stg' AND
|
||||
fachbereich_fk='$fb'
|
||||
GROUP BY mitarbeiter_fk";
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$fkt = new funktion($this->conn);
|
||||
$fkt->mitarbeiter_id = $row->mitarbeiter_fk;
|
||||
$this->result[] = $fkt;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Mitarbeiter';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Funktionen
|
||||
* @return true wenn erfolgreich geladen, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
/*Eventuell Speicherprobleme
|
||||
|
||||
$qry = "SELECT * FROM funktion";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row=pg_fetch_object($res))
|
||||
{
|
||||
$fkt_obj = new funktion($this->conn);
|
||||
|
||||
$fkt_obj->funktion_id = $row->funktion_pk;
|
||||
$fkt_obj->mitarbeiter_id = $row->mitarbeiter_fk;
|
||||
$fkt_obj->studiensemester_id = $row->studiensemester_fk;
|
||||
$fkt_obj->erhalter_id = $row->erhalter_fk;
|
||||
$fkt_obj->studiengang_id = $row->studiengang_fk;
|
||||
$fkt_obj->fachbereich_id = $row->fachbereich_fk;
|
||||
$fkt_obj->name = $row->name;
|
||||
$fkt_obj->funktion = $row->funktion;
|
||||
$fkt_obj->updateamum = $row->creationdate;
|
||||
$fkt_obj->updatevon = $row->creationuser;
|
||||
$fkt_obj->beschart1 = $row->beschart1;
|
||||
$fkt_obj->beschart2 = $row->beschart2;
|
||||
$fkt_obj->verwendung = $row->verwendung;
|
||||
$fkt_obj->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
|
||||
$fkt_obj->hauptberuf = $row->hauptberuf;
|
||||
$fkt_obj->entwicklungsteam = ($row->entwicklungsteam=='J'?true:false);
|
||||
$fkt_obj->besonderequalifikation = $row->besonderequalifikation;
|
||||
$fkt_obj->sws = $row->sws;
|
||||
$fkt_obj->ausmass = $row->ausmass;
|
||||
|
||||
$this->result[] = $fkt_obj;
|
||||
}
|
||||
return true;
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
function FunktionExists($mitarbeiter_id, $studiengang_id, $fachbereich_id, $studiensemester_id, $funktion)
|
||||
{
|
||||
$qry = "SELECT
|
||||
count(*) as anzahl
|
||||
FROM
|
||||
funktion
|
||||
WHERE
|
||||
mitarbeiter_fk='$mitarbeiter_id' AND
|
||||
studiengang_fk='$studiengang_id' AND
|
||||
fachbereich_fk='$fachbereich_id' AND
|
||||
studiensemester_fk = '$studiensemester_id' AND
|
||||
funktion='$funktion'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
return true;
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
$this->errormsg = 'Fehler beim auslesen der Funktionen';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
$this->errormsg = 'Fehler beim auslesen der Funktionen';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameFunktion($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0: return 'Mitarbeiter';
|
||||
case 1: return 'Lektor';
|
||||
case 2: return 'Fachbereichskoordinatior';
|
||||
case 3: return 'Assistenz';
|
||||
case 4: return 'Rektor';
|
||||
case 5: return 'Studiengangsleiter';
|
||||
case 6: return 'Fachbereichsleiter';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameBeschart1($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 1: return 'Dienstverhältnis zum Bund';
|
||||
case 2: return 'Dienstverhältnis zu einer anderen Gebietskörperschaft';
|
||||
case 3: return 'Echter Dienstvertrag';
|
||||
case 4: return 'Freier Dienstvertrag';
|
||||
case 5: return 'Lehr- oder Ausbildungsverhältnis';
|
||||
case 6: return 'Sonstiges Beschäftigungsverhältnis';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameBeschart2($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 1: return 'befristet';
|
||||
case 2: return 'unbefristet';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameVerwendung($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 1: return 'Lehr- und Forschungspersonal';
|
||||
case 2: return 'Lehr- und Forschungshilfspersonal';
|
||||
case 3: return 'Akademische dienste für Studierende';
|
||||
case 4: return 'Soziale Dienste und Gesundheitsdienste';
|
||||
case 5: return 'Studiengangsleiter/in';
|
||||
case 6: return 'Leiter/in FH-Kollegium';
|
||||
case 7: return 'Management';
|
||||
case 8: return 'Verwaltung';
|
||||
case 9: return 'Hauspersonal, Gebäude-/Haustechnik';
|
||||
default: return '';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function getNameHauptberuf($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case '': return '';
|
||||
case 0: return 'Universität';
|
||||
case 1: return 'Fachhochschule';
|
||||
case 2: return 'Andere postsekundäre Bildungseinrichtung';
|
||||
case 3: return 'Allgemeinbildende höhere Schule';
|
||||
case 4: return 'Berufsbildende höhere Schule';
|
||||
case 5: return 'Andere Schule';
|
||||
case 6: return 'Öffentlicher Sektor';
|
||||
case 7: return 'Unternehmenssektor';
|
||||
case 8: return 'Freiberuflich tätig';
|
||||
case 9: return 'Privater gemeinnütziger Sektor';
|
||||
case 10: return 'Ausserhochschulische Forschungseinrichtung';
|
||||
case 11: return 'Internationale Organisation';
|
||||
case 12: return 'Sonstiges';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameBesonderequalifikation($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0: return 'keine';
|
||||
case 1: return 'Habilitation';
|
||||
case 2: return 'der Habilitation gleichwertige Qualifikation';
|
||||
case 3: return 'berufliche Tätigkeit';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameAusmass($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 1: return 'Vollzeit';
|
||||
case 2: return '<= 15 Wochenstunden';
|
||||
case 3: return '16 - 25 Wochenstunden';
|
||||
case 4: return '26 - 35 Wochenstunden';
|
||||
case 5: return 'Karenz';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,54 +1,39 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse fachbereich (FAS-Online)
|
||||
* @create 04-12-2006
|
||||
* @create 14-03-2006
|
||||
*/
|
||||
|
||||
class fachbereich
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var fachbereich Objekt
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var fachbereich Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $fachbereich_kurzbz; // @var string
|
||||
var $bezeichnung; // @var string
|
||||
var $farbe; // @var string
|
||||
var $studiengang_kz; // @var integer
|
||||
var $ext_id; // @var bigint
|
||||
|
||||
var $fachbereich_id; // @var integer
|
||||
var $erhalter_id; // @var integer
|
||||
var $name; // @var string
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $fachb_id ID des zu ladenden Fachbereiches
|
||||
*/
|
||||
function fachbereich($conn, $fachbereich_kurzbz=null)
|
||||
function fachbereich($conn, $fachb_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($fachbereich_kurzbz != null)
|
||||
$this->load($fachbereich_kurzbz);
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
if($fachb_id != null)
|
||||
$this->load($fachb_id);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,11 +42,11 @@ class fachbereich
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM tbl_fachbereich order by fachbereich_kurzbz;';
|
||||
$qry = 'SELECT * FROM fachbereich order by name;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
$this->errormsg = 'Fehler beim laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -69,9 +54,11 @@ class fachbereich
|
||||
{
|
||||
$fachb_obj = new fachbereich($this->conn);
|
||||
|
||||
$fachb_obj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$fachb_obj->erhalter_id = $row->erhalter_fk;
|
||||
$fachb_obj->name = $row->name;
|
||||
$fachb_obj->fachbereich_id = $row->fachbereich_pk;
|
||||
$fachb_obj->erhalter_id = $row->erhalter_fk;
|
||||
$fachb_obj->name = $row->name;
|
||||
$fachb_obj->updateamum = $row->creationdate;
|
||||
$fachb_obj->updatevon = $row->creationuser;
|
||||
|
||||
$this->result[] = $fachb_obj;
|
||||
}
|
||||
@@ -83,27 +70,29 @@ class fachbereich
|
||||
* @param $fachb_id ID des zu ladenden Fachbereiches
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($fachbereich_kurzbz)
|
||||
function load($fachb_id)
|
||||
{
|
||||
if($fachbereich_kurzbz == '')
|
||||
if(!is_numeric($fachb_id) || $fachb_id == '')
|
||||
{
|
||||
$this->errormsg = 'fachbereich_kurzbz ungueltig!';
|
||||
$this->errormsg = 'fachb_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM tbl_fachbereich WHERE fachbereich_kurzbz = '$fachbereich_kurzbz';";
|
||||
$qry = "SELECT * FROM fachbereich WHERE fachbereich_pk = '$fachb_id';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$this->erhalter_id = $row->erhalter_fk;
|
||||
$this->name = $row->name;
|
||||
$this->fachbereich_id = $row->fachbereich_pk;
|
||||
$this->erhalter_id = $row->erhalter_fk;
|
||||
$this->name = $row->name;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -124,106 +113,15 @@ class fachbereich
|
||||
$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()
|
||||
{
|
||||
$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";
|
||||
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";
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Pruefen ob fachbereich_kurzbz gueltig ist
|
||||
if($this->fachbereich_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'fachbereich_id ungueltig!';
|
||||
return false;
|
||||
}
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO tbl_fachbereich (fachbereich_kurzbz, bezeichnung, farbe, ext_id, studiengang_kz) VALUES ('.
|
||||
$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->farbe).', '.
|
||||
$this->addslashes($this->ext_id).', '.
|
||||
$this->addslashes($this->studiengang_kz).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob fachbereich_kurzbz gueltig ist
|
||||
if($this->fachbereich_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'fachbereich_kurzbz ungueltig.';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE tbl_fachbereich SET '.
|
||||
'fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
|
||||
'farbe='.$this->addslashes($this->farbe).', '.
|
||||
'ext_id='.$this->addslashes($this->ext_id).', '.
|
||||
'studiengang_kz='.$this->addslashes($this->studiengang_kz).' '.
|
||||
'WHERE fachbereich_kurzbz = '.$this->addslashes($this->fachbereich_kurzbz).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
/*//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}*/
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,155 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class feedback
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $feedback = array(); // feedback Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $feedback_id; // integer
|
||||
var $betreff; // varchar(128)
|
||||
var $text; // text
|
||||
var $datum; // date
|
||||
var $uid; // varchar(16)
|
||||
var $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)
|
||||
{
|
||||
$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)
|
||||
$this->load($feedback_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt ein Feedback
|
||||
// * @param
|
||||
// *********************************************************
|
||||
function load($feedback_id)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->betreff)>128)
|
||||
{
|
||||
$this->errormsg = 'Betreff darf nicht laenger als 128 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl 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 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()
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//ToDo: Feedback_ID wieder entfernen und per Seq fuellen
|
||||
$qry = 'INSERT INTO campus.tbl_feedback (feedback_id, betreff, text, datum, uid, lehrveranstaltung_id)
|
||||
VALUES('.$this->addslashes($this->feedback_id).','.
|
||||
$this->addslashes($this->betreff).','.
|
||||
$this->addslashes($this->text).','.
|
||||
$this->addslashes($this->datum).','.
|
||||
$this->addslashes($this->uid).','.
|
||||
$this->addslashes($this->lehrveranstaltung_id).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE campus.tbl_feedback SET'.
|
||||
' betreff='.$this->addslashes($this->betreff).','.
|
||||
' text='.$this->addslashes($this->text).','.
|
||||
' datum='.$this->addslashes($this->datum).','.
|
||||
' uid='.$this->addslashes($this->uid).
|
||||
" WHERE feedback_id='".addslashes($this->feedback_id)."'";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Feedbacks:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,217 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse ferien (FAS-Online)
|
||||
* @create 07-12-2006
|
||||
*/
|
||||
|
||||
class ferien
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var ferien Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $bezeichnung; // @var varchar(64)
|
||||
var $studiengang_kz; // @var integer
|
||||
var $vondatum; // @var date
|
||||
var $bisdatum; // @var date
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $bezeichnung und studiengang_kz ID der zu ladenden Ferien
|
||||
*/
|
||||
function ferien($conn, $bezeichnung=null, $studiengang_kz=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($bezeichnung != null && $studiengang_kz != null && !is_numeric($studiengang_kz))
|
||||
$this->load($bezeichnung, studiengang_kz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Feriendaten
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM lehre.tbl_ferien order by bezeichnung, studiengang_kz;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$ferien_obj = new ferien($this->conn);
|
||||
$ferien_obj->bezeichnung = $row->bezeichnung;
|
||||
$ferien_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$ferien_obj->vondatum = $row->vondatum;
|
||||
$ferien_obj->bisdatum = $row->bisdatum;
|
||||
|
||||
$this->result[] = $ferien_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Feriendatensatz
|
||||
* @param $bezeichnung, studiengang_kz ID der zu ladenden Ferien
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($bezeichnung, $studiengang_kz)
|
||||
{
|
||||
if($studiengang_kz == '' || !is_numeric($studiengang_kz) || $bezeichnung=='')
|
||||
{
|
||||
$this->errormsg = 'ID ungültig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_ferien WHERE bezeichnung = '$this->bezeichnung' AND studiengang_kz = '$this->studiengang_kz';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->vondatum = $row->vondatum;
|
||||
$this->bisdatum = $row->bisdatum;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
$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";
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
|
||||
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).', '.
|
||||
$this->addslashes($this->vondatum).', '.
|
||||
$this->addslashes($this->bisdatum).'); ';
|
||||
}
|
||||
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).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
/*//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}*/
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes - '.$this->uid;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+617
-143
@@ -1,194 +1,288 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse funktion (FAS-Online)
|
||||
* @create 14-03-2006
|
||||
/**
|
||||
* Klasse funktionen (FAS-Online)
|
||||
* Verwaltet die Funktionen der Mitarbeiter
|
||||
* @create 07-03-2006
|
||||
*/
|
||||
|
||||
class funktion
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var fachbereich Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $funktion_kurzbz; // @var integer
|
||||
var $bezeichnung; // @var string
|
||||
var $aktiv; // @var boolean
|
||||
var $ext_id; // @var bigint
|
||||
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $errormsg; // @var string
|
||||
var $new; // @var boolean
|
||||
var $result = array(); // @var funktion Objekt
|
||||
|
||||
//vars fuer Tabellenspalten
|
||||
var $funktion_id; // @var integer
|
||||
var $mitarbeiter_id; // @var integer
|
||||
var $studiensemester_id; // @var integer
|
||||
var $erhalter_id; // @var integer
|
||||
var $studiengang_id; // @var integer
|
||||
var $fachbereich_id; // @var integer
|
||||
var $name; // @var string
|
||||
var $funktion; // @var integer ( 0 = Mitarbeiter, 1 = Lektor, 2 = Fachbereichskoordinatior, 3 = Assistenz,
|
||||
// 4 = Rektor, 5 = Studiengangsleiter, 6 = Fachbereichsleiter)
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
var $beschart1; // @var integer ( 1 = Dienstverhaeltnis zum Bund, 2 = Dienstverhaeltnis zu einer anderen Gebietskoerperschaft,
|
||||
// 3 = Echter Dienstvertrag, 4 = Freier Dienstvertrag, 5 = Lehre/Ausbildung, 6 = Sonstiges)
|
||||
var $beschart2; // @var integer ( 1 = befristet, 2 = unbefristet)
|
||||
var $verwendung; // @var integer
|
||||
var $hauptberuflich; // @var boolean
|
||||
var $hauptberuf; // @var integer
|
||||
var $entwicklungsteam; // @var boolean
|
||||
var $besonderequalifikation; // @var integer
|
||||
var $sws; // @var float wird nicht verwendet
|
||||
var $ausmass; // @var float ( 1 = Vollzeit, 2 = <=15 Wochenstd, 3 = 15-25 Wochenstd, 4 = 26-36 Wochenstd, 5 = Karenz)
|
||||
var $status; // @var integer Aktstatus der Person (wird bei loeschen einer funktion gesetzt)
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $funktion_kurzbz ID der zu ladenden Funktion
|
||||
* @param $conn Connection zur Datenbank
|
||||
* $fkt_id Id der zu ladenden Funktion (Default=null)
|
||||
*/
|
||||
function funktion($conn, $funktion_kurzbz=null)
|
||||
function funktion($conn, $fkt_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($funktion_kurzbz != null)
|
||||
$this->load($funktion_kurzbz);
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
if($fkt_id != null)
|
||||
$this->load($fkt_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Funktionen
|
||||
* loescht die Funktion mit der uebergebenen ID
|
||||
* @param $funktion_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
function delete($funktion_id)
|
||||
{
|
||||
$qry = 'SELECT * FROM tbl_funktion order by funktion_kurzbz;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
//Pruefen ob funktion_id gueltig ist
|
||||
if(is_numeric($funktion_id) && $funktion_id != '')
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$funktion_obj = new funktion($this->conn);
|
||||
//Person ermitteln
|
||||
$person_id=0;
|
||||
$mitarbeiter_id=0;
|
||||
$qry = "Select person_fk, mitarbeiter_pk from mitarbeiter join funktion on(mitarbeiter_pk=mitarbeiter_fk) where funktion_pk = $funktion_id";
|
||||
if($row=pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
$person_id = $row->person_fk;
|
||||
$mitarbeiter_id = $row->mitarbeiter_pk;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim ermitteln der Person';
|
||||
return false;
|
||||
}
|
||||
|
||||
$funktion_obj->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$funktion_obj->bezeichnung = $row->bezeichnung;
|
||||
$funktion_obj->aktiv = $row->aktiv;
|
||||
|
||||
$this->result[] = $funktion_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine Funktion
|
||||
* @param $funktion_kurzbz ID der zu ladenden Funktion
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($funktion_kurzbz)
|
||||
{
|
||||
if($funktion_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'funktion_bz darf nicht leer sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM tbl_funktion WHERE funktion_kurzbz = '$funktion_kurzbz';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->aktiv = $row->aktiv;
|
||||
$qry = "DELETE FROM funktion WHERE funktion_pk=$funktion_id;";
|
||||
$sql = $qry;
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Neuen aktstatus ermitteln
|
||||
$qry = "Select aktstatus from person where person_pk=$person_id";
|
||||
if($row=pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
$aktstatus = $row->aktstatus;
|
||||
if($aktstatus!=150) //wenn er nicht ausgeschieden ist
|
||||
{
|
||||
//Funktionen holen
|
||||
$qry = "Select funktion from funktion where ".
|
||||
"studiensemester_fk = (Select studiensemester_pk from studiensemester where aktuell='J')".
|
||||
" AND mitarbeiter_fk = '$mitarbeiter_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
$fkt=array();
|
||||
$i=0;
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$fkt[$i]=$row->funktion;
|
||||
$i++;
|
||||
}
|
||||
|
||||
//Aktstatus ermitteln
|
||||
if(in_array(5,$fkt)) //STGL
|
||||
$aktstatus = 104;
|
||||
elseif(in_array(6,$fkt)) //FBL
|
||||
$aktstatus = 103;
|
||||
elseif(in_array(2,$fkt)) //FBK
|
||||
$aktstatus = 102;
|
||||
elseif(in_array(1,$fkt)) //LKT
|
||||
$aktstatus = 101;
|
||||
else
|
||||
$aktstatus = 100; //Mitarbeiter
|
||||
|
||||
$this->status = $aktstatus;
|
||||
//neuen akstatus setzen
|
||||
$qry = "Update person set aktstatus = $aktstatus where person_pk = $person_id";
|
||||
if(pg_query($qry))
|
||||
{
|
||||
//Log schreiben
|
||||
$sql .= $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim setzen des Aktstatus';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des aktuellen Status';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Beim loeschen ist ein Fehler aufgetreten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
$this->errormsg = 'funktion_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
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
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
|
||||
{
|
||||
//Hochkomma und HTML Tags ersetzen
|
||||
//$this->name = htmlentities($this->name, ENT_QUOTES);
|
||||
|
||||
//Laenge Pruefen
|
||||
if(strlen($this->bezeichnung)>64)
|
||||
{
|
||||
$this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei <b>$this->funktion_kurzbz</b> - $this->bezeichnung";
|
||||
return false;
|
||||
}
|
||||
|
||||
//Maximallaenge pruefen
|
||||
$this->errormsg = 'Die Maximallaenge eines Feldes wurde ueberschritten';
|
||||
if(strlen($this->name)>255) return false;
|
||||
|
||||
//Zahlenwerte ueberpruefen
|
||||
/*
|
||||
$this->errormsg = 'Ein Zahlenfeld enthaelt ungueltige Zeichen';
|
||||
|
||||
if(!is_numeric($this->funktion)) return false;
|
||||
if(!is_numeric($this->beschart1)) return false;
|
||||
if(!is_numeric($this->beschart2)) return false;
|
||||
if(!is_numeric($this->verwendung)) return false;
|
||||
if(!is_numeric($this->hauptberuf)) return false;
|
||||
if(!is_numeric($this->sws)) $this->sws=0;
|
||||
if(!is_numeric($this->ausmass)) return false;
|
||||
if(!is_numeric($this->mitarbeiter_id)) return false;
|
||||
if(!is_numeric($this->erhalter_id)) return false;
|
||||
if(!is_numeric($this->studiengang_id)) return false;
|
||||
if(!is_numeric($this->fachbereich_id)) return false;
|
||||
if(!is_numeric($this->studiensemester_id)) return false;
|
||||
if(!is_numeric($this->besonderequalifikation)) return false;
|
||||
*/
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert die Daten in die Datenbank
|
||||
* @return true wenn OK, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
//neuen aktstatus ermitteln
|
||||
if($status=$this->getaktstatus())
|
||||
$statusqry = "Update person SET aktstatus=$status where person_pk = (Select person_fk from mitarbeiter where mitarbeiter_pk='$this->mitarbeiter_id');";
|
||||
else
|
||||
$statusqry = "";
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Pruefen ob funktion_kurzbz befüllt ist
|
||||
if($this->funktion_kurzbz == '')
|
||||
//Naechste ID aus der Sequence holen
|
||||
$qry = "SELECT nextval('funktion_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
$this->errormsg = 'funktion_kurzbz darf nicht leer sein';
|
||||
$this->errormsg = 'Sequence konnte nicht ausgelesen werden';
|
||||
return false;
|
||||
}
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO tbl_funktion (funktion_kurzbz, bezeichnung, aktiv) VALUES ('.
|
||||
$this->addslashes($this->funktion_kurzbz).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
($this->aktiv?'true':'false').'); ';
|
||||
$this->funktion_id = $row->id;
|
||||
|
||||
$qry= $statusqry."INSERT INTO funktion (funktion_pk, mitarbeiter_fk, studiensemester_fk, erhalter_fk, studiengang_fk,".
|
||||
" fachbereich_fk, name, funktion, creationdate, creationuser, beschart1, beschart2, verwendung,".
|
||||
" hauptberuflich, hauptberuf, entwicklungsteam, besonderequalifikation, sws, ausmass) VALUES(".
|
||||
" '$this->funktion_id','$this->mitarbeiter_id', '$this->studiensemester_id', '$this->erhalter_id',".
|
||||
($this->studiengang_id!=''?" '$this->studiengang_id'":'null').",".
|
||||
($this->fachbereich_id!=''?" '$this->fachbereich_id'":'null').",".
|
||||
($this->name!=''?" '$this->name'":'null').",".
|
||||
($this->funktion!=''?" '$this->funktion'":'null').", now(), $this->updatevon,".
|
||||
($this->beschart1!=''?" '$this->beschart1'":'null').",".
|
||||
($this->beschart2!=''?" '$this->beschart2'":'null').",".
|
||||
($this->verwendung!=''?" '$this->verwendung'":'null').", '".($this->hauptberuflich?'J':'N')."',".
|
||||
($this->hauptberuf!=''?" '$this->hauptberuf'":'null').", '".($this->entwicklungsteam?'J':'N')."',".
|
||||
($this->besonderequalifikation!=''?" '$this->besonderequalifikation'":'null').", null,".
|
||||
($this->ausmass!=''?" '$this->ausmass'":'null').")";
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob fachbereich_id eine gueltige Zahl ist
|
||||
if( $this->funktion_kurzbz == '')
|
||||
if(!is_numeric($this->mitarbeiter_id) && !is_numeric($this->funktion_id))
|
||||
{
|
||||
$this->errormsg = 'funktion_kurzbz darf nicht leer sein';
|
||||
$this->errormsg = 'mitarbeiter_id und funktion_id muessen eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE tbl_funktion SET '.
|
||||
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
|
||||
'aktiv='.($this->aktiv?'true':'false') .' '.
|
||||
'WHERE funktion_kurzbz = '.$this->addslashes($this->funktion_kurzbz).';';
|
||||
$qry= $statusqry. "UPDATE funktion SET ".
|
||||
" studiensemester_fk=".($this->studiensemester_id!=''?"'$this->studiensemester_id'":'null').",".
|
||||
" erhalter_fk=".($this->erhalter_id!=''?"'$this->erhalter_id'":'null').",".
|
||||
" studiengang_fk=".($this->studiengang_id!=''?"'$this->studiengang_id'":'null').",".
|
||||
" fachbereich_fk=".($this->fachbereich_id!=''?"'$this->fachbereich_id'":'null').",".
|
||||
" name=".($this->name!=''?"'$this->name'":'null').",".
|
||||
" funktion=".($this->funktion!=''?"'$this->funktion'":'null').",".
|
||||
" beschart1=".($this->beschart1!=''?"'$this->beschart1'":'null').",".
|
||||
" beschart2=".($this->beschart2!=''?"'$this->beschart2'":'null').",".
|
||||
" verwendung=".($this->verwendung!=''?"'$this->verwendung'":'null').",".
|
||||
" hauptberuflich='".($this->hauptberuflich?'J':'N')."',".
|
||||
" hauptberuf=".($this->hauptberuf!=''?"'$this->hauptberuf'":'null').",".
|
||||
" entwicklungsteam='".($this->entwicklungsteam?'J':'N')."',".
|
||||
" besonderequalifikation=".($this->besonderequalifikation!=''?"'$this->besonderequalifikation'":'null').",".
|
||||
" sws=".($this->sws!=''?"'$this->sws'":'null').",".
|
||||
" ausmass=".($this->ausmass!=''?"'$this->ausmass'":'null').
|
||||
" WHERE funktion_pk=$this->funktion_id"; // AND mitarbeiter_fk=$this->mitarbeiter_id";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
/*//Log schreiben
|
||||
$qry = "UPDATE funktion SET hauptberuflich='".($this->hauptberuflich?'J':'N')."', hauptberuf=".($this->hauptberuf!=''?"'$this->hauptberuf'":'null')." WHERE mitarbeiter_fk ='$this->mitarbeiter_id' AND studiensemester_fk='$this->studiensemester_id'";
|
||||
if(!pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Updaten der Funktionen';
|
||||
return false;
|
||||
}
|
||||
//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
@@ -204,14 +298,394 @@ class funktion
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ermittelt den neuen aktstatus einer Person
|
||||
*/
|
||||
function getaktstatus()
|
||||
{
|
||||
$aktstatus=100;
|
||||
//Aktuellen Status holen
|
||||
$qry = "Select aktstatus from person join mitarbeiter on(person_fk=person_pk) where mitarbeiter_pk='".$this->mitarbeiter_id."'";
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
$aktstatus = $row->aktstatus;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des aktuellen Status';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des aktuellen Status';
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
//Wenn die Funktion das aktuelle Studiensemester betrifft
|
||||
$qry = "Select studiensemester_pk from studiensemester where aktuell='J'";
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
if($row=pg_fetch_object($result))
|
||||
{
|
||||
if($row->studiensemester_pk == $this->studiensemester_id)
|
||||
{
|
||||
*/
|
||||
//Neuen Status setzen
|
||||
if($this->funktion == 1 && $aktstatus < 101) //Lektor
|
||||
$aktstatus = 101;
|
||||
elseif($this->funktion == 2 && $aktstatus < 102) //Fachbereichskoordinator
|
||||
$aktstatus = 102;
|
||||
elseif($this->funktion == 6 && $aktstatus < 103) //Fachbereichsleiter
|
||||
$aktstatus = 103;
|
||||
elseif($this->funktion == 5 && $aktstatus < 104) //Studiengangsleiter
|
||||
$aktstatus = 104;
|
||||
/* }
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des aktuellen Studiensemesters';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des aktuellen Studiensemesters';
|
||||
return false;
|
||||
}*/
|
||||
$this->status = $aktstatus;
|
||||
return $aktstatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine Funktion aus der DB
|
||||
* @param $fkt_id ID der zu ladenden Funktion
|
||||
* @return true wenn erfolgreich geladen, false im Fehlerfall
|
||||
*/
|
||||
function load($fkt_id)
|
||||
{
|
||||
//Pruefen ob fkt_id gueltig ist
|
||||
if(!is_numeric($fkt_id))
|
||||
{
|
||||
$this->errormsg = 'funktion_id muss eine Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM funktion WHERE funktion_pk=$fkt_id";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
$this->funktion_id = $row->funktion_pk;
|
||||
$this->mitarbeiter_id = $row->mitarbeiter_fk;
|
||||
$this->studiensemester_id = $row->studiensemester_fk;
|
||||
$this->erhalter_id = $row->erhalter_fk;
|
||||
$this->studiengang_id = $row->studiengang_fk;
|
||||
$this->fachbereich_id = $row->fachbereich_fk;
|
||||
$this->name = $row->name;
|
||||
$this->funktion = $row->funktion;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
$this->beschart1 = $row->beschart1;
|
||||
$this->beschart2 = $row->beschart2;
|
||||
$this->verwendung = $row->verwendung;
|
||||
$this->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
|
||||
$this->hauptberuf = $row->hauptberuf;
|
||||
$this->entwicklungsteam = ($row->entwicklungsteam=='J'?true:false);
|
||||
$this->besonderequalifikation = $row->besonderequalifikation;
|
||||
$this->sws = $row->sws;
|
||||
$this->ausmass = $row->ausmass;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Funktion(en) eines Mitarbeiters
|
||||
* @param $ma_id ID des zu ladenden Mitarbeiters
|
||||
* @return true wenn erfolgreich geladen, false im Fehlerfall
|
||||
*/
|
||||
function load_pers($ma_id, $stsem='')
|
||||
{
|
||||
//pruefen ob ma_id gueltig ist
|
||||
if(!is_numeric($ma_id))
|
||||
{
|
||||
$this->errormsg = 'mitarbeiter_id muss eine Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry="SELECT * FROM funktion WHERE mitarbeiter_fk=$ma_id";
|
||||
if($stsem!='')
|
||||
$qry.= " AND studiensemester_fk='$stsem'";
|
||||
$qry.=" ORDER BY studiensemester_fk DESC, funktion_pk";
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$fkt_obj = new funktion($this->conn);
|
||||
|
||||
$fkt_obj->funktion_id = $row->funktion_pk;
|
||||
$fkt_obj->mitarbeiter_id = $row->mitarbeiter_fk;
|
||||
$fkt_obj->studiensemester_id = $row->studiensemester_fk;
|
||||
$fkt_obj->erhalter_id = $row->erhalter_fk;
|
||||
$fkt_obj->studiengang_id = $row->studiengang_fk;
|
||||
$fkt_obj->fachbereich_id = $row->fachbereich_fk;
|
||||
$fkt_obj->name = $row->name;
|
||||
$fkt_obj->funktion = $row->funktion;
|
||||
$fkt_obj->updateamum = $row->creationdate;
|
||||
$fkt_obj->updatevon = $row->creationuser;
|
||||
$fkt_obj->beschart1 = $row->beschart1;
|
||||
$fkt_obj->beschart2 = $row->beschart2;
|
||||
$fkt_obj->verwendung = $row->verwendung;
|
||||
$fkt_obj->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
|
||||
$fkt_obj->hauptberuf = $row->hauptberuf;
|
||||
$fkt_obj->entwicklungsteam = ($row->entwicklungsteam=='J'?true:false);
|
||||
$fkt_obj->besonderequalifikation = $row->besonderequalifikation;
|
||||
$fkt_obj->sws = $row->sws;
|
||||
$fkt_obj->ausmass = $row->ausmass;
|
||||
|
||||
$this->result[] = $fkt_obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function getMitarbeiter($stg,$fb,$funktion,$stsem=null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
mitarbeiter_fk
|
||||
FROM
|
||||
funktion
|
||||
WHERE
|
||||
studiengang_fk='$stg' AND
|
||||
fachbereich_fk='$fb'
|
||||
GROUP BY mitarbeiter_fk";
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$fkt = new funktion($this->conn);
|
||||
$fkt->mitarbeiter_id = $row->mitarbeiter_fk;
|
||||
$this->result[] = $fkt;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
$this->errormsg = 'Fehler beim laden der Mitarbeiter';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Funktionen
|
||||
* @return true wenn erfolgreich geladen, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
/*Eventuell Speicherprobleme
|
||||
|
||||
$qry = "SELECT * FROM funktion";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row=pg_fetch_object($res))
|
||||
{
|
||||
$fkt_obj = new funktion($this->conn);
|
||||
|
||||
$fkt_obj->funktion_id = $row->funktion_pk;
|
||||
$fkt_obj->mitarbeiter_id = $row->mitarbeiter_fk;
|
||||
$fkt_obj->studiensemester_id = $row->studiensemester_fk;
|
||||
$fkt_obj->erhalter_id = $row->erhalter_fk;
|
||||
$fkt_obj->studiengang_id = $row->studiengang_fk;
|
||||
$fkt_obj->fachbereich_id = $row->fachbereich_fk;
|
||||
$fkt_obj->name = $row->name;
|
||||
$fkt_obj->funktion = $row->funktion;
|
||||
$fkt_obj->updateamum = $row->creationdate;
|
||||
$fkt_obj->updatevon = $row->creationuser;
|
||||
$fkt_obj->beschart1 = $row->beschart1;
|
||||
$fkt_obj->beschart2 = $row->beschart2;
|
||||
$fkt_obj->verwendung = $row->verwendung;
|
||||
$fkt_obj->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
|
||||
$fkt_obj->hauptberuf = $row->hauptberuf;
|
||||
$fkt_obj->entwicklungsteam = ($row->entwicklungsteam=='J'?true:false);
|
||||
$fkt_obj->besonderequalifikation = $row->besonderequalifikation;
|
||||
$fkt_obj->sws = $row->sws;
|
||||
$fkt_obj->ausmass = $row->ausmass;
|
||||
|
||||
$this->result[] = $fkt_obj;
|
||||
}
|
||||
return true;
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
function FunktionExists($mitarbeiter_id, $studiengang_id, $fachbereich_id, $studiensemester_id, $funktion)
|
||||
{
|
||||
$qry = "SELECT
|
||||
count(*) as anzahl
|
||||
FROM
|
||||
funktion
|
||||
WHERE
|
||||
mitarbeiter_fk='$mitarbeiter_id' AND
|
||||
studiengang_fk='$studiengang_id' AND
|
||||
fachbereich_fk='$fachbereich_id' AND
|
||||
studiensemester_fk = '$studiensemester_id' AND
|
||||
funktion='$funktion'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
return true;
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
$this->errormsg = 'Fehler beim auslesen der Funktionen';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
$this->errormsg = 'Fehler beim auslesen der Funktionen';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameFunktion($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0: return 'Mitarbeiter';
|
||||
case 1: return 'Lektor';
|
||||
case 2: return 'Fachbereichskoordinatior';
|
||||
case 3: return 'Assistenz';
|
||||
case 4: return 'Rektor';
|
||||
case 5: return 'Studiengangsleiter';
|
||||
case 6: return 'Fachbereichsleiter';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameBeschart1($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 1: return 'Dienstverhältnis zum Bund';
|
||||
case 2: return 'Dienstverhältnis zu einer anderen Gebietskörperschaft';
|
||||
case 3: return 'Echter Dienstvertrag';
|
||||
case 4: return 'Freier Dienstvertrag';
|
||||
case 5: return 'Lehr- oder Ausbildungsverhältnis';
|
||||
case 6: return 'Sonstiges Beschäftigungsverhältnis';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameBeschart2($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 1: return 'befristet';
|
||||
case 2: return 'unbefristet';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameVerwendung($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 1: return 'Lehr- und Forschungspersonal';
|
||||
case 2: return 'Lehr- und Forschungshilfspersonal';
|
||||
case 3: return 'Akademische dienste für Studierende';
|
||||
case 4: return 'Soziale Dienste und Gesundheitsdienste';
|
||||
case 5: return 'Studiengangsleiter/in';
|
||||
case 6: return 'Leiter/in FH-Kollegium';
|
||||
case 7: return 'Management';
|
||||
case 8: return 'Verwaltung';
|
||||
case 9: return 'Hauspersonal, Gebäude-/Haustechnik';
|
||||
default: return '';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function getNameHauptberuf($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case '': return '';
|
||||
case 0: return 'Universität';
|
||||
case 1: return 'Fachhochschule';
|
||||
case 2: return 'Andere postsekundäre Bildungseinrichtung';
|
||||
case 3: return 'Allgemeinbildende höhere Schule';
|
||||
case 4: return 'Berufsbildende höhere Schule';
|
||||
case 5: return 'Andere Schule';
|
||||
case 6: return 'Öffentlicher Sektor';
|
||||
case 7: return 'Unternehmenssektor';
|
||||
case 8: return 'Freiberuflich tätig';
|
||||
case 9: return 'Privater gemeinnütziger Sektor';
|
||||
case 10: return 'Ausserhochschulische Forschungseinrichtung';
|
||||
case 11: return 'Internationale Organisation';
|
||||
case 12: return 'Sonstiges';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameBesonderequalifikation($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 0: return 'keine';
|
||||
case 1: return 'Habilitation';
|
||||
case 2: return 'der Habilitation gleichwertige Qualifikation';
|
||||
case 3: return 'berufliche Tätigkeit';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
function getNameAusmass($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 1: return 'Vollzeit';
|
||||
case 2: return '<= 15 Wochenstunden';
|
||||
case 3: return '16 - 25 Wochenstunden';
|
||||
case 4: return '26 - 35 Wochenstunden';
|
||||
case 5: return 'Karenz';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+201
-246
@@ -1,247 +1,202 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class gruppe
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $gruppen = array(); // gruppen Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $gruppe_kurzbz; // varchar(16)
|
||||
var $studiengang_kz; // integer
|
||||
var $bezeichnung; // varchar(32)
|
||||
var $semester; // smallint
|
||||
var $sort; // smallint
|
||||
var $mailgrp; // boolean
|
||||
var $beschreibung; // varchar(128)
|
||||
var $sichtbar; // boolean
|
||||
var $aktiv; // boolean
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // varchar(16)
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)
|
||||
{
|
||||
$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)
|
||||
$this->load($gruppe_kurzbz);
|
||||
}
|
||||
|
||||
// ****************************************
|
||||
// * Prueft ob bereits eine Gruppe mit der
|
||||
// * uebergebenen Kurzbezeichnung existiert
|
||||
// * @param gruppe_kurzbz
|
||||
// ****************************************
|
||||
function exists($gruppe_kurzbz)
|
||||
{
|
||||
$qry = "SELECT count(*) as anzahl FROM tbl_gruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
|
||||
if($row = pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Abfrage: '.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die Gruppe
|
||||
// * @param gruppe_kurzbz
|
||||
// *********************************************************
|
||||
function load($gruppe_kurzbz)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->gruppe_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->gruppe_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Gruppe muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->bezeichnung)>32)
|
||||
{
|
||||
$this->errormsg = 'Bezeichnung darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->semester!='' && !is_numeric($this->semester))
|
||||
{
|
||||
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->sort!='' && !is_numeric($this->sort))
|
||||
{
|
||||
$this->errormsg = 'Typ muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->mailgrp))
|
||||
{
|
||||
$this->errormsg = 'Mailgrp muss ein boolscher wert sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->beschreibung)>128)
|
||||
{
|
||||
$this->errormsg = 'Beschreibung darf nicht laenger als 128 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->sichtbar))
|
||||
{
|
||||
$this->errormsg = 'Sichtbar muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->aktiv))
|
||||
{
|
||||
$this->errormsg = 'Aktiv muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->updatevon)>16)
|
||||
{
|
||||
$this->errormsg = 'Updatevon darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->insertvon)>16)
|
||||
{
|
||||
$this->errormsg = 'Insertvon darf nicht laenger als 16 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 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)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_gruppe (gruppe_kurzbz, studiengang_kz, bezeichnung, semester, sort,
|
||||
mailgrp, beschreibung, sichtbar, aktiv,
|
||||
updateamum, updatevon, insertamum, insertvon)
|
||||
VALUES('.$this->addslashes($this->gruppe_kurzbz).','.
|
||||
$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->bezeichnung).','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes($this->sort).','.
|
||||
($this->mailgrp?'true':'false').','.
|
||||
$this->addslashes($this->beschreibung).','.
|
||||
($this->sichtbar?'true':'false').','.
|
||||
($this->aktiv?'true':'false').','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE tbl_gruppe SET'.
|
||||
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
|
||||
' bezeichnung='.$this->addslashes($this->bezeichnung).','.
|
||||
' semester='.$this->addslashes($this->semester).','.
|
||||
' sort='.$this->addslashes($this->sort).','.
|
||||
' mailgrp='.($this->mailgrp?'true':'false').','.
|
||||
' beschreibung='.$this->addslashes($this->beschreibung).','.
|
||||
' sichtbar='.($this->sichtbar?'true':'false').','.
|
||||
' aktiv='.($this->aktiv?'true':'false').','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).
|
||||
" WHERE gruppe_kurzbz=".$this->addslashes($this->gruppe_kurzbz).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Gruppe:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* Klasse gruppe (FAS-Online)
|
||||
* @create 15-03-2006
|
||||
*/
|
||||
class gruppe
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var gruppe Objekt
|
||||
|
||||
var $ausbildungssemester_id; // @var integer
|
||||
var $gruppe_id; // @var integer
|
||||
var $name; // @var string
|
||||
var $nummerintern; // @var integer
|
||||
var $obergruppe_id; // @var integer
|
||||
var $ordnung; // @var integer
|
||||
var $studiengang_id; // @var integer
|
||||
var $typ; // @var integer ( Ebene ??)
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
var $fullname; // @var string
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur Datenbank
|
||||
* $gruppe_id ID der zu ladenden Gruppe
|
||||
*/
|
||||
function gruppe($conn, $gruppe_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
if($gruppe_id != null)
|
||||
$this->load($gruppe_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine Gruppe
|
||||
* @param gruppe_id ID der Gruppe
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($gruppe_id)
|
||||
{
|
||||
//gruppe_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($gruppe_id) || $gruppe_id =='')
|
||||
{
|
||||
$this->errormsg = 'gruppe_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM gruppe WHERE gruppe_pk='$gruppe_id';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
$this->ausbildungssemester_id = $row->ausbildungssemester_fk;
|
||||
$this->gruppe_id = $row->gruppe_pk;
|
||||
$this->name = $row->name;
|
||||
$this->nummerintern = $row->nummerintern;
|
||||
$this->obergruppe_id = $row->obergruppe_fk;
|
||||
$this->ordnung = $row->ordnung;
|
||||
$this->studiengang_id = $row->studiengang_fk;
|
||||
$this->typ = $row->typ;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
|
||||
$this->fullname = $this->getFullName($row->gruppe_pk);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den vollen namen einer Gruppe
|
||||
* @param $gruppe_id
|
||||
* @return voller name, false im Fehlerfall
|
||||
*/
|
||||
function getFullName($gruppe_id)
|
||||
{
|
||||
//gruppe_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($gruppe_id) || $gruppe_id == '')
|
||||
{
|
||||
$this->errormsg = 'gruppe_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//gesamten gruppennamen ermitteln
|
||||
$qry = "SELECT fas_function_get_fullname_from_gruppe($gruppe_id) as fullname;";
|
||||
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Gruppenname konnte nicht ermittelt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return $row->fullname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Gruppen eines Studienganges/studiensemesters/ausbildungssemesters
|
||||
* @param studiengang_id ID des studienganges
|
||||
* studiensemester_id ID des Studiensemesters (optional)
|
||||
* ausbildungssemester_id ID des Ausbildungssemesters (optional)
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load_gruppen($studiengang_id, $studiensemester_id=null, $ausbildungssemester_id=null)
|
||||
{
|
||||
//Pruefen ob gueltige Werte uebergeben wurden
|
||||
if(!is_numeric($studiengang_id) || $studiengang_id == '')
|
||||
{
|
||||
$this->errormsg = 'studiengang_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($studiensemester_id!=null && (!is_numeric($studiensemester_id) || $studiensemester_id == ''))
|
||||
{
|
||||
$this->errormsg = 'studiensemester_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($ausbildungssemester_id!=null && (!is_numeric($ausbildungssemester_id) || $ausbildungssemester_id == ''))
|
||||
{
|
||||
$this->errormsg = 'ausbildungssemester_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Befehl zusammenbauen
|
||||
$qry = "SELECT * FROM gruppe WHERE studiengang_fk='$studiengang_id' ";
|
||||
|
||||
if($ausbildungssemester_id!=null)
|
||||
$qry .= "AND ausbildungssemester_fk='$ausbildungssemester_id' ";
|
||||
|
||||
if($studiensemester_id != null)
|
||||
$qry .= "AND studiensemester_fk='$studiensemester_id' ";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
//Daten laden
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$grp_obj = new gruppe($this->conn);
|
||||
|
||||
$grp_obj->ausbildungssemester_id = $row->ausbildungssemester_fk;
|
||||
$grp_obj->gruppe_id = $row->gruppe_pk;
|
||||
$grp_obj->name = $row->name;
|
||||
$grp_obj->nummerintern = $row->nummerintern;
|
||||
$grp_obj->obergruppe_id = $row->obergruppe_fk;
|
||||
$grp_obj->ordnung = $row->ordnung;
|
||||
$grp_obj->studiengang_id = $row->studiengang_fk;
|
||||
$grp_obj->typ = $row->typ;
|
||||
$grp_obj->updateamum = $row->creationdate;
|
||||
$grp_obj->updatevon = $row->creationuser;
|
||||
|
||||
$grp_obj->fullname = $this->getFullName($row->gruppe_pk);
|
||||
|
||||
$this->result[] = $grp_obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die DB
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $gruppe_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($gruppe_id)
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
+1587
-260
File diff suppressed because it is too large
Load Diff
@@ -1,175 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class lehreinheitgruppe
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $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)
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)
|
||||
{
|
||||
$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($lehreinheitgruppe_id!=null)
|
||||
$this->load($lehreinheitgruppe_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die LEGruppe
|
||||
// * @param lehreinheit_id
|
||||
// *********************************************************
|
||||
function load($lehreinheitgruppe_id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(!is_numeric($this->lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->semester!='' && !is_numeric($this->semester))
|
||||
{
|
||||
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->verband)>1)
|
||||
{
|
||||
$this->verband = 'Verband darf nicht laenger als 1 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gruppe)>1)
|
||||
{
|
||||
$this->gruppe = 'Gruppe darf nicht laenger als 1 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gruppe_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 16 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 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)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//ToDo ID entfernen
|
||||
$qry = 'INSERT INTO lehre.tbl_lehreinheitgruppe (lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz)
|
||||
VALUES('.$this->addslashes($this->lehreinheit_id).','.
|
||||
$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes($this->verband).','.
|
||||
$this->addslashes($this->gruppe).','.
|
||||
$this->addslashes($this->gruppe_kurzbz).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE lehre.tbl_lehreinheitgruppe SET'.
|
||||
' lehreinheit_id='.$this->addslashes($this->lehreinheit_id).','.
|
||||
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
|
||||
' semester='.$this->addslashes($this->semester).','.
|
||||
' verband='.$this->addslashes($this->verband).','.
|
||||
' gruppe='.$this->addslashes($this->gruppe).','.
|
||||
' gruppe_kurzbz='.$this->addslashes($this->gruppe_kurzbz).','.
|
||||
" WHERE lehreinheitgruppe_id=".$this->addslashes($this->lehreinheitgruppe_id).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der GruppeLE:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,148 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class lehreinheitmitarbeiter
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $lehreinheitmitarbeiter = array(); // lehreinheitmitarbeiter Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $lehreinheit_id; // integer
|
||||
var $mitarbeiter_uid; // varchar(16)
|
||||
var $semesterstunden; // smalint
|
||||
var $planstunden; // smalint
|
||||
var $stundensatz; // numeric(6,2)
|
||||
var $faktor; // numeric(2,1)
|
||||
var $anmerkung; // varchar(256)
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)
|
||||
{
|
||||
$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($lehreinheit_id!=null && $mitarbeiter_uid!=null)
|
||||
$this->load($lehreinheit_id, $mitarbeiter_uid);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die LEMitarbeiter
|
||||
// * @param lehreinheit_id
|
||||
// *********************************************************
|
||||
function load($lehreinheit_id, $mitarbeiter_uid)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
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 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)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//ToDo ID entfernen
|
||||
$qry = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden,
|
||||
stundensatz, faktor, anmerkung)
|
||||
VALUES('.$this->addslashes($this->lehreinheit_id).','.
|
||||
$this->addslashes($this->mitarbeiter_uid).','.
|
||||
$this->addslashes($this->semesterstunden).','.
|
||||
$this->addslashes($this->planstunden).','.
|
||||
$this->addslashes($this->stundensatz).','.
|
||||
$this->addslashes($this->faktor).','.
|
||||
$this->addslashes($this->anmerkung).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE lehre.tbl_lehreinheitmitarbeiter SET'.
|
||||
' semesterstunden='.$this->addslashes($this->semesterstunden).','.
|
||||
' planstunden='.$this->addslashes($this->planstunden).','.
|
||||
' stundensatz='.$this->addslashes($this->stundensatz).','.
|
||||
' faktor='.$this->addslashes($this->faktor).','.
|
||||
' anmerkung='.$this->addslashes($this->anmerkung).','.
|
||||
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." AND
|
||||
mitarbeiter_uid=".$this->addslashes($this->mitarbeiter_uid).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,232 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class lehrfach
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $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)
|
||||
|
||||
// ***********************************************************************
|
||||
// * 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)
|
||||
{
|
||||
$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)
|
||||
$this->load($lehrfach_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt Lehrfach mit der uebergebenen ID
|
||||
// * @param $lehrfach_nr Nr des LF das geladen werden soll
|
||||
// *********************************************************
|
||||
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;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Lehrfach mit der ID '.$lehrfach_id.' vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Die lehrfach_nr muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(!is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->fachbereich_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Fachbereich_kurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->kurzbz)>12)
|
||||
{
|
||||
$this->errormsg = 'Kurzbezeichnung darf nicht laenger als 12 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->bezeichnung)>255)
|
||||
{
|
||||
$this->errormsg = 'Bezeichnung darf nicht laenger als 255 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->farbe)>6)
|
||||
{
|
||||
$this->errormsg = 'Farbe darf nicht laenger als 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->aktiv))
|
||||
{
|
||||
$this->errormsg = 'Aktiv muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
if($this->semester!='' && !is_numeric($this->semester))
|
||||
{
|
||||
$this->errormsg = 'Semester muss eine Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->sprache)>16)
|
||||
{
|
||||
$this->errormsg = 'Sprache darf nicht laenger als 16 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 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()
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = 'INSERT INTO lehre.tbl_lehrfach (lehrfach_id, studiengang_kz, fachbereich_kurzbz, kurzbz,
|
||||
bezeichnung, farbe, aktiv, semester, sprache)
|
||||
VALUES('.$this->addslashes($this->lehrfach_id).','.
|
||||
$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->fachbereich_kurzbz).','.
|
||||
$this->addslashes($this->kurzbz).','.
|
||||
$this->addslashes($this->bezeichnung).','.
|
||||
$this->addslashes($this->farbe).','.
|
||||
($this->aktiv?'true':'false').','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes($this->sprache).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//lehrfach_nr auf Gueltigkeit pruefen
|
||||
if(!is_numeric($this->lehrfach_nr))
|
||||
{
|
||||
$this->errormsg = 'Lehrfach_nr muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE lehre.tbl_lehrfach SET'.
|
||||
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
|
||||
' fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).','.
|
||||
' kurzbz='.$this->addslashes($this->kurzbz).','.
|
||||
' bezeichnung='.$this->addslashes($this->bezeichnung).','.
|
||||
' farbe='.$this->addslashes($this->farbe).','.
|
||||
' aktiv='.($this->aktiv?'true':'false').','.
|
||||
' semester='.$this->semester.','.
|
||||
' sprache='.$this->addslashes($this->sprache).
|
||||
" WHERE lehrfach_id='$this->lehrfach_id'";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Lehrfaches:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+130
-165
@@ -1,166 +1,131 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class lehrform
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $lehrform = array(); // lehrform Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $lehrform_kurbz; // varchar(8)
|
||||
var $bezeichnung; // varchar (256)
|
||||
var $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)
|
||||
{
|
||||
$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($lehrform_kurzbz != null)
|
||||
$this->load($lehrform_kurzbz);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt Lehrform mit der uebergebenen ID
|
||||
// * @param $lehrform_kurzbz Lehrform die geladen werden soll
|
||||
// *********************************************************
|
||||
function load($lehrform_kurzbz)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehrform WHERE lehrform_kurzbz='".addslashes($lehrfach_nr)."'";
|
||||
if(!$result=pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehrform';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->lehrform_kurbz = $row->lehrform_kurzbz;
|
||||
$this->bezeichnung = $row->bezeichung;
|
||||
$this->verplanen = ($row->verplanen?true:false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist keine Lehrform mit der Kurzbz '.$lehrform_kurzbz.' vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->lehrform_kurbz)>8)
|
||||
{
|
||||
$this->errormsg = 'Lehrform Kurzbezeichnung darf nicht laenger als 8 Zeichen sein.';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->bezeichnung)>256)
|
||||
{
|
||||
$this->errormsg = 'Bezeichnung darf nicht laenger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->verplanen))
|
||||
{
|
||||
$this->errormsg = 'Verplanen muss ein boolscher Wert 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 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()
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "INSERT INTO lehre.tbl_lehrform (lehrform_kurzbz, bezeichnung, verplanen)
|
||||
VALUES('".addslashes($this->lehrform_kurzbz)."',".
|
||||
$this->addslashes($this->bezeichnung).','.
|
||||
($this->verplanen?'true':'false').');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE lehre.tbl_lehrform SET'.
|
||||
' bezeichnung='.$this->addslashes($this->bezeichnung).','.
|
||||
' verplanen='.($this->verplanen?'true':'false').
|
||||
" WHERE lehrform_kurzbz='$this->lehrform_kurzbz'";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Lehrform:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* Klasse lehrform (FAS-Online)
|
||||
* @create 15-03-2006
|
||||
*/
|
||||
class lehrform
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var lehrform Objekt
|
||||
|
||||
var $lehrform_id; // @var integer
|
||||
var $bezeichnung; // @var string
|
||||
var $kurzbezeichnung; // @var string
|
||||
var $standardfaktor; // @var float
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Conection zur Datenbank
|
||||
* $lehrform_id ID der zu Ladenden Lehrform
|
||||
*/
|
||||
function lehrform($conn, $lehrform_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
if($lehrform_id != null)
|
||||
$this->load($lehrform_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param $lform_id ID des zu ladenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($lform_id)
|
||||
{
|
||||
//pruefen ob lform_id eine gueltige Zahl ist
|
||||
if(!is_numeric($lform_id) || $lform_id == '')
|
||||
{
|
||||
$this->errormsg = 'lehrform_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Datensatz laden
|
||||
$qry = "SELECT * FROM lehrform WHERE lehrform_pk = '$lform_id';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Der Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
$this->lehrform_id = $row->lehrform_pk;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->kurzbezeichnung = $row->kurzbezeichnung;
|
||||
$this->standardfaktor = $row->standardfaktor;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Der Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle lehrformen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM lehrform;";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Der Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$form_obj = new lehrform($this->conn);
|
||||
|
||||
$form_obj->lehrform_id = $row->lehrform_pk;
|
||||
$form_obj->bezeichnung = $row->bezeichnung;
|
||||
$form_obj->kurzbezeichnung = $row->kurzbezeichnung;
|
||||
$form_obj->standardfaktor = $row->standardfaktor;
|
||||
$form_obj->updateamum = $row->creationdate;
|
||||
$form_obj->updatevon = $row->creationdate;
|
||||
|
||||
$this->result[] = $form_obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param lehrform_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($lehrform_id)
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert einen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implemeniert';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,56 +1,33 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse lehrveranstaltung (FAS-Online)
|
||||
* @create 06-12-2006
|
||||
* @create 16-03-2006
|
||||
*/
|
||||
class lehrveranstaltung
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $errormsg; // @var string
|
||||
var $new; // @var boolean
|
||||
var $lehrveranstaltungen = array(); // @var lehrveranstaltung Objekt
|
||||
|
||||
var $lehrveranstaltung_id; // @var serial
|
||||
var $studiengang_kz; //@var integer
|
||||
var $bezeichnung; //@var string
|
||||
var $kurzbz; //@var string
|
||||
var $semester; //@var smallint
|
||||
var $ects; //@var numeric(5,2)
|
||||
var $semesterstunden; //@var smallint
|
||||
|
||||
var $anmerkung; //@var string
|
||||
var $lehre; //@var boolean
|
||||
var $lehreverzeichnis; //@var string
|
||||
var $aktiv; //@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 $updateamum; //@var timestamp
|
||||
var $updatevon; //@var string
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $errormsg; // @var string
|
||||
var $new; // @var boolean
|
||||
var $result = array(); // @var lehrveranstaltung Objekt
|
||||
|
||||
var $lehrveranstaltung_id; // @var integer
|
||||
var $art; // @var integer
|
||||
var $ausbildungssemester_id; // @var integer
|
||||
var $beschreibung; // @var string
|
||||
var $ectspunkte; // @var float
|
||||
var $fachbereich_id; // @var integer
|
||||
var $kategorie; // @var integer
|
||||
var $kurzbezeichnung; // @var string
|
||||
var $name; // @var string
|
||||
var $notenlektor_id; // @var integer
|
||||
var $nummer; // @var string
|
||||
var $nummerintern; // @var integer
|
||||
var $sortierung; // @var integer
|
||||
var $studentenwochenstunden; // @var float
|
||||
var $studiengang_id; // @var integer
|
||||
var $studiensemester_id; // @var integer
|
||||
var $updateamum=0; // @var timestamp
|
||||
var $updatevon; // @var string
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -60,13 +37,19 @@ class lehrveranstaltung
|
||||
function lehrveranstaltung($conn, $lehrveranstaltung_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
if($lehrveranstaltung_id != null)
|
||||
$this->load($lehrveranstaltung_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param $lehrveranstaltung_id ID des zu ladenden Datensatzes
|
||||
* @param $lehrveranstaltung_id ID des zu ladenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($lehrveranstaltung_id)
|
||||
@@ -78,7 +61,7 @@ class lehrveranstaltung
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_pk = '$lehrveranstaltung_id';";
|
||||
$qry = "SELECT * FROM lehrveranstaltung WHERE lehrveranstaltung_pk = '$lehrveranstaltung_id';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
@@ -88,24 +71,24 @@ class lehrveranstaltung
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
$this->lehrveranstaltung_id = $row->lehrveranstaltung_pk;
|
||||
$this->art = $row->art;
|
||||
$this->ausbildungssemester_id = $row->ausbildungssemester_fk;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->ectspunkte = $row->ectspunkte;
|
||||
$this->fachbereich_id = $row->fachbereich_fk;
|
||||
$this->kategorie = $row->kategorie;
|
||||
$this->kurzbezeichnung = $row->kurzbezeichnung;
|
||||
$this->name = $row->name;
|
||||
$this->notenlektor_id = $row->notenlektor_fk;
|
||||
$this->nummer = $row->nummer;
|
||||
$this->nummerintern = $row->nummerintern;
|
||||
$this->sortierung = $row->sortierung;
|
||||
$this->studentenwochenstunden = $row->studentenwochenstunden;
|
||||
$this->studiengang_id = $row->studiengang_fk;
|
||||
$this->studiensemester_id = $row->studiensemester_fk;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
$this->lehrveranstaltung_id = $row->lehrveranstaltung_pk;
|
||||
$this->art = $row->art;
|
||||
$this->ausbildungssemester_id = $row->ausbildungssemester_fk;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->ectspunkte = $row->ectspunkte;
|
||||
$this->fachbereich_id = $row->fachbereich_fk;
|
||||
$this->kategorie = $row->kategorie;
|
||||
$this->kurzbezeichnung = $row->kurzbezeichnung;
|
||||
$this->name = $row->name;
|
||||
$this->notenlektor_id = $row->notenlektor_fk;
|
||||
$this->nummer = $row->nummer;
|
||||
$this->nummerintern = $row->nummerintern;
|
||||
$this->sortierung = $row->sortierung;
|
||||
$this->studentenwochenstunden = $row->studentenwochenstunden;
|
||||
$this->studiengang_id = $row->studiengang_fk;
|
||||
$this->studiensemester_id = $row->studiensemester_fk;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -122,7 +105,7 @@ class lehrveranstaltung
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung;";
|
||||
$qry = "SELECT * FROM lehrveranstaltung;";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
@@ -134,24 +117,24 @@ class lehrveranstaltung
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung($this->conn);
|
||||
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_pk;
|
||||
$lv_obj->art = $row->art;
|
||||
$lv_obj->ausbildungssemester_id = $row->ausbildungssemester_fk;
|
||||
$lv_obj->beschreibung = $row->beschreibung;
|
||||
$lv_obj->ectspunkte = $row->ectspunkte;
|
||||
$lv_obj->fachbereich_id = $row->fachbereich_fk;
|
||||
$lv_obj->kategorie = $row->kategorie;
|
||||
$lv_obj->kurzbezeichnung = $row->kurzbezeichnung;
|
||||
$lv_obj->name = $row->name;
|
||||
$lv_obj->notenlektor_id = $row->notenlektor_fk;
|
||||
$lv_obj->nummer = $row->nummer;
|
||||
$lv_obj->nummerintern = $row->nummerintern;
|
||||
$lv_obj->sortierung = $row->sortierung;
|
||||
$lv_obj->studentenwochenstunden = $row->studentenwochenstunden;
|
||||
$lv_obj->studiengang_id = $row->studiengang_fk;
|
||||
$lv_obj->studiensemester_id = $row->studiensemester_fk;
|
||||
$lv_obj->updateamum = $row->creationdate;
|
||||
$lv_obj->updatevon = $row->creationuser;
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_pk;
|
||||
$lv_obj->art = $row->art;
|
||||
$lv_obj->ausbildungssemester_id = $row->ausbildungssemester_fk;
|
||||
$lv_obj->beschreibung = $row->beschreibung;
|
||||
$lv_obj->ectspunkte = $row->ectspunkte;
|
||||
$lv_obj->fachbereich_id = $row->fachbereich_fk;
|
||||
$lv_obj->kategorie = $row->kategorie;
|
||||
$lv_obj->kurzbezeichnung = $row->kurzbezeichnung;
|
||||
$lv_obj->name = $row->name;
|
||||
$lv_obj->notenlektor_id = $row->notenlektor_fk;
|
||||
$lv_obj->nummer = $row->nummer;
|
||||
$lv_obj->nummerintern = $row->nummerintern;
|
||||
$lv_obj->sortierung = $row->sortierung;
|
||||
$lv_obj->studentenwochenstunden = $row->studentenwochenstunden;
|
||||
$lv_obj->studiengang_id = $row->studiengang_fk;
|
||||
$lv_obj->studiensemester_id = $row->studiensemester_fk;
|
||||
$lv_obj->updateamum = $row->creationdate;
|
||||
$lv_obj->updatevon = $row->creationuser;
|
||||
|
||||
$this->result[] = $lv_obj;
|
||||
}
|
||||
@@ -186,7 +169,7 @@ class lehrveranstaltung
|
||||
}
|
||||
|
||||
//Select Befehl zusammenbauen
|
||||
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE studiengang_fk = '$studiengang_id'";
|
||||
$qry = "SELECT * FROM lehrveranstaltung WHERE studiengang_fk = '$studiengang_id'";
|
||||
|
||||
if($studiensemester_id != null)
|
||||
$qry .= " AND studiensemester_fk = '$studiensemester_id'";
|
||||
@@ -205,34 +188,30 @@ class lehrveranstaltung
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung($this->conn);
|
||||
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_pk;
|
||||
$lv_obj->art = $row->art;
|
||||
$lv_obj->ausbildungssemester_id = $row->ausbildungssemester_fk;
|
||||
$lv_obj->beschreibung = $row->beschreibung;
|
||||
$lv_obj->ectspunkte = $row->ectspunkte;
|
||||
$lv_obj->fachbereich_id = $row->fachbereich_fk;
|
||||
$lv_obj->kategorie = $row->kategorie;
|
||||
$lv_obj->kurzbezeichnung = $row->kurzbezeichnung;
|
||||
$lv_obj->name = $row->name;
|
||||
$lv_obj->notenlektor_id = $row->notenlektor_fk;
|
||||
$lv_obj->nummer = $row->nummer;
|
||||
$lv_obj->nummerintern = $row->nummerintern;
|
||||
$lv_obj->sortierung = $row->sortierung;
|
||||
$lv_obj->studentenwochenstunden = $row->studentenwochenstunden;
|
||||
$lv_obj->studiengang_id = $row->studiengang_fk;
|
||||
$lv_obj->studiensemester_id = $row->studiensemester_fk;
|
||||
$lv_obj->updateamum = $row->creationdate;
|
||||
$lv_obj->updatevon = $row->creationuser;
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_pk;
|
||||
$lv_obj->art = $row->art;
|
||||
$lv_obj->ausbildungssemester_id = $row->ausbildungssemester_fk;
|
||||
$lv_obj->beschreibung = $row->beschreibung;
|
||||
$lv_obj->ectspunkte = $row->ectspunkte;
|
||||
$lv_obj->fachbereich_id = $row->fachbereich_fk;
|
||||
$lv_obj->kategorie = $row->kategorie;
|
||||
$lv_obj->kurzbezeichnung = $row->kurzbezeichnung;
|
||||
$lv_obj->name = $row->name;
|
||||
$lv_obj->notenlektor_id = $row->notenlektor_fk;
|
||||
$lv_obj->nummer = $row->nummer;
|
||||
$lv_obj->nummerintern = $row->nummerintern;
|
||||
$lv_obj->sortierung = $row->sortierung;
|
||||
$lv_obj->studentenwochenstunden = $row->studentenwochenstunden;
|
||||
$lv_obj->studiengang_id = $row->studiengang_fk;
|
||||
$lv_obj->studiensemester_id = $row->studiensemester_fk;
|
||||
$lv_obj->updateamum = $row->creationdate;
|
||||
$lv_obj->updatevon = $row->creationuser;
|
||||
|
||||
$this->result[] = $lv_obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
@@ -240,67 +219,85 @@ class lehrveranstaltung
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
//$this->name = str_replace("'",'´',$this->name);
|
||||
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
|
||||
$this->kurzbz = str_replace("'",'´',$this->kurzbz);
|
||||
$this->anmerkung = str_replace("'",'´',$this->anmerkung);
|
||||
$this->name = str_replace("'",'´',$this->name);
|
||||
$this->nummer = str_replace("'",'´',$this->nummer);
|
||||
$this->kurzbezeichnung = str_replace("'",'´',$this->kurzbezeichnung);
|
||||
|
||||
//Laenge Pruefen
|
||||
if(strlen($this->bezeichnung)>128)
|
||||
$this->errormsg = 'Eine der Gesamtlaengen wurde ueberschritten';
|
||||
if(strlen($this->name)>255)
|
||||
{
|
||||
$this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei <b>$this->ext_id</b> - $this->bezeichnung";
|
||||
$this->errormsg = 'Name darf nicht laenger als 255 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->kurzbz)>16)
|
||||
if(strlen($this->nummer)>20)
|
||||
{
|
||||
$this->errormsg = "Kurzbez darf nicht laenger als 16 Zeichen sein bei <b>$this->ext_id</b> - $this->kurzbz";
|
||||
$this->errormsg = 'Nummer darf nicht laenger als 20 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anmerkung)>64)
|
||||
if(strlen($this->kurzbezeichnung)>20)
|
||||
{
|
||||
$this->errormsg = "Anmerkung darf nicht laenger als 64 Zeichen sein bei <b>$this->ext_id</b> - $this->anmerkung";
|
||||
$this->errormsg = 'kurzbezeichnung darf nicht laenger als 20 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->lehreverzeichnis)>16)
|
||||
|
||||
if(!is_numeric($this->fachbereich_id))
|
||||
{
|
||||
$this->errormsg = "Lehreverzeichnis darf nicht laenger als 16 Zeichen sein bei <b>$this->ext_id</b> - $this->lehreverzeichnis";
|
||||
$this->errormsg = 'Fachbereich_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->studiengang_kz))
|
||||
if(!is_numeric($this->studiengang_id))
|
||||
{
|
||||
$this->errormsg = "Studiengang_kz ist ungueltig bei <b>$this->ext_id</b> - $this->studiengang_kz";
|
||||
$this->errormsg = 'Studiengang_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if($this->semester!='' && !is_numeric($this->semester))
|
||||
if(!is_numeric($this->ausbildungssemester_id))
|
||||
{
|
||||
$this->errormsg = "Semester ist ungueltig bei <b>$this->ext_id</b> - $this->semester";
|
||||
$this->errormsg = 'Ausbildungssemester_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if($this->planfaktor!='' && !is_numeric($this->planfaktor))
|
||||
if($this->art!='' && !is_numeric($this->art))
|
||||
{
|
||||
$this->errormsg = "Planfaktor ist ungueltig bei <b>$this->ext_id</b> - $this->planfaktor";
|
||||
$this->errormsg = 'Art ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if($this->semesterstunden!='' && !is_numeric($this->semesterstunden))
|
||||
if($this->studentenwochenstunden!='' && !is_numeric($this->studentenwochenstunden))
|
||||
{
|
||||
$this->errormsg = "Semesterstunden ist ungueltig bei <b>$this->ext_id</b> - $this->semesterstunden";
|
||||
$this->errormsg = 'Studentenwochenstunden ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if($this->planlektoren!='' && !is_numeric($this->planlektoren))
|
||||
if($this->kategorie!='' && !is_numeric($this->kategorie))
|
||||
{
|
||||
$this->errormsg = "Planlektoren ist ungueltig bei <b>$this->ext_id</b> - $this->planlektoren";
|
||||
$this->errormsg = "Kategorie ist ungueltig";
|
||||
return false;
|
||||
}
|
||||
if($this->ects!='' && !is_numeric($this->ects))
|
||||
if($this->ectspunkte!='' && !is_numeric($this->ectspunkte))
|
||||
{
|
||||
$this->errormsg = "ECTS sind ungueltig bei <b>$this->ext_id</b> - $this->ects";
|
||||
$this->errormsg = 'ECTSPunkte sind ungueltig';
|
||||
return false;
|
||||
}
|
||||
if($this->ects>40)
|
||||
}
|
||||
if($this->notentlektor_id!='' && !is_numeric($this->notenlektor_id))
|
||||
{
|
||||
$this->errormsg = "ECTS größer als 40 bei <b>$this->ext_id</b> - $this->ects";
|
||||
$this->errormsg = 'Notenlektor ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if($this->sortierung!='' && !is_numeric($this->sortierung))
|
||||
{
|
||||
$this->errormsg = 'Sortierung ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if($this->nummerintern!='' && !is_numeric($this->nummerintern))
|
||||
{
|
||||
$this->errormsg = 'NummerIntern ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!is_numeric($this->studiensemester_id))
|
||||
{
|
||||
$this->errormsg = 'Studiensemester_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
@@ -318,27 +315,23 @@ class lehrveranstaltung
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO lehre.tbl_lehrveranstaltung (studiengang_kz, bezeichnung, kurzbz,
|
||||
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, ext_id, insertamum,
|
||||
insertvon, planfaktor, planlektoren, planpersonalkosten, updateamum, updatevon) VALUES ('.
|
||||
$this->addslashes($this->studiengang_kz).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->kurzbz).', '.
|
||||
$this->addslashes($this->semester).', '.
|
||||
$this->addslashes($this->ects).', '.
|
||||
$this->addslashes($this->semesterstunden).', '.
|
||||
$this->addslashes($this->anmerkung).', '.
|
||||
($this->lehre?'true':'false').','.
|
||||
$this->addslashes($this->lehreverzeichnis).', '.
|
||||
($this->aktiv?'true':'false').', '.
|
||||
$this->addslashes($this->ext_id).', '.
|
||||
$this->addslashes($this->insertamum).', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
$this->addslashes($this->planfaktor).', '.
|
||||
$this->addslashes($this->planlektoren).', '.
|
||||
$this->addslashes($this->planpersonalkosten).', '.
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).');';
|
||||
|
||||
//naechste ID aus der Sequence holen
|
||||
$qry = "SELECT nextval('lehrveranstaltung_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Sequence konnte nicht ausgelesen werden';
|
||||
return false;
|
||||
}
|
||||
$this->lehrveranstaltung_id = $row->id;
|
||||
|
||||
$qry = "INSERT INTO lehrveranstaltung(lehrveranstaltung_pk, fachbereich_fk, studiengang_fk, ausbildungssemester_fk,".
|
||||
" name, nummer, kurzbezeichnung, beschreibung, art, studentenwochenstunden, creationdate, creationuser,".
|
||||
" kategorie, ectspunkte, studiensemester_fk, notenlektor_fk, sortierung, nummerintern) VALUES(".
|
||||
" '$this->lehrveranstaltung_id', '$this->fachbereich_id', '$this->studiengang_id', '$this->ausbildungssemester_id',".
|
||||
" '$this->name', '$this->nummer', '$this->kurzbezeichnung', '$this->beschreibung', '$this->art',".
|
||||
" '$this->studentenwochenstunden', now(), $this->updatevon, '$this->kategorie', '$this->ectspunkte', '$this->studiensemester_id',".
|
||||
" '$this->notenlektor_id', '$this->sortierung', '$this->nummerintern');";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -350,33 +343,20 @@ class lehrveranstaltung
|
||||
$this->errormsg = 'lehrveranstaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
$qry = 'UPDATE lehre.tbl_lehrveranstaltung SET '.
|
||||
//'lehrveranstaltung_id= '.$this->addslashes($this->lehrveranstaltung_id) .', '.
|
||||
'studiengang_kz='.$this->addslashes($this->studiengang_kz) .', '.
|
||||
'bezeichnung='.$this->addslashes($this->bezeichnung) .', '.
|
||||
'kurzbz='.$this->addslashes($this->kurzbz) .', '.
|
||||
'semester='.$this->addslashes($this->semester) .', '.
|
||||
'ects='.$this->addslashes($this->ects) .', '.
|
||||
'semesterstunden='.$this->addslashes($this->semesterstunden) .', '.
|
||||
'anmerkung='.$this->addslashes($this->anmerkung) .', '.
|
||||
'lehre='.$this->addslashes($this->lehre) .', '.
|
||||
'lehreverzeichnis='.$this->addslashes($this->lehreverzeichnis) .', '.
|
||||
'aktiv='.($this->aktiv?'true':'false') .', '.
|
||||
'ext_id='.$this->addslashes($this->ext_id) .', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum) .', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon) .', '.
|
||||
'planfaktor='.$this->addslashes($this->planfaktor) .', '.
|
||||
'planlektoren='.$this->addslashes($this->planlektoren) .', '.
|
||||
'planpersonalkosten='.$this->addslashes($this->planpersonalkosten) .', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum) .','.
|
||||
'updatevon='.$this->addslashes($this->updatevon) .' '.
|
||||
'WHERE ext_id = '.$this->addslashes($this->lehrveranstaltung_id).';';
|
||||
|
||||
$qry = "UPDATE lehrveranstaltung SET fachbereich_fk = '$this->fachbereich_id', studiengang_fk = '$this->studiengang_id',".
|
||||
" ausbildungssemester_fk = '$this->ausbildungssemester_id', name = '$this->name', nummer = '$this->nummer',".
|
||||
" kurzbezeichnung = '$this->kurzbezeichnung', beschreibung = '$this->beschreibung', art = '$this->art',".
|
||||
" studentenwochenstunden = '$this->studentenwochenstunden', kategorie = '$this->kategorie', ".
|
||||
" ectspunkte = '$this->ectspunkte', studiensemester_fk = '$this->studiensemester_id',".
|
||||
" notenlektor_fk = '$this->notenlektor_id', sortierung = '$this->sortierung', nummerintern = '$this->nummerintern'".
|
||||
" WHERE lehrveranstaltung_pk = '$this->lehrveranstaltung_id';";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
//Log schreiben
|
||||
/*$sql = $qry;
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
@@ -384,19 +364,18 @@ class lehrveranstaltung
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".$this->addslashes($sql)."')";
|
||||
$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->errormsg = 'Fehler beim speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -416,7 +395,7 @@ class lehrveranstaltung
|
||||
}
|
||||
|
||||
//Loeschen des Datensatzes
|
||||
$qry = "DELETE FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_pk = '$lehrveranstaltung_id';";
|
||||
$qry = "DELETE FROM lehrveranstaltung WHERE lehrveranstaltung_pk = '$lehrveranstaltung_id';";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
@@ -429,7 +408,7 @@ class lehrveranstaltung
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".$this->addslashes($sql)."')";
|
||||
$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
|
||||
|
||||
@@ -1,154 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class lehrverband
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $lehrverbaende = array(); // lehrverband Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $studiengang_kz; // integer
|
||||
var $semester; // integer
|
||||
var $verband; // integer
|
||||
var $gruppe; // integer
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)
|
||||
{
|
||||
$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;
|
||||
}
|
||||
}
|
||||
|
||||
function exists($studiengang_kz, $semester, $verband, $gruppe)
|
||||
{
|
||||
$qry = "SELECT count(*) as anzahl FROM tbl_lehrverband WHERE
|
||||
studiengang_kz='".addslashes($studiengang_kz)."' AND
|
||||
semester='".addslashes($semester)."' AND
|
||||
verband='".addslashes($verband)."' AND
|
||||
gruppe='".addslashes($gruppe)."'";
|
||||
|
||||
if($row=pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei Abfrage: '.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(!is_numeric($this->semester))
|
||||
{
|
||||
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->verband=='')
|
||||
{
|
||||
$this->verband=' ';
|
||||
}
|
||||
if($this->gruppe=='')
|
||||
{
|
||||
$this->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 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()
|
||||
{
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
$qry = 'INSERT INTO tbl_lehrverband (studiengang_kz, semester, verband, gruppe)
|
||||
VALUES('.$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes($this->verband).','.
|
||||
$this->addslashes($this->gruppe).');';
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Lehrverbands:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,293 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse lvinfo (FAS-Online)
|
||||
* @create 04-12-2006
|
||||
*/
|
||||
|
||||
class lvinfo
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var fachbereich Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $lvinfo_id; // @var integer
|
||||
var $lehrziele; // @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
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $lvinfo_id ID des zu ladenden Ortes
|
||||
*/
|
||||
function lvinfo($conn, $lvinfo_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
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()
|
||||
{
|
||||
$qry = 'SELECT * FROM campus.tbl_lvinfo order by lvinfo_id;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$lvinfo_obj = new lvinfo($this->conn);
|
||||
|
||||
$lvinfo_obj->lvinfo_id = $row->lvinfo_id;
|
||||
$lvinfo_obj->lehrziele = $row->lehrziele;
|
||||
$lvinfo_obj->lehrinhalte = $row->lehrinhalte;
|
||||
$lvinfo_obj->voraussetzungen = $row->voraussetzungen;
|
||||
$lvinfo_obj->unterlagen = $row->unterlagen;
|
||||
$lvinfo_obj->pruefungsordnung = $row->pruefungsordnung;
|
||||
$lvinfo_obj->anmerkungen = $row->anmerkungen;
|
||||
$lvinfo_obj->kurzbeschreibung = $row->kurzbeschreibung;
|
||||
$lvinfo_obj->genehmigt = $row->genehmigt;
|
||||
$lvinfo_obj->aktiv = $row->aktiv;
|
||||
$lvinfo_obj->sprache = $row->sprache;
|
||||
$lvinfo_obj->insertamum = $row->insertamum;
|
||||
$lvinfo_obj->insertvon = $row->insertvon;
|
||||
$lvinfo_obj->updateamum = $row->updateamum;
|
||||
$lvinfo_obj->updatevon = $row->updatevon;
|
||||
|
||||
$this->result[] = $lvinfo_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine LVInfo
|
||||
* @param $lvinfo_id ID der zu ladenden LVInfo
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($lvinfo_id)
|
||||
{
|
||||
if($lvinfo == '' || !is_numeric($lvinfo_id))
|
||||
{
|
||||
$this->errormsg = 'lvinfo_id ungültig';
|
||||
return false;
|
||||
}
|
||||
$qry = "SELECT * FROM campus.tbl_lvinfo WHERE lvinfo_id = '$lvinfo_id';";
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->lvinfo_id = $row->lvinfo_id;
|
||||
$this->lehrziele = $row->lehrziele;
|
||||
$this->lehrinhalte = $row->lehrinhalte;
|
||||
$this->voraussetzungen = $row->voraussetzungen;
|
||||
$this->unterlagen = $row->unterlagen;
|
||||
$this->pruefungsordnung = $row->pruefungsordnung;
|
||||
$this->anmerkungen = $row->anmerkungen;
|
||||
$this->kurzbeschreibung = $row->kurzbeschreibung;
|
||||
$this->genehmigt = $row->genehmigt;
|
||||
$this->aktiv = $row->aktiv;
|
||||
$this->sprache = $row->sprache;
|
||||
$this->kosten = $row->kosten;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID ('.$lvinfo_id.') vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $lvinfo_id ID des Datensatzes der geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($lvinfo_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()
|
||||
{
|
||||
$this->lehrziele = str_replace("'",'´',$this->lehrziele);
|
||||
$this->lehrinhalte = str_replace("'",'´',$this->lehrinhalte);
|
||||
$this->voraussetzungen = str_replace("'",'´',$this->voraussetzungen);
|
||||
$this->unterlagen = str_replace("'",'´',$this->unterlagen);
|
||||
$this->pruefungsordnung = str_replace("'",'´',$this->pruefungsordnung);
|
||||
$this->anmerkungen = str_replace("'",'´',$this->anmerkungen);
|
||||
$this->kurzbeschreibung = str_replace("'",'´',$this->kurzbeschreibung);
|
||||
$this->sprache = str_replace("'",'´',$this->sprache);
|
||||
|
||||
//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";
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Pruefen ob lvinfo_id eine gueltige Bezeichnung ist
|
||||
if($this->lvinfo_id == '' || !is_numeric($this->lvinfo_id))
|
||||
{
|
||||
$this->errormsg = 'lvinfo_id ungültig';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'BEGIN; INSERT INTO campus.tbl_lvinfo (lehrziele, lehrinhalte, voraussetzungen, unterlagen, pruefungsordnung, anmerkungen,
|
||||
kurzbeschreibung, genehmigt, aktiv, sprache, insertamum, insertvon, updateamum,
|
||||
updatevon) VALUES ('.
|
||||
$this->addslashes($this->lehrziele).', '.
|
||||
$this->addslashes($this->lehrinhalte).', '.
|
||||
$this->addslashes($this->voraussetzungen).', '.
|
||||
$this->addslashes($this->unterlagen).', '.
|
||||
$this->addslashes($this->pruefungsordnung).', '.
|
||||
$this->addslashes($this->anmerkungen).', '.
|
||||
$this->addslashes($this->kurzbeschreibung).', '.
|
||||
($this->genehmigt?'true':'false').', '.
|
||||
($this->aktiv?'true':'false').', '.
|
||||
$this->addslashes($this->sprache).', '.
|
||||
$this->addslashes($this->insertamum).', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).');';
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob lvinfo_id gueltig ist
|
||||
if($this->lvinfo_id == '' || !is_numeric($this->lvinfo_id))
|
||||
{
|
||||
$this->errormsg = 'lvinfo_id '.$this->lvinfo_id.' ungültig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'BEGIN; UPDATE campus.tbl_lvinfo SET '.
|
||||
//'lvinfo_id='.$this->addslashes($this->lvinfo_id).', '.
|
||||
'lehrziele='.$this->addslashes($this->lehrziele).', '.
|
||||
'lehrinhalte='.$this->addslashes($this->lehrinhalte).', '.
|
||||
'voraussetzungen='.$this->addslashes($this->voraussetzungen).', '.
|
||||
'pruefungsordnung='.$this->addslashes($this->pruefungsordnung).', '.
|
||||
'anmerkungen='.$this->addslashes($this->anmerkungen).', '.
|
||||
'kurzbeschreibung='.$this->addslashes($this->kurzbeschreibung).', '.
|
||||
'genehmigt='.($this->aktiv?'true':'false') .', '.
|
||||
'aktiv='.($this->aktiv?'true':'false') .', '.
|
||||
'sprache='.$this->addslashes($this->sprache).', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum).', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon).', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum).', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE lvinfo_id = '.$this->addslashes($this->lvinfo_id).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
/*//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}*/
|
||||
$qry = "SELECT currval('campus.tbl_lvinfo_lvinfo_id_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler!';
|
||||
pg_query($this->conn, "ROLLBACK");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->lvinfo_id = $row->id;
|
||||
pg_query($this->conn, "COMMIT");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+697
-134
@@ -1,179 +1,742 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
/**
|
||||
* Klasse Mitarbeiter abgeleitet von Person (FAS-Online)
|
||||
* @create 06-03-2006
|
||||
*/
|
||||
|
||||
class mitarbeiter extends benutzer
|
||||
class mitarbeiter extends person
|
||||
{
|
||||
|
||||
//Tabellenspalten
|
||||
var $ausbildungcode; //integer
|
||||
var $personalnummer; //serial
|
||||
var $kurzbz; //varchar(8)
|
||||
var $lektor; //boolean
|
||||
var $fixangestellt; //boolean
|
||||
var $telefonklappe; //varchar(25)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional einen Mitarbeiter
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid Mitarbeiter der geladen werden soll (default=null)
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function mitarbeiter($conn, $uid=null, $unicode=false)
|
||||
var $mitarbeiter_id; // @var bigint
|
||||
var $beginndatum; // @var timestamp
|
||||
var $akadgrad; // @var boolean
|
||||
var $akadgrad_bezeichnung; // @var boolean
|
||||
var $habilitation; // @var boolean
|
||||
var $mitgliedentwicklungsteam; // @var boolean
|
||||
var $qualifikation; // @var integer
|
||||
var $hauptberuflich; // @var boolean
|
||||
var $hauptberuf; // @var integer
|
||||
var $semesterwochenstunden; // @var float
|
||||
var $persnr; // @var string
|
||||
var $beendigungsdatum; // @var timestamp
|
||||
var $ausgeschieden; // @var boolean
|
||||
var $ausgeschieden_bezeichnung; // @var string
|
||||
var $kurzbez; // @var string
|
||||
var $stundensatz; // @var float
|
||||
var $ausbildung; // @var integer
|
||||
var $ausbildung_bezeichnung; // @var string
|
||||
var $aktiv; // @var boolean
|
||||
var $aktiv_bezeichnung; // @var boolean
|
||||
var $zustelladresse_plz;
|
||||
var $zustelladresse_strasse;
|
||||
var $zustelladresse_ort;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*/
|
||||
function mitarbeiter($conn, $person_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
//Mitarbeiter laden
|
||||
if($person_id!=null)
|
||||
$this->load($person_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* ueberprueft die Variablen auf Gueltigkeit
|
||||
* @return true wenn gueltig, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
//Hochkomma herausfiltern
|
||||
$this->persnr = str_replace("'","`", $this->persnr);
|
||||
$this->kurzbez = str_replace("'","`", $this->kurzbez);
|
||||
|
||||
//Maximallaenge pruefen
|
||||
$this->errormsg='Die Maximallaenge eines Feldes wurde ueberschritten';
|
||||
if(strlen($this->persnr)>20)
|
||||
{
|
||||
$this->errormsg='PersonalNr darf nicht länger als 20 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->kurzbez)>10)
|
||||
{
|
||||
$this->errormsg="Kurzbezeichnung darf nicht länger als 10 Zeichen sein:".strlen($this->kurzbez);
|
||||
return false;
|
||||
}
|
||||
|
||||
//Zahlenwerte ueberpruefen
|
||||
$this->errormsg='Ein Zahlenfeld enthaelt ungueltige Zeichen';
|
||||
//if(!is_numeric($this->qualifikation)) return false;
|
||||
//if(!is_numeric($this->hauptberuf)) return false;
|
||||
if(!is_numeric($this->stundensatz) && $this->stundensatz!='')
|
||||
{
|
||||
$this->errormsg='Stundensatz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->ausbildung) && $this->ausbildung!='')
|
||||
{
|
||||
$this->errormsg='ausbildung muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
/*if(!is_numeric($this->semesterwochenstunden))
|
||||
{
|
||||
$this->errormsg='SWS muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}*/
|
||||
|
||||
if($this->kurzbz_exists($this->kurzbez, $this->mitarbeiter_id))
|
||||
{
|
||||
$this->errormsg = 'Diese Kurzbezeichnung wird bereits verwendet';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Mitarbeiter laden
|
||||
//if($uid!=null)
|
||||
// $this->load($uid);
|
||||
}
|
||||
|
||||
// ************************************************
|
||||
// * ueberprueft die Variablen auf Gueltigkeit
|
||||
// * @return true wenn gueltig, false im Fehlerfall
|
||||
// ************************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->uid=='')
|
||||
{
|
||||
$this->errormsg = 'UID muss eingegeben werden';
|
||||
return false;
|
||||
}
|
||||
if($this->ausbildungcode!='' && !is_numeric($this->ausbildungcode))
|
||||
{
|
||||
$this->errormsg = 'Ausbildungscode ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if($this->personalnummer!='' && !is_numeric($this->personalnummer))
|
||||
{
|
||||
$this->errormsg = 'Personalnummer muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = 'kurzbz darf nicht laenger als 8 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->lektor))
|
||||
{
|
||||
$this->errormsg = 'lektor muss boolean sein'.$this->lektor;
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->fixangestellt))
|
||||
{
|
||||
$this->errormsg = 'fixangestellt muss boolean sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->telefonklappe)>25)
|
||||
{
|
||||
$this->errormsg = 'telefonklappe darf nicht laenger als 25 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->updatevon)>32)
|
||||
{
|
||||
$this->errormsg = 'updatevon darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// *************************************************
|
||||
// * Speichert die Mitarbeiterdaten in die Datenbank
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *************************************************
|
||||
/**
|
||||
* Speichert die Mitarbeiterdaten in die Datenbank
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
//Variablen checken
|
||||
if(!$this->validate())
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
pg_query($this->conn,'BEGIN;');
|
||||
pg_query($this->conn,"Begin;");
|
||||
//Basisdaten speichern
|
||||
if(!benutzer::save())
|
||||
if(!person::save())
|
||||
{
|
||||
pg_query($this->conn,'ROLLBACK;');
|
||||
pg_query($this->conn,"Rollback;");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "INSERT INTO tbl_mitarbeiter(mitarbeiter_uid, ausbildungcode, personalnummer, kurzbz, lektor,
|
||||
fixangestellt, telefonklappe, updateamum, updatevon)
|
||||
VALUES('".addslashes($this->uid)."',".
|
||||
$this->addslashes($this->ausbildungcode).",".
|
||||
$this->addslashes($this->personalnummer).",". //TODO: in Produktivversion nicht angeben
|
||||
$this->addslashes($this->kurzbz).','.
|
||||
($this->lektor?'true':'false').','.
|
||||
($this->fixangestellt?'true':'false').','.
|
||||
$this->addslashes($this->telefonklappe).','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).');';
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
//naechste ID aus Sequence auslesen
|
||||
$qry = "SELECT nextval('mitarbeiter_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim auslesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
$this->mitarbeiter_id = $row->id;
|
||||
|
||||
$qry = "INSERT INTO mitarbeiter (mitarbeiter_pk, beginndatum, akadgrad, habilitation,".
|
||||
//" mitgliedentwicklungsteam,".
|
||||
//" qualifikation, hauptberuflich, hauptberuf, semesterwochenstunden,".
|
||||
" creationdate, creationuser, persnr,".
|
||||
" person_fk, beendigungsdatum, ausgeschieden, kurzbez, stundensatz, ausbildung, aktiv) VALUES (".
|
||||
" '$this->mitarbeiter_id',".
|
||||
(strlen($this->beginndatum)>0?"'$this->beginndatum'":"NULL") .", '".($this->akadgrad?'J':'N')."',".
|
||||
" '".($this->habilitation?'J':'N')."', ".
|
||||
//"'".($this->mitgliedentwicklungsteam?'J':'N')."',".
|
||||
//" '$this->qualifikation', '".($this->hauptberuflich?'J':'N')."', '$this->hauptberuf', '$this->semesterwochenstunden',".
|
||||
" now(),".
|
||||
" '$this->updatevon', '$this->persnr', '$this->person_id',".
|
||||
(strlen($this->beendigungsdatum)>0?"'$this->beendigungsdatum'":"null").",".
|
||||
" '".($this->ausgeschieden?'J':'N')."',".
|
||||
(strlen($this->kurzbez)>0?"'$this->kurzbez'":"null").", '$this->stundensatz',".
|
||||
($this->ausbildung!=''?"'$this->ausbildung'":'null').",'$this->aktiv');";
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bestehenden Datensatz updaten
|
||||
$qry = 'UPDATE tbl_mitarbeiter SET'.
|
||||
' ausbildungcode='.$this->addslashes($this->ausbildungcode).','.
|
||||
" personalnummer=".$this->addslashes($this->personalnummer).",". //TODO: in Produktivversion nicht angeben
|
||||
' kurzbz='.$this->addslashes($this->kurzbz).','.
|
||||
' lektor='.($this->lektor?'true':'false').','.
|
||||
' fixangestellt='.($this->fixangestellt?'true':'false').','.
|
||||
' telefonklappe='.$this->addslashes($this->telefonklappe).','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).
|
||||
" WHERE mitarbeiter_uid='".addslashes($this->uid)."';";
|
||||
//Bestehenden Datensatz ueberschreiben
|
||||
|
||||
//mitarbeiter_id auf Gueltigkeit pruefen
|
||||
if(!is_numeric($this->mitarbeiter_id))
|
||||
{
|
||||
$this->errormsg = 'mitarbeiter_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "UPDATE mitarbeiter SET".
|
||||
" beginndatum=".($this->beginndatum!=''?"'$this->beginndatum'":'null').",".
|
||||
" akadgrad='".($this->akadgrad?'J':'N')."',".
|
||||
" habilitation='".($this->habilitation?'J':'N')."',".
|
||||
//" mitgliedentwicklungsteam='".($this->mitgliedentwicklungsteam?'J':'N')."',".
|
||||
//" qualifikation='$this->qualifikation', hauptberuflich='".($this->hauptberuflich?'J':'N')."',".
|
||||
//" hauptberuf='$this->hauptberuf', semesterwochenstunden='$this->semesterwochenstunden',".
|
||||
" persnr=".($this->persnr!=''?"'$this->persnr'":'null').",".
|
||||
" person_fk='$this->person_id',".
|
||||
" beendigungsdatum=".($this->beendigungsdatum!=''?"'$this->beendigungsdatum'":'null').",".
|
||||
" ausgeschieden='".($this->ausgeschieden?'J':'N')."',".
|
||||
" kurzbez=".($this->kurzbez!=''?"'$this->kurzbez'":'null').",".
|
||||
" stundensatz=".($this->stundensatz!=''?"'$this->stundensatz'":'null').",".
|
||||
" ausbildung=".($this->ausbildung!=''?"'$this->ausbildung'":'null').",".
|
||||
" aktiv='$this->aktiv'".
|
||||
" WHERE mitarbeiter_pk=$this->mitarbeiter_id;";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
pg_query($this->conn,'COMMIT;');
|
||||
//Wenn nicht ausgeschieden dann den Status neu setzen
|
||||
//Da sonst beim ruecksetzen des Hakerls ausgeschieden der status bleibt
|
||||
if(!$this->ausgeschieden)
|
||||
{
|
||||
if(!person::updateaktstatus($this->person_id))
|
||||
{
|
||||
pg_query($this->conn,"Rollback;");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!person::setaktstatus(150,$this->person_id))
|
||||
{
|
||||
pg_query($this->conn,"Rollback;");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
pg_query($this->conn,"Commit;");
|
||||
//Log schreiben
|
||||
return true;
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn,'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Speichern des Mitarbeiter-Datensatzes'.$qry;
|
||||
pg_query($this->conn,"Rollback;");
|
||||
$this->errormsg = 'Fehler beim Speichern des Mitarbeiter-Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ladet die Daten aus der Datenbank
|
||||
* @param $fix wenn 'true' Fixangestellte laden
|
||||
* wenn 'false' Freie MA laden
|
||||
* $stgl wenn 'true' Studiengangsleiter laden
|
||||
* $fbl wenn 'true' Fachbereichsleiter laden
|
||||
* $aktiv wenn 'true' Aktive MA laden
|
||||
* $karrenziert wenn 'true' Karenzierte laden
|
||||
* $ausgesch wenn 'true' Ausgeschiedene laden
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getMitarbeiter($mitarbeiter_id='', $fix='', $stgl='', $fbl='', $aktiv='', $karenziert='', $ausgesch='', $adresse=false, $studiensemester_id='')
|
||||
{
|
||||
$qry = "SELECT * FROM (mitarbeiter JOIN person ON (person_pk=mitarbeiter.person_fk))";
|
||||
if($adresse)
|
||||
$qry .= " LEFT JOIN adresse on(person_pk=adresse.person_fk)";
|
||||
$qry .= " WHERE true";
|
||||
|
||||
if($mitarbeiter_id!='')
|
||||
if(is_numeric($mitarbeiter_id))
|
||||
$qry .= " AND mitarbeiter_pk = $mitarbeiter_id";
|
||||
else
|
||||
{
|
||||
$this->errormsg = "mitarbeiter_id muss eine gueltige Zahl sein";
|
||||
return false;
|
||||
}
|
||||
|
||||
if($studiensemester_id=='')
|
||||
{
|
||||
$query = "Select studiensemester_pk FROM studiensemester WHERE aktuell='J'";
|
||||
if($row = pg_fetch_object(pg_query($this->conn, $query)))
|
||||
$studiensemester_id = $row->studiensemester_pk;
|
||||
}
|
||||
|
||||
if($fix=='true') // Alle Fixangestellten
|
||||
$qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.beschart1=3 AND funktion.studiensemester_fk='$studiensemester_id')";
|
||||
|
||||
if($fix=='false') // Freie Mitarbeiter
|
||||
$qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.beschart1=4 AND funktion.studiensemester_fk='$studiensemester_id')";
|
||||
|
||||
if($stgl=='true') //Alle Studiengangsleiter
|
||||
$qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.funktion=5 AND funktion.studiensemester_fk='$studiensemester_id')";
|
||||
|
||||
|
||||
if($fbl=='true') //Alle Fachbereichsleiter
|
||||
$qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.funktion=6 AND funktion.studiensemester_fk='$studiensemester_id')";
|
||||
|
||||
if($aktiv=='true') //Alle aktiven
|
||||
$qry .= " AND aktiv=true";
|
||||
|
||||
if($karenziert=='true') //Alle Karenzierten
|
||||
$qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.ausmass=5 AND funktion.studiensemester_fk='$studiensemester_id')";
|
||||
|
||||
if($ausgesch=='true') // Alle Ausgeschiedenen
|
||||
$qry .= " AND beendigungsdatum is not null";
|
||||
|
||||
$qry .= " ORDER BY familienname";
|
||||
if(!$res = pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$mitarb = new mitarbeiter($this->conn);
|
||||
//Personendaten
|
||||
$mitarb->person_id = $row->person_pk;
|
||||
$mitarb->familienname = $row->familienname;
|
||||
$mitarb->angelegtam = $row->angelegtam;
|
||||
$mitarb->vorname = $row->vorname;
|
||||
$mitarb->anrede = $row->anrede;
|
||||
$mitarb->vornamen = $row->vornamen;
|
||||
$mitarb->geschlecht = $row->geschlecht;
|
||||
$mitarb->gebdat = $row->gebdat;
|
||||
$mitarb->gebort = $row->gebort;
|
||||
$mitarb->staatsbuergerschaft = $row->staatsbuergerschaft;
|
||||
$mitarb->familienstand = $row->familienstand;
|
||||
$mitarb->familienstand_bezeichnung = $this->getFamilienstandBezeichnung($row->familienstand);
|
||||
$mitarb->svnr = $row->svnr;
|
||||
$mitarb->anzahlderkinder = $row->anzahlderkinder;
|
||||
$mitarb->ersatzkennzeichen = $row->ersatzkennzeichen;
|
||||
$mitarb->bemerkung = $row->bemerkung;
|
||||
$mitarb->aktstatus = $row->aktstatus;
|
||||
$mitarb->aktstatus_bezeichnung = $this->getAktstatusBezeichnung($row->aktstatus);
|
||||
$mitarb->bismelden = ($row->bismelden=='J'?true:false);
|
||||
$mitarb->bismelden_bezeichnung = ($row->bismelden=='J'?'Ja':'Nein');
|
||||
$mitarb->titelpre = $row->titel;
|
||||
$mitarb->titelpost = $row->postnomentitel;
|
||||
$mitarb->uid = $row->uid;
|
||||
$mitarb->gebnation = $row->gebnation;
|
||||
|
||||
//Mitarbeiterdaten
|
||||
$mitarb->mitarbeiter_id = $row->mitarbeiter_pk;
|
||||
$mitarb->beginndatum = $row->beginndatum;
|
||||
$mitarb->akadgrad = ($row->akadgrad=='J'?true:false);
|
||||
$mitarb->akadgrad_bezeichnung = ($row->akadgrad=='J'?'Ja':'Nein');
|
||||
$mitarb->habilitation = ($row->habilitation=='J'?true:false);
|
||||
$mitarb->habilitation_bezeichnung = ($row->habilitation=='J'?'Ja':'Nein');
|
||||
$mitarb->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false);
|
||||
$mitarb->qualifikation = $row->qualifikation;
|
||||
$mitarb->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
|
||||
$mitarb->hauptberuf = $row->hauptberuf;
|
||||
$mitarb->updateamum = $row->creationdate;
|
||||
$mitarb->updatevon = $row->creationuser;
|
||||
$mitarb->semesterwochenstunden = $row->semesterwochenstunden;
|
||||
$mitarb->persnr = $row->persnr;
|
||||
$mitarb->beendigungsdatum = $row->beendigungsdatum;
|
||||
$mitarb->ausgeschieden = ($row->ausgeschieden=='J'?true:false);
|
||||
$mitarb->ausgeschieden_bezeichnung = ($row->ausgeschieden=='J'?'Ja':'Nein');
|
||||
$mitarb->kurzbez = $row->kurzbez;
|
||||
$mitarb->stundensatz = $row->stundensatz;
|
||||
$mitarb->ausbildung = $row->ausbildung;
|
||||
$mitarb->ausbildung_bezeichnung = $this->getAusbildungBezeichnung($row->ausbildung);
|
||||
$mitarb->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$mitarb->aktiv_bezeichnung = ($row->aktiv=='t'?'Ja':'Nein');
|
||||
|
||||
if($adresse)
|
||||
{
|
||||
$mitarb->zustelladresse_plz = $row->plz;
|
||||
$mitarb->zustelladresse_strasse = $row->strasse;
|
||||
$mitarb->zustelladresse_ort = $row->ort;
|
||||
}
|
||||
$this->result[] = $mitarb;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Mitarbeiter
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
|
||||
$qry = "Select person_pk, familienname, angelegtam, vorname, anrede, vornamen, geschlecht, gebdat, gebort, staatsbuergerschaft, ".
|
||||
"familienstand, svnr, anzahlderkinder, ersatzkennzeichen, bemerkung, aktstatus, bismelden, titel, postnomentitel, uid, gebnation, ".
|
||||
"mitarbeiter_pk, beginndatum, akadgrad, habilitation, mitgliedentwicklungsteam, qualifikation, hauptberuflich, hauptberuf, ".
|
||||
"mitarbeiter.creationdate, mitarbeiter.creationuser, semesterwochenstunden, persnr, beendigungsdatum, ausgeschieden, ".
|
||||
"kurzbez, stundensatz, ausbildung, aktiv FROM mitarbeiter JOIN person ON(person_pk=person_fk)";
|
||||
if(!$res = pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$mitarb = new mitarbeiter($this->conn);
|
||||
//Personendaten
|
||||
$mitarb->person_id = $row->person_pk;
|
||||
$mitarb->familienname = $row->familienname;
|
||||
$mitarb->angelegtam = $row->angelegtam;
|
||||
$mitarb->vorname = $row->vorname;
|
||||
$mitarb->anrede = $row->anrede;
|
||||
$mitarb->vornamen = $row->vornamen;
|
||||
$mitarb->geschlecht = $row->geschlecht;
|
||||
$mitarb->gebdat = $row->gebdat;
|
||||
$mitarb->gebort = $row->gebort;
|
||||
$mitarb->staatsbuergerschaft = $row->staatsbuergerschaft;
|
||||
$mitarb->familienstand = $row->familienstand;
|
||||
$mitarb->svnr = $row->svnr;
|
||||
$mitarb->anzahlderkinder = $row->anzahlderkinder;
|
||||
$mitarb->ersatzkennzeichen = $row->ersatzkennzeichen;
|
||||
$mitarb->bemerkung = $row->bemerkung;
|
||||
$mitarb->aktstatus = $row->aktstatus;
|
||||
$mitarb->bismelden = ($row->bismelden=='J'?true:false);
|
||||
$mitarb->titelpre = $row->titel;
|
||||
$mitarb->titelpost = $row->postnomentitel;
|
||||
$mitarb->uid = $row->uid;
|
||||
$mitarb->gebnation = $row->gebnation;
|
||||
//Mitarbeiterdaten
|
||||
$mitarb->mitarbeiter_id = $row->mitarbeiter_pk;
|
||||
$mitarb->beginndatum = $row->beginndatum;
|
||||
$mitarb->akadgrad = ($row->akadgrad=='J'?true:false);
|
||||
$mitarb->habilitation = ($row->habilitation=='J'?true:false);
|
||||
$mitarb->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false);
|
||||
$mitarb->qualifikation = $row->qualifikation;
|
||||
$mitarb->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
|
||||
$mitarb->hauptberuf = $row->hauptberuf;
|
||||
$mitarb->updateamum = $row->creationdate;
|
||||
$mitarb->updatevon = $row->creationuser;
|
||||
$mitarb->semesterwochenstunden = $row->semesterwochenstunden;
|
||||
$mitarb->persnr = $row->persnr;
|
||||
$mitarb->beendigungsdatum = $row->beendigungsdatum;
|
||||
$mitarb->ausgeschieden = ($row->ausgeschieden=='J'?true:false);
|
||||
$mitarb->kurzbez = $row->kurzbez;
|
||||
$mitarb->stundensatz = $row->stundensatz;
|
||||
$mitarb->ausbildung = $row->ausbildung;
|
||||
$mitarb->aktiv = ($row->aktiv=='t'?true:false);
|
||||
|
||||
$this->result[] = $mitarb;
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Mitarbeiterdaten der uebergebenen ID
|
||||
* @param $person_id ID der Person die geladen werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($person_id)
|
||||
{
|
||||
//person_id auf Gueltigkeit pruefen
|
||||
if(!is_numeric($person_id) || $person_id=='')
|
||||
{
|
||||
$this->errormsg = 'Person_id muss eine Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT person_pk, familienname, angelegtam, vorname, anrede, vornamen, geschlecht, gebdat, gebort, staatsbuergerschaft, ".
|
||||
"familienstand, svnr, anzahlderkinder, ersatzkennzeichen, bemerkung, aktstatus, bismelden, titel, postnomentitel, uid, gebnation, ".
|
||||
"mitarbeiter_pk, beginndatum, akadgrad, habilitation, mitgliedentwicklungsteam, qualifikation, hauptberuflich, hauptberuf, ".
|
||||
"mitarbeiter.creationdate, mitarbeiter.creationuser, semesterwochenstunden, persnr, beendigungsdatum, ausgeschieden, ".
|
||||
"kurzbez, stundensatz, ausbildung, aktiv FROM mitarbeiter JOIN person ON(person_pk=person_fk) where person_pk=$person_id";
|
||||
if(!$res = pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
//Personendaten
|
||||
$this->person_id = $row->person_pk;
|
||||
$this->familienname = $row->familienname;
|
||||
$this->angelegtam = $row->angelegtam;
|
||||
$this->vorname = $row->vorname;
|
||||
$this->anrede = $row->anrede;
|
||||
$this->vornamen = $row->vornamen;
|
||||
$this->geschlecht = $row->geschlecht;
|
||||
$this->gebdat = $row->gebdat;
|
||||
$this->gebort = $row->gebort;
|
||||
$this->staatsbuergerschaft = $row->staatsbuergerschaft;
|
||||
$this->familienstand = $row->familienstand;
|
||||
$this->svnr = $row->svnr;
|
||||
$this->anzahlderkinder = $row->anzahlderkinder;
|
||||
$this->ersatzkennzeichen = $row->ersatzkennzeichen;
|
||||
$this->bemerkung = $row->bemerkung;
|
||||
$this->aktstatus = $row->aktstatus;
|
||||
$this->bismelden = ($row->bismelden=='J'?true:false);
|
||||
$this->titelpre = $row->titel;
|
||||
$this->titelpost = $row->postnomentitel;
|
||||
$this->uid = $row->uid;
|
||||
$this->gebnation = $row->gebnation;
|
||||
//Mitarbeiterdaten
|
||||
$this->mitarbeiter_id = $row->mitarbeiter_pk;
|
||||
$this->beginndatum = $row->beginndatum;
|
||||
$this->akadgrad = ($row->akadgrad=='J'?true:false);
|
||||
$this->habilitation = ($row->habilitation=='J'?true:false);
|
||||
$this->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false);
|
||||
$this->qualifikation = $row->qualifikation;
|
||||
$this->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
|
||||
$this->hauptberuf = $row->hauptberuf;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
$this->semesterwochenstunden = $row->semesterwochenstunden;
|
||||
$this->persnr = $row->persnr;
|
||||
$this->beendigungsdatum = $row->beendigungsdatum;
|
||||
$this->ausgeschieden = ($row->ausgeschieden=='J'?true:false);
|
||||
$this->kurzbez = $row->kurzbez;
|
||||
$this->stundensatz = $row->stundensatz;
|
||||
$this->ausbildung = $row->ausbildung;
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Mitarbeiterdaten der uebergebenen ID
|
||||
* @param $mitarbeiter_id ID der Person die geladen werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load_mitarbeiter($mitarbeiter_id)
|
||||
{
|
||||
//person_id auf Gueltigkeit pruefen
|
||||
if(!is_numeric($mitarbeiter_id) || $mitarbeiter_id=='')
|
||||
{
|
||||
$this->errormsg = 'Person_id muss eine Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT person_pk, familienname, angelegtam, vorname, anrede, vornamen, geschlecht, gebdat, gebort, staatsbuergerschaft, ".
|
||||
"familienstand, svnr, anzahlderkinder, ersatzkennzeichen, bemerkung, aktstatus, bismelden, titel, postnomentitel, uid, gebnation, ".
|
||||
"mitarbeiter_pk, beginndatum, akadgrad, habilitation, mitgliedentwicklungsteam, qualifikation, hauptberuflich, hauptberuf, ".
|
||||
"mitarbeiter.creationdate, mitarbeiter.creationuser, semesterwochenstunden, persnr, beendigungsdatum, ausgeschieden, ".
|
||||
"kurzbez, stundensatz, ausbildung, aktiv FROM mitarbeiter JOIN person ON(person_pk=person_fk) where mitarbeiter_pk=$mitarbeiter_id";
|
||||
if(!$res = pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
//Personendaten
|
||||
$this->person_id = $row->person_pk;
|
||||
$this->familienname = $row->familienname;
|
||||
$this->angelegtam = $row->angelegtam;
|
||||
$this->vorname = $row->vorname;
|
||||
$this->anrede = $row->anrede;
|
||||
$this->vornamen = $row->vornamen;
|
||||
$this->geschlecht = $row->geschlecht;
|
||||
$this->gebdat = $row->gebdat;
|
||||
$this->gebort = $row->gebort;
|
||||
$this->staatsbuergerschaft = $row->staatsbuergerschaft;
|
||||
$this->familienstand = $row->familienstand;
|
||||
$this->svnr = $row->svnr;
|
||||
$this->anzahlderkinder = $row->anzahlderkinder;
|
||||
$this->ersatzkennzeichen = $row->ersatzkennzeichen;
|
||||
$this->bemerkung = $row->bemerkung;
|
||||
$this->aktstatus = $row->aktstatus;
|
||||
$this->bismelden = ($row->bismelden=='J'?true:false);
|
||||
$this->titelpre = $row->titel;
|
||||
$this->titelpost = $row->postnomentitel;
|
||||
$this->uid = $row->uid;
|
||||
$this->gebnation = $row->gebnation;
|
||||
//Mitarbeiterdaten
|
||||
$this->mitarbeiter_id = $row->mitarbeiter_pk;
|
||||
$this->beginndatum = $row->beginndatum;
|
||||
$this->akadgrad = ($row->akadgrad=='J'?true:false);
|
||||
$this->habilitation = ($row->habilitation=='J'?true:false);
|
||||
$this->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false);
|
||||
$this->qualifikation = $row->qualifikation;
|
||||
$this->hauptberuflich = ($row->hauptberuflich=='J'?true:false);
|
||||
$this->hauptberuf = $row->hauptberuf;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
$this->semesterwochenstunden = $row->semesterwochenstunden;
|
||||
$this->persnr = $row->persnr;
|
||||
$this->beendigungsdatum = $row->beendigungsdatum;
|
||||
$this->ausgeschieden = ($row->ausgeschieden=='J'?true:false);
|
||||
$this->kurzbez = $row->kurzbez;
|
||||
$this->stundensatz = $row->stundensatz;
|
||||
$this->ausbildung = $row->ausbildung;
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* loescht den Mitarbeiter mit der uebergebenen ID
|
||||
* @param ma_id Mitarbeiter_id
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($person_id)
|
||||
{
|
||||
//person_id auf Gueltigkeit pruefen
|
||||
if(!is_numeric($person_id) || $person_id=='')
|
||||
{
|
||||
$this->errormsg = 'Person_id muss eine Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM funktion where mitarbeiter_fk=(Select mitarbeiter_pk from mitarbeiter where person_fk=$person_id);".
|
||||
" DELETE FROM adresse where person_fk=$person_id;".
|
||||
" DELETE FROM telefonnummer where person_fk=$person_id;".
|
||||
" DELETE FROM email where person_fk=$person_id;".
|
||||
" DELETE FROM mitarbeiter where person_fk=$person_id";
|
||||
|
||||
if(!pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen';
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!person::delete($person_id))
|
||||
return false;
|
||||
else
|
||||
{
|
||||
//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die passende Bezeichnung des Familienstandes
|
||||
* @param $id ID des Familienstandes
|
||||
*/
|
||||
function getFamilienstandBezeichnung($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 1: return 'ledig';
|
||||
case 2: return 'verheiratet';
|
||||
case 3: return 'geschieden';
|
||||
case 4: return 'verwitwet';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die passende Bezeichnung der Ausbildung
|
||||
* @param $id ID der Ausbildung
|
||||
*/
|
||||
function getAusbildungBezeichnung($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 1: return 'Universitätsabschluss mit Doktorat als Zweit- oder Dritt- oder PhD-Abschluss';
|
||||
case 2: return 'Universitäts- oder Hochschulabschluss auf Diplom oder Magisterebene, Doktor als Erstabschluss';
|
||||
case 3: return 'Fachhochschulabschluss auf Diplom- oder Magisterebene';
|
||||
case 4: return 'Universitätsabschluss auf Bakkalaureatsebene';
|
||||
case 5: return 'Fachhochschulabschluss auf Bakkalaureatsebene';
|
||||
case 6: return 'Diplom einer Akademie';
|
||||
case 7: return 'Anderer tertiärer Bildungsabschluss';
|
||||
case 8: return 'Reifeprüfung einer allgemeinbildenden höheren Schule';
|
||||
case 9: return 'Reifeprüfung einer berufsbildenden höheren Schule';
|
||||
case 10: return 'Lehrabschlussprüfung';
|
||||
case 11: return 'Pflichtschule';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die passende Bezeichnung des Aktuellen Status
|
||||
* @param $id ID des Status
|
||||
*/
|
||||
function getAktstatusBezeichnung($id)
|
||||
{
|
||||
switch($id)
|
||||
{
|
||||
case 100: return 'Mitarbeiter';
|
||||
case 101: return 'Lektor';
|
||||
case 102: return 'Koordinator';
|
||||
case 103: return 'Fachbereichsleiter';
|
||||
case 104: return 'Studiengangsleiter';
|
||||
case 150: return 'Ausgeschieden';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft ob eine Kurzbezeichnung schon existiert. Falls eine mitarbeiter_id
|
||||
* angegeben wird, dann wird dieser Datensatz von der ueberpruefung ausgeschlossen
|
||||
* ( fuer Update eines Datensatzes)
|
||||
*/
|
||||
function kurzbz_exists($kurzbz, $mitarbeiter_id='')
|
||||
{
|
||||
if($kurzbz!='')
|
||||
{
|
||||
$this->errormsg = '';
|
||||
$qry = "SELECT count(*) as anz from mitarbeiter where kurzbez='$kurzbz'";
|
||||
if($mitarbeiter_id!='')
|
||||
$qry .= " AND mitarbeiter_pk<>".$mitarbeiter_id;
|
||||
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
while ($row=pg_fetch_object($result))
|
||||
{
|
||||
if($row->anz == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim pruefen der Kurzbezeichnung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die naechste Personalnummer
|
||||
*/
|
||||
function getNextPersonalnr()
|
||||
{
|
||||
$qry = "SELECT max(persnr) AS persnr FROM mitarbeiter WHERE length(persnr)=(SELECT max(length(persnr)) FROM mitarbeiter)";
|
||||
if($row = pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
return $row->persnr+1;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,264 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse news (FAS-Online)
|
||||
* @create 04-12-2006
|
||||
*/
|
||||
|
||||
class news
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var news Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $news_id; // @var serial
|
||||
var $betreff; // @var varchar(128)
|
||||
var $text; // @var string
|
||||
var $semester; // @var smallint
|
||||
var $uid; // @var varchar(16)
|
||||
var $studiengang_kz; // @var integer
|
||||
var $verfasser; // @var varchar(64)
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
var $insertamum; // @var timestamp
|
||||
var $insertvon=0; // @var string
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $news_id ID der zu ladenden Funktion
|
||||
*/
|
||||
function news($conn, $news_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($news_id != null)
|
||||
$this->load($news_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Benutzerfunktionen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM campus.tbl_news order by news_id;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$news_obj = new news($this->conn);
|
||||
$news_obj->news_id = $row->news_id;
|
||||
$news_obj->betreff = $row->betreff;
|
||||
$news_obj->text = $row->text;
|
||||
$news_obj->semester = $row->semester;
|
||||
$news_obj->uid = $row->uid;
|
||||
$news_obj->studiengang_kz=$row->studiengang_kz;
|
||||
$news_obj->verfasser = $row->verfasser;
|
||||
$news_obj->insertamum=$row->insertamum;
|
||||
$news_obj->insertvon=$row->insertvon;
|
||||
$news_obj->updateamum=$row->updateamum;
|
||||
$news_obj->updatevon=$row->updatevon;
|
||||
|
||||
$this->result[] = $news_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine News
|
||||
* @param $news_id ID der zu ladenden Funktion
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($news_id)
|
||||
{
|
||||
if($news_id == '' || !is_nan($news_id))
|
||||
{
|
||||
$this->errormsg = 'news_id muß eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_news WHERE news_id = '$this->news_id';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->news_id = $row->news_id;
|
||||
$this->betreff = $row->betreff;
|
||||
$this->text = $row->text;
|
||||
$this->semester = $row->semester;
|
||||
$this->uid = $row->uid;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->verfasser = $row->verfasser;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $news_id id des Datensatzes der geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($news_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()
|
||||
{
|
||||
$this->betreff = str_replace("'",'´',$this->betreff);
|
||||
$this->text = str_replace("'",'´',$this->text);
|
||||
$this->verfasser = str_replace("'",'´',$this->verfasser);
|
||||
|
||||
|
||||
//Laenge Pruefen
|
||||
if(strlen($this->betreff)>128)
|
||||
{
|
||||
$this->errormsg = "Betreff darf nicht laenger als 128 Zeichen sein bei <b>$this->news_id</b> - $this->betreff";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->verfasser)>64)
|
||||
{
|
||||
$this->errormsg = "Verfasser darf nicht laenger als 64 Zeichen sein bei <b>$this->news_id</b> - $this->verfasser";
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
//Pruefen ob funktion_kurzbz befüllt ist
|
||||
if($this->news_id == '' || !is_numeric($this->news_id))
|
||||
{
|
||||
$this->errormsg = 'News_id ungültig';
|
||||
return false;
|
||||
}
|
||||
$qry = 'INSERT INTO campus.tbl_news (news_id, betreff, text, semester, uid, studiengang_kz, verfasser, insertamum, insertvon,
|
||||
updateamum, updatevon) VALUES ('.
|
||||
$this->addslashes($this->news_id).', '.
|
||||
$this->addslashes($this->betreff).', '.
|
||||
$this->addslashes($this->text).', '.
|
||||
$this->addslashes($this->semester).', '.
|
||||
$this->addslashes($this->uid).', '.
|
||||
$this->addslashes($this->studiengang_kz).', '.
|
||||
$this->addslashes($this->verfasser).', '.
|
||||
$this->addslashes($this->insertamum).', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).'); ';
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob news_id eine gueltige Zahl ist
|
||||
if(!is_numeric($this->news_id) || $this->news_id == '')
|
||||
{
|
||||
$this->errormsg = 'News_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE campus.tbl_news SET '.
|
||||
'news_id='.$this->addslashes($this->news_id).', '.
|
||||
'betreff='.$this->addslashes($this->betreff).', '.
|
||||
'text='.$this->addslashes($this->text).', '.
|
||||
'semester='.$this->addslashes($this->semester).', '.
|
||||
'uid='.$this->addslashes($this->uid).', '.
|
||||
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
|
||||
'verfasser='.$this->addslashes($this->verfasser).', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum).', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon).', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum).', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE news_id = '.$this->addslashes($this->news_id).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
/*//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}*/
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes - '.$this->uid;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,254 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse ort (FAS-Online)
|
||||
* @create 04-12-2006
|
||||
*/
|
||||
|
||||
class ort
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var fachbereich Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $ort_kurzbz; // @var string
|
||||
var $bezeichnung; // @var string
|
||||
var $planbezeichnung; // @var string
|
||||
var $max_person; // @var integer
|
||||
var $aktiv; // @var boolean
|
||||
var $lageplan; // @var oid
|
||||
var $dislozierung; // @var smallint
|
||||
var $kosten; // @var numeric(8,2)
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $fachb_id ID des zu ladenden Ortes
|
||||
*/
|
||||
function ort($conn, $ort_kurzbz=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($ort_kurzbz != null)
|
||||
$this->load($ort_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Orte
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM tbl_ort order by ort_kurzbz;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$ort_obj = new ort($this->conn);
|
||||
|
||||
$ort_obj->ort_kurzbz = $row->ort_kurzbz;
|
||||
$ort_obj->bezeichnung = $row->bezeichnung;
|
||||
$ort_obj->planbezeichnung = $row->planbezeichnung;
|
||||
$ort_obj->max_person = $row->max_person;
|
||||
$ort_obj->aktiv = $row->aktiv;
|
||||
$ort_obj->lageplan = $row->lageplan;
|
||||
$ort_obj->dislozierung = $row->dislozierung;
|
||||
$ort_obj->kosten = $row->kosten;
|
||||
|
||||
$this->result[] = $ort_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Ort
|
||||
* @param $fachb_id ID des zu ladenden Ortes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($ort_kurzbz)
|
||||
{
|
||||
if($ort_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'kurzbz darf nicht leer sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM tbl_ort WHERE ort_kurzbz = '$ort_kurzbz';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->ort_kurzbz = $row->ort_kurzbz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->planbezeichnung = $row->planbezeichnung;
|
||||
$this->max_person = $row->max_person;
|
||||
$this->aktiv = $row->aktiv;
|
||||
$this->lageplan = $row->lageplan;
|
||||
$this->dislozierung = $row->dislozierung;
|
||||
$this->kosten = $row->kosten;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
$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";
|
||||
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";
|
||||
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>";
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//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 tbl_ort (ort_kurzbz, bezeichnung, planbezeichnung, max_person, aktiv, lageplan,
|
||||
dislozierung, kosten) VALUES ('.
|
||||
$this->addslashes($this->ort_kurzbz).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->planbezeichnung).', '.
|
||||
$this->addslashes($this->max_person).', '.
|
||||
($this->aktiv?'true':'false').', '.
|
||||
$this->addslashes($this->lageplan).', '.
|
||||
$this->addslashes($this->dislozierung).', '.
|
||||
$this->addslashes($this->kosten).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//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 tbl_ort SET '.
|
||||
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
|
||||
'planbezeichnung='.$this->addslashes($this->planbezeichnung).', '.
|
||||
'max_person='.$this->addslashes($this->max_person).', '.
|
||||
'aktiv='.($this->aktiv?'true':'false') .', '.
|
||||
'lageplan='.$this->addslashes($this->lageplan).', '.
|
||||
'dislozierung='.$this->addslashes($this->dislozierung).', '.
|
||||
'kosten='.$this->addslashes($this->kosten).' '.
|
||||
'WHERE ort_kurzbz = '.$this->addslashes($this->ort_kurzbz).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
/*//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}*/
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,221 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse ortraumtyp (FAS-Online)
|
||||
* @create 04-12-2006
|
||||
*/
|
||||
|
||||
class ortraumtyp
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var fachbereich Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $ort_kurzbz; // @var string
|
||||
var $hierarchie; // @var smallint
|
||||
var $raumtyp_kurzbz; // @var string
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $ort_kurzbz und hierarchie ID des zu ladenden OrtRaumtyps
|
||||
*/
|
||||
function ortraumtyp($conn, $ort_kurzbz=null, $hierarchie=0)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($ort_kurzbz != null && $hierarchie!=null && is_numeric($hierarchie))
|
||||
$this->load($ort_kurzbz, $hierarchie);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren OrtRaumtypen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM tbl_ortraumtyp order by ort_kurzbz, hierarchie;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$ortraumtyp_obj = new ort($this->conn);
|
||||
|
||||
$ortraumtyp_obj->ort_kurzbz = $row->ort_kurzbz;
|
||||
$ortraumtyp_obj->hierarchie = $row->hierarchie;
|
||||
$ortraumtyp_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
|
||||
$this->result[] = $ortraumtyp_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen OrtRaumtyp
|
||||
* @param $ortraumtyp, hierarchie ID des zu ladenden OrtRaumtyps
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($ort_kurzbz, $hierarchie)
|
||||
{
|
||||
if($ort_kurzbz == '' || !is_numeric($hierarche) || $hierarchie=='')
|
||||
{
|
||||
$this->errormsg = 'Kein gültiger Schlüssel vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM tbl_ortraumtyp WHERE ort_kurzbz = '$ort_kurzbz' AND hierarchie = '$hierarchie';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->ort_kurzbz = $row->ort_kurzbz;
|
||||
$this->hierarchie = $row->hierarchie;
|
||||
$this->raumtyp_kurzbz = $row->kurzbz;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
$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>";
|
||||
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";
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Pruefen ob id gültig ist
|
||||
if($this->ort_kurzbz == '' || !is_numeric($this->hierarchie) || $this->hierarchie=='')
|
||||
{
|
||||
$this->errormsg = 'Keine gültige ID';
|
||||
return false;
|
||||
}
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO tbl_ortraumtyp (ort_kurzbz, hierarchie, raumtyp_kurzbz) VALUES ('.
|
||||
$this->addslashes($this->ort_kurzbz).', '.
|
||||
$this->addslashes($this->hierarchie).', '.
|
||||
$this->addslashes($this->raumtyp_kurzbz).');';
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob id gueltig ist
|
||||
if($this->ort_kurzbz == '' || !is_numeric($this->hierarchie) || $this->hierarchie=='')
|
||||
{
|
||||
$this->errormsg = 'Keine gültige ID';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE tbl_ortraumtyp SET '.
|
||||
'raumtyp_kurzbz='.$this->addslashes($this->raumtyp_kurzbz).' '.
|
||||
'WHERE ort_kurzbz = '.$this->addslashes($this->ort_kurzbz).' AND hierarchie = '.$this->addslashes($this->hierarchie).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
/*//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}*/
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+549
-306
@@ -1,372 +1,615 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
/**
|
||||
* Basisklasse Person (FAS-Online)
|
||||
* @create 06-03-2006
|
||||
*/
|
||||
|
||||
class person
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $personen = array(); // person Objekt
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $errormsg; // @var string
|
||||
var $new; // @var boolean
|
||||
var $result = array(); // @var person Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $person_id; // integer
|
||||
var $sprache; // varchar(16)
|
||||
var $anrede; // varchar(16)
|
||||
var $titelpost; // varchar(32)
|
||||
var $titelpre; // varchar(64)
|
||||
var $nachname; // varchar(64)
|
||||
var $vorname; // varchar(32)
|
||||
var $vornamen; // varchar(128)
|
||||
var $gebdatum; // date
|
||||
var $gebort; // varchar(128)
|
||||
var $gebzeit; // time
|
||||
var $foto; // oid
|
||||
var $anmerkungen; // varchar(256)
|
||||
var $homepage; // varchar(256)
|
||||
var $svnr; // char(10)
|
||||
var $ersatzkennzeichen; // char(10)
|
||||
var $familienstand; // char(1)
|
||||
var $anzahlkinder; // smalint
|
||||
var $aktiv; // boolean
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // varchar(16)
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
var $ext_id; // bigint
|
||||
var $person_id; // @var integer
|
||||
var $aktstatus; // @var integer
|
||||
var $aktstatus_bezeichnung; // @var integer
|
||||
var $angelegtam; // @var timestamp
|
||||
var $anrede; // @var string
|
||||
var $anzahlderkinder; // @var integer
|
||||
var $bemerkung; // @var string
|
||||
var $bismelden; // @var boolean
|
||||
var $bismelden_bezeichnung; // @var boolean
|
||||
var $ersatzkennzeichen; // @var string
|
||||
var $familienname; // @var string
|
||||
var $familienstand; // @var integer ( 1=ledig, 2=verheiratet, 3=?, 4=?, 5=? )
|
||||
var $familienstand_bezeichnung; // @var integer ( 1=ledig, 2=verheiratet, 3=?, 4=?, 5=? )
|
||||
var $gebdat; // @var date
|
||||
var $gebnation; // @var string
|
||||
var $gebort; // @var string
|
||||
var $geschlecht; // @var string
|
||||
var $staatsbuergerschaft; // @var string
|
||||
var $svnr; // @var string
|
||||
var $titelpost; // @var string Titel nach dem Namen (BA, MA, etc)
|
||||
var $titelpre; // @var string Titel vor dem Namen (Dr, Mag, Dipl.Ing, etc)
|
||||
var $uid; // @var string
|
||||
var $vorname; // @var string
|
||||
var $vornamen; // @var string
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Person
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $person_id Person die geladen werden soll (default=null)
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function person($conn, $person_id=null, $unicode=false)
|
||||
/**
|
||||
* Konstruktor - Uebergibt die Connection und Laedt optional eine Person
|
||||
* @param $conn Datenbank-Connection
|
||||
* $pers_id Person die geladen werden soll (default=null)
|
||||
*/
|
||||
function person($conn, $pers_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
|
||||
if($person_id != null)
|
||||
$this->load($person_id);
|
||||
if($pers_id != null)
|
||||
$this->load($pers_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt Person mit der uebergebenen ID
|
||||
// * @param $person_id ID der Person die geladen werden soll
|
||||
// *********************************************************
|
||||
/**
|
||||
* Laden einen Datensatz mit der Personal_id die uebergeben wird
|
||||
* @param $person_id ID der Person die geladen werden soll
|
||||
*/
|
||||
function load($person_id)
|
||||
{
|
||||
//person_id auf gueltigkeit pruefen
|
||||
if(is_numeric($person_id) && $person_id!='')
|
||||
{
|
||||
$qry = "SELECT person_id, sprache, anrede, titelpost, titelpre, nachname, vorname, vornamen,
|
||||
gebdatum, gebort, gebzeit, foto, anmerkungen, homepage, svnr, ersatzkennzeichen,
|
||||
familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon, ext_id
|
||||
FROM tbl_person WHERE person_id='$person_id'";
|
||||
|
||||
if(!$result=pg_query($this->conn,$qry))
|
||||
$qry = "SELECT * FROM person WHERE person_pk=$person_id";
|
||||
if(!$res=pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Personendaten';
|
||||
$this->errormsg = 'Fehler beim auslesen der Daten';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->person_id = $row->person_id;
|
||||
$this->sprache = $row->sprache;
|
||||
$this->anrede = $row->anrede;
|
||||
$this->titelpost = $row->titelpost;
|
||||
$this->titelpre = $row->titelpre;
|
||||
$this->nachname = $row->nachname;
|
||||
$this->vorname = $row->vorname;
|
||||
$this->vornamen = $row->vornamen;
|
||||
$this->gebdatum = $row->gebdatum;
|
||||
$this->gebort = $row->gebort;
|
||||
$this->gebzeit = $row->gebzeit;
|
||||
$this->foto = $row->foto;
|
||||
$this->anmerkungen = $row->anmerkungen;
|
||||
$this->homepage = $row->homepage;
|
||||
$this->svnr = $row->svnr;
|
||||
$this->ersatzkennzeichen = $row->ersatzkennzeichen;
|
||||
$this->familienstand = $row->familienstand;
|
||||
$this->anzahlkinder = $row->anzahlkinder;
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
$this->person_id = $row->person_pk;
|
||||
$this->aktstatus = $row->aktstatus;
|
||||
$this->angelegtam = $row->angelegtam;
|
||||
$this->anrede = $row->anrede;
|
||||
$this->anzahlderkinder = $row->anzahlderkinder;
|
||||
$this->bemerkung = $row->bemerkung;
|
||||
$this->bismelden = ($row->bismelden=='J'?true:false);
|
||||
$this->ersatzkennzeichen = $row->ersatzkennzeichen;
|
||||
$this->familienname = $row->familienname;
|
||||
$this->familienstand = $row->familienstand;
|
||||
$this->gebdat = $row->gebdat;
|
||||
$this->gebnation = $row->gebnation;
|
||||
$this->gebort = $row->gebort;
|
||||
$this->geschlecht = $row->geschlecht;
|
||||
$this->staatsbuergerschaft = $row->staatsbuergerschaft;
|
||||
$this->svnr = $row->svnr;
|
||||
$this->titelpre = $row->titel;
|
||||
$this->titlepost = $row->postnomentitel;
|
||||
$this->uid = $row->uid;
|
||||
$this->vorname = $row->vorname;
|
||||
$this->vornamen = $row->vornamen;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Personendatensatz mit der ID '.$person_id.' vorhanden';
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Die person_id muss eine gueltige Zahl sein';
|
||||
$this->errormsg = "Die person_id muss eine Zahl sein";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
// Clean stuff from a string
|
||||
function clean_string1($string)
|
||||
{
|
||||
$trans = array("瓣" => "ae",
|
||||
"�" => "Ae",
|
||||
"繹" => "oe",
|
||||
"�" => "Oe",
|
||||
"羹" => "ue",
|
||||
"�" => "Ue",
|
||||
"獺" => "a",
|
||||
"�" => "a",
|
||||
"矇" => "e",
|
||||
"癡" => "e",
|
||||
"籀" => "o",
|
||||
"簷" => "o",
|
||||
"穩" => "i",
|
||||
"穫" => "i",
|
||||
"繳" => "u",
|
||||
"羅" => "u",
|
||||
"�" => "ss");
|
||||
$string = strtr($string, $trans);
|
||||
return ereg_replace("[^a-zA-Z0-9]", "", $string);
|
||||
//[:space:]
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
* @return true wenn ok, false wenn Variablen ungueltig sind
|
||||
*/
|
||||
function checkvars1()
|
||||
{
|
||||
if(strlen($this->sprache)>16)
|
||||
//Hochkomma herausfiltern
|
||||
$this->familienname = str_replace("'","`", $this->familienname);
|
||||
$this->vorname = str_replace("'","`", $this->vorname);
|
||||
$this->anrede = str_replace("'","`", $this->anrede);
|
||||
$this->vornamen = str_replace("'","`", $this->vornamen);
|
||||
$this->gebort = str_replace("'","`", $this->gebort);
|
||||
$this->svnr = str_replace("'","`", $this->svnr);
|
||||
$this->titelpre = str_replace("'","`", $this->titelpre);
|
||||
$this->titelpost = str_replace("'","`", $this->titelpost);
|
||||
$this->gebnation = str_replace("'","`", $this->gebnation);
|
||||
$this->ersatzkennzeichen = str_replace("'","`", $this->ersatzkennzeichen);
|
||||
$this->bemerkung = str_replace("'","`", $this->bemerkung);
|
||||
if(ereg("[^a-zA-Z0-9]", $this->uid))
|
||||
{
|
||||
$this->errormsg = 'Sprache darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anrede)>16)
|
||||
{
|
||||
$this->errormsg = 'Anrede darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->titelpost)>32)
|
||||
{
|
||||
$this->errormsg = 'Titelpost darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->titelpre)>64)
|
||||
{
|
||||
$this->errormsg = 'Titelpre darf nicht laenger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->nachname)>64)
|
||||
{
|
||||
$this->errormsg = 'Nachname darf nicht laenger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->nachname=='' || is_null($this->nachname))
|
||||
{
|
||||
$this->errormsg = 'Nachname muss eingegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(strlen($this->vorname)>32)
|
||||
{
|
||||
$this->errormsg = 'Vorname darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->vornamen)>128)
|
||||
{
|
||||
$this->errormsg = 'Vornamen darf nicht laenger als 128 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
//ToDo Gebdatum pruefen -> laut bis muss er aelter als 10 Jahre sein
|
||||
if(strlen($this->gebdatum)==0 || is_null($this->gebdatum))
|
||||
{
|
||||
$this->errormsg = 'Geburtsdatum muss eingegeben werden';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gebort)>128)
|
||||
{
|
||||
$this->errormsg = 'Geburtsort darf nicht laenger als 128 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->foto!='' && !is_numeric($this->foto))
|
||||
{
|
||||
$this->errormsg = 'FotoOID ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anmerkungen)>256)
|
||||
{
|
||||
$this->errormsg = 'Anmerkungen darf nicht laenger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->homepage)>256)
|
||||
{
|
||||
$this->errormsg = 'Homepage darf nicht laenger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->svnr)>10)
|
||||
{
|
||||
$this->errormsg = 'SVNR darf nicht laenger als 10 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->ersatzkennzeichen)>10)
|
||||
{
|
||||
$this->errormsg = 'Ersatzkennzeichen darf nicht laenger als 10 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->familienstand)>1)
|
||||
{
|
||||
$this->errormsg = 'Familienstand ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if($this->anzahlkinder!='' && !is_numeric($this->anzahlkinder))
|
||||
{
|
||||
$this->errormsg = 'Anzahl der Kinder ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if(!is_bool($this->aktiv))
|
||||
{
|
||||
$this->errormsg = 'Aktiv ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->insertvon)>16)
|
||||
{
|
||||
$this->errormsg = 'Insertvon darf nicht laenger als 16 Zeichen sien';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->updatevon)>16)
|
||||
{
|
||||
$this->errormsg = 'Updatevon darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->ext_id!='' && !is_numeric($this->ext_id))
|
||||
{
|
||||
$this->errormsg = 'Ext_ID ist keine gueltige Zahl';
|
||||
$this->errormsg = "UID darf keine Umlaute oder Sonderzeichen enthalten";
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
//Maximallaenge pruefen
|
||||
if(strlen($this->familienname)>255)
|
||||
{
|
||||
$this->errormsg = 'Familienname darf nicht laenger als 255 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->vorname)>255)
|
||||
{
|
||||
$this->errormsg = 'Vorname darf nicht laenger als 255 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anrede)>20)
|
||||
{
|
||||
$this->errormsg = 'Anrede darf nicht laenger als 20 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->vornamen)>255)
|
||||
{
|
||||
$this->errormsg = 'Vornamen darf nicht laenger als 255 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->geschlecht)>1)
|
||||
{
|
||||
$this->errormsg = 'Geschlecht darf nicht laenger als 1 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gebort)>255)
|
||||
{
|
||||
$this->errormsg = 'Geburtsort darf nicht laenger als 255 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->svnr)!=10)
|
||||
{
|
||||
$this->errormsg = 'SVNR muss 10 Zeichen lang sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->svnr))
|
||||
{
|
||||
$this->errormsg = 'SVNR muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->svnr=='0000000000') //Leere SVNR wird zum anlegen des neuen Leerdatensatzes benoetigt
|
||||
$this->svnr='';
|
||||
else
|
||||
{
|
||||
//SVNR mit Pruefziffer pruefen
|
||||
//Die 4. Stelle in der SVNR ist die Pruefziffer
|
||||
//(Summe von (gewichtung[i]*svnr[i])) modulo 11 ergibt diese Pruefziffer
|
||||
//Falls nicht, ist die SVNR ungueltig
|
||||
$gewichtung = array(3,7,9,0,5,8,4,2,1,6);
|
||||
$erg=0;
|
||||
//Quersumme bilden
|
||||
for($i=0;$i<10;$i++)
|
||||
$erg += $gewichtung[$i] * $this->svnr{$i};
|
||||
|
||||
if($this->svnr{3}!=($erg%11)) //Vergleichen der Pruefziffer mit Quersumme Modulo 11
|
||||
{
|
||||
$this->errormsg = 'SVNR ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(strlen($this->bismelden)>1)
|
||||
{
|
||||
$this->errormsg = 'bismelden darf nicht laenger als 1 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->titelpre)>30)
|
||||
{
|
||||
$this->errormsg = 'titelpre darf nicht laenger als 30 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->titelpost)>30)
|
||||
{
|
||||
$this->errormsg = 'titelpost darf nicht laenger als 30 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->uid)>20)
|
||||
{
|
||||
$this->errormsg = 'uid darf nicht laenger als 20 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gebnation)>3)
|
||||
{
|
||||
$this->errormsg = 'Geburtsnation darf nicht laenger als 3 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->staatsbuergerschaft)>3)
|
||||
{
|
||||
$this->errormsg = 'Staatsb羹rgerschaft darf nicht laenger als 3 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->ersatzkennzeichen)>10)
|
||||
{
|
||||
$this->errormsg = 'ersatzkennzeichen darf nicht laenger als 10 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Zahlenwerte ueberpruefen
|
||||
$this->errormsg = 'Ein Zahlenfeld enthaelt ungueltige Zeichen';
|
||||
if(!is_numeric($this->familienstand) && $this->familienstand!='') return false;
|
||||
if(!is_numeric($this->anzahlderkinder) && $this->anzahlderkinder!='') return false;
|
||||
if(!is_numeric($this->aktstatus) && $this->aktstatus!='') return false;
|
||||
|
||||
if($this->gebdat!='' && (time() - strtotime($this->gebdat))<315360000) // Wenn nicht aelter als 10 Jahre = 315360000 Sekunden
|
||||
{
|
||||
$this->errormsg = 'Geburtsdatum ist falsch: Person muss 鄟ter als 10 Jahre sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->uid_exists($this->uid, $this->person_id))
|
||||
{
|
||||
$this->errormsg = 'Diese UID existiert bereits';
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->errormsg='';
|
||||
return true;
|
||||
}
|
||||
|
||||
// ************************************************
|
||||
// * 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 Personendaten in die Datenbank
|
||||
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
// * angelegt, ansonsten der Datensatz mit $person_id upgedated
|
||||
// * @return true wenn erfolgreich, false im Fehlerfall
|
||||
// ************************************************************
|
||||
/**
|
||||
* Speichert die Daten in die Datenbank
|
||||
* Wenn $new auf true gesetzt ist wird eingefuegt
|
||||
* ansonsten der datensatz $person_id upgedated
|
||||
* @return true wenn erfolgreich, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!person::validate())
|
||||
if(!$this->checkvars1())
|
||||
return false;
|
||||
|
||||
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_person (sprache, anrede, titelpost, titelpre, nachname, vorname, vornamen,
|
||||
gebdatum, gebort, gebzeit, foto, anmerkungen, homepage, svnr, ersatzkennzeichen,
|
||||
familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon , ext_id)
|
||||
VALUES('.$this->addslashes($this->sprache).','.
|
||||
$this->addslashes($this->anrede).','.
|
||||
$this->addslashes($this->titelpost).','.
|
||||
$this->addslashes($this->titelpre).','.
|
||||
$this->addslashes($this->nachname).','.
|
||||
$this->addslashes($this->vorname).','.
|
||||
$this->addslashes($this->vornamen).','.
|
||||
$this->addslashes($this->gebdatum).','.
|
||||
$this->addslashes($this->gebort).','.
|
||||
$this->addslashes($this->gebzeit).','.
|
||||
$this->addslashes($this->foto).','.
|
||||
$this->addslashes($this->anmerkungen).','.
|
||||
$this->addslashes($this->homepage).','.
|
||||
$this->addslashes($this->svnr).','.
|
||||
$this->addslashes($this->ersatzkennzeichen).','.
|
||||
$this->addslashes($this->familienstand).','.
|
||||
$this->addslashes($this->anzahlkinder).','.
|
||||
($this->aktiv?'true':'false').','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->ext_id).');';
|
||||
{
|
||||
//Naechste ID aus Sequence holen
|
||||
$qry = "SELECT nextval('person_seq') as id;";
|
||||
if(!$row=pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Auslesen der Sequence";
|
||||
return false;
|
||||
}
|
||||
$this->person_id = $row->id;
|
||||
|
||||
$qry = "INSERT INTO person (person_pk, familienname, angelegtam, vorname, anrede, vornamen,".
|
||||
" geschlecht, gebdat, gebort, staatsbuergerschaft, familienstand, svnr, anzahlderkinder,".
|
||||
" ersatzkennzeichen, bemerkung, creationdate,creationuser, aktstatus, bismelden, titel, postnomentitel,".
|
||||
" uid, gebnation) VALUES( $this->person_id,".
|
||||
" '$this->familienname', now(), '$this->vorname', '$this->anrede', '$this->vornamen',".
|
||||
($this->geschlecht!=''?"'$this->geschlecht'":"'M'").", ".
|
||||
($this->gebdat!=''?"'$this->gebdat'":'null').", '$this->gebort', '$this->staatsbuergerschaft',".
|
||||
($this->familienstand!=''?"'$this->familienstand'":'null').",".
|
||||
" '$this->svnr', ".
|
||||
($this->anzahlderkinder!=''?"'$this->anzahlderkinder'":'null').",".
|
||||
" '$this->ersatzkennzeichen', '$this->bemerkung', now(),".
|
||||
" '$this->updatevon', '".($this->aktstatus>0?$this->aktstatus:100)."', '".($this->bismelden?'J':'N')."', '$this->titelpre', '$this->titelpost',".
|
||||
(strlen($this->uid)>0?" '$this->uid'":'null').",".
|
||||
" '$this->gebnation');";
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//person_id auf gueltigkeit pruefen
|
||||
//peson_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($this->person_id))
|
||||
{
|
||||
{
|
||||
$this->errormsg = 'person_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE tbl_person SET'.
|
||||
' sprache='.$this->addslashes($this->sprache).','.
|
||||
' anrede='.$this->addslashes($this->anrede).','.
|
||||
' titelpost='.$this->addslashes($this->titelpost).','.
|
||||
' titelpre='.$this->addslashes($this->titelpre).','.
|
||||
' nachname='.$this->addslashes($this->nachname).','.
|
||||
' vorname='.$this->addslashes($this->vorname).','.
|
||||
' vornamen='.$this->addslashes($this->vornamen).','.
|
||||
' gebdatum='.$this->addslashes($this->gebdatum).','.
|
||||
' gebort='.$this->addslashes($this->gebort).','.
|
||||
' gebzeit='.$this->addslashes($this->gebzeit).','.
|
||||
' foto='.$this->addslashes($this->foto).','.
|
||||
' anmerkungen='.$this->addslashes($this->anmerkungen).','.
|
||||
' homepage='.$this->addslashes($this->homepage).','.
|
||||
' svnr='.$this->addslashes($this->svnr).','.
|
||||
' ersatzkennzeichen='.$this->addslashes($this->ersatzkennzeichen).','.
|
||||
' familienstand='.$this->addslashes($this->familienstand).','.
|
||||
' anzahlkinder='.$this->addslashes($this->anzahlkinder).','.
|
||||
' aktiv='.($this->aktiv?'true':'false').','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).','.
|
||||
' ext_id='.$this->addslashes($this->ext_id).
|
||||
" WHERE person_id='$this->person_id'";
|
||||
|
||||
$qry = "UPDATE person SET ".
|
||||
" familienname='$this->familienname',".
|
||||
" vorname='$this->vorname',".
|
||||
" anrede='$this->anrede',".
|
||||
" vornamen='$this->vornamen',".
|
||||
" geschlecht=".($this->geschlecht!=''?"'$this->geschlecht'":"'M'").",".
|
||||
" gebdat=".($this->gebdat!=''?"'$this->gebdat'":'null').",".
|
||||
" gebort='$this->gebort',".
|
||||
" staatsbuergerschaft='$this->staatsbuergerschaft',".
|
||||
" familienstand=".($this->familienstand!=''?"'$this->familienstand'":'0').",".
|
||||
" svnr=".($this->svnr!=''?"'$this->svnr'":'null').",".
|
||||
" anzahlderkinder=".($this->anzahlderkinder!=''?"'$this->anzahlderkinder'":'0').",".
|
||||
" ersatzkennzeichen='$this->ersatzkennzeichen',".
|
||||
" bemerkung='$this->bemerkung',".
|
||||
" aktstatus='$this->aktstatus',".
|
||||
" bismelden='".($this->bismelden?'J':'N')."',".
|
||||
" titel='$this->titelpre',".
|
||||
" postnomentitel='$this->titelpost',".
|
||||
" uid='$this->uid',".
|
||||
" gebnation='$this->gebnation'".
|
||||
" WHERE person_pk='$this->person_id'";
|
||||
}
|
||||
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "SELECT currval('tbl_person_person_id_seq') AS id;";
|
||||
if($row=pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
$this->person_id=$row->id;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Sequence konnte nicht ausgelesen werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//Log schreiben
|
||||
return true;
|
||||
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Person-Datensatzes:'.$this->nachname.' '.$qry;
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler beim Speichern des Person-Datensatzes:".$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $person_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn OK false im Fehlerfall
|
||||
*/
|
||||
function delete($person_id)
|
||||
{
|
||||
//person_id auf Gueltigkeit pruefen
|
||||
if(!is_numeric($person_id) || $person_id=='')
|
||||
{
|
||||
$this->errormsg = 'Person_id muss eine Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "Delete from person where person_pk=$person_id";
|
||||
|
||||
if(!pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen';
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Holt alle Personen aus der Datenbank
|
||||
* @return true wenn OK, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
/** Braucht zuviel Speicher
|
||||
|
||||
$qry = "SELECT * FROM person";
|
||||
if(!$res = pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim auslesen der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$pers=new person($this->conn);
|
||||
|
||||
$pers->person_id = $row->person_pk;
|
||||
$pers->aktstatus = $row->aktstatus;
|
||||
$pers->angelegtam = $row->angelegtam;
|
||||
$pers->anrede = $row->anrede;
|
||||
$pers->anzahlderkinder = $row->anzahlderkinder;
|
||||
$pers->bemerkung = $row->bemerkung;
|
||||
$pers->bismelden = ($row->bismelden=='J'?true:false);
|
||||
$pers->ersatzkennzeichen = $row->ersatzkennzeichen;
|
||||
$pers->familienname = $row->familienname;
|
||||
$pers->familienstand = $row->familienstand;
|
||||
$pers->gebdat = $row->gebdat;
|
||||
$pers->gebnation = $row->gebnation;
|
||||
$pers->gebort = $row->gebort;
|
||||
$pers->geschlecht = $row->geschlecht;
|
||||
$pers->staatsbuergerschaft = $row->staatsbuergerschaft;
|
||||
$pers->svnr = $row->svnr;
|
||||
$pers->titelpre = $row->titel;
|
||||
$pers->titelpost = $row->postnomentitel;
|
||||
$pers->uid = $row->uid;
|
||||
$pers->vorname = $row->vorname;
|
||||
$pers->vornamen = $row->vornamen;
|
||||
$pers->updateamum = $row->creationdate;
|
||||
$pers->updatevon = $row->creationuser;
|
||||
|
||||
$this->result[] = $pers;
|
||||
}
|
||||
return true;
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die UID schon vergeben ist. Wenn ein zweiter
|
||||
* Parameter angegeben wird, wird diese ID von der ueberpruefung
|
||||
* ausgeschlossen ( fuer Update eines Datensatzes )
|
||||
*/
|
||||
function uid_exists($uid, $person_id='')
|
||||
{
|
||||
if($uid!='')
|
||||
{
|
||||
$this->errormsg = '';
|
||||
//Datenbank Check
|
||||
$qry = "SELECT count(*) as anz from person where uid='$uid'";
|
||||
if($person_id!='')
|
||||
$qry .= " AND person_pk<>".$person_id;
|
||||
|
||||
if($result = pg_query($this->conn,$qry))
|
||||
{
|
||||
while ($row=pg_fetch_object($result))
|
||||
{
|
||||
if($row->anz == 0)
|
||||
{
|
||||
//Wurde deaktiviert weil der Zugriff vom auf den LDAP Server
|
||||
//vom der Calva aus nicht funktioniert
|
||||
//Ldap Check
|
||||
//$ds = ldap_connect(LDAP_SERVER);
|
||||
//$dn = "ou=People, dc=technikum-wien, dc=at";
|
||||
//$sr = ldap_search($ds,$dn,"uid=$uid");
|
||||
|
||||
//if(ldap_count_entries($ds,$sr)>0)
|
||||
// return true;
|
||||
//else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim checken der uid';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Aktualisiert den AktStatus
|
||||
*/
|
||||
function updateaktstatus($person_id)
|
||||
{
|
||||
$mitarbeiter_id = '';
|
||||
$qry = "Select mitarbeiter_pk from mitarbeiter where person_fk='$person_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
$mitarbeiter_id = $row->mitarbeiter_pk;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim ermitteln der Mitarbeiter_id';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim ermitteln der mitarbeiter_id';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Funktionen holen
|
||||
$qry = "Select funktion from funktion where ".
|
||||
"studiensemester_fk = (Select studiensemester_pk from studiensemester where aktuell='J')".
|
||||
" AND mitarbeiter_fk = '$mitarbeiter_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
$fkt=array();
|
||||
$i=0;
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$fkt[$i]=$row->funktion;
|
||||
$i++;
|
||||
}
|
||||
|
||||
//Aktstatus ermitteln
|
||||
if(in_array(5,$fkt)) //STGL
|
||||
$aktstatus = 104;
|
||||
elseif(in_array(6,$fkt)) //FBL
|
||||
$aktstatus = 103;
|
||||
elseif(in_array(2,$fkt)) //FBK
|
||||
$aktstatus = 102;
|
||||
elseif(in_array(1,$fkt)) //LKT
|
||||
$aktstatus = 101;
|
||||
else
|
||||
$aktstatus = 100; //Mitarbeiter
|
||||
|
||||
$this->status = $aktstatus;
|
||||
//neuen akstatus setzen
|
||||
$qry = "Update person set aktstatus = $aktstatus where person_pk = $person_id";
|
||||
if(pg_query($qry))
|
||||
{
|
||||
//Log schreiben
|
||||
$sql .= $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim setzen des Aktstatus';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setaktstatus($status, $person_id)
|
||||
{
|
||||
$qry = "Update person set aktstatus = '$status' where person_pk='$person_id'";
|
||||
if(!pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Setzen des aktuellen Status'.$qry;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
+78
-172
@@ -1,220 +1,126 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
/**
|
||||
* Klasse raumtyp (FAS-Online)
|
||||
* @create 14-03-2006
|
||||
*/
|
||||
/**
|
||||
* Klasse ortraumtyp (FAS-Online)
|
||||
* @create 04-12-2006
|
||||
*/
|
||||
|
||||
class raumtyp
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var fachbereich Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $beschreibung; // @var string
|
||||
var $raumtyp_kurzbz; // @var string
|
||||
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 DB
|
||||
* $ort_kurzbz und hierarchie ID des zu ladenden OrtRaumtyps
|
||||
* @param conn Connection zur Datenbank
|
||||
* raum_id ID des zu ladenden Raumes (default=null)
|
||||
*/
|
||||
function raumtyp($conn, $raumtyp_kurzbz=null)
|
||||
function raumtyp($conn, $raum_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($raumtyp_kurzbz != null)
|
||||
$this->load($raumtyp_kurzbz);
|
||||
$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 alle verfuegbaren OrtRaumtypen
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param $raum_id ID des zu ladenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
function load($raum_id)
|
||||
{
|
||||
$qry = 'SELECT * FROM tbl_raumtyp order by raumtyp_kurzbz;';
|
||||
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 der Datensaetze';
|
||||
$this->errormsg = 'Fehler beim laden des Datenstatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
$raumtyp_obj = new ort($this->conn);
|
||||
|
||||
$raumtyp_obj->beschreibung = $row->beschreibung;
|
||||
$raumtyp_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||
|
||||
|
||||
$this->result[] = $raumtyp_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Raumtyp
|
||||
* @param $raumtyp ID des zu ladenden Raumtyps
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($raumtyp_kurzbz)
|
||||
{
|
||||
if($raum_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'Kein gültiger Schlüssel vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM tbl_raumtyp WHERE raumtyp_kurzbz = '$raumtyp_kurzbz';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->raumtyp_kurzbz = $row->kurzbz;
|
||||
|
||||
$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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $raumtyp_kurzbz ID des Datensatzes der geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
* Laedt alle Datensaetze
|
||||
* @return ture wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($raumtyp_kurzbz)
|
||||
function getAll()
|
||||
{
|
||||
$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()
|
||||
{
|
||||
$this->beschreibung = str_replace("'",'´',$this->beschreibung);
|
||||
$this->raumtyp_kurzbz = str_replace("'",'´',$this->raumtyp_kurzbz);
|
||||
|
||||
$qry = "SELECT * FROM raumtyp;";
|
||||
|
||||
//Laenge Pruefen
|
||||
if(strlen($this->beschreibung)>256)
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = "Beschreibung darf nicht laenger als 256 Zeichen sein bei <b>$this->raumtyp_kurzbz</b> - ".$this->beschreibung;
|
||||
$this->errormsg = 'Fehler beim laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->raumtyp_kurzbz)>8)
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$this->errormsg = "Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein bei <b>$this->raumtyp_kurzbz</b>";
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
$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()
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Pruefen ob id gültig ist
|
||||
if($this->raumtyp_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'Keine gültige ID';
|
||||
return false;
|
||||
}
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO tbl_raumtyp (beschreibung, raumtyp_kurzbz) VALUES ('.
|
||||
$this->addslashes($this->beschreibung).', '.
|
||||
$this->addslashes($this->raumtyp_kurzbz).');';
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob id gueltig ist
|
||||
if($this->raumtyp_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'Keine gültige ID';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE tbl_raumtyp SET '.
|
||||
'beschreibung='.$this->addslashes($this->beschreibung).' '.
|
||||
'WHERE raumtyp_kurzbz = '.$this->addslashes($this->ort_kurzbz).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
/*//Log schreiben
|
||||
$sql = $qry;
|
||||
$qry = "SELECT nextval('log_seq') as id;";
|
||||
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}*/
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
$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;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,126 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Klasse raumtyp (FAS-Online)
|
||||
* @create 14-03-2006
|
||||
*/
|
||||
class raumtyp
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var raumtyp Objekt
|
||||
|
||||
var $raumtyp_id; // @var integer
|
||||
var $bezeichnung; // @var string
|
||||
var $kurzbezeichnung; // @var string
|
||||
var $plaetze; // @var integer
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon; // @var string
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param conn Connection zur Datenbank
|
||||
* raum_id ID des zu ladenden Raumes (default=null)
|
||||
*/
|
||||
function raumtyp($conn, $raum_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
if($raum_id != null)
|
||||
$this->load($raum_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param $raum_id ID des zu ladenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($raum_id)
|
||||
{
|
||||
if(!is_numeric($raum_id) || $raum_id == '')
|
||||
{
|
||||
$this->errormsg = 'raum_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM raumtyp WHERE raumtyp_pk = '$raum_id';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden des Datenstatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
$this->raumtyp_id = $row->raumtyp_pk;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->kurzbezeichnung = $row->kurzbezeichnung;
|
||||
$this->plaetze = $row->plaetze;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Datensaetze
|
||||
* @return ture wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM raumtyp;";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$raum_obj = new raumtyp($this->conn);
|
||||
|
||||
$raum_obj->raumtyp_id = $row->raumtyp_pk;
|
||||
$raum_obj->bezeichnung = $row->bezeichnung;
|
||||
$raum_obj->kurzbezeichnung = $row->kurzbezeichnung;
|
||||
$raum_obj->plaetze = $row->plaetze;
|
||||
$raum_obj->updateamum = $row->creationdate;
|
||||
$raum_obj->updatevon = $row->creationuser;
|
||||
|
||||
$this->result[] = $raum_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
$this->errormsg = 'Noch nicht Implementiert';
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($raum_id)
|
||||
{
|
||||
$this->errormsg = 'Noch nicht Implementiert';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,216 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class reservierung
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $reservierungen = array(); // reservierung Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $reservierung_id; // int
|
||||
var $ort_kurzbz; // varchar(8)
|
||||
var $studiengang_kz; // int
|
||||
var $uid; // varchar(16)
|
||||
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)
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)
|
||||
{
|
||||
$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;
|
||||
|
||||
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()
|
||||
{
|
||||
if(strlen($this->ort_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = 'Ort_Kurzbz darf nicht laenger als 8 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->stunde))
|
||||
{
|
||||
$this->errormsg = 'Stunde ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->titel)>10)
|
||||
{
|
||||
$this->errormsg = 'Titel darf nicht laenger als 10 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->beschreibung)>32)
|
||||
{
|
||||
$this->beschreibung = 'Beschreibung darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->semester!='' && !is_numeric($this->semester))
|
||||
{
|
||||
$this->errormsg = 'Semester ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->verband)>1)
|
||||
{
|
||||
$this->errormsg = 'Verband darf nicht laenger als 1 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gruppe)>1)
|
||||
{
|
||||
$this->errormsg = 'Gruppe darf nicht laenger als 1 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gruppe_kurzbz)>10)
|
||||
{
|
||||
$this->gruppe_kurzbz = 'Gruppe_kurzbz darf nicht laenger als 10 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 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)
|
||||
{
|
||||
if(!is_null($new))
|
||||
$this->new = $new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = 'INSERT INTO campus.tbl_reservierung (reservierung_id, ort_kurzbz, studiengang_kz, uid, stunde, datum, titel,
|
||||
beschreibung, semester, verband, gruppe, gruppe_kurzbz)
|
||||
VALUES('.$this->addslashes($this->reservierung_id).','.
|
||||
$this->addslashes($this->ort_kurzbz).','.
|
||||
$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->uid).','.
|
||||
$this->addslashes($this->stunde).','.
|
||||
$this->addslashes($this->datum).','.
|
||||
$this->addslashes($this->titel).','.
|
||||
$this->addslashes($this->beschreibung).','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes($this->verband).','.
|
||||
$this->addslashes($this->gruppe).','.
|
||||
$this->addslashes($this->gruppe_kurzbz).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE campus.tbl_reservierung SET'.
|
||||
' ort_kurzbz='.$this->addslashes($this->ort_kurzbz).','.
|
||||
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
|
||||
' uid='.$this->addslashes($this->uid).','.
|
||||
' stunde='.$this->addslashes($this->stunde).','.
|
||||
' datum='.$this->addslashes($this->datum).','.
|
||||
' titel='.$this->addslashes($this->titel).','.
|
||||
' beschreibung='.$this->addslashes($this->beschreibung).','.
|
||||
' semester='.$this->addslashes($this->semester).','.
|
||||
' verband='.$this->addslashes($this->verband).','.
|
||||
' gruppe='.$this->addslashes($this->gruppe).','.
|
||||
' gruppe_kurzbz='.$this->addslashes($this->gruppe_kurzbz).
|
||||
" WHERE reservierung_id='".addslashes($this->reservierung_id)."'";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
$this->new = false;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Reservierung:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,182 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class student extends benutzer
|
||||
{
|
||||
|
||||
//Tabellenspalten
|
||||
var $matrikelnr;
|
||||
var $prestudent_id;
|
||||
var $studiengang_kz;
|
||||
var $semester;
|
||||
var $verband;
|
||||
var $gruppe;
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional einen Studenten
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $student_id 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, $student_id=null, $unicode=false)
|
||||
{
|
||||
$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;
|
||||
}
|
||||
|
||||
//Student laden
|
||||
if($student_id!=null)
|
||||
$this->load($student_id);
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->uid=='')
|
||||
{
|
||||
$this->errormsg = 'UID muss eingegeben werden';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->matrikelnr)>15)
|
||||
{
|
||||
$this->errormsg = 'Matrikelnummer darf nicht laenger als 15 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->updatevon)>32)
|
||||
{
|
||||
$this->errormsg = 'Updatevon darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->prestudent_id!='' && !is_numeric($this->prestudent_id))
|
||||
{
|
||||
$this->errormsg = 'Prestudent_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->semester))
|
||||
{
|
||||
$this->errormsg = 'Semester muss ein gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->verband)>1)
|
||||
{
|
||||
$this->errormsg = 'Verband darf nicht laenger als 1 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gruppe)>1)
|
||||
{
|
||||
$this->errormsg = 'Gruppe darf nicht laenger als 1 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
return 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
|
||||
// ************************************************************
|
||||
function save()
|
||||
{
|
||||
//Variablen checken
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
pg_query($this->conn,'BEGIN;');
|
||||
//Basisdaten speichern
|
||||
if(!benutzer::save())
|
||||
{
|
||||
pg_query($this->conn,'ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "INSERT INTO tbl_student(student_uid, matrikelnr, updateamum, updatevon, prestudent_id,
|
||||
studiengang_kz, semester, verband, gruppe)
|
||||
VALUES('".addslashes($this->uid)."',".
|
||||
$this->addslashes($this->matrikelnr).",".
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->prestudent_id).','.
|
||||
$this->studiengang_kz.','.
|
||||
$this->semester.','.
|
||||
($this->verband!=''?"'".addslashes($this->verband)."'":' ').','.
|
||||
($this->gruppe!=''?"'".addslashes($this->gruppe)."'":' ').');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bestehenden Datensatz updaten
|
||||
$qry = 'UPDATE tbl_student SET'.
|
||||
' matrikelnr='.$this->addslashes($this->matrikelnr).','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).','.
|
||||
' prestudent_id='.$this->addslashes($this->prestudent_id).','.
|
||||
' studiengang_kz='.$this->studiengang_kz.','.
|
||||
' semester='.$this->semester.','.
|
||||
' verband='.$this->addslashes($this->verband).','.
|
||||
' gruppe='.$this->addslashes($this->gruppe).
|
||||
" WHERE student_uid='".addslashes($this->uid)."';";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
pg_query($this->conn,'COMMIT;');
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn,'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Speichern des Studenten-Datensatzes'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -22,10 +22,12 @@ class studiengang
|
||||
var $betreuerstunden; // @var float
|
||||
var $emailkuerzel; // @var string
|
||||
var $endedatum; // @var date
|
||||
var $erhalter_id; // @var integer
|
||||
var $kennzahl; // @var integer
|
||||
var $kennzahl_neu; // @var integer
|
||||
var $kuerzel; // @var string
|
||||
var $name; // @var string
|
||||
var $nummerintern; // @var integer
|
||||
var $organisationsform; // @var integer
|
||||
var $regelstudiendauer; // @var integer
|
||||
var $regelwochenstunden; // @var integer
|
||||
@@ -36,8 +38,6 @@ class studiengang
|
||||
var $telefonnummer; // @var string
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon; // @var string
|
||||
var $insertamum; // @var timestamp
|
||||
var $insertvon; // @var string
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
|
||||
@@ -1,160 +1,163 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
/**
|
||||
* Klasse studiensemester (FAS-Online)
|
||||
* @create 15-03-2006
|
||||
*/
|
||||
|
||||
class studiensemester
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $studiensemester = array(); // studiensemester Objekt
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var studiensemester Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $studiensemester_kurzbz; // varchar(16)
|
||||
var $start; // date
|
||||
var $ende; // date
|
||||
var $studiensemester_id; // @var integer
|
||||
var $aktuell; // @var boolean
|
||||
var $art; // @var integer ( 1 = Wintersemester, 2 = Sommersemester )
|
||||
var $jahr; // @var integer
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon; // @var string
|
||||
|
||||
// ***********************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional ein LF
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $studiensemester_kurzbz StSem das geladen werden soll (default=null)
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// ***********************************************************************
|
||||
function studiensemester($conn, $studiensemester_kurzbz=null, $unicode=false)
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur Datenbank
|
||||
* $stsem_id ID des Studiensemesters das geladen werden soll
|
||||
*/
|
||||
function studiensemester($conn, $stsem_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
|
||||
if($studiensemester_kurzbz != null)
|
||||
$this->load($studiensemester_kurzbz);
|
||||
if($stsem_id != null)
|
||||
$this->load($stsem_id);
|
||||
}
|
||||
|
||||
// **************************************************************
|
||||
// * Laedt das Studiensemester mit der uebergebenen ID
|
||||
// * @param $studiensemester_kurzbz Stsem das geladen werden soll
|
||||
// **************************************************************
|
||||
function load($studiensemester_kurzbz)
|
||||
|
||||
/**
|
||||
* Laedt den Datensatz mit der ID die uebergeben wird
|
||||
* @param stsem_id ID des zu ladenden Datensatzes
|
||||
* @return true wenn ok, false im fehlerfall;
|
||||
*/
|
||||
function load($stsem_id)
|
||||
{
|
||||
$qry = "SELECT * FROM tbl_studiensemester WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
|
||||
|
||||
if(!$result=pg_query($this->conn,$qry))
|
||||
//Pruefen ob stsem_id eine gueltige Zahl ist
|
||||
if(!is_numeric($stsem_id) || $stsem_id == '')
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen des Studiensemesters';
|
||||
$this->errormsg = 'stsem_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($result))
|
||||
|
||||
//Laden eines Datensatzes
|
||||
$qry = "SELECT * FROM studiensemester WHERE studiensemester_pk = '$stsem_id';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$this->start = $row->start;
|
||||
$this->ende = $row->ende;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Es ist kein Studiensemester mit der Kurzbezeichung $studiensemester_kurzbz vorhanden";
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
$this->studiensemester_id = $row->studiensemester_pk;
|
||||
$this->aktuell = ($row->aktuell=='J'?true:false);
|
||||
$this->art = $row->art;
|
||||
$this->jahr = $row->jahr;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
|
||||
|
||||
/**
|
||||
* Laedt das aktuelle Studiensemester
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load_akt()
|
||||
{
|
||||
if(strlen($this->studiensemester_kurzbz)>16)
|
||||
$qry = "SELECT * FROM studiensemester WHERE aktuell='J'";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Studiensemester Kurzbezeichnung darf nicht laenger als 16 Zeichen sein';
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
if($this->studiensemester_kurzbz=='')
|
||||
|
||||
if($row = pg_fetch_object($res))
|
||||
{
|
||||
$this->errormsg = 'Es muss eine Kurzbezeichnung eingegeben werden';
|
||||
$this->studiensemester_id = $row->studiensemester_pk;
|
||||
$this->aktuell = ($row->aktuell=='J'?true:false);
|
||||
$this->art = $row->art;
|
||||
$this->jahr = $row->jahr;
|
||||
$this->updateamum = $row->creationdate;
|
||||
$this->updatevon = $row->creationuser;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle studiensemester
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM studiensemester order by jahr, art desc;";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$stsem_obj = new studiensemester($this->conn);
|
||||
|
||||
$stsem_obj->studiensemester_id = $row->studiensemester_pk;
|
||||
$stsem_obj->aktuell = ($row->aktuell=='J'?true:false);
|
||||
$stsem_obj->art = $row->art;
|
||||
$stsem_obj->jahr = $row->jahr;
|
||||
$stsem_obj->updateamum = $row->creationdate;
|
||||
$stsem_obj->updatevon = $row->creationuser;
|
||||
|
||||
$this->result[] = $stsem_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// ************************************************
|
||||
// * wenn $var '' ist wird "null" zurueckgegeben
|
||||
// * wenn $var !='' ist werden Datenbankkritische
|
||||
// * zeichen mit backslash versehen und das ergbnis
|
||||
// * unter hochkomma gesetzt.
|
||||
// ************************************************
|
||||
function addslashes($var)
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $stsem_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($stsem_id)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
|
||||
// ************************************************************
|
||||
// * Speichert das Studiensemester 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 den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "INSERT INTO tbl_studiensemester (studiensemester_kurzbz, start, ende)
|
||||
VALUES('".addslashes($this->studiensemester_kurzbz)."',".
|
||||
$this->addslashes($this->start).','.
|
||||
$this->addslashes($this->ende).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE tbl_studiensemester SET'.
|
||||
' start='.$this->addslashes($this->start).','.
|
||||
' ende='.$this->addslashes($this->ende).
|
||||
" WHERE studiensemester_kurzbz='$this->studiensemester_kurzbz'";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Studiensemesters:'.$qry;
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,135 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class stunde
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $stunden = array(); // stunde Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $stunde; // smalint
|
||||
var $beginn; // time without timezone
|
||||
var $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)
|
||||
{
|
||||
$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);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * 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()
|
||||
{
|
||||
if(!is_numeric($this->stunde))
|
||||
{
|
||||
$this->errormsg = 'Stunde muss eine gueltige Zahl 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 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()
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "INSERT INTO lehre.tbl_stunde (stunde, beginn, ende)
|
||||
VALUES('".$this->stunde."',".
|
||||
$this->addslashes($this->beginn).','.
|
||||
$this->addslashes($this->ende).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE lehre.tbl_stunde SET'.
|
||||
' beginn='.$this->addslashes($this->beginn).','.
|
||||
' ende='.$this->addslashes($this->ende).
|
||||
" WHERE stunde=".$this->stunde;
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Stunde:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,261 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class stundenplan
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $stundenplan = array(); // stundenplan Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $lehreinheit_id; // integer
|
||||
var $lehrveranstaltung_nr; // integer
|
||||
var $studiensemester_kurzbz; // varchar(16)
|
||||
var $lehrfach_nr; // integer
|
||||
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 $ext_id; // bigint
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)
|
||||
{
|
||||
$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($lehreinheit_id!=null)
|
||||
$this->load($lehreinheit_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die LE
|
||||
// * @param lehreinheit_id
|
||||
// *********************************************************
|
||||
function load($lehreinheit_id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if($this->lehreinheit_id!='' && !is_numeric($this->lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->lehrveranstaltung_nr))
|
||||
{
|
||||
$this->errormsg = 'LehrveranstaltungsNr muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->studiensemester_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Studiensemesterkurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->studiensemester_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Studiensemester muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->lehrfach_nr))
|
||||
{
|
||||
$this->errormsg = 'Lehrfach_nr muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->lehrform_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = 'Lehrform_kurzbz darf nicht laenger als 8 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->lehrform_kurzbz=='')
|
||||
{
|
||||
$this->lehrform_kurzbz='SO';
|
||||
//TODO
|
||||
//$this->errormsg = 'Lehrform muss angegeben werden';
|
||||
//return false;
|
||||
}
|
||||
if(!is_numeric($this->stundenblockung))
|
||||
{
|
||||
$this->errormsg = 'Stundenblockung muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->wochenrythmus))
|
||||
{
|
||||
$this->errormsg = 'Wochenrythmus muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->start_kw!='' && !is_numeric($this->start_kw))
|
||||
{
|
||||
$this->errormsg = 'StartKW muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->start_kw!='' && ($this->start_kw>53 || $this->start_kw<1))
|
||||
{
|
||||
$this->errormsg = 'StartKW muss zwischen 1 und 53 liegen';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->raumtyp)>8)
|
||||
{
|
||||
$this->errormsg = 'Raumtyp darf nicht laenger als 8 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->raumtypalternativ)>8)
|
||||
{
|
||||
$this->errormsg = 'Raumtypalternativ darf nicht alenger als 8 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->raumtypalternativ=='')
|
||||
{
|
||||
//TODO
|
||||
$this->raumtypalternativ='Dummy';
|
||||
}
|
||||
if(!is_bool($this->lehre))
|
||||
{
|
||||
$this->errormsg = 'Lehre muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anmerkung)>255)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht laenger als 255 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->unr!='' && !is_numeric($this->unr))
|
||||
{
|
||||
$this->errormsg = 'UNR muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->ext_id!='' && !is_numeric($this->ext_id))
|
||||
{
|
||||
$this->errormsg = 'Ext_id muss eine gueltige Zahl 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 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)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//ToDo ID entfernen
|
||||
$qry = 'INSERT INTO lehre.tbl_lehreinheit (lehrveranstaltung_nr, studiensemester_kurzbz,
|
||||
lehrfach_nr, lehrform_kurzbz, stundenblockung, wochenrythmus,
|
||||
start_kw, raumtyp, raumtypalternativ, lehre, anmerkung, unr, ext_id)
|
||||
VALUES('.$this->addslashes($this->lehrveranstaltung_nr).','.
|
||||
$this->addslashes($this->studiensemester_kurzbz).','.
|
||||
$this->addslashes($this->lehrfach_nr).','.
|
||||
$this->addslashes($this->lehrform_kurzbz).','.
|
||||
$this->addslashes($this->stundenblockung).','.
|
||||
$this->addslashes($this->wochenrythmus).','.
|
||||
$this->addslashes($this->start_kw).','.
|
||||
$this->addslashes($this->raumtyp).','.
|
||||
$this->addslashes($this->raumtypalternativ).','.
|
||||
($this->lehre?'true':'false').','.
|
||||
$this->addslashes($this->anmerkung).','.
|
||||
$this->addslashes($this->unr).','.
|
||||
$this->addslashes($this->ext_id).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE lehre.tbl_lehreinheit SET'.
|
||||
' lehrveranstaltung_nr='.$this->addslashes($this->lehrveranstaltung_nr).','.
|
||||
' studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).','.
|
||||
' lehrfach_nr='.$this->addslashes($this->lehrfach_nr).','.
|
||||
' lehrform_kurzbz='.$this->addslashes($this->lehrform_kurzbz).','.
|
||||
' stundenblockung='.$this->addslashes($this->stundenblockung).','.
|
||||
' wochenrythmus='.$this->addslashes($this->wochenrythmus).','.
|
||||
' start_kw='.$this->addslashes($this->start_kw).','.
|
||||
' raumtyp='.$this->addslashes($this->raumtyp).','.
|
||||
' raumtypalternativ='.$this->addslashes($this->raumtypalternativ).','.
|
||||
' lehre='.($this->lehre?'true':'false').','.
|
||||
' anmerkung='.$this->addslashes($this->anmerkung).','.
|
||||
' unr='.$this->addslashes($this->unr).','.
|
||||
' ext_id='.$this->addslashes($this->ext_id).
|
||||
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der LE:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,149 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class variable
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $variables = array(); // variable Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $uid; // varchar(16)
|
||||
var $name; // varchar(64)
|
||||
var $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
|
||||
// *************************************************************************
|
||||
function variable($conn, $uid=null, $name=null, $unicode=false)
|
||||
{
|
||||
$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($uid!=null && $name!=null)
|
||||
$this->load($uid, $name);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die Variablen
|
||||
// * @param
|
||||
// *********************************************************
|
||||
function load($uid, $name)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
|
||||
return true;
|
||||
}
|
||||
if(strlen($this->name)>64)
|
||||
{
|
||||
$this->errormsg = 'Name darf nicht laenger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->wert)>64)
|
||||
{
|
||||
$this->errormsg = 'Wert darf nicht laenger als 64 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 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
|
||||
// ************************************************************
|
||||
function save($new=null)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO tbl_variable (uid, name, wert)
|
||||
VALUES('.$this->addslashes($this->uid).','.
|
||||
$this->addslashes($this->name).','.
|
||||
$this->addslashes($this->wert).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE tbl_variable SET'.
|
||||
' wert='.$this->addslashes($this->wert).
|
||||
" WHERE uid='".addslashes($this->uid)."' AND name='".addslashes($this->name)."';";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Variable:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,158 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class zeitwunsch
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $zeitwuensche = array(); // zeitwunsch Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $stunde; // smalint
|
||||
var $mitarbeiter_uid; // varchar(16)
|
||||
var $tag; // smalint
|
||||
var $gewicht; // smalint
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)
|
||||
{
|
||||
$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($mitarbeiter_uid != null && $tag!=null && $stunde!=null)
|
||||
$this->load($mitarbeiter_uid, $tag, $stunde);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * 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()
|
||||
{
|
||||
if(strlen($this->mitarbeiter_uid)>16)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein.';
|
||||
return false;
|
||||
}
|
||||
if($this->mitarbeiter_uid == '')
|
||||
{
|
||||
$this->errormsg = 'UID muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->stunde))
|
||||
{
|
||||
$this->errormsg = 'Stunde muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->gewicht))
|
||||
{
|
||||
$this->errormsg = 'Gewicht muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->tag))
|
||||
{
|
||||
$this->errormsg = 'Tag muss eine gueltige Zahl 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 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()
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "INSERT INTO campus.tbl_zeitwunsch (mitarbeiter_uid, tag, stunde, gewicht)
|
||||
VALUES('".addslashes($this->mitarbeiter_uid)."',".
|
||||
$this->tag.','.$this->stunde.','.$this->gewicht.');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE campus.tbl_zeitwunsch SET'.
|
||||
' gewicht='.$this->gewicht.
|
||||
" WHERE mitarbeiter_uid='".addslashes($this->mitarbeiter_uid)."' AND
|
||||
tag=".$this->tag.' AND stunde='.$this->stunde;
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Zeitwunsches:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user