mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 08:34:29 +00:00
This commit is contained in:
@@ -55,6 +55,7 @@ class abschlusspruefung
|
||||
function abschlusspruefung($conn, $abschlusspruefung_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -68,7 +69,7 @@ class abschlusspruefung
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($abschlusspruefung_id!= null)
|
||||
$this->load($abschlusspruefung_id);
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ class adresse
|
||||
function adresse($conn,$adresse_id=null,$unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -76,7 +76,7 @@ class adresse
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($adresse_id != null)
|
||||
$this->load($adresse_id);
|
||||
}
|
||||
@@ -248,32 +248,32 @@ class adresse
|
||||
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
|
||||
if(strlen($this->name)>255)
|
||||
{
|
||||
$this->errormsg = 'Name darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
$this->errormsg = 'Name darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->strasse)>255)
|
||||
{
|
||||
$this->errormsg = 'Strasse darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
$this->errormsg = 'Strasse darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->plz)>10)
|
||||
{
|
||||
$this->errormsg = 'Plz darf nicht länger als 10 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
$this->errormsg = 'Plz darf nicht länger als 10 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->ort)>255)
|
||||
{
|
||||
$this->errormsg = 'Ort darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
$this->errormsg = 'Ort darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->nation)>3)
|
||||
{
|
||||
$this->errormsg = 'Nation darf nicht länger als 3 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
$this->errormsg = 'Nation darf nicht länger als 3 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->gemeinde)>255)
|
||||
{
|
||||
$this->errormsg = 'Gemeinde darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
$this->errormsg = 'Gemeinde darf nicht länger als 255 Zeichen sein - adresse: '.$this->adresse_id."\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ class akadgrad
|
||||
function akadgrad($conn, $akadgrad_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -55,7 +56,7 @@ class akadgrad
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($akadgrad_id != null)
|
||||
$this->load($akadgrad_id);
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ class akte
|
||||
function akte($conn, $akte_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -65,7 +66,7 @@ class akte
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($akte_id != null)
|
||||
$this->load($akte_id);
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ class antwort
|
||||
function antwort($conn, $antwort_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -54,7 +54,7 @@ class antwort
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if($antwort_id != null)
|
||||
$this->load($antwort_id);
|
||||
}
|
||||
@@ -169,7 +169,7 @@ class antwort
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Antwort';
|
||||
$this->errormsg = 'Fehler beim Löschen der Antwort';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ class aufmerksamdurch
|
||||
function aufmerksamdurch($conn,$aufmerksamdurch_kurzbz=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -63,6 +64,7 @@ class aufmerksamdurch
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
|
||||
@@ -26,12 +26,14 @@ class ausbildungssemester
|
||||
function ausbildungssemester($conn, $ausbildungssemester_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if($ausbildungssemester_id != null)
|
||||
$this->load($ausbildungssemester_id);
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ class bankverbindung
|
||||
function bankverbindung($conn,$bankverbindung_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -74,7 +74,7 @@ class bankverbindung
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($bankverbindung_id!=null)
|
||||
$this->load($bankverbindung_id);
|
||||
|
||||
@@ -139,32 +139,32 @@ class bankverbindung
|
||||
//$this->errormsg = 'Eine der Maximiallaengen wurde ueberschritten';
|
||||
if(strlen($this->name)>64)
|
||||
{
|
||||
$this->errormsg = 'Name darf nicht länger als 64 Zeichen sein: '.$this->name;
|
||||
$this->errormsg = 'Name darf nicht länger als 64 Zeichen sein: '.$this->name;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anschrift)>128)
|
||||
{
|
||||
$this->errormsg = 'Anschrift darf nicht länger als 128 Zeichen sein: '.$this->anschrift;
|
||||
$this->errormsg = 'Anschrift darf nicht länger als 128 Zeichen sein: '.$this->anschrift;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->blz)>16)
|
||||
{
|
||||
$this->errormsg = 'BLZ darf nicht länger als 16 Zeichen sein: '.$this->blz;
|
||||
$this->errormsg = 'BLZ darf nicht länger als 16 Zeichen sein: '.$this->blz;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->bic)>16)
|
||||
{
|
||||
$this->errormsg = 'BIC darf nicht länger als 16 Zeichen sein: '.$this->bic;
|
||||
$this->errormsg = 'BIC darf nicht länger als 16 Zeichen sein: '.$this->bic;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->kontonr)>16)
|
||||
{
|
||||
$this->errormsg = 'KontoNr darf nicht länger als 16 Zeichen sein: '.$this->kontonr;
|
||||
$this->errormsg = 'KontoNr darf nicht länger als 16 Zeichen sein: '.$this->kontonr;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->iban)>32)
|
||||
{
|
||||
$this->errormsg = 'IBAN darf nicht länger als 32 Zeichen sein: '.$this->iban;
|
||||
$this->errormsg = 'IBAN darf nicht länger als 32 Zeichen sein: '.$this->iban;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ class beispiel
|
||||
function beispiel($conn, $beispiel_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -63,7 +63,7 @@ class beispiel
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if($beispiel_id!=null)
|
||||
$this->load($beispiel_id);
|
||||
}
|
||||
|
||||
+230
-230
@@ -1,233 +1,233 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
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)
|
||||
var $studiensemester_kurzbz; // varchar(16)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine BenutzerGruppe
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid
|
||||
// * $gruppe_kurzbz
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function benutzergruppe($conn, $uid=null, $gruppe_kurzbz=null, $unicode=false)
|
||||
{
|
||||
$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 uid, gruppe_kurzbz, studiensemester_kurzbz
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *********************************************************
|
||||
function load($uid, $gruppe_kurzbz, $studiensemester_kurzbz=null)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
if($studiensemester_kurzbz!=null)
|
||||
$qry.=" AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->uid = $row->uid;
|
||||
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es wurde keine Datensatz gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die User in einer Benutzergruppe
|
||||
// * @param gruppe_kurzbz, stsem
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *********************************************************
|
||||
function load_uids($gruppe_kurzbz, $stsem)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."' and studiensemester_kurzbz = '".$stsem."'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if (pg_num_rows($result) == 0)
|
||||
return false;
|
||||
else
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
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)
|
||||
var $studiensemester_kurzbz; // varchar(16)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine BenutzerGruppe
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid
|
||||
// * $gruppe_kurzbz
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function benutzergruppe($conn, $uid=null, $gruppe_kurzbz=null, $unicode=false)
|
||||
{
|
||||
$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 uid, gruppe_kurzbz, studiensemester_kurzbz
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *********************************************************
|
||||
function load($uid, $gruppe_kurzbz, $studiensemester_kurzbz=null)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
if($studiensemester_kurzbz!=null)
|
||||
$qry.=" AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->uid = $row->uid;
|
||||
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es wurde keine Datensatz gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die User in einer Benutzergruppe
|
||||
// * @param gruppe_kurzbz, stsem
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *********************************************************
|
||||
function load_uids($gruppe_kurzbz, $stsem)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."' and studiensemester_kurzbz = '".$stsem."'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if (pg_num_rows($result) == 0)
|
||||
return false;
|
||||
else
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$bg_obj = new benutzergruppe($this->conn);
|
||||
$bg_obj->uid = $row->uid;
|
||||
$this->uids[] = $bg_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
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 public.tbl_benutzergruppe (uid, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon, studiensemester_kurzbz)
|
||||
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).','.
|
||||
$this->addslashes($this->studiensemester_kurzbz).');';
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
function delete($uid, $gruppe_kurzbz)
|
||||
{
|
||||
$qry = "DELETE FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen der Zuteilung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->uids[] = $bg_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
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 public.tbl_benutzergruppe (uid, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon, studiensemester_kurzbz)
|
||||
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).','.
|
||||
$this->addslashes($this->studiensemester_kurzbz).');';
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
function delete($uid, $gruppe_kurzbz)
|
||||
{
|
||||
$qry = "DELETE FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen der Zuteilung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,181 +1,182 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
//**********************************************************
|
||||
//* Laedt alle uids in zu einer lv/szudiensemester - kombination
|
||||
//* gibt auch vor- und Nachname zurueck
|
||||
//**********************************************************
|
||||
function get_all_uids($studiensemester_kurzbz, $lehrveranstaltung_id)
|
||||
{
|
||||
$qry = "SELECT tbl_benutzerlvstudiensemester.uid, vw_benutzer.nachname, vw_benutzer.vorname FROM campus.tbl_benutzerlvstudiensemester, campus.vw_benutzer where studiensemester_kurzbz='".$studiensemester_kurzbz."' AND lehrveranstaltung_id = '".$lehrveranstaltung_id."' and vw_benutzer.uid = tbl_benutzerlvstudiensemester.uid order by nachname";
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
//**********************************************************
|
||||
//* Laedt alle uids in zu einer lv/szudiensemester - kombination
|
||||
//* gibt auch vor- und Nachname zurueck
|
||||
//**********************************************************
|
||||
function get_all_uids($studiensemester_kurzbz, $lehrveranstaltung_id)
|
||||
{
|
||||
$qry = "SELECT tbl_benutzerlvstudiensemester.uid, vw_benutzer.nachname, vw_benutzer.vorname FROM campus.tbl_benutzerlvstudiensemester, campus.vw_benutzer where studiensemester_kurzbz='".$studiensemester_kurzbz."' AND lehrveranstaltung_id = '".$lehrveranstaltung_id."' and vw_benutzer.uid = tbl_benutzerlvstudiensemester.uid order by nachname";
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
if (pg_num_rows($res) == 0)
|
||||
return false;
|
||||
else
|
||||
if (pg_num_rows($res) == 0)
|
||||
return false;
|
||||
else
|
||||
{
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
{
|
||||
$lv_obj = new benutzerlvstudiensemester($this->conn);
|
||||
$lv_obj->uid = $row->uid;
|
||||
$lv_obj->nachname = $row->nachname;
|
||||
$lv_obj->uid = $row->uid;
|
||||
$lv_obj->nachname = $row->nachname;
|
||||
$lv_obj->vorname = $row->vorname;
|
||||
$this->uids[] = $lv_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// *******************************************
|
||||
// * 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// *******************************************
|
||||
// * 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -53,6 +53,7 @@ class betriebsmittel
|
||||
function betriebsmittel($conn,$betriebsmittel_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -69,8 +70,10 @@ class betriebsmittel
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
// **************************************************************
|
||||
// * Laedt das Betriebsmittel mit der ID $betriebsmittel_id
|
||||
// * @param $betriebsmittel_id ID des zu ladenden Betriebsmittel
|
||||
|
||||
@@ -61,6 +61,7 @@ class betriebsmittelperson
|
||||
function betriebsmittelperson($conn,$betriebsmittel_id=null,$person_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -77,6 +78,7 @@ class betriebsmittelperson
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if($betriebsmittel_id!=null && $person_id!=null)
|
||||
$this->load($betriebsmittel_id, $person_id);
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ class betriebsmitteltyp
|
||||
function betriebsmitteltyp($conn, $betriebsmitteltyp=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -60,7 +60,7 @@ class betriebsmitteltyp
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($betriebsmitteltyp!=null)
|
||||
$this->load($betriebsmitteltyp);
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ class bisfunktion
|
||||
function bisfunktion($conn, $bisverwendung_id=null, $studiengang_kz=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -59,7 +60,7 @@ class bisfunktion
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($bisverwendung_id != null && $studiengang_kz != null)
|
||||
$this->load($bisverwendung_id, $studiengang_kz);
|
||||
}
|
||||
|
||||
@@ -59,6 +59,7 @@ class bisio
|
||||
function bisio($conn, $bisio_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -74,8 +75,9 @@ class bisio
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
if($bisio_id!=null)
|
||||
$this->load($bisio_id);
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@ class bisverwendung
|
||||
function bisverwendung($conn, $bisverwendung_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -73,7 +74,7 @@ class bisverwendung
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($bisverwendung_id != null)
|
||||
$this->load($bisverwendung_id);
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ class dokument
|
||||
function dokument($conn, $dokument_kurzbz=null, $prestudent_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if(!is_null($unicode))
|
||||
{
|
||||
if($unicode)
|
||||
@@ -66,7 +66,7 @@ class dokument
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if(!is_null($dokument_kurzbz) && !is_null($prestudent_id))
|
||||
$this->load($dokument_kurzbz, $prestudent_id);
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ class entwicklungsteam
|
||||
function entwicklungsteam($conn, $mitarbeiter_uid=null, $studiengang_kz=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -64,7 +65,7 @@ class entwicklungsteam
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($mitarbeiter_uid != null && $studiengang_kz != null)
|
||||
$this->load($mitarbeiter_uid, $studiengang_kz);
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ class erhalter
|
||||
function erhalter($conn, $erhalter_kz=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -54,7 +54,7 @@ class erhalter
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if($erhalter_kz != null)
|
||||
$this->load($erhalter_kz);
|
||||
}
|
||||
@@ -149,8 +149,8 @@ class erhalter
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
|
||||
$this->kurzbz = str_replace("'",'´',$this->kurzbz);
|
||||
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
|
||||
$this->kurzbz = str_replace("'",'´',$this->kurzbz);
|
||||
|
||||
//Laenge Pruefen
|
||||
if(strlen($this->bezeichnung)>255)
|
||||
|
||||
+241
-241
@@ -1,242 +1,242 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
/**
|
||||
* Klasse fachbereich (FAS-Online)
|
||||
* @create 04-12-2006
|
||||
*/
|
||||
|
||||
class fachbereich
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var fachbereich Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $fachbereich_kurzbz; // @var string
|
||||
var $bezeichnung; // @var string
|
||||
var $farbe; // @var string
|
||||
var $studiengang_kz; // @var integer
|
||||
var $aktiv; // @var boolean
|
||||
var $ext_id; // @var bigint
|
||||
|
||||
var $bezeichnung_arr = array();
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $fachb_id ID des zu ladenden Fachbereiches
|
||||
*/
|
||||
function fachbereich($conn, $fachbereich_kurzbz=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($fachbereich_kurzbz != null)
|
||||
{
|
||||
$this->load($fachbereich_kurzbz);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Fachbereiche
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_fachbereich order by fachbereich_kurzbz;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$fachb_obj = new fachbereich($this->conn);
|
||||
|
||||
$fachb_obj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$fachb_obj->bezeichnung = $row->bezeichnung;
|
||||
$fachb_obj->farbe = $row->farbe;
|
||||
$fachb_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$fachb_obj->ext_id = $row->ext_id;
|
||||
$fachb_obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
|
||||
$this->result[] = $fachb_obj;
|
||||
$this->bezeichnung_arr[$row->fachbereich_kurzbz] = $row->bezeichnung;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Fachbereich
|
||||
* @param $fachb_id ID des zu ladenden Fachbereiches
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($fachbereich_kurzbz)
|
||||
{
|
||||
if($fachbereich_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'fachbereich_kurzbz ungueltig!';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_fachbereich WHERE fachbereich_kurzbz = '".addslashes($fachbereich_kurzbz)."';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->farbe = $row->farbe;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->ext_id = $row->ext_id;
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $fachb_id id des Datensatzes der geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($fachb_id)
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
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! ('.$this->fachbereich_kurzbz.'/'.$this->ext_id.')';
|
||||
return false;
|
||||
}
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO public.tbl_fachbereich (fachbereich_kurzbz, bezeichnung, farbe, aktiv, ext_id, studiengang_kz) VALUES ('.
|
||||
$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->farbe).', '.
|
||||
($this->aktiv?'true':'false').', '.
|
||||
$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 public.tbl_fachbereich SET '.
|
||||
'fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
|
||||
'farbe='.$this->addslashes($this->farbe).', '.
|
||||
'aktiv='.($this->aktiv?'true':'false').', '.
|
||||
'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;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
/**
|
||||
* Klasse fachbereich (FAS-Online)
|
||||
* @create 04-12-2006
|
||||
*/
|
||||
|
||||
class fachbereich
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var fachbereich Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $fachbereich_kurzbz; // @var string
|
||||
var $bezeichnung; // @var string
|
||||
var $farbe; // @var string
|
||||
var $studiengang_kz; // @var integer
|
||||
var $aktiv; // @var boolean
|
||||
var $ext_id; // @var bigint
|
||||
|
||||
var $bezeichnung_arr = array();
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $fachb_id ID des zu ladenden Fachbereiches
|
||||
*/
|
||||
function fachbereich($conn, $fachbereich_kurzbz=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($fachbereich_kurzbz != null)
|
||||
{
|
||||
$this->load($fachbereich_kurzbz);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Fachbereiche
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_fachbereich order by fachbereich_kurzbz;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$fachb_obj = new fachbereich($this->conn);
|
||||
|
||||
$fachb_obj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$fachb_obj->bezeichnung = $row->bezeichnung;
|
||||
$fachb_obj->farbe = $row->farbe;
|
||||
$fachb_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$fachb_obj->ext_id = $row->ext_id;
|
||||
$fachb_obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
|
||||
$this->result[] = $fachb_obj;
|
||||
$this->bezeichnung_arr[$row->fachbereich_kurzbz] = $row->bezeichnung;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Fachbereich
|
||||
* @param $fachb_id ID des zu ladenden Fachbereiches
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($fachbereich_kurzbz)
|
||||
{
|
||||
if($fachbereich_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'fachbereich_kurzbz ungueltig!';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_fachbereich WHERE fachbereich_kurzbz = '".addslashes($fachbereich_kurzbz)."';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->farbe = $row->farbe;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->ext_id = $row->ext_id;
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $fachb_id id des Datensatzes der geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($fachb_id)
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
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! ('.$this->fachbereich_kurzbz.'/'.$this->ext_id.')';
|
||||
return false;
|
||||
}
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO public.tbl_fachbereich (fachbereich_kurzbz, bezeichnung, farbe, aktiv, ext_id, studiengang_kz) VALUES ('.
|
||||
$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->farbe).', '.
|
||||
($this->aktiv?'true':'false').', '.
|
||||
$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 public.tbl_fachbereich SET '.
|
||||
'fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
|
||||
'farbe='.$this->addslashes($this->farbe).', '.
|
||||
'aktiv='.($this->aktiv?'true':'false').', '.
|
||||
'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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -34,12 +34,14 @@ class adresse
|
||||
function adresse($conn,$adress_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if($adress_id != null)
|
||||
$this->load($adress_id);
|
||||
}
|
||||
|
||||
@@ -26,12 +26,14 @@ class ausbildungssemester
|
||||
function ausbildungssemester($conn, $ausbildungssemester_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if($ausbildungssemester_id != null)
|
||||
$this->load($ausbildungssemester_id);
|
||||
}
|
||||
|
||||
@@ -31,12 +31,14 @@ class bankverbindung
|
||||
function bankverbindung($conn, $bank_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if($bank_id != null)
|
||||
$this->load($bank_id);
|
||||
}
|
||||
|
||||
@@ -29,12 +29,14 @@ class email
|
||||
function email($conn, $mail_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if($mail_id != null)
|
||||
$this->load($mail_id);
|
||||
}
|
||||
|
||||
@@ -26,12 +26,14 @@ class fachbereich
|
||||
function fachbereich($conn, $fachb_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if($fachb_id != null)
|
||||
$this->load($fachb_id);
|
||||
}
|
||||
|
||||
@@ -44,12 +44,14 @@ class funktion
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -30,12 +30,14 @@ class 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);
|
||||
}
|
||||
|
||||
@@ -65,12 +65,14 @@ class lehreinheit
|
||||
function lehreinheit($conn, $lehreinheit_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($lehreinheit_id != null)
|
||||
$this->load($lehreinheit_id);
|
||||
}
|
||||
|
||||
@@ -24,12 +24,14 @@ class lehrfunktion
|
||||
function lehrfunktion($conn, $lehrfkt_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if($lehrfkt_id != null)
|
||||
$this->load($lehrfkt_id);
|
||||
}
|
||||
|
||||
@@ -37,12 +37,14 @@ 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);
|
||||
}
|
||||
|
||||
@@ -38,12 +38,14 @@ class mitarbeiter extends person
|
||||
function mitarbeiter($conn, $person_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
//Mitarbeiter laden
|
||||
if($person_id!=null)
|
||||
$this->load($person_id);
|
||||
|
||||
@@ -47,12 +47,14 @@ class studiengang
|
||||
function studiengang($conn, $studiengang_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if($studiengang_id != null)
|
||||
$this->load($studiengang_id);
|
||||
}
|
||||
|
||||
@@ -25,12 +25,14 @@ class studiensemester
|
||||
function studiensemester($conn, $stsem_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if($stsem_id != null)
|
||||
$this->load($stsem_id);
|
||||
}
|
||||
|
||||
@@ -28,12 +28,14 @@ class telefonnummer
|
||||
function telefonnummer($conn, $telefonnummer_id = null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
if($telefonnummer_id != null)
|
||||
$this->load($telefonnummer_id);
|
||||
}
|
||||
|
||||
+203
-203
@@ -1,204 +1,204 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
class feedback
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $result = array(); // feedback Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $feedback_id; // integer
|
||||
var $betreff; // varchar(128)
|
||||
var $text; // text
|
||||
var $datum; // date
|
||||
var $uid; // varchar(32)
|
||||
var $lehrveranstaltung_id; // integer
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)
|
||||
{
|
||||
if(!is_numeric($feedback_id))
|
||||
{
|
||||
$this->errormsg = 'feedback_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_feedback WHERE feedback_id='$feedback_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->feedback_id=$row->feedback_id;
|
||||
$this->betreff=$row->betreff;
|
||||
$this->text=$row->text;
|
||||
$this->datum=$row->datum;
|
||||
$this->uid=$row->uid;
|
||||
$this->lehrveranstaltung_id=$row->lehrveranstaltung_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Lehrveranstaltungen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->betreff)>128)
|
||||
{
|
||||
$this->errormsg = 'Betreff darf nicht laenger als 128 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->uid)>32)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 32 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');
|
||||
}
|
||||
|
||||
function load_feedback($lehrveranstaltung_id)
|
||||
{
|
||||
if(!is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_feedback WHERE lehrveranstaltung_id='$lehrveranstaltung_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$fb_obj = new feedback($this->conn);
|
||||
|
||||
$fb_obj->feedback_id=$row->feedback_id;
|
||||
$fb_obj->betreff=$row->betreff;
|
||||
$fb_obj->text=$row->text;
|
||||
$fb_obj->datum=$row->datum;
|
||||
$fb_obj->uid=$row->uid;
|
||||
$fb_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id;
|
||||
|
||||
$this->result[] = $fb_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Lehrveranstaltungen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************
|
||||
// * Speichert Feedback in die Datenbank
|
||||
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
// * angelegt, ansonsten der Datensatz upgedated
|
||||
// * @return true wenn erfolgreich, false im Fehlerfall
|
||||
// ************************************************************
|
||||
function save()
|
||||
{
|
||||
//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 (betreff, text, datum, uid, lehrveranstaltung_id)
|
||||
VALUES('.$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;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
class feedback
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $result = array(); // feedback Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $feedback_id; // integer
|
||||
var $betreff; // varchar(128)
|
||||
var $text; // text
|
||||
var $datum; // date
|
||||
var $uid; // varchar(32)
|
||||
var $lehrveranstaltung_id; // integer
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)
|
||||
{
|
||||
if(!is_numeric($feedback_id))
|
||||
{
|
||||
$this->errormsg = 'feedback_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_feedback WHERE feedback_id='$feedback_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->feedback_id=$row->feedback_id;
|
||||
$this->betreff=$row->betreff;
|
||||
$this->text=$row->text;
|
||||
$this->datum=$row->datum;
|
||||
$this->uid=$row->uid;
|
||||
$this->lehrveranstaltung_id=$row->lehrveranstaltung_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Lehrveranstaltungen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->betreff)>128)
|
||||
{
|
||||
$this->errormsg = 'Betreff darf nicht laenger als 128 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->uid)>32)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 32 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');
|
||||
}
|
||||
|
||||
function load_feedback($lehrveranstaltung_id)
|
||||
{
|
||||
if(!is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_feedback WHERE lehrveranstaltung_id='$lehrveranstaltung_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$fb_obj = new feedback($this->conn);
|
||||
|
||||
$fb_obj->feedback_id=$row->feedback_id;
|
||||
$fb_obj->betreff=$row->betreff;
|
||||
$fb_obj->text=$row->text;
|
||||
$fb_obj->datum=$row->datum;
|
||||
$fb_obj->uid=$row->uid;
|
||||
$fb_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id;
|
||||
|
||||
$this->result[] = $fb_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Lehrveranstaltungen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************
|
||||
// * Speichert Feedback in die Datenbank
|
||||
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
// * angelegt, ansonsten der Datensatz upgedated
|
||||
// * @return true wenn erfolgreich, false im Fehlerfall
|
||||
// ************************************************************
|
||||
function save()
|
||||
{
|
||||
//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 (betreff, text, datum, uid, lehrveranstaltung_id)
|
||||
VALUES('.$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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+230
-230
@@ -1,231 +1,231 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
/**
|
||||
* 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 $ferien = array(); // @var ferien Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $bezeichnung; // @var varchar(64)
|
||||
var $studiengang_kz; // @var integer
|
||||
var $vondatum; // @var date
|
||||
var $bisdatum; // @var date
|
||||
var $vontimestamp;
|
||||
var $bistimestamp;
|
||||
|
||||
/**
|
||||
* 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($stg_kz=0)
|
||||
{
|
||||
$sql_query="SELECT * FROM lehre.tbl_ferien WHERE studiengang_kz=0 OR studiengang_kz=$stg_kz ORDER BY vondatum";
|
||||
if (!$result=pg_query($this->conn, $sql_query))
|
||||
{
|
||||
$this->errormsg = pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
//$num_rows=pg_numrows($result);
|
||||
//for ($i=0; $i<$num_rows; $i++)
|
||||
while ($row=pg_fetch_object($result))
|
||||
{
|
||||
// Record holen
|
||||
// Instanz erzeugen
|
||||
$f = new ferien($this->conn);
|
||||
$f->bezeichnung=$row->bezeichnung;
|
||||
$f->studiengang_kz = $row->studiengang_kz;
|
||||
$f->vondatum=$row->vondatum;
|
||||
$f->bisdatum=$row->bisdatum;
|
||||
$f->vontimestamp=mktime(0,0,0,substr($row->vondatum,5,2),substr($row->vondatum,8),substr($row->vondatum,0,4));;
|
||||
$f->bistimestamp=mktime(23,59,59,substr($row->bisdatum,5,2),substr($row->bisdatum,8),substr($row->bisdatum,0,4));;
|
||||
// in array speichern
|
||||
$this->ferien[]=$f;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
function isferien($timestamp)
|
||||
{
|
||||
foreach ($this->ferien AS $f)
|
||||
if ($timestamp>=$f->vontimestamp && $timestamp<=$f->bistimestamp)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
/**
|
||||
* 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 $ferien = array(); // @var ferien Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $bezeichnung; // @var varchar(64)
|
||||
var $studiengang_kz; // @var integer
|
||||
var $vondatum; // @var date
|
||||
var $bisdatum; // @var date
|
||||
var $vontimestamp;
|
||||
var $bistimestamp;
|
||||
|
||||
/**
|
||||
* 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($stg_kz=0)
|
||||
{
|
||||
$sql_query="SELECT * FROM lehre.tbl_ferien WHERE studiengang_kz=0 OR studiengang_kz=$stg_kz ORDER BY vondatum";
|
||||
if (!$result=pg_query($this->conn, $sql_query))
|
||||
{
|
||||
$this->errormsg = pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
//$num_rows=pg_numrows($result);
|
||||
//for ($i=0; $i<$num_rows; $i++)
|
||||
while ($row=pg_fetch_object($result))
|
||||
{
|
||||
// Record holen
|
||||
// Instanz erzeugen
|
||||
$f = new ferien($this->conn);
|
||||
$f->bezeichnung=$row->bezeichnung;
|
||||
$f->studiengang_kz = $row->studiengang_kz;
|
||||
$f->vondatum=$row->vondatum;
|
||||
$f->bisdatum=$row->bisdatum;
|
||||
$f->vontimestamp=mktime(0,0,0,substr($row->vondatum,5,2),substr($row->vondatum,8),substr($row->vondatum,0,4));;
|
||||
$f->bistimestamp=mktime(23,59,59,substr($row->bisdatum,5,2),substr($row->bisdatum,8),substr($row->bisdatum,0,4));;
|
||||
// in array speichern
|
||||
$this->ferien[]=$f;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
function isferien($timestamp)
|
||||
{
|
||||
foreach ($this->ferien AS $f)
|
||||
if ($timestamp>=$f->vontimestamp && $timestamp<=$f->bistimestamp)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -55,7 +55,7 @@ class firma
|
||||
function firma($conn,$firma_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -72,6 +72,7 @@ class firma
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if($firma_id != null)
|
||||
$this->load($firma_id);
|
||||
}
|
||||
@@ -135,12 +136,12 @@ class firma
|
||||
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
|
||||
if(strlen($this->name)>128)
|
||||
{
|
||||
$this->errormsg = 'Name darf nicht länger als 128 Zeichen sein - firma_id: '.$this->firma_id.'/'.$this->name;
|
||||
$this->errormsg = 'Name darf nicht länger als 128 Zeichen sein - firma_id: '.$this->firma_id.'/'.$this->name;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anmerkung)>256)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein - firma_id: '.$this->firma_id.'/'.$this->name;
|
||||
$this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein - firma_id: '.$this->firma_id.'/'.$this->name;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ class frage
|
||||
public function frage($conn, $frage_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
|
||||
+389
-389
@@ -1,389 +1,389 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
function db_query($conn, $sql_query)
|
||||
{
|
||||
if (!$result=pg_query($conn, $sql_query))
|
||||
return pg_last_error($conn);
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
// Auth: Benutzer des Webportals
|
||||
function get_uid()
|
||||
{
|
||||
return strtolower(trim($_SERVER['REMOTE_USER']));
|
||||
// fuer Testzwecke
|
||||
//return 'oesi';
|
||||
//return 'pam';
|
||||
}
|
||||
|
||||
function crlf()
|
||||
{
|
||||
// doing some DOS-CRLF magic...
|
||||
$crlf="\n";
|
||||
$client=getenv("HTTP_USER_AGENT");
|
||||
if (ereg('[^(]*\((.*)\)[^)]*',$client,$regs))
|
||||
{
|
||||
$os = $regs[1];
|
||||
// this looks better under WinX
|
||||
if (eregi("Win",$os))
|
||||
$crlf="\r\n";
|
||||
}
|
||||
return $crlf;
|
||||
}
|
||||
|
||||
function check_lektor($uid, $conn)
|
||||
{
|
||||
// uid von View 'Lektor' holen
|
||||
$sql_query="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='$uid'";
|
||||
//echo $sql_query;
|
||||
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
|
||||
$num_rows=pg_num_rows($result);
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row=pg_fetch_object($result);
|
||||
return $row->mitarbeiter_uid;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
function check_lektor_lehreinheit($conn, $uid, $lehreinheit_id)
|
||||
{
|
||||
// uid von View 'Lektor' holen
|
||||
$sql_query="SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE mitarbeiter_uid='$uid' AND lehreinheit_id = '$lehreinheit_id'";
|
||||
//echo $sql_query;
|
||||
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
|
||||
$num_rows=pg_num_rows($result);
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row=pg_fetch_object($result);
|
||||
return $row->mitarbeiter_uid;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
function check_lektor_lehrveranstaltung($conn, $uid, $lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
// uid von View 'Lektor' holen
|
||||
$sql_query="SELECT mitarbeiter_uid FROM campus.vw_lehreinheit WHERE mitarbeiter_uid='$uid' AND lehrveranstaltung_id = '$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz'";
|
||||
//echo $sql_query;
|
||||
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
|
||||
$num_rows=pg_num_rows($result);
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row=pg_fetch_object($result);
|
||||
return $row->mitarbeiter_uid;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
function check_student($uid, $conn)
|
||||
{
|
||||
// uid von Tabelle 'Student' holen
|
||||
$sql_query="SELECT student_uid FROM public.tbl_student WHERE student_uid='$uid'";
|
||||
//echo $sql_query;
|
||||
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
|
||||
$num_rows=pg_numrows($result);
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
return pg_result($result,0,'student_uid');
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
function kalenderwoche($datum)
|
||||
{
|
||||
//$woche=date("W",mktime($date[hours],$date[minutes],$date[seconds],$date[mon],$date[mday],$date[year]));
|
||||
if (!date("w",$datum))
|
||||
$datum+=86400;
|
||||
//echo date("l j.m.Y - W",$datum);
|
||||
$woche=date("W",$datum);
|
||||
//if ($woche==53)
|
||||
// $woche=1;
|
||||
return $woche;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* Springt zum vorhergehenden Montag, wenn $datum kein Sonntag oder Montag ist.
|
||||
*
|
||||
*/
|
||||
function montag($datum)
|
||||
{
|
||||
// Wochentag
|
||||
$wt=date("w",$datum);
|
||||
// Sonntag?
|
||||
if (!$wt)
|
||||
$wt++;
|
||||
if($wt!=1)
|
||||
$datum-=86400*($wt-1);
|
||||
|
||||
return $datum;
|
||||
}
|
||||
|
||||
function jump_day($datum, $tage)
|
||||
{
|
||||
// Ein Tag sind 86400 Sekunden
|
||||
$datum+=86400*$tage;
|
||||
return $datum;
|
||||
}
|
||||
|
||||
function jump_week($datum, $wochen)
|
||||
{
|
||||
$stunde_vor=date("G",$datum);
|
||||
// Eine Woche sind 604800 Sekunden
|
||||
$datum+=604800*$wochen;
|
||||
$stunde_nach=date("G",$datum);
|
||||
if ($stunde_nach!=$stunde_vor)
|
||||
$datum+=3600;
|
||||
return $datum;
|
||||
}
|
||||
|
||||
function jahreskalenderjump($link)
|
||||
{
|
||||
$crlf=crlf();
|
||||
$datum=mktime();
|
||||
$woche=kalenderwoche($datum);
|
||||
$datum=montag($datum);
|
||||
echo ' <SMALL><CENTER><B>Jump to KW</B><BR><SMALL>'.$crlf;
|
||||
for ($anz=1;$anz<26;$anz++)
|
||||
{
|
||||
$linknew=$link.'&datum='.$datum;
|
||||
if ($woche==53)
|
||||
$woche=1;
|
||||
echo ' <A HREF="'.$linknew.'">'.$woche.'</A>'.$crlf;
|
||||
if ($anz%5==0)
|
||||
echo ' <br>'.$crlf;
|
||||
$datum+=60*60*24*7;
|
||||
$woche++;
|
||||
}
|
||||
echo ' </SMALL></CENTER></SMALL>'.$crlf;
|
||||
}
|
||||
|
||||
function loadVariables($user)
|
||||
{
|
||||
$db = new basis_db();
|
||||
|
||||
$error_msg='';
|
||||
$num_rows=0;
|
||||
$sql_query="SELECT * FROM public.tbl_variable WHERE uid='$user'";
|
||||
if(!$db->db_query($sql_query))
|
||||
$error_msg.=$db->db_last_error().'<BR>'.$sql_query;
|
||||
else
|
||||
$num_rows=$db->db_num_rows();
|
||||
|
||||
while ($row=$db->db_fetch_object())
|
||||
{
|
||||
global ${$row->name};
|
||||
${$row->name}=$row->wert;
|
||||
}
|
||||
|
||||
if (!isset($semester_aktuell))
|
||||
if(!$db->db_query('SELECT * FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1'))
|
||||
$error_msg.=$db->db_last_error().'<BR>'.$sql_query;
|
||||
else
|
||||
{
|
||||
$num_rows=$db->db_num_rows();
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row=$db->db_fetch_object();
|
||||
global $semester_aktuell;
|
||||
$semester_aktuell=$row->studiensemester_kurzbz;
|
||||
}
|
||||
}
|
||||
if (!isset($db_stpl_table))
|
||||
{
|
||||
global $db_stpl_table;
|
||||
$db_stpl_table='stundenplan';
|
||||
}
|
||||
|
||||
if (!isset($kontofilterstg))
|
||||
{
|
||||
global $kontofilterstg;
|
||||
$kontofilterstg='false';
|
||||
}
|
||||
|
||||
if (!isset($ignore_kollision))
|
||||
{
|
||||
global $ignore_kollision;
|
||||
$ignore_kollision='false';
|
||||
}
|
||||
|
||||
if (!isset($ignore_zeitsperre))
|
||||
{
|
||||
global $ignore_zeitsperre;
|
||||
$ignore_zeitsperre='false';
|
||||
}
|
||||
|
||||
if (!isset($ignore_reservierung))
|
||||
{
|
||||
global $ignore_reservierung;
|
||||
$ignore_reservierung='false';
|
||||
}
|
||||
|
||||
if (!isset($emailadressentrennzeichen))
|
||||
{
|
||||
global $emailadressentrennzeichen;
|
||||
$emailadressentrennzeichen=',';
|
||||
}
|
||||
return $error_msg;
|
||||
}
|
||||
|
||||
function writeCISlog($stat, $rm = '')
|
||||
{
|
||||
if($stat=='STOP')
|
||||
$stat = 'STOP ';
|
||||
$handle = fopen(LOG_PATH.'cis.log','a');
|
||||
fwrite($handle, date('Y-m-d H:i:s').' '. $stat .' '. getmypid() .' '. $_SERVER['REMOTE_USER'] .' '. $_SERVER['REQUEST_URI'] .' '.$rm.'
|
||||
');
|
||||
}
|
||||
|
||||
// ***************************************************************
|
||||
// * Liefert das Studiensemester in dem sich
|
||||
// * das uebergebene Datum befindet
|
||||
// * wenn sich das Datum zwischen zwei Studiensemestern befindet
|
||||
// * und $naechstes=true dann wird das naechste StSem geliefert
|
||||
// * wenn $naechstes=false dann wird das vorherige StSem geliefert
|
||||
// ***************************************************************
|
||||
function getStudiensemesterFromDatum($conn, $datum, $naechstes=true)
|
||||
{
|
||||
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE";
|
||||
|
||||
if($naechstes)
|
||||
$qry.= " ende>'$datum' ORDER BY ende ASC ";
|
||||
else
|
||||
$qry.= " start<'$datum' ORDER BY ende DESC ";
|
||||
|
||||
$qry.= "LIMIT 1";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
return $row->studiensemester_kurzbz;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
// ***************************************************************
|
||||
// * Diese Funktion liefert sowohl bei UTF-8 als auch
|
||||
// * bei Latin9 die richtige Anzahl der Zeichen
|
||||
// * (das normale strlen liefert bei UTF-8 Zeichen falsche Werte.)
|
||||
// ***************************************************************
|
||||
function utf8_strlen($str)
|
||||
{
|
||||
$count = 0;
|
||||
for ($i = 0; $i < strlen($str); ++$i)
|
||||
if ((ord($str[$i]) & 0xC0) != 0x80)
|
||||
++$count;
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
||||
// ****************************************************************
|
||||
// * strtoupper das auch Umlaute und andere Sonderzeichen
|
||||
// * in Grossbuchstaben umwandelt
|
||||
// ****************************************************************
|
||||
function strtoupperFULL($str)
|
||||
{
|
||||
return(mb_strtoupper($str, "iso-8859-15"));
|
||||
}
|
||||
|
||||
// ****************************************************************
|
||||
// * Prueft den uebergebenen Alias auf Gueltigkeit.
|
||||
// * Format: mindestens 1 Punkt enhalten, mind. 1 Zeichen vor und
|
||||
// * 1 Zeichen nach dem Punkt, keine Sonderzeichen
|
||||
// ****************************************************************
|
||||
function checkalias($alias)
|
||||
{
|
||||
if($anz = preg_match("/^[-a-z0-9]*[a-z0-9]{1,}\.[-a-z0-9]{1,}$/",$alias))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
// ****************************************************************
|
||||
// * Prueft ob im LDAP ein User mit diesem Passwort existiert
|
||||
// ****************************************************************
|
||||
function checkldapuser($username,$password)
|
||||
{
|
||||
if($connect=@ldap_connect(LDAP_SERVER))
|
||||
{
|
||||
// bind to ldap connection
|
||||
if(($bind=@ldap_bind($connect)) == false)
|
||||
{
|
||||
print "bind:__FAILED__<br>\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
// search for user
|
||||
if (($res_id = ldap_search( $connect, LDAP_BASE_DN, "uid=$username")) == false)
|
||||
{
|
||||
print "failure: search in LDAP-tree failed<br>";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ldap_count_entries($connect, $res_id) != 1)
|
||||
{
|
||||
print "failure: username $username found more than once<br>\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (( $entry_id = ldap_first_entry($connect, $res_id))== false)
|
||||
{
|
||||
print "failur: entry of searchresult couln't be fetched<br>\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (( $user_dn = ldap_get_dn($connect, $entry_id)) == false)
|
||||
{
|
||||
print "failure: user-dn coulnd't be fetched<br>\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Authentifizierung des User */
|
||||
if (($link_id = @ldap_bind($connect, $user_dn, $password)) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
@ldap_close($connect);
|
||||
}
|
||||
else
|
||||
{
|
||||
// no conection to ldap server
|
||||
echo "no connection to '$ldap_server'<br>\n";
|
||||
}
|
||||
@ldap_close($connect);
|
||||
return(false);
|
||||
}
|
||||
?>
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
function db_query($conn, $sql_query)
|
||||
{
|
||||
if (!$result=pg_query($conn, $sql_query))
|
||||
return pg_last_error($conn);
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
// Auth: Benutzer des Webportals
|
||||
function get_uid()
|
||||
{
|
||||
return strtolower(trim($_SERVER['REMOTE_USER']));
|
||||
// fuer Testzwecke
|
||||
//return 'oesi';
|
||||
//return 'pam';
|
||||
}
|
||||
|
||||
function crlf()
|
||||
{
|
||||
// doing some DOS-CRLF magic...
|
||||
$crlf="\n";
|
||||
$client=getenv("HTTP_USER_AGENT");
|
||||
if (ereg('[^(]*\((.*)\)[^)]*',$client,$regs))
|
||||
{
|
||||
$os = $regs[1];
|
||||
// this looks better under WinX
|
||||
if (eregi("Win",$os))
|
||||
$crlf="\r\n";
|
||||
}
|
||||
return $crlf;
|
||||
}
|
||||
|
||||
function check_lektor($uid, $conn)
|
||||
{
|
||||
// uid von View 'Lektor' holen
|
||||
$sql_query="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='$uid'";
|
||||
//echo $sql_query;
|
||||
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
|
||||
$num_rows=pg_num_rows($result);
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row=pg_fetch_object($result);
|
||||
return $row->mitarbeiter_uid;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
function check_lektor_lehreinheit($conn, $uid, $lehreinheit_id)
|
||||
{
|
||||
// uid von View 'Lektor' holen
|
||||
$sql_query="SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE mitarbeiter_uid='$uid' AND lehreinheit_id = '$lehreinheit_id'";
|
||||
//echo $sql_query;
|
||||
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
|
||||
$num_rows=pg_num_rows($result);
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row=pg_fetch_object($result);
|
||||
return $row->mitarbeiter_uid;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
function check_lektor_lehrveranstaltung($conn, $uid, $lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
// uid von View 'Lektor' holen
|
||||
$sql_query="SELECT mitarbeiter_uid FROM campus.vw_lehreinheit WHERE mitarbeiter_uid='$uid' AND lehrveranstaltung_id = '$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz'";
|
||||
//echo $sql_query;
|
||||
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
|
||||
$num_rows=pg_num_rows($result);
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row=pg_fetch_object($result);
|
||||
return $row->mitarbeiter_uid;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
function check_student($uid, $conn)
|
||||
{
|
||||
// uid von Tabelle 'Student' holen
|
||||
$sql_query="SELECT student_uid FROM public.tbl_student WHERE student_uid='$uid'";
|
||||
//echo $sql_query;
|
||||
$result=pg_query($conn, $sql_query) or die(pg_last_error($conn));
|
||||
$num_rows=pg_numrows($result);
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
return pg_result($result,0,'student_uid');
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
function kalenderwoche($datum)
|
||||
{
|
||||
//$woche=date("W",mktime($date[hours],$date[minutes],$date[seconds],$date[mon],$date[mday],$date[year]));
|
||||
if (!date("w",$datum))
|
||||
$datum+=86400;
|
||||
//echo date("l j.m.Y - W",$datum);
|
||||
$woche=date("W",$datum);
|
||||
//if ($woche==53)
|
||||
// $woche=1;
|
||||
return $woche;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* Springt zum vorhergehenden Montag, wenn $datum kein Sonntag oder Montag ist.
|
||||
*
|
||||
*/
|
||||
function montag($datum)
|
||||
{
|
||||
// Wochentag
|
||||
$wt=date("w",$datum);
|
||||
// Sonntag?
|
||||
if (!$wt)
|
||||
$wt++;
|
||||
if($wt!=1)
|
||||
$datum-=86400*($wt-1);
|
||||
|
||||
return $datum;
|
||||
}
|
||||
|
||||
function jump_day($datum, $tage)
|
||||
{
|
||||
// Ein Tag sind 86400 Sekunden
|
||||
$datum+=86400*$tage;
|
||||
return $datum;
|
||||
}
|
||||
|
||||
function jump_week($datum, $wochen)
|
||||
{
|
||||
$stunde_vor=date("G",$datum);
|
||||
// Eine Woche sind 604800 Sekunden
|
||||
$datum+=604800*$wochen;
|
||||
$stunde_nach=date("G",$datum);
|
||||
if ($stunde_nach!=$stunde_vor)
|
||||
$datum+=3600;
|
||||
return $datum;
|
||||
}
|
||||
|
||||
function jahreskalenderjump($link)
|
||||
{
|
||||
$crlf=crlf();
|
||||
$datum=mktime();
|
||||
$woche=kalenderwoche($datum);
|
||||
$datum=montag($datum);
|
||||
echo ' <SMALL><CENTER><B>Jump to KW</B><BR><SMALL>'.$crlf;
|
||||
for ($anz=1;$anz<26;$anz++)
|
||||
{
|
||||
$linknew=$link.'&datum='.$datum;
|
||||
if ($woche==53)
|
||||
$woche=1;
|
||||
echo ' <A HREF="'.$linknew.'">'.$woche.'</A>'.$crlf;
|
||||
if ($anz%5==0)
|
||||
echo ' <br>'.$crlf;
|
||||
$datum+=60*60*24*7;
|
||||
$woche++;
|
||||
}
|
||||
echo ' </SMALL></CENTER></SMALL>'.$crlf;
|
||||
}
|
||||
|
||||
function loadVariables($user)
|
||||
{
|
||||
$db = new basis_db();
|
||||
|
||||
$error_msg='';
|
||||
$num_rows=0;
|
||||
$sql_query="SELECT * FROM public.tbl_variable WHERE uid='$user'";
|
||||
if(!$db->db_query($sql_query))
|
||||
$error_msg.=$db->db_last_error().'<BR>'.$sql_query;
|
||||
else
|
||||
$num_rows=$db->db_num_rows();
|
||||
|
||||
while ($row=$db->db_fetch_object())
|
||||
{
|
||||
global ${$row->name};
|
||||
${$row->name}=$row->wert;
|
||||
}
|
||||
|
||||
if (!isset($semester_aktuell))
|
||||
if(!$db->db_query('SELECT * FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1'))
|
||||
$error_msg.=$db->db_last_error().'<BR>'.$sql_query;
|
||||
else
|
||||
{
|
||||
$num_rows=$db->db_num_rows();
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row=$db->db_fetch_object();
|
||||
global $semester_aktuell;
|
||||
$semester_aktuell=$row->studiensemester_kurzbz;
|
||||
}
|
||||
}
|
||||
if (!isset($db_stpl_table))
|
||||
{
|
||||
global $db_stpl_table;
|
||||
$db_stpl_table='stundenplan';
|
||||
}
|
||||
|
||||
if (!isset($kontofilterstg))
|
||||
{
|
||||
global $kontofilterstg;
|
||||
$kontofilterstg='false';
|
||||
}
|
||||
|
||||
if (!isset($ignore_kollision))
|
||||
{
|
||||
global $ignore_kollision;
|
||||
$ignore_kollision='false';
|
||||
}
|
||||
|
||||
if (!isset($ignore_zeitsperre))
|
||||
{
|
||||
global $ignore_zeitsperre;
|
||||
$ignore_zeitsperre='false';
|
||||
}
|
||||
|
||||
if (!isset($ignore_reservierung))
|
||||
{
|
||||
global $ignore_reservierung;
|
||||
$ignore_reservierung='false';
|
||||
}
|
||||
|
||||
if (!isset($emailadressentrennzeichen))
|
||||
{
|
||||
global $emailadressentrennzeichen;
|
||||
$emailadressentrennzeichen=',';
|
||||
}
|
||||
return $error_msg;
|
||||
}
|
||||
|
||||
function writeCISlog($stat, $rm = '')
|
||||
{
|
||||
if($stat=='STOP')
|
||||
$stat = 'STOP ';
|
||||
$handle = fopen(LOG_PATH.'cis.log','a');
|
||||
fwrite($handle, date('Y-m-d H:i:s').' '. $stat .' '. getmypid() .' '. $_SERVER['REMOTE_USER'] .' '. $_SERVER['REQUEST_URI'] .' '.$rm.'
|
||||
');
|
||||
}
|
||||
|
||||
// ***************************************************************
|
||||
// * Liefert das Studiensemester in dem sich
|
||||
// * das uebergebene Datum befindet
|
||||
// * wenn sich das Datum zwischen zwei Studiensemestern befindet
|
||||
// * und $naechstes=true dann wird das naechste StSem geliefert
|
||||
// * wenn $naechstes=false dann wird das vorherige StSem geliefert
|
||||
// ***************************************************************
|
||||
function getStudiensemesterFromDatum($conn, $datum, $naechstes=true)
|
||||
{
|
||||
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE";
|
||||
|
||||
if($naechstes)
|
||||
$qry.= " ende>'$datum' ORDER BY ende ASC ";
|
||||
else
|
||||
$qry.= " start<'$datum' ORDER BY ende DESC ";
|
||||
|
||||
$qry.= "LIMIT 1";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
return $row->studiensemester_kurzbz;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
// ***************************************************************
|
||||
// * Diese Funktion liefert sowohl bei UTF-8 als auch
|
||||
// * bei Latin9 die richtige Anzahl der Zeichen
|
||||
// * (das normale strlen liefert bei UTF-8 Zeichen falsche Werte.)
|
||||
// ***************************************************************
|
||||
function utf8_strlen($str)
|
||||
{
|
||||
$count = 0;
|
||||
for ($i = 0; $i < strlen($str); ++$i)
|
||||
if ((ord($str[$i]) & 0xC0) != 0x80)
|
||||
++$count;
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
||||
// ****************************************************************
|
||||
// * strtoupper das auch Umlaute und andere Sonderzeichen
|
||||
// * in Grossbuchstaben umwandelt
|
||||
// ****************************************************************
|
||||
function strtoupperFULL($str)
|
||||
{
|
||||
return(mb_strtoupper($str, "UTF-8"));
|
||||
}
|
||||
|
||||
// ****************************************************************
|
||||
// * Prueft den uebergebenen Alias auf Gueltigkeit.
|
||||
// * Format: mindestens 1 Punkt enhalten, mind. 1 Zeichen vor und
|
||||
// * 1 Zeichen nach dem Punkt, keine Sonderzeichen
|
||||
// ****************************************************************
|
||||
function checkalias($alias)
|
||||
{
|
||||
if($anz = preg_match("/^[-a-z0-9]*[a-z0-9]{1,}\.[-a-z0-9]{1,}$/",$alias))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
// ****************************************************************
|
||||
// * Prueft ob im LDAP ein User mit diesem Passwort existiert
|
||||
// ****************************************************************
|
||||
function checkldapuser($username,$password)
|
||||
{
|
||||
if($connect=@ldap_connect(LDAP_SERVER))
|
||||
{
|
||||
// bind to ldap connection
|
||||
if(($bind=@ldap_bind($connect)) == false)
|
||||
{
|
||||
print "bind:__FAILED__<br>\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
// search for user
|
||||
if (($res_id = ldap_search( $connect, LDAP_BASE_DN, "uid=$username")) == false)
|
||||
{
|
||||
print "failure: search in LDAP-tree failed<br>";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ldap_count_entries($connect, $res_id) != 1)
|
||||
{
|
||||
print "failure: username $username found more than once<br>\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (( $entry_id = ldap_first_entry($connect, $res_id))== false)
|
||||
{
|
||||
print "failur: entry of searchresult couln't be fetched<br>\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (( $user_dn = ldap_get_dn($connect, $entry_id)) == false)
|
||||
{
|
||||
print "failure: user-dn coulnd't be fetched<br>\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Authentifizierung des User */
|
||||
if (($link_id = @ldap_bind($connect, $user_dn, $password)) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
@ldap_close($connect);
|
||||
}
|
||||
else
|
||||
{
|
||||
// no conection to ldap server
|
||||
echo "no connection to '$ldap_server'<br>\n";
|
||||
}
|
||||
@ldap_close($connect);
|
||||
return(false);
|
||||
}
|
||||
?>
|
||||
|
||||
+226
-226
@@ -1,227 +1,227 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
/**
|
||||
* Klasse funktion (FAS-Online)
|
||||
* @create 14-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 $beschreibung; // @var string
|
||||
var $aktiv; // @var boolean
|
||||
var $ext_id; // @var bigint
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $funktion_kurzbz ID der zu ladenden Funktion
|
||||
*/
|
||||
function funktion($conn, $funktion_kurzbz=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($funktion_kurzbz != null)
|
||||
$this->load($funktion_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Funktionen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll($uid=null)
|
||||
{
|
||||
if (is_null($uid))
|
||||
$qry='SELECT * FROM public.tbl_funktion order by funktion_kurzbz;';
|
||||
else
|
||||
$qry="SELECT * FROM public.tbl_funktion JOIN public.tbl_benutzerfunktion USING (funktion_kurzbz) WHERE uid='$uid';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$funktion_obj = new funktion($this->conn);
|
||||
|
||||
$funktion_obj->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$funktion_obj->beschreibung = $row->beschreibung;
|
||||
$funktion_obj->aktiv = $row->aktiv;
|
||||
|
||||
$this->result[] = $funktion_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function checkFunktion($funktion)
|
||||
{
|
||||
foreach ($this->result AS $fkt)
|
||||
if ($fkt->funktion_kurzbz==$funktion)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 public.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->beschreibung = $row->beschreibung;
|
||||
$this->aktiv = $row->aktiv;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
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
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
|
||||
//Laenge Pruefen
|
||||
if(strlen($this->beschreibung)>64)
|
||||
{
|
||||
$this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei <b>$this->funktion_kurzbz</b> - $this->beschreibung";
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Pruefen ob funktion_kurzbz befüllt ist
|
||||
if($this->funktion_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'funktion_kurzbz darf nicht leer sein';
|
||||
return false;
|
||||
}
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO public.tbl_funktion (funktion_kurzbz, beschreibung, aktiv) VALUES ('.
|
||||
$this->addslashes($this->funktion_kurzbz).', '.
|
||||
$this->addslashes($this->beschreibung).', '.
|
||||
($this->aktiv?'true':'false').'); ';
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob fachbereich_id eine gueltige Zahl ist
|
||||
if( $this->funktion_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'funktion_kurzbz darf nicht leer sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE public.tbl_funktion SET '.
|
||||
'beschreibung='.$this->addslashes($this->beschreibung).', '.
|
||||
'aktiv='.($this->aktiv?'true':'false') .' '.
|
||||
'WHERE funktion_kurzbz = '.$this->addslashes($this->funktion_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;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
/**
|
||||
* Klasse funktion (FAS-Online)
|
||||
* @create 14-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 $beschreibung; // @var string
|
||||
var $aktiv; // @var boolean
|
||||
var $ext_id; // @var bigint
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $funktion_kurzbz ID der zu ladenden Funktion
|
||||
*/
|
||||
function funktion($conn, $funktion_kurzbz=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($funktion_kurzbz != null)
|
||||
$this->load($funktion_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Funktionen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll($uid=null)
|
||||
{
|
||||
if (is_null($uid))
|
||||
$qry='SELECT * FROM public.tbl_funktion order by funktion_kurzbz;';
|
||||
else
|
||||
$qry="SELECT * FROM public.tbl_funktion JOIN public.tbl_benutzerfunktion USING (funktion_kurzbz) WHERE uid='$uid';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$funktion_obj = new funktion($this->conn);
|
||||
|
||||
$funktion_obj->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$funktion_obj->beschreibung = $row->beschreibung;
|
||||
$funktion_obj->aktiv = $row->aktiv;
|
||||
|
||||
$this->result[] = $funktion_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function checkFunktion($funktion)
|
||||
{
|
||||
foreach ($this->result AS $fkt)
|
||||
if ($fkt->funktion_kurzbz==$funktion)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 public.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->beschreibung = $row->beschreibung;
|
||||
$this->aktiv = $row->aktiv;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
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
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
|
||||
//Laenge Pruefen
|
||||
if(strlen($this->beschreibung)>64)
|
||||
{
|
||||
$this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei <b>$this->funktion_kurzbz</b> - $this->beschreibung";
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Pruefen ob funktion_kurzbz befüllt ist
|
||||
if($this->funktion_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'funktion_kurzbz darf nicht leer sein';
|
||||
return false;
|
||||
}
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO public.tbl_funktion (funktion_kurzbz, beschreibung, aktiv) VALUES ('.
|
||||
$this->addslashes($this->funktion_kurzbz).', '.
|
||||
$this->addslashes($this->beschreibung).', '.
|
||||
($this->aktiv?'true':'false').'); ';
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob fachbereich_id eine gueltige Zahl ist
|
||||
if( $this->funktion_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'funktion_kurzbz darf nicht leer sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE public.tbl_funktion SET '.
|
||||
'beschreibung='.$this->addslashes($this->beschreibung).', '.
|
||||
'aktiv='.($this->aktiv?'true':'false') .' '.
|
||||
'WHERE funktion_kurzbz = '.$this->addslashes($this->funktion_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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -63,7 +63,7 @@ class gebiet
|
||||
public function gebiet($conn, $gebiet_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -74,7 +74,7 @@ class gebiet
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if($gebiet_id != null)
|
||||
$this->load($gebiet_id);
|
||||
}
|
||||
|
||||
+413
-413
@@ -1,414 +1,414 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
class gruppe
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $result = array(); // gruppen Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $gruppe_kurzbz; // varchar(16)
|
||||
var $studiengang_kz; // integer
|
||||
var $bezeichnung; // varchar(32)
|
||||
var $semester; // smallint
|
||||
var $sort; // smallint
|
||||
var $lehre=true; //boolean
|
||||
var $mailgrp; // boolean
|
||||
var $beschreibung; // varchar(128)
|
||||
var $generiert; // boolean
|
||||
var $sichtbar; // boolean
|
||||
var $aktiv; // boolean
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // varchar(16)
|
||||
var $orgform_kurzbz;
|
||||
|
||||
// *************************************************************************
|
||||
// * 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!=null)
|
||||
{
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if($gruppe_kurzbz!=null)
|
||||
$this->load($gruppe_kurzbz);
|
||||
}
|
||||
|
||||
// *************************
|
||||
// * Loescht eine Gruppe
|
||||
// *************************
|
||||
function delete($gruppe_kurzbz)
|
||||
{
|
||||
$qry ="DELETE FROM public.tbl_gruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen der Gruppe';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ****************************************
|
||||
// * Prueft ob bereits eine Gruppe mit der
|
||||
// * uebergebenen Kurzbezeichnung existiert
|
||||
// * @param gruppe_kurzbz
|
||||
// ****************************************
|
||||
function exists($gruppe_kurzbz)
|
||||
{
|
||||
$qry = "SELECT count(*) as anzahl FROM public.tbl_gruppe WHERE gruppe_kurzbz='".addslashes(strtoupper($gruppe_kurzbz))."'";
|
||||
|
||||
if($row = pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
if($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)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_gruppe where gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->semester = $row->semester;
|
||||
$this->sort = $row->sort;
|
||||
$this->mailgrp = ($row->mailgrp=='t'?true:false);
|
||||
$this->lehre = ($row->lehre=='t'?true:false);
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->sichtbar = ($row->sichtbar=='t'?true:false);
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$this->generiert = ($row->generiert=='t'?true:false);
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_gruppe ORDER BY gruppe_kurzbz";
|
||||
|
||||
if( $result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$grp_obj = new gruppe($this->conn, null, null);
|
||||
$grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$grp_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$grp_obj->bezeichnung = $row->bezeichnung;
|
||||
$grp_obj->semester = $row->semester;
|
||||
$grp_obj->sort = $row->sort;
|
||||
$grp_obj->lehre = ($row->lehre=='t'?true:false);
|
||||
$grp_obj->mailgrp = ($row->mailgrp=='t'?true:false);
|
||||
$grp_obj->beschreibung = $row->beschreibung;
|
||||
$grp_obj->sichtbar = ($row->sichtbar=='t'?true:false);
|
||||
$grp_obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$grp_obj->generiert = ($row->generiert=='t'?true:false);
|
||||
$grp_obj->updateamum = $row->updateamum;
|
||||
$grp_obj->updatevon = $row->updatevon;
|
||||
$grp_obj->insertamum = $row->insertamum;
|
||||
$grp_obj->insertvon = $row->insertvon;
|
||||
$grp_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
|
||||
$this->result[] = $grp_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Gruppen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function countStudenten($gruppe_kurzbz)
|
||||
{
|
||||
$qry = "SELECT count(*) as anzahl FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
return $row->anzahl;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen der benutzergruppe';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen der benutzergruppe';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getgruppe($studiengang_kz=null, $semester=null, $mailgrp=null, $sichtbar=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_gruppe WHERE 1=1';
|
||||
if(!is_null($studiengang_kz) && $studiengang_kz!='')
|
||||
$qry .= " AND studiengang_kz='$studiengang_kz'";
|
||||
if(!is_null($semester) && $semester!='')
|
||||
$qry .= " AND semester='$semester'";
|
||||
if(!is_null($mailgrp) && $mailgrp!='')
|
||||
$qry .= " AND mailgrp=".($mailgrp?'true':'false');
|
||||
if(!is_null($sichtbar))
|
||||
$qry .= " AND sichtbar=".($sichtbar?'true':'false');
|
||||
$qry.=" ORDER BY beschreibung";
|
||||
if($result=pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$grp_obj = new gruppe($this->conn, null, null);
|
||||
$grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$grp_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$grp_obj->bezeichnung = $row->bezeichnung;
|
||||
$grp_obj->semester = $row->semester;
|
||||
$grp_obj->sort = $row->sort;
|
||||
$grp_obj->mailgrp = ($row->mailgrp=='t'?true:false);
|
||||
$grp_obj->lehre = ($row->lehre=='t'?true:false);
|
||||
$grp_obj->beschreibung = $row->beschreibung;
|
||||
$grp_obj->sichtbar = ($row->sichtbar=='t'?true:false);
|
||||
$grp_obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$grp_obj->generiert = ($row->generiert=='t'?true:false);
|
||||
$grp_obj->updateamum = $row->updateamum;
|
||||
$grp_obj->updatevon = $row->updatevon;
|
||||
$grp_obj->insertamum = $row->insertamum;
|
||||
$grp_obj->insertvon = $row->insertvon;
|
||||
$grp_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
|
||||
$this->result[] = $grp_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Gruppen'.$qry;
|
||||
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, $upper=true)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
if ($upper)
|
||||
$kurzbz = strtoupper($this->gruppe_kurzbz);
|
||||
else
|
||||
$kurzbz = $this->gruppe_kurzbz;
|
||||
|
||||
$qry = 'INSERT INTO public.tbl_gruppe (gruppe_kurzbz, studiengang_kz, bezeichnung, semester, sort,
|
||||
mailgrp, beschreibung, sichtbar, generiert, aktiv, lehre,
|
||||
updateamum, updatevon, insertamum, insertvon, orgform_kurzbz)
|
||||
VALUES('.$this->addslashes($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->generiert?'true':'false').','.
|
||||
($this->aktiv?'true':'false').','.
|
||||
($this->lehre?'true':'false').','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).','.
|
||||
$this->addslashes($this->orgform_kurzbz).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE public.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').','.
|
||||
' generiert='.($this->generiert?'true':'false').','.
|
||||
' aktiv='.($this->aktiv?'true':'false').','.
|
||||
' lehre='.($this->lehre?'true':'false').','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).','.
|
||||
' orgform_kurzbz='.$this->addslashes($this->orgform_kurzbz).
|
||||
" WHERE gruppe_kurzbz=".$this->addslashes(strtoupper($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
|
||||
/* 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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
class gruppe
|
||||
{
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $result = array(); // gruppen Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $gruppe_kurzbz; // varchar(16)
|
||||
var $studiengang_kz; // integer
|
||||
var $bezeichnung; // varchar(32)
|
||||
var $semester; // smallint
|
||||
var $sort; // smallint
|
||||
var $lehre=true; //boolean
|
||||
var $mailgrp; // boolean
|
||||
var $beschreibung; // varchar(128)
|
||||
var $generiert; // boolean
|
||||
var $sichtbar; // boolean
|
||||
var $aktiv; // boolean
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // varchar(16)
|
||||
var $orgform_kurzbz;
|
||||
|
||||
// *************************************************************************
|
||||
// * 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!=null)
|
||||
{
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if($gruppe_kurzbz!=null)
|
||||
$this->load($gruppe_kurzbz);
|
||||
}
|
||||
|
||||
// *************************
|
||||
// * Loescht eine Gruppe
|
||||
// *************************
|
||||
function delete($gruppe_kurzbz)
|
||||
{
|
||||
$qry ="DELETE FROM public.tbl_gruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen der Gruppe';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ****************************************
|
||||
// * Prueft ob bereits eine Gruppe mit der
|
||||
// * uebergebenen Kurzbezeichnung existiert
|
||||
// * @param gruppe_kurzbz
|
||||
// ****************************************
|
||||
function exists($gruppe_kurzbz)
|
||||
{
|
||||
$qry = "SELECT count(*) as anzahl FROM public.tbl_gruppe WHERE gruppe_kurzbz='".addslashes(strtoupper($gruppe_kurzbz))."'";
|
||||
|
||||
if($row = pg_fetch_object(pg_query($this->conn,$qry)))
|
||||
{
|
||||
if($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)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_gruppe where gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->semester = $row->semester;
|
||||
$this->sort = $row->sort;
|
||||
$this->mailgrp = ($row->mailgrp=='t'?true:false);
|
||||
$this->lehre = ($row->lehre=='t'?true:false);
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->sichtbar = ($row->sichtbar=='t'?true:false);
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$this->generiert = ($row->generiert=='t'?true:false);
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_gruppe ORDER BY gruppe_kurzbz";
|
||||
|
||||
if( $result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$grp_obj = new gruppe($this->conn, null, null);
|
||||
$grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$grp_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$grp_obj->bezeichnung = $row->bezeichnung;
|
||||
$grp_obj->semester = $row->semester;
|
||||
$grp_obj->sort = $row->sort;
|
||||
$grp_obj->lehre = ($row->lehre=='t'?true:false);
|
||||
$grp_obj->mailgrp = ($row->mailgrp=='t'?true:false);
|
||||
$grp_obj->beschreibung = $row->beschreibung;
|
||||
$grp_obj->sichtbar = ($row->sichtbar=='t'?true:false);
|
||||
$grp_obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$grp_obj->generiert = ($row->generiert=='t'?true:false);
|
||||
$grp_obj->updateamum = $row->updateamum;
|
||||
$grp_obj->updatevon = $row->updatevon;
|
||||
$grp_obj->insertamum = $row->insertamum;
|
||||
$grp_obj->insertvon = $row->insertvon;
|
||||
$grp_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
|
||||
$this->result[] = $grp_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Gruppen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function countStudenten($gruppe_kurzbz)
|
||||
{
|
||||
$qry = "SELECT count(*) as anzahl FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
return $row->anzahl;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen der benutzergruppe';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen der benutzergruppe';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getgruppe($studiengang_kz=null, $semester=null, $mailgrp=null, $sichtbar=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_gruppe WHERE 1=1';
|
||||
if(!is_null($studiengang_kz) && $studiengang_kz!='')
|
||||
$qry .= " AND studiengang_kz='$studiengang_kz'";
|
||||
if(!is_null($semester) && $semester!='')
|
||||
$qry .= " AND semester='$semester'";
|
||||
if(!is_null($mailgrp) && $mailgrp!='')
|
||||
$qry .= " AND mailgrp=".($mailgrp?'true':'false');
|
||||
if(!is_null($sichtbar))
|
||||
$qry .= " AND sichtbar=".($sichtbar?'true':'false');
|
||||
$qry.=" ORDER BY beschreibung";
|
||||
if($result=pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$grp_obj = new gruppe($this->conn, null, null);
|
||||
$grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$grp_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$grp_obj->bezeichnung = $row->bezeichnung;
|
||||
$grp_obj->semester = $row->semester;
|
||||
$grp_obj->sort = $row->sort;
|
||||
$grp_obj->mailgrp = ($row->mailgrp=='t'?true:false);
|
||||
$grp_obj->lehre = ($row->lehre=='t'?true:false);
|
||||
$grp_obj->beschreibung = $row->beschreibung;
|
||||
$grp_obj->sichtbar = ($row->sichtbar=='t'?true:false);
|
||||
$grp_obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$grp_obj->generiert = ($row->generiert=='t'?true:false);
|
||||
$grp_obj->updateamum = $row->updateamum;
|
||||
$grp_obj->updatevon = $row->updatevon;
|
||||
$grp_obj->insertamum = $row->insertamum;
|
||||
$grp_obj->insertvon = $row->insertvon;
|
||||
$grp_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
|
||||
$this->result[] = $grp_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Gruppen'.$qry;
|
||||
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, $upper=true)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
if ($upper)
|
||||
$kurzbz = strtoupper($this->gruppe_kurzbz);
|
||||
else
|
||||
$kurzbz = $this->gruppe_kurzbz;
|
||||
|
||||
$qry = 'INSERT INTO public.tbl_gruppe (gruppe_kurzbz, studiengang_kz, bezeichnung, semester, sort,
|
||||
mailgrp, beschreibung, sichtbar, generiert, aktiv, lehre,
|
||||
updateamum, updatevon, insertamum, insertvon, orgform_kurzbz)
|
||||
VALUES('.$this->addslashes($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->generiert?'true':'false').','.
|
||||
($this->aktiv?'true':'false').','.
|
||||
($this->lehre?'true':'false').','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).','.
|
||||
$this->addslashes($this->orgform_kurzbz).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE public.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').','.
|
||||
' generiert='.($this->generiert?'true':'false').','.
|
||||
' aktiv='.($this->aktiv?'true':'false').','.
|
||||
' lehre='.($this->lehre?'true':'false').','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).','.
|
||||
' orgform_kurzbz='.$this->addslashes($this->orgform_kurzbz).
|
||||
" WHERE gruppe_kurzbz=".$this->addslashes(strtoupper($this->gruppe_kurzbz)).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Gruppe:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+11
-11
@@ -1,12 +1,12 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Koordinatorstunden</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<script language="Javascript">
|
||||
window.location.href='../cis/index.html';
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
Sollten Sie nicht automatisch weitergeleitet werden, druecken sie bitte <a href="../cis/index.html">hier</a>
|
||||
</body>
|
||||
<html>
|
||||
<head>
|
||||
<title>Koordinatorstunden</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<script language="Javascript">
|
||||
window.location.href='../cis/index.html';
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
Sollten Sie nicht automatisch weitergeleitet werden, druecken sie bitte <a href="../cis/index.html">hier</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -56,7 +56,7 @@ class kontakt
|
||||
function kontakt($conn,$kontakt_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -69,6 +69,7 @@ class kontakt
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if($kontakt_id != null)
|
||||
$this->load($kontakt_id);
|
||||
}
|
||||
@@ -131,17 +132,17 @@ class kontakt
|
||||
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
|
||||
if(strlen($this->kontakttyp)>32)
|
||||
{
|
||||
$this->errormsg = 'kontakttyp darf nicht länger als 32 Zeichen sein - firma_id: '.$row->email_id;
|
||||
$this->errormsg = 'kontakttyp darf nicht länger als 32 Zeichen sein - firma_id: '.$row->email_id;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anmerkung)>64)
|
||||
{
|
||||
$this->errormsg = 'anmerkung darf nicht länger als 64 Zeichen sein - firma_id: '.$row->email_id;
|
||||
$this->errormsg = 'anmerkung darf nicht länger als 64 Zeichen sein - firma_id: '.$row->email_id;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->kontakt)>128)
|
||||
{
|
||||
$this->errormsg = 'kontakt darf nicht länger als 128 Zeichen sein - firma_id: '.$row->email_id;
|
||||
$this->errormsg = 'kontakt darf nicht länger als 128 Zeichen sein - firma_id: '.$row->email_id;
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
|
||||
@@ -30,7 +30,7 @@ class legesamtnote
|
||||
//Tabellenspalten
|
||||
var $student_uid; // varchar(16)
|
||||
var $lehreinheit_id; // int
|
||||
var $note; // smallint
|
||||
var $note; // smallint
|
||||
var $benotungsdatum; //date
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
@@ -50,7 +50,7 @@ class legesamtnote
|
||||
function legesamtnote($conn, $student_uid=null, $lehreinheit_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -61,7 +61,7 @@ class legesamtnote
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if($student_uid != null)
|
||||
$this->load($student_uid, $lehreinheit_id);
|
||||
}
|
||||
@@ -115,7 +115,8 @@ class legesamtnote
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_legesamtnote WHERE lehreinheit_id='".$lehreinheit_id."' order by student_uid";
|
||||
$qry = "SELECT * FROM campus.tbl_legesamtnote WHERE lehreinheit_id='".$lehreinheit_id."' order by student_uid";
|
||||
|
||||
|
||||
if($result=pg_query($this->conn, $qry))
|
||||
{
|
||||
@@ -125,7 +126,7 @@ class legesamtnote
|
||||
|
||||
$legesamtnote_obj->student_uid = $row->student_uid;
|
||||
$legesamtnote_obj->note = $row->note;
|
||||
$legesamtnote_obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$legesamtnote_obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$legesamtnote_obj->benotungsdatum = $row->benotungsdatum;
|
||||
$legesamtnote_obj->updateamum = $row->updateamum;
|
||||
$legesamtnote_obj->updatevon = $row->updatevon;
|
||||
|
||||
@@ -72,7 +72,7 @@ class lehreinheit
|
||||
function lehreinheit($conn, $lehreinheit_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -86,7 +86,7 @@ class lehreinheit
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($lehreinheit_id!=null)
|
||||
$this->load($lehreinheit_id);
|
||||
}
|
||||
|
||||
+435
-435
@@ -1,436 +1,436 @@
|
||||
<?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)
|
||||
var $ext_id; // bigint
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // varchar(16)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine LE
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $gruppelehreinheit_id
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function lehreinheitgruppe($conn, $lehreinheitgruppe_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if($lehreinheitgruppe_id!=null)
|
||||
$this->load($lehreinheitgruppe_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die LEGruppe
|
||||
// * @param lehreinheit_id
|
||||
// *********************************************************
|
||||
function load($lehreinheitgruppe_id)
|
||||
{
|
||||
if(!is_numeric($lehreinheitgruppe_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheitgruppe_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->lehreinheitgruppe_id = $row->lehreinheitgruppe_id;
|
||||
$this->lehreinheit_id = $row->lehreinheit_id;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->semester = $row->semester;
|
||||
$this->verband = $row->verband;
|
||||
$this->gruppe = $row->gruppe;
|
||||
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
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, ext_id, insertamum, insertvon)
|
||||
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).','.
|
||||
$this->addslashes($this->ext_id).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
}
|
||||
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).','.
|
||||
' ext_id='.$this->addslashes($this->ext_id).','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).
|
||||
" 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;
|
||||
}
|
||||
}
|
||||
|
||||
// ****************************************************
|
||||
// * Sieht nach ob Gruppe schon zu dieser Lehreinheit
|
||||
// * zugeordnet ist.
|
||||
// * @param lehreinheit_id
|
||||
// * studiengang_kz
|
||||
// * semester
|
||||
// * verband
|
||||
// * gruppe
|
||||
// * gruppe_kurzbz
|
||||
// * @return true wenn vorhanden, false wenn nicht
|
||||
// ****************************************************
|
||||
function exists($lehreinheit_id, $studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'";
|
||||
|
||||
if($gruppe_kurzbz!='')
|
||||
{
|
||||
$qry .= " AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry .= " AND semester='$semester'";
|
||||
if($verband!='')
|
||||
$qry .= " AND verband='$verband'";
|
||||
if($gruppe!='')
|
||||
$qry .= " AND gruppe='$gruppe'";
|
||||
}
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehreinheitgruppen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Liefert alle Gruppenzuordnungen zu einer
|
||||
// * Lehreinheit.
|
||||
// * @param lehreinheit_id Lehreinheit zu der
|
||||
// * die Gruppen geladen werden sollen
|
||||
// * @return true wenn ok, false im fehlerfall
|
||||
// *******************************************
|
||||
function getLehreinheitgruppe($lehreinheit_id)
|
||||
{
|
||||
if(!is_numeric($lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheit_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$leg_obj = new lehreinheitgruppe($this->conn, null, null);
|
||||
|
||||
$leg_obj->lehreinheitgruppe_id = $row->lehreinheitgruppe_id;
|
||||
$leg_obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$leg_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$leg_obj->semester = $row->semester;
|
||||
$leg_obj->verband = $row->verband;
|
||||
$leg_obj->gruppe = $row->gruppe;
|
||||
$leg_obj->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$leg_obj->updateamum = $row->updateamum;
|
||||
$leg_obj->updatevon = $row->updatevon;
|
||||
$leg_obj->insertamum = $row->insertamum;
|
||||
$leg_obj->insertvon = $row->insertvon;
|
||||
$leg_obj->ext_id = $row->ext_id;
|
||||
|
||||
$this->lehreinheitgruppe[] = $leg_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ***************************************************************
|
||||
// * Loescht die Zuornung Gruppe-Lehreinheit
|
||||
// * @param lehreinheigruppe_id ID des zu loeschenden Datensatzes
|
||||
// * @return true wenn ok, false im fehlerfall
|
||||
// ***************************************************************
|
||||
function delete($lehreinheitgruppe_id)
|
||||
{
|
||||
if(!is_numeric($lehreinheitgruppe_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheitgruppe_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
$qry_del = "DELETE FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'";
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$sql_undo = "INSERT INTO lehre.tbl_lehreinheitgruppe ".
|
||||
"(lehreinheitgruppe_id, lehreinheit_id, studiengang_kz, semester, ".
|
||||
"verband, gruppe, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon) ".
|
||||
"VALUES(".$this->addslashes($row->lehreinheitgruppe_id).','.
|
||||
$this->addslashes($row->lehreinheit_id).','.
|
||||
$this->addslashes($row->studiengang_kz).','.
|
||||
$this->addslashes($row->semester).','.
|
||||
$this->addslashes($row->verband).','.
|
||||
$this->addslashes($row->gruppe).','.
|
||||
$this->addslashes($row->gruppe_kurzbz).','.
|
||||
$this->addslashes($row->updateamum).','.
|
||||
$this->addslashes($row->updatevon).','.
|
||||
$this->addslashes($row->insertamum).','.
|
||||
$this->addslashes($row->insertvon).');';
|
||||
|
||||
$log = new log($this->conn, null, null);
|
||||
$log->sql = $qry_del;
|
||||
$log->sqlundo = $sql_undo;
|
||||
$log->mitarbeiter_uid = get_uid();
|
||||
if($row->gruppe_kurzbz!='')
|
||||
$grp = $row->gruppe_kurzbz;
|
||||
else
|
||||
{
|
||||
$qry_stg = "SELECT UPPER(typ::varchar(1) || kurzbz) as kuerzel FROM public.tbl_studiengang WHERE studiengang_kz='$row->studiengang_kz'";
|
||||
$result_stg = pg_query($this->conn, $qry_stg);
|
||||
$row_stg = pg_fetch_object($result_stg);
|
||||
$grp = $row_stg->kuerzel.$row->semester.$row->verband.$row->gruppe;
|
||||
}
|
||||
$log->beschreibung = "Gruppenzuteilung loeschen $grp - $row->lehreinheit_id";
|
||||
pg_query($this->conn, 'BEGIN;');
|
||||
|
||||
if($log->save(true))
|
||||
{
|
||||
if(pg_query($this->conn, $qry_del))
|
||||
{
|
||||
pg_query($this->conn, 'COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn, 'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Loeschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn, 'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen aus der Datenbank';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Prueft ob die Gruppe schon dieser Lehreinheit zugeordnet ist
|
||||
// ****
|
||||
function checkVorhanden()
|
||||
{
|
||||
$qry = "SELECT
|
||||
count(*) as anzahl
|
||||
FROM
|
||||
lehre.tbl_lehreinheitgruppe
|
||||
WHERE
|
||||
lehreinheit_id='$this->lehreinheit_id' AND
|
||||
studiengang_kz='$this->studiengang_kz'";
|
||||
if($this->semester!='')
|
||||
$qry.=" AND trim(semester)='$this->semester'";
|
||||
else
|
||||
$qry.=" AND (trim(semester)='' OR semester is null)";
|
||||
|
||||
if($this->verband!='')
|
||||
$qry.=" AND trim(verband)='$this->verband'";
|
||||
else
|
||||
$qry.=" AND (trim(verband)='' OR verband is null)";
|
||||
|
||||
if($this->gruppe!='')
|
||||
$qry.=" AND trim(gruppe)='$this->gruppe'";
|
||||
else
|
||||
$qry.=" AND (trim(gruppe)='' OR gruppe is null)";
|
||||
|
||||
if($this->gruppe_kurzbz!='')
|
||||
$qry.=" AND trim(gruppe_kurzbz)='$this->gruppe_kurzbz'";
|
||||
else
|
||||
$qry.= " AND (trim(gruppe_kurzbz)='' OR gruppe_kurzbz is null)";
|
||||
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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)
|
||||
var $ext_id; // bigint
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // varchar(16)
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine LE
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $gruppelehreinheit_id
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function lehreinheitgruppe($conn, $lehreinheitgruppe_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if($lehreinheitgruppe_id!=null)
|
||||
$this->load($lehreinheitgruppe_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die LEGruppe
|
||||
// * @param lehreinheit_id
|
||||
// *********************************************************
|
||||
function load($lehreinheitgruppe_id)
|
||||
{
|
||||
if(!is_numeric($lehreinheitgruppe_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheitgruppe_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->lehreinheitgruppe_id = $row->lehreinheitgruppe_id;
|
||||
$this->lehreinheit_id = $row->lehreinheit_id;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->semester = $row->semester;
|
||||
$this->verband = $row->verband;
|
||||
$this->gruppe = $row->gruppe;
|
||||
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
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, ext_id, insertamum, insertvon)
|
||||
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).','.
|
||||
$this->addslashes($this->ext_id).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
}
|
||||
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).','.
|
||||
' ext_id='.$this->addslashes($this->ext_id).','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).
|
||||
" 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;
|
||||
}
|
||||
}
|
||||
|
||||
// ****************************************************
|
||||
// * Sieht nach ob Gruppe schon zu dieser Lehreinheit
|
||||
// * zugeordnet ist.
|
||||
// * @param lehreinheit_id
|
||||
// * studiengang_kz
|
||||
// * semester
|
||||
// * verband
|
||||
// * gruppe
|
||||
// * gruppe_kurzbz
|
||||
// * @return true wenn vorhanden, false wenn nicht
|
||||
// ****************************************************
|
||||
function exists($lehreinheit_id, $studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'";
|
||||
|
||||
if($gruppe_kurzbz!='')
|
||||
{
|
||||
$qry .= " AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry .= " AND semester='$semester'";
|
||||
if($verband!='')
|
||||
$qry .= " AND verband='$verband'";
|
||||
if($gruppe!='')
|
||||
$qry .= " AND gruppe='$gruppe'";
|
||||
}
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehreinheitgruppen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Liefert alle Gruppenzuordnungen zu einer
|
||||
// * Lehreinheit.
|
||||
// * @param lehreinheit_id Lehreinheit zu der
|
||||
// * die Gruppen geladen werden sollen
|
||||
// * @return true wenn ok, false im fehlerfall
|
||||
// *******************************************
|
||||
function getLehreinheitgruppe($lehreinheit_id)
|
||||
{
|
||||
if(!is_numeric($lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheit_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$leg_obj = new lehreinheitgruppe($this->conn, null, null);
|
||||
|
||||
$leg_obj->lehreinheitgruppe_id = $row->lehreinheitgruppe_id;
|
||||
$leg_obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$leg_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$leg_obj->semester = $row->semester;
|
||||
$leg_obj->verband = $row->verband;
|
||||
$leg_obj->gruppe = $row->gruppe;
|
||||
$leg_obj->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$leg_obj->updateamum = $row->updateamum;
|
||||
$leg_obj->updatevon = $row->updatevon;
|
||||
$leg_obj->insertamum = $row->insertamum;
|
||||
$leg_obj->insertvon = $row->insertvon;
|
||||
$leg_obj->ext_id = $row->ext_id;
|
||||
|
||||
$this->lehreinheitgruppe[] = $leg_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ***************************************************************
|
||||
// * Loescht die Zuornung Gruppe-Lehreinheit
|
||||
// * @param lehreinheigruppe_id ID des zu loeschenden Datensatzes
|
||||
// * @return true wenn ok, false im fehlerfall
|
||||
// ***************************************************************
|
||||
function delete($lehreinheitgruppe_id)
|
||||
{
|
||||
if(!is_numeric($lehreinheitgruppe_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheitgruppe_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
$qry_del = "DELETE FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'";
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$lehreinheitgruppe_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$sql_undo = "INSERT INTO lehre.tbl_lehreinheitgruppe ".
|
||||
"(lehreinheitgruppe_id, lehreinheit_id, studiengang_kz, semester, ".
|
||||
"verband, gruppe, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon) ".
|
||||
"VALUES(".$this->addslashes($row->lehreinheitgruppe_id).','.
|
||||
$this->addslashes($row->lehreinheit_id).','.
|
||||
$this->addslashes($row->studiengang_kz).','.
|
||||
$this->addslashes($row->semester).','.
|
||||
$this->addslashes($row->verband).','.
|
||||
$this->addslashes($row->gruppe).','.
|
||||
$this->addslashes($row->gruppe_kurzbz).','.
|
||||
$this->addslashes($row->updateamum).','.
|
||||
$this->addslashes($row->updatevon).','.
|
||||
$this->addslashes($row->insertamum).','.
|
||||
$this->addslashes($row->insertvon).');';
|
||||
|
||||
$log = new log($this->conn, null, null);
|
||||
$log->sql = $qry_del;
|
||||
$log->sqlundo = $sql_undo;
|
||||
$log->mitarbeiter_uid = get_uid();
|
||||
if($row->gruppe_kurzbz!='')
|
||||
$grp = $row->gruppe_kurzbz;
|
||||
else
|
||||
{
|
||||
$qry_stg = "SELECT UPPER(typ::varchar(1) || kurzbz) as kuerzel FROM public.tbl_studiengang WHERE studiengang_kz='$row->studiengang_kz'";
|
||||
$result_stg = pg_query($this->conn, $qry_stg);
|
||||
$row_stg = pg_fetch_object($result_stg);
|
||||
$grp = $row_stg->kuerzel.$row->semester.$row->verband.$row->gruppe;
|
||||
}
|
||||
$log->beschreibung = "Gruppenzuteilung loeschen $grp - $row->lehreinheit_id";
|
||||
pg_query($this->conn, 'BEGIN;');
|
||||
|
||||
if($log->save(true))
|
||||
{
|
||||
if(pg_query($this->conn, $qry_del))
|
||||
{
|
||||
pg_query($this->conn, 'COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn, 'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Loeschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn, 'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen aus der Datenbank';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Prueft ob die Gruppe schon dieser Lehreinheit zugeordnet ist
|
||||
// ****
|
||||
function checkVorhanden()
|
||||
{
|
||||
$qry = "SELECT
|
||||
count(*) as anzahl
|
||||
FROM
|
||||
lehre.tbl_lehreinheitgruppe
|
||||
WHERE
|
||||
lehreinheit_id='$this->lehreinheit_id' AND
|
||||
studiengang_kz='$this->studiengang_kz'";
|
||||
if($this->semester!='')
|
||||
$qry.=" AND trim(semester)='$this->semester'";
|
||||
else
|
||||
$qry.=" AND (trim(semester)='' OR semester is null)";
|
||||
|
||||
if($this->verband!='')
|
||||
$qry.=" AND trim(verband)='$this->verband'";
|
||||
else
|
||||
$qry.=" AND (trim(verband)='' OR verband is null)";
|
||||
|
||||
if($this->gruppe!='')
|
||||
$qry.=" AND trim(gruppe)='$this->gruppe'";
|
||||
else
|
||||
$qry.=" AND (trim(gruppe)='' OR gruppe is null)";
|
||||
|
||||
if($this->gruppe_kurzbz!='')
|
||||
$qry.=" AND trim(gruppe_kurzbz)='$this->gruppe_kurzbz'";
|
||||
else
|
||||
$qry.= " AND (trim(gruppe_kurzbz)='' OR gruppe_kurzbz is null)";
|
||||
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,391 +1,391 @@
|
||||
<?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 $mitarbeiter_uid_old; // verwendet bei Update der UID
|
||||
var $semesterstunden; // smalint
|
||||
var $planstunden; // smalint
|
||||
var $stundensatz; // numeric(6,2)
|
||||
var $faktor; // numeric(2,1)
|
||||
var $anmerkung; // varchar(256)
|
||||
var $lehrfunktion_kurzbz; // varchar(16)
|
||||
var $bismelden; // boolean
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // varchar(16)
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
var $ext_id; // bigint
|
||||
|
||||
// *************************************************************************
|
||||
// * 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!=null)
|
||||
{
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if($lehreinheit_id!=null && $mitarbeiter_uid!=null)
|
||||
$this->load($lehreinheit_id, $mitarbeiter_uid);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die LEMitarbeiter
|
||||
// * @param lehreinheit_id
|
||||
// *********************************************************
|
||||
function load($lehreinheit_id, $mitarbeiter_uid=null)
|
||||
{
|
||||
if(!is_numeric($lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheit_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->lehreinheit_id = $row->lehreinheit_id;
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$this->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz;
|
||||
$this->semesterstunden = $row->semesterstunden;
|
||||
$this->planstunden = $row->planstunden;
|
||||
$this->stundensatz = $row->stundensatz;
|
||||
$this->faktor = $row->faktor;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->bismelden = ($row->bismelden=='t'?true:false);
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die Lektoren einer Lehreinheit
|
||||
// * @param lehreinheit_id
|
||||
// * @return array + true wenn ok / false im Fehlerfall
|
||||
// *********************************************************
|
||||
function getLehreinheitmitarbeiter($lehreinheit_id, $mitarbeiter_uid=null)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id'";
|
||||
if($mitarbeiter_uid!=null)
|
||||
$qry.=" AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
|
||||
$qry .=" ORDER BY mitarbeiter_uid";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$obj = new lehreinheitmitarbeiter($this->conn, null, null, null);
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz;
|
||||
$obj->semesterstunden = $row->semesterstunden;
|
||||
$obj->planstunden = $row->planstunden;
|
||||
$obj->stundensatz = $row->stundensatz;
|
||||
$obj->faktor = $row->faktor;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->bismelden = ($row->bismelden=='t'?true:false);
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
|
||||
$this->lehreinheitmitarbeiter[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if($this->stundensatz!='' && !is_numeric($this->stundensatz))
|
||||
{
|
||||
$this->errormsg = 'Stundensatz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->planstunden!='' && !is_numeric($this->planstunden))
|
||||
{
|
||||
$this->errormsg = 'Planstunden muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->semesterstunden!='' && !is_numeric($this->semesterstunden))
|
||||
{
|
||||
$this->errormsg = 'Semesterstunden muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->faktor!='' && !is_numeric($this->faktor))
|
||||
{
|
||||
$this->errormsg = 'Faktor muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anmerkung)>255)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht laenger als 255 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 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, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon)
|
||||
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).','.
|
||||
$this->addslashes($this->lehrfunktion_kurzbz).','.
|
||||
($this->bismelden?'true':'false').','.
|
||||
$this->addslashes($this->ext_id).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
if($this->mitarbeiter_uid_old=='')
|
||||
$this->mitarbeiter_uid_old = $this->mitarbeiter_uid;
|
||||
|
||||
//Wenn der Lektor geaendert wird, dann wird insertamum und insertvon neu gesetzt
|
||||
//damit in den Chronjobs erkannt wird welche Lektoren an diesem Tag geaendert wurden.
|
||||
$setinsert='';
|
||||
if($this->mitarbeiter_uid_old!=$this->mitarbeiter_uid)
|
||||
{
|
||||
$setinsert=", insertamum='".date('Y-m-d H:i:s')."', insertvon=".$this->addslashes($this->updatevon);
|
||||
}
|
||||
|
||||
$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).','.
|
||||
' lehrfunktion_kurzbz='.$this->addslashes($this->lehrfunktion_kurzbz).','.
|
||||
' mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).','.
|
||||
' bismelden='.($this->bismelden?'true':'false').','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).','.
|
||||
' ext_id = '.$this->addslashes($this->ext_id).
|
||||
$setinsert.
|
||||
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." AND
|
||||
mitarbeiter_uid=".$this->addslashes($this->mitarbeiter_uid_old).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$qry.pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************************
|
||||
// * Prueft ob die Kombination Lehreinheit-Mitarbeiter
|
||||
// * bereits existiert
|
||||
// * @param $lehreinheit_id
|
||||
// * $uid
|
||||
// * @return true wenn die zuteilung existiert sonst false
|
||||
// *******************************************************
|
||||
function exists($lehreinheit_id, $uid)
|
||||
{
|
||||
if(!is_numeric($lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'lehreinheit_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($uid)."'";
|
||||
if($result=pg_query($this->conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehreinheitmitarbeiter zuteilung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Loescht die Zuteilung eines Mitarbeiters
|
||||
// * zu einer Lehreinheit
|
||||
// * @param $lehreinheit_id
|
||||
// * $mitarbeiter_uid
|
||||
// * @return true wenn ok, false im fehlerfall
|
||||
// *******************************************
|
||||
function delete($lehreinheit_id, $mitarbeiter_uid)
|
||||
{
|
||||
if(!is_numeric($lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheit_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
$qry_del = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$undo = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden, '.
|
||||
' stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon, updateamum, updatevon)'.
|
||||
' VALUES('.$this->addslashes($row->lehreinheit_id).','.
|
||||
$this->addslashes($row->mitarbeiter_uid).','.
|
||||
$this->addslashes($row->semesterstunden).','.
|
||||
$this->addslashes($row->planstunden).','.
|
||||
$this->addslashes($row->stundensatz).','.
|
||||
$this->addslashes($row->faktor).','.
|
||||
$this->addslashes($row->anmerkung).','.
|
||||
$this->addslashes($row->lehrfunktion_kurzbz).','.
|
||||
($row->bismelden=='t'?'true':'false').','.
|
||||
$this->addslashes($row->ext_id).','.
|
||||
$this->addslashes($row->insertamum).','.
|
||||
$this->addslashes($row->insertvon).','.
|
||||
$this->addslashes($row->updateamum).','.
|
||||
$this->addslashes($row->updatevon).');';
|
||||
|
||||
$log = new log($this->conn, null, null);
|
||||
$log->sqlundo = $undo;
|
||||
$log->sql = $qry_del;
|
||||
$log->mitarbeiter_uid = get_uid();
|
||||
$log->beschreibung = "Lektorzuteilung loeschen $mitarbeiter_uid - $lehreinheit_id";
|
||||
pg_query($this->conn, 'BEGIN;');
|
||||
if($log->save(true))
|
||||
{
|
||||
if(pg_query($this->conn, $qry_del))
|
||||
{
|
||||
pg_query($this->conn, 'COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn, 'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Loeschen der Zuteilung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn, 'ROLLBACK;');
|
||||
$this->errormsg = 'UNDO Eintrag konnte nicht erstellt werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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 $mitarbeiter_uid_old; // verwendet bei Update der UID
|
||||
var $semesterstunden; // smalint
|
||||
var $planstunden; // smalint
|
||||
var $stundensatz; // numeric(6,2)
|
||||
var $faktor; // numeric(2,1)
|
||||
var $anmerkung; // varchar(256)
|
||||
var $lehrfunktion_kurzbz; // varchar(16)
|
||||
var $bismelden; // boolean
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // varchar(16)
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // varchar(16)
|
||||
var $ext_id; // bigint
|
||||
|
||||
// *************************************************************************
|
||||
// * 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!=null)
|
||||
{
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if($lehreinheit_id!=null && $mitarbeiter_uid!=null)
|
||||
$this->load($lehreinheit_id, $mitarbeiter_uid);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die LEMitarbeiter
|
||||
// * @param lehreinheit_id
|
||||
// *********************************************************
|
||||
function load($lehreinheit_id, $mitarbeiter_uid=null)
|
||||
{
|
||||
if(!is_numeric($lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheit_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->lehreinheit_id = $row->lehreinheit_id;
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$this->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz;
|
||||
$this->semesterstunden = $row->semesterstunden;
|
||||
$this->planstunden = $row->planstunden;
|
||||
$this->stundensatz = $row->stundensatz;
|
||||
$this->faktor = $row->faktor;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->bismelden = ($row->bismelden=='t'?true:false);
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt die Lektoren einer Lehreinheit
|
||||
// * @param lehreinheit_id
|
||||
// * @return array + true wenn ok / false im Fehlerfall
|
||||
// *********************************************************
|
||||
function getLehreinheitmitarbeiter($lehreinheit_id, $mitarbeiter_uid=null)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id'";
|
||||
if($mitarbeiter_uid!=null)
|
||||
$qry.=" AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
|
||||
$qry .=" ORDER BY mitarbeiter_uid";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$obj = new lehreinheitmitarbeiter($this->conn, null, null, null);
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz;
|
||||
$obj->semesterstunden = $row->semesterstunden;
|
||||
$obj->planstunden = $row->planstunden;
|
||||
$obj->stundensatz = $row->stundensatz;
|
||||
$obj->faktor = $row->faktor;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->bismelden = ($row->bismelden=='t'?true:false);
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
|
||||
$this->lehreinheitmitarbeiter[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if($this->stundensatz!='' && !is_numeric($this->stundensatz))
|
||||
{
|
||||
$this->errormsg = 'Stundensatz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->planstunden!='' && !is_numeric($this->planstunden))
|
||||
{
|
||||
$this->errormsg = 'Planstunden muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->semesterstunden!='' && !is_numeric($this->semesterstunden))
|
||||
{
|
||||
$this->errormsg = 'Semesterstunden muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->faktor!='' && !is_numeric($this->faktor))
|
||||
{
|
||||
$this->errormsg = 'Faktor muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anmerkung)>255)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht laenger als 255 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 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, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon)
|
||||
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).','.
|
||||
$this->addslashes($this->lehrfunktion_kurzbz).','.
|
||||
($this->bismelden?'true':'false').','.
|
||||
$this->addslashes($this->ext_id).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
if($this->mitarbeiter_uid_old=='')
|
||||
$this->mitarbeiter_uid_old = $this->mitarbeiter_uid;
|
||||
|
||||
//Wenn der Lektor geaendert wird, dann wird insertamum und insertvon neu gesetzt
|
||||
//damit in den Chronjobs erkannt wird welche Lektoren an diesem Tag geaendert wurden.
|
||||
$setinsert='';
|
||||
if($this->mitarbeiter_uid_old!=$this->mitarbeiter_uid)
|
||||
{
|
||||
$setinsert=", insertamum='".date('Y-m-d H:i:s')."', insertvon=".$this->addslashes($this->updatevon);
|
||||
}
|
||||
|
||||
$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).','.
|
||||
' lehrfunktion_kurzbz='.$this->addslashes($this->lehrfunktion_kurzbz).','.
|
||||
' mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).','.
|
||||
' bismelden='.($this->bismelden?'true':'false').','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).','.
|
||||
' ext_id = '.$this->addslashes($this->ext_id).
|
||||
$setinsert.
|
||||
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." AND
|
||||
mitarbeiter_uid=".$this->addslashes($this->mitarbeiter_uid_old).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$qry.pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************************
|
||||
// * Prueft ob die Kombination Lehreinheit-Mitarbeiter
|
||||
// * bereits existiert
|
||||
// * @param $lehreinheit_id
|
||||
// * $uid
|
||||
// * @return true wenn die zuteilung existiert sonst false
|
||||
// *******************************************************
|
||||
function exists($lehreinheit_id, $uid)
|
||||
{
|
||||
if(!is_numeric($lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'lehreinheit_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($uid)."'";
|
||||
if($result=pg_query($this->conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehreinheitmitarbeiter zuteilung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Loescht die Zuteilung eines Mitarbeiters
|
||||
// * zu einer Lehreinheit
|
||||
// * @param $lehreinheit_id
|
||||
// * $mitarbeiter_uid
|
||||
// * @return true wenn ok, false im fehlerfall
|
||||
// *******************************************
|
||||
function delete($lehreinheit_id, $mitarbeiter_uid)
|
||||
{
|
||||
if(!is_numeric($lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'Lehreinheit_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
$qry_del = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$undo = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden, '.
|
||||
' stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon, updateamum, updatevon)'.
|
||||
' VALUES('.$this->addslashes($row->lehreinheit_id).','.
|
||||
$this->addslashes($row->mitarbeiter_uid).','.
|
||||
$this->addslashes($row->semesterstunden).','.
|
||||
$this->addslashes($row->planstunden).','.
|
||||
$this->addslashes($row->stundensatz).','.
|
||||
$this->addslashes($row->faktor).','.
|
||||
$this->addslashes($row->anmerkung).','.
|
||||
$this->addslashes($row->lehrfunktion_kurzbz).','.
|
||||
($row->bismelden=='t'?'true':'false').','.
|
||||
$this->addslashes($row->ext_id).','.
|
||||
$this->addslashes($row->insertamum).','.
|
||||
$this->addslashes($row->insertvon).','.
|
||||
$this->addslashes($row->updateamum).','.
|
||||
$this->addslashes($row->updatevon).');';
|
||||
|
||||
$log = new log($this->conn, null, null);
|
||||
$log->sqlundo = $undo;
|
||||
$log->sql = $qry_del;
|
||||
$log->mitarbeiter_uid = get_uid();
|
||||
$log->beschreibung = "Lektorzuteilung loeschen $mitarbeiter_uid - $lehreinheit_id";
|
||||
pg_query($this->conn, 'BEGIN;');
|
||||
if($log->save(true))
|
||||
{
|
||||
if(pg_query($this->conn, $qry_del))
|
||||
{
|
||||
pg_query($this->conn, 'COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn, 'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Loeschen der Zuteilung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn, 'ROLLBACK;');
|
||||
$this->errormsg = 'UNDO Eintrag konnte nicht erstellt werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+329
-329
@@ -1,330 +1,330 @@
|
||||
<?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)
|
||||
var $ext_id;
|
||||
|
||||
// ***********************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional ein LF
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $lehrfach_nr Lehrfach das geladen werden soll (default=null)
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// ***********************************************************************
|
||||
function lehrfach($conn, $lehrfach_id=null, $unicode=false)
|
||||
{
|
||||
$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;
|
||||
$this->ext_id = $row->ext_id;
|
||||
}
|
||||
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 = 'BEGIN;INSERT INTO lehre.tbl_lehrfach (lehrfach_id, studiengang_kz, fachbereich_kurzbz, kurzbz,
|
||||
bezeichnung, farbe, aktiv, semester, sprache, ext_id)
|
||||
VALUES('.
|
||||
($this->lehrfach_id!=''?$this->addslashes($this->lehrfach_id):"nextval('lehre.tbl_lehrfach_lehrfach_id_seq')").','. // HuschPfusch 4 Syncro
|
||||
$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).','.
|
||||
$this->addslashes($this->ext_id).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//lehrfach_nr auf Gueltigkeit pruefen
|
||||
if(!is_numeric($this->lehrfach_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrfach_id 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.','.
|
||||
' ext_id='.$this->addslashes($this->ext_id).','.
|
||||
' sprache='.$this->addslashes($this->sprache).
|
||||
" WHERE lehrfach_id='$this->lehrfach_id'";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
if($this->lehrfach_id=='')
|
||||
{
|
||||
$qry = "SELECT currval('lehre.tbl_lehrfach_lehrfach_id_seq') as id";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->lehrfach_id = $row->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
pg_query($this->conn, 'ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
pg_query($this->conn, 'ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
pg_query($this->conn, 'COMMIT');
|
||||
}
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Lehrfaches:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Tabellenelemente die den Kriterien der Parameter entsprechen
|
||||
* @param $stg Studiengangs_kz
|
||||
* $sem Semester
|
||||
* $order Sortierkriterium
|
||||
* $fachb fachbereich_kurzbz
|
||||
* @return array mit Lehrfaechern oder false=fehler
|
||||
*/
|
||||
function getTab($stg=null,$sem=null, $order='lehrfach_id', $fachb=null)
|
||||
{
|
||||
if($stg!=null && !is_numeric($stg))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($sem!=null && !is_numeric($sem))
|
||||
{
|
||||
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
$sql_query = "SELECT * FROM lehre.tbl_lehrfach";
|
||||
|
||||
if($stg!=null || $sem!=null || $fachb!=null)
|
||||
$sql_query .= " WHERE true";
|
||||
|
||||
if($stg!=null)
|
||||
$sql_query .= " AND studiengang_kz='$stg'";
|
||||
|
||||
if($sem!=null)
|
||||
$sql_query .= " AND semester='$sem'";
|
||||
|
||||
if($fachb!=null)
|
||||
$sql_query .= " AND fachbereich_kurzbz='".addslashes($fachb)."'";
|
||||
|
||||
$sql_query .= " ORDER BY $order";
|
||||
|
||||
if($result=pg_query($this->conn,$sql_query))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$l = new lehrfach($this->conn);
|
||||
$l->lehrfach_id = $row->lehrfach_id;
|
||||
$l->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$l->kurzbz = $row->kurzbz;
|
||||
$l->bezeichnung = $row->bezeichnung;
|
||||
$l->farbe = $row->farbe;
|
||||
$l->aktiv = $row->aktiv;
|
||||
$l->studiengang_kz = $row->studiengang_kz;
|
||||
$l->semester = $row->semester;
|
||||
$l->sprache = $row->sprache;
|
||||
$l->updateamum = $row->updateamum;
|
||||
$l->updatevon = $row->updatevon;
|
||||
$l->insertamum = $row->insertamum;
|
||||
$l->insertvon = $row->insertvon;
|
||||
$l->ext_id = $row->ext_id;
|
||||
$this->lehrfaecher[]=$l;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
<?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)
|
||||
var $ext_id;
|
||||
|
||||
// ***********************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional ein LF
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $lehrfach_nr Lehrfach das geladen werden soll (default=null)
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// ***********************************************************************
|
||||
function lehrfach($conn, $lehrfach_id=null, $unicode=false)
|
||||
{
|
||||
$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;
|
||||
$this->ext_id = $row->ext_id;
|
||||
}
|
||||
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 = 'BEGIN;INSERT INTO lehre.tbl_lehrfach (lehrfach_id, studiengang_kz, fachbereich_kurzbz, kurzbz,
|
||||
bezeichnung, farbe, aktiv, semester, sprache, ext_id)
|
||||
VALUES('.
|
||||
($this->lehrfach_id!=''?$this->addslashes($this->lehrfach_id):"nextval('lehre.tbl_lehrfach_lehrfach_id_seq')").','. // HuschPfusch 4 Syncro
|
||||
$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).','.
|
||||
$this->addslashes($this->ext_id).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//lehrfach_nr auf Gueltigkeit pruefen
|
||||
if(!is_numeric($this->lehrfach_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrfach_id 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.','.
|
||||
' ext_id='.$this->addslashes($this->ext_id).','.
|
||||
' sprache='.$this->addslashes($this->sprache).
|
||||
" WHERE lehrfach_id='$this->lehrfach_id'";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
if($this->lehrfach_id=='')
|
||||
{
|
||||
$qry = "SELECT currval('lehre.tbl_lehrfach_lehrfach_id_seq') as id";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->lehrfach_id = $row->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
pg_query($this->conn, 'ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
pg_query($this->conn, 'ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
pg_query($this->conn, 'COMMIT');
|
||||
}
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Lehrfaches:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Tabellenelemente die den Kriterien der Parameter entsprechen
|
||||
* @param $stg Studiengangs_kz
|
||||
* $sem Semester
|
||||
* $order Sortierkriterium
|
||||
* $fachb fachbereich_kurzbz
|
||||
* @return array mit Lehrfaechern oder false=fehler
|
||||
*/
|
||||
function getTab($stg=null,$sem=null, $order='lehrfach_id', $fachb=null)
|
||||
{
|
||||
if($stg!=null && !is_numeric($stg))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($sem!=null && !is_numeric($sem))
|
||||
{
|
||||
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
$sql_query = "SELECT * FROM lehre.tbl_lehrfach";
|
||||
|
||||
if($stg!=null || $sem!=null || $fachb!=null)
|
||||
$sql_query .= " WHERE true";
|
||||
|
||||
if($stg!=null)
|
||||
$sql_query .= " AND studiengang_kz='$stg'";
|
||||
|
||||
if($sem!=null)
|
||||
$sql_query .= " AND semester='$sem'";
|
||||
|
||||
if($fachb!=null)
|
||||
$sql_query .= " AND fachbereich_kurzbz='".addslashes($fachb)."'";
|
||||
|
||||
$sql_query .= " ORDER BY $order";
|
||||
|
||||
if($result=pg_query($this->conn,$sql_query))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$l = new lehrfach($this->conn);
|
||||
$l->lehrfach_id = $row->lehrfach_id;
|
||||
$l->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$l->kurzbz = $row->kurzbz;
|
||||
$l->bezeichnung = $row->bezeichnung;
|
||||
$l->farbe = $row->farbe;
|
||||
$l->aktiv = $row->aktiv;
|
||||
$l->studiengang_kz = $row->studiengang_kz;
|
||||
$l->semester = $row->semester;
|
||||
$l->sprache = $row->sprache;
|
||||
$l->updateamum = $row->updateamum;
|
||||
$l->updatevon = $row->updatevon;
|
||||
$l->insertamum = $row->insertamum;
|
||||
$l->insertvon = $row->insertvon;
|
||||
$l->ext_id = $row->ext_id;
|
||||
$this->lehrfaecher[]=$l;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = pg_errormessage($this->conn);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
+191
-191
@@ -1,192 +1,192 @@
|
||||
<?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($lehrform_kurzbz)."'";
|
||||
if(!$result=pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehrform';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->lehrform_kurzbz = $row->lehrform_kurzbz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->verplanen = ($row->verplanen?true:false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist keine Lehrform mit der Kurzbz '.$lehrform_kurzbz.' vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
// ***************************
|
||||
// * Liefert alle Lehrformen
|
||||
// ***************************
|
||||
function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehrform ORDER BY lehrform_kurzbz";
|
||||
if(!$result=pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehrform';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$lf = new lehrform($this->conn);
|
||||
|
||||
$lf->lehrform_kurzbz = $row->lehrform_kurzbz;
|
||||
$lf->bezeichnung = $row->bezeichnung;
|
||||
$lf->verplanen = ($row->verplanen?true:false);
|
||||
|
||||
$this->lehrform[] = $lf;
|
||||
}
|
||||
|
||||
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
|
||||
/* 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($lehrform_kurzbz)."'";
|
||||
if(!$result=pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehrform';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->lehrform_kurzbz = $row->lehrform_kurzbz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->verplanen = ($row->verplanen?true:false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist keine Lehrform mit der Kurzbz '.$lehrform_kurzbz.' vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
// ***************************
|
||||
// * Liefert alle Lehrformen
|
||||
// ***************************
|
||||
function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehrform ORDER BY lehrform_kurzbz";
|
||||
if(!$result=pg_query($this->conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehrform';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$lf = new lehrform($this->conn);
|
||||
|
||||
$lf->lehrform_kurzbz = $row->lehrform_kurzbz;
|
||||
$lf->bezeichnung = $row->bezeichnung;
|
||||
$lf->verplanen = ($row->verplanen?true:false);
|
||||
|
||||
$this->lehrform[] = $lf;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -38,7 +38,7 @@ class lehrfunktion
|
||||
function lehrfunktion($conn, $lehrfunktion_kurzbz=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -49,7 +49,7 @@ class lehrfunktion
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if($lehrfunktion_kurzbz!=null)
|
||||
$this->load($lehrfunktion_kurzbz);
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ class lehrveranstaltung
|
||||
function lehrveranstaltung($conn, $lehrveranstaltung_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -78,7 +78,7 @@ class lehrveranstaltung
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($lehrveranstaltung_id != null)
|
||||
$this->load($lehrveranstaltung_id);
|
||||
}
|
||||
|
||||
+247
-246
@@ -1,247 +1,248 @@
|
||||
<?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 $result = array(); // lehrverband Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $studiengang_kz; // integer
|
||||
var $semester; // integer
|
||||
var $verband; // integer
|
||||
var $gruppe; // integer
|
||||
var $aktiv; // boolean
|
||||
var $bezeichnung; // varchar(16)
|
||||
var $orgform_kurzbz;
|
||||
|
||||
// *************************************************************************
|
||||
// * 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 public.tbl_lehrverband WHERE
|
||||
studiengang_kz='".addslashes($studiengang_kz)."' AND
|
||||
semester='".addslashes($semester)."' AND
|
||||
trim(verband)='".trim(addslashes($verband))."' AND
|
||||
trim(gruppe)='".trim(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;
|
||||
}
|
||||
}
|
||||
|
||||
function load($studiengang_kz, $semester, $verband, $gruppe)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_lehrverband
|
||||
WHERE studiengang_kz='".addslashes($studiengang_kz)."'
|
||||
AND semester='".addslashes($semester)."'
|
||||
AND verband='".addslashes($verband)."'
|
||||
AND gruppe='".addslashes($gruppe)."'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->semester = $row->semester;
|
||||
$this->verband = $row->verband;
|
||||
$this->gruppe = $row->gruppe;
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Eintrag nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
function getlehrverband($studiengang_kz=null, $semester=null, $verband=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_lehrverband WHERE aktiv=true';
|
||||
if(!is_null($studiengang_kz))
|
||||
$qry .=' AND studiengang_kz='.$this->addslashes($studiengang_kz);
|
||||
if(!is_null($semester))
|
||||
$qry .=' AND semester='.$this->addslashes($semester);
|
||||
if(!is_null($verband))
|
||||
$qry .=' AND verband='.$this->addslashes($verband);
|
||||
|
||||
$qry .= ' ORDER BY studiengang_kz, semester, verband, gruppe';
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$lv_obj = new lehrverband($this->conn);
|
||||
|
||||
$lv_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$lv_obj->semester = $row->semester;
|
||||
$lv_obj->verband = $row->verband;
|
||||
$lv_obj->gruppe = $row->gruppe;
|
||||
$lv_obj->aktiv = $row->aktiv;
|
||||
$lv_obj->bezeichnung = $row->bezeichnung;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
|
||||
$this->result[] = $lv_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehrverbaende '.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************
|
||||
// * wenn $var '' ist wird NULL zurueckgegeben
|
||||
// * wenn $var !='' ist werden Datenbankkritische
|
||||
// * Zeichen mit Backslash versehen und das Ergbnis
|
||||
// * unter Hochkomma gesetzt.
|
||||
// ************************************************
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
// ************************************************************
|
||||
// * Speichert Lehrverband in die Datenbank
|
||||
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
// * angelegt, ansonsten der Datensatz upgedated
|
||||
// * @return true wenn erfolgreich, false im Fehlerfall
|
||||
// ************************************************************
|
||||
function save($new=null)
|
||||
{
|
||||
if($new==null)
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, orgform_kurzbz)
|
||||
VALUES('.$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes($this->verband).','.
|
||||
$this->addslashes($this->gruppe).','.
|
||||
($this->aktiv?'true':'false').','.
|
||||
$this->addslashes($this->bezeichnung).','.
|
||||
$this->addslashes($this->orgform_kurzbz).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "UPDATE public.tbl_lehrverband SET ".
|
||||
" aktiv=".($this->aktiv?'true':'false').", ".
|
||||
" bezeichnung='".addslashes($this->bezeichnung)."',".
|
||||
" orgform_kurzbz=".$this->addslashes($this->orgform_kurzbz).
|
||||
" WHERE studiengang_kz='".addslashes($this->studiengang_kz)."'".
|
||||
" AND semester='".addslashes($this->semester)."'".
|
||||
" AND verband='".addslashes($this->verband)."'".
|
||||
" AND gruppe='".addslashes($this->gruppe)."';";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Lehrverbands:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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 $result = array(); // lehrverband Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $studiengang_kz; // integer
|
||||
var $semester; // integer
|
||||
var $verband; // integer
|
||||
var $gruppe; // integer
|
||||
var $aktiv; // boolean
|
||||
var $bezeichnung; // varchar(16)
|
||||
var $orgform_kurzbz;
|
||||
|
||||
// *************************************************************************
|
||||
// * 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 public.tbl_lehrverband WHERE
|
||||
studiengang_kz='".addslashes($studiengang_kz)."' AND
|
||||
semester='".addslashes($semester)."' AND
|
||||
trim(verband)='".trim(addslashes($verband))."' AND
|
||||
trim(gruppe)='".trim(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;
|
||||
}
|
||||
}
|
||||
|
||||
function load($studiengang_kz, $semester, $verband, $gruppe)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_lehrverband
|
||||
WHERE studiengang_kz='".addslashes($studiengang_kz)."'
|
||||
AND semester='".addslashes($semester)."'
|
||||
AND verband='".addslashes($verband)."'
|
||||
AND gruppe='".addslashes($gruppe)."'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->semester = $row->semester;
|
||||
$this->verband = $row->verband;
|
||||
$this->gruppe = $row->gruppe;
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Eintrag nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
function getlehrverband($studiengang_kz=null, $semester=null, $verband=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_lehrverband WHERE aktiv=true';
|
||||
if(!is_null($studiengang_kz))
|
||||
$qry .=' AND studiengang_kz='.$this->addslashes($studiengang_kz);
|
||||
if(!is_null($semester))
|
||||
$qry .=' AND semester='.$this->addslashes($semester);
|
||||
if(!is_null($verband))
|
||||
$qry .=' AND verband='.$this->addslashes($verband);
|
||||
|
||||
$qry .= ' ORDER BY studiengang_kz, semester, verband, gruppe';
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$lv_obj = new lehrverband($this->conn);
|
||||
|
||||
$lv_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$lv_obj->semester = $row->semester;
|
||||
$lv_obj->verband = $row->verband;
|
||||
$lv_obj->gruppe = $row->gruppe;
|
||||
$lv_obj->aktiv = $row->aktiv;
|
||||
$lv_obj->bezeichnung = $row->bezeichnung;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
|
||||
$this->result[] = $lv_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehrverbaende '.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************
|
||||
// * wenn $var '' ist wird NULL zurueckgegeben
|
||||
// * wenn $var !='' ist werden Datenbankkritische
|
||||
// * Zeichen mit Backslash versehen und das Ergbnis
|
||||
// * unter Hochkomma gesetzt.
|
||||
// ************************************************
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
// ************************************************************
|
||||
// * Speichert Lehrverband in die Datenbank
|
||||
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
// * angelegt, ansonsten der Datensatz upgedated
|
||||
// * @return true wenn erfolgreich, false im Fehlerfall
|
||||
// ************************************************************
|
||||
function save($new=null)
|
||||
{
|
||||
if($new==null)
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, orgform_kurzbz)
|
||||
VALUES('.$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes($this->verband).','.
|
||||
$this->addslashes($this->gruppe).','.
|
||||
($this->aktiv?'true':'false').','.
|
||||
$this->addslashes($this->bezeichnung).','.
|
||||
$this->addslashes($this->orgform_kurzbz).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "UPDATE public.tbl_lehrverband SET ".
|
||||
" aktiv=".($this->aktiv?'true':'false').", ".
|
||||
" bezeichnung='".addslashes($this->bezeichnung)."',".
|
||||
" orgform_kurzbz=".$this->addslashes($this->orgform_kurzbz).
|
||||
" WHERE studiengang_kz='".addslashes($this->studiengang_kz)."'".
|
||||
" AND semester='".addslashes($this->semester)."'".
|
||||
" AND verband='".addslashes($this->verband)."'".
|
||||
" AND gruppe='".addslashes($this->gruppe)."';";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Lehrverbands:'.$qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -46,7 +46,7 @@ class log
|
||||
function log($conn, $log_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -60,7 +60,7 @@ class log
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($log_id!=null)
|
||||
$this->load($log_id);
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ class lvgesamtnote
|
||||
function lvgesamtnote($conn, $lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null , $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -73,7 +73,7 @@ class lvgesamtnote
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($lehrveranstaltung_id!=null && $student_uid!=null && $studiensemester_kurzbz!=null)
|
||||
$this->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz);
|
||||
}
|
||||
|
||||
+361
-361
@@ -1,362 +1,362 @@
|
||||
<?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 $lehrveranstaltung_id; // @var integer
|
||||
var $lehrziele; // @var string
|
||||
var $titel; // @var varchar(256)
|
||||
var $methodik; // @var string
|
||||
var $lehrinhalte; // @var string
|
||||
var $voraussetzungen; // @var string
|
||||
var $unterlagen; // @var string
|
||||
var $pruefungsordnung; // @var string
|
||||
var $anmerkungen; // @var string
|
||||
var $kurzbeschreibung; // @var string
|
||||
var $genehmigt; // @var boolean
|
||||
var $aktiv; // @var boolean
|
||||
var $sprache; // @var string
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
var $insertamum; // @var timestamp
|
||||
var $insertvon=0; // @var string
|
||||
|
||||
var $lastqry; //zuletzt ausgefuehrte qry (benoetigt fuer log)
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $lvinfo_id ID des zu ladenden Ortes
|
||||
*/
|
||||
function lvinfo($conn, $lvinfo_id=null)
|
||||
{
|
||||
$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->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$lvinfo_obj->lehrziele = $row->lehrziele;
|
||||
$lvinfo_obj->titel = $row->titel;
|
||||
$lvinfo_obj->methodik = $row->methodik;
|
||||
$lvinfo_obj->lehrinhalte = $row->lehrinhalte;
|
||||
$lvinfo_obj->voraussetzungen = $row->voraussetzungen;
|
||||
$lvinfo_obj->unterlagen = $row->unterlagen;
|
||||
$lvinfo_obj->pruefungsordnung = $row->pruefungsordnung;
|
||||
$lvinfo_obj->anmerkungen = $row->anmerkung;
|
||||
$lvinfo_obj->kurzbeschreibung = $row->kurzbeschreibung;
|
||||
$lvinfo_obj->genehmigt = ($row->genehmigt=='t'?true:false);
|
||||
$lvinfo_obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$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 $lehrveranstaltung_id
|
||||
* $sprache
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($lehrveranstaltung_id, $sprache)
|
||||
{
|
||||
if($lehrveranstaltung_id == '' || !is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'lvinfo_id ungültig';
|
||||
return false;
|
||||
}
|
||||
$qry = "SELECT * FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id = '$lehrveranstaltung_id' AND sprache='".addslashes($sprache)."';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$this->lehrziele = $row->lehrziele;
|
||||
$this->titel = $row->titel;
|
||||
$this->methodik = $row->methodik;
|
||||
$this->lehrinhalte = $row->lehrinhalte;
|
||||
$this->voraussetzungen = $row->voraussetzungen;
|
||||
$this->unterlagen = $row->unterlagen;
|
||||
$this->pruefungsordnung = $row->pruefungsordnung;
|
||||
$this->anmerkungen = $row->anmerkung;
|
||||
$this->kurzbeschreibung = $row->kurzbeschreibung;
|
||||
$this->genehmigt = ($row->genehmigt=='t'?true:false);
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$this->sprache = $row->sprache;
|
||||
$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 ('.$lehrveranstaltung_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)
|
||||
{
|
||||
if(!is_numeric($lvinfo_id))
|
||||
{
|
||||
$this->errormsg = 'Lvinfo_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$lvinfo_id'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->lastqry = $qry;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
//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;
|
||||
}
|
||||
if(!is_numeric($this->lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrveransaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
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
|
||||
$qry = 'INSERT INTO campus.tbl_lvinfo (lehrveranstaltung_id, sprache, titel, methodik, lehrziele, lehrinhalte, voraussetzungen, unterlagen, pruefungsordnung, anmerkung,
|
||||
kurzbeschreibung, genehmigt, aktiv, insertamum, insertvon, updateamum,
|
||||
updatevon) VALUES ('.
|
||||
$this->addslashes($this->lehrveranstaltung_id).','.
|
||||
$this->addslashes($this->sprache).', '.
|
||||
$this->addslashes($this->titel).', '.
|
||||
$this->addslashes($this->methodik).', '.
|
||||
$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->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->lehrveranstaltung_id == '' || !is_numeric($this->lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'lehrveranstaltung_id '.$this->lehrveranstaltung_id.' ungültig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE campus.tbl_lvinfo SET '.
|
||||
'titel='.$this->addslashes($this->titel).','.
|
||||
'methodik='.$this->addslashes($this->methodik).','.
|
||||
'lehrziele='.$this->addslashes($this->lehrziele).', '.
|
||||
'lehrinhalte='.$this->addslashes($this->lehrinhalte).', '.
|
||||
'voraussetzungen='.$this->addslashes($this->voraussetzungen).', '.
|
||||
'pruefungsordnung='.$this->addslashes($this->pruefungsordnung).', '.
|
||||
'anmerkung='.$this->addslashes($this->anmerkungen).', '.
|
||||
'kurzbeschreibung='.$this->addslashes($this->kurzbeschreibung).', '.
|
||||
'unterlagen='.$this->addslashes($this->unterlagen).', '.
|
||||
'genehmigt='.($this->genehmigt?'true':'false') .', '.
|
||||
'aktiv='.($this->aktiv?'true':'false') .', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum).', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon).', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum).', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE lehrveranstaltung_id = '.$this->addslashes($this->lehrveranstaltung_id)." AND sprache=".$this->addslashes($this->sprache).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
|
||||
$this->lastqry=$qry;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function exists($lehrveranstaltung_id, $sprache=null)
|
||||
{
|
||||
if(!is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$lehrveranstaltung_id'";
|
||||
|
||||
if(!is_null($sprache))
|
||||
$qry .= " AND sprache='".addslashes($sprache)."'";
|
||||
|
||||
if($result=pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row=pg_fetch_object($result))
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg ='Fehler bei einer Abfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Abfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Kopiert eine LVInfo von einer LV in eine andere
|
||||
*
|
||||
* @param $source ID der Lehrveranstaltung von der wegkopiert wird
|
||||
* @param $target ID der Lehrveranstaltung zu der die LV-Info kopiert werden soll
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
function copy($source, $target)
|
||||
{
|
||||
if(!is_numeric($source) || $source=='')
|
||||
{
|
||||
$this->errormsg ='source muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!is_numeric($target) || $target=='')
|
||||
{
|
||||
$this->errormsg ='target muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "
|
||||
INSERT INTO campus.tbl_lvinfo(lehrveranstaltung_id, sprache, titel, lehrziele,
|
||||
lehrinhalte, methodik, voraussetzungen, unterlagen, pruefungsordnung, anmerkung, kurzbeschreibung, genehmigt,
|
||||
aktiv, updateamum, updatevon, insertamum, insertvon)
|
||||
SELECT $target, sprache, titel, lehrziele,
|
||||
lehrinhalte, methodik, voraussetzungen, unterlagen, pruefungsordnung, anmerkung, kurzbeschreibung, genehmigt,
|
||||
aktiv, updateamum, updatevon, insertamum, insertvon FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id=$source";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Kopieren der LVInfo';
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
<?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 $lehrveranstaltung_id; // @var integer
|
||||
var $lehrziele; // @var string
|
||||
var $titel; // @var varchar(256)
|
||||
var $methodik; // @var string
|
||||
var $lehrinhalte; // @var string
|
||||
var $voraussetzungen; // @var string
|
||||
var $unterlagen; // @var string
|
||||
var $pruefungsordnung; // @var string
|
||||
var $anmerkungen; // @var string
|
||||
var $kurzbeschreibung; // @var string
|
||||
var $genehmigt; // @var boolean
|
||||
var $aktiv; // @var boolean
|
||||
var $sprache; // @var string
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
var $insertamum; // @var timestamp
|
||||
var $insertvon=0; // @var string
|
||||
|
||||
var $lastqry; //zuletzt ausgefuehrte qry (benoetigt fuer log)
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $lvinfo_id ID des zu ladenden Ortes
|
||||
*/
|
||||
function lvinfo($conn, $lvinfo_id=null)
|
||||
{
|
||||
$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->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$lvinfo_obj->lehrziele = $row->lehrziele;
|
||||
$lvinfo_obj->titel = $row->titel;
|
||||
$lvinfo_obj->methodik = $row->methodik;
|
||||
$lvinfo_obj->lehrinhalte = $row->lehrinhalte;
|
||||
$lvinfo_obj->voraussetzungen = $row->voraussetzungen;
|
||||
$lvinfo_obj->unterlagen = $row->unterlagen;
|
||||
$lvinfo_obj->pruefungsordnung = $row->pruefungsordnung;
|
||||
$lvinfo_obj->anmerkungen = $row->anmerkung;
|
||||
$lvinfo_obj->kurzbeschreibung = $row->kurzbeschreibung;
|
||||
$lvinfo_obj->genehmigt = ($row->genehmigt=='t'?true:false);
|
||||
$lvinfo_obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$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 $lehrveranstaltung_id
|
||||
* $sprache
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($lehrveranstaltung_id, $sprache)
|
||||
{
|
||||
if($lehrveranstaltung_id == '' || !is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'lvinfo_id ungültig';
|
||||
return false;
|
||||
}
|
||||
$qry = "SELECT * FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id = '$lehrveranstaltung_id' AND sprache='".addslashes($sprache)."';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$this->lehrziele = $row->lehrziele;
|
||||
$this->titel = $row->titel;
|
||||
$this->methodik = $row->methodik;
|
||||
$this->lehrinhalte = $row->lehrinhalte;
|
||||
$this->voraussetzungen = $row->voraussetzungen;
|
||||
$this->unterlagen = $row->unterlagen;
|
||||
$this->pruefungsordnung = $row->pruefungsordnung;
|
||||
$this->anmerkungen = $row->anmerkung;
|
||||
$this->kurzbeschreibung = $row->kurzbeschreibung;
|
||||
$this->genehmigt = ($row->genehmigt=='t'?true:false);
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$this->sprache = $row->sprache;
|
||||
$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 ('.$lehrveranstaltung_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)
|
||||
{
|
||||
if(!is_numeric($lvinfo_id))
|
||||
{
|
||||
$this->errormsg = 'Lvinfo_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$lvinfo_id'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->lastqry = $qry;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
//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;
|
||||
}
|
||||
if(!is_numeric($this->lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrveransaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
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
|
||||
$qry = 'INSERT INTO campus.tbl_lvinfo (lehrveranstaltung_id, sprache, titel, methodik, lehrziele, lehrinhalte, voraussetzungen, unterlagen, pruefungsordnung, anmerkung,
|
||||
kurzbeschreibung, genehmigt, aktiv, insertamum, insertvon, updateamum,
|
||||
updatevon) VALUES ('.
|
||||
$this->addslashes($this->lehrveranstaltung_id).','.
|
||||
$this->addslashes($this->sprache).', '.
|
||||
$this->addslashes($this->titel).', '.
|
||||
$this->addslashes($this->methodik).', '.
|
||||
$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->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->lehrveranstaltung_id == '' || !is_numeric($this->lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'lehrveranstaltung_id '.$this->lehrveranstaltung_id.' ungültig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE campus.tbl_lvinfo SET '.
|
||||
'titel='.$this->addslashes($this->titel).','.
|
||||
'methodik='.$this->addslashes($this->methodik).','.
|
||||
'lehrziele='.$this->addslashes($this->lehrziele).', '.
|
||||
'lehrinhalte='.$this->addslashes($this->lehrinhalte).', '.
|
||||
'voraussetzungen='.$this->addslashes($this->voraussetzungen).', '.
|
||||
'pruefungsordnung='.$this->addslashes($this->pruefungsordnung).', '.
|
||||
'anmerkung='.$this->addslashes($this->anmerkungen).', '.
|
||||
'kurzbeschreibung='.$this->addslashes($this->kurzbeschreibung).', '.
|
||||
'unterlagen='.$this->addslashes($this->unterlagen).', '.
|
||||
'genehmigt='.($this->genehmigt?'true':'false') .', '.
|
||||
'aktiv='.($this->aktiv?'true':'false') .', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum).', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon).', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum).', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE lehrveranstaltung_id = '.$this->addslashes($this->lehrveranstaltung_id)." AND sprache=".$this->addslashes($this->sprache).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
|
||||
$this->lastqry=$qry;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function exists($lehrveranstaltung_id, $sprache=null)
|
||||
{
|
||||
if(!is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$lehrveranstaltung_id'";
|
||||
|
||||
if(!is_null($sprache))
|
||||
$qry .= " AND sprache='".addslashes($sprache)."'";
|
||||
|
||||
if($result=pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row=pg_fetch_object($result))
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg ='Fehler bei einer Abfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Abfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Kopiert eine LVInfo von einer LV in eine andere
|
||||
*
|
||||
* @param $source ID der Lehrveranstaltung von der wegkopiert wird
|
||||
* @param $target ID der Lehrveranstaltung zu der die LV-Info kopiert werden soll
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
function copy($source, $target)
|
||||
{
|
||||
if(!is_numeric($source) || $source=='')
|
||||
{
|
||||
$this->errormsg ='source muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!is_numeric($target) || $target=='')
|
||||
{
|
||||
$this->errormsg ='target muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "
|
||||
INSERT INTO campus.tbl_lvinfo(lehrveranstaltung_id, sprache, titel, lehrziele,
|
||||
lehrinhalte, methodik, voraussetzungen, unterlagen, pruefungsordnung, anmerkung, kurzbeschreibung, genehmigt,
|
||||
aktiv, updateamum, updatevon, insertamum, insertvon)
|
||||
SELECT $target, sprache, titel, lehrziele,
|
||||
lehrinhalte, methodik, voraussetzungen, unterlagen, pruefungsordnung, anmerkung, kurzbeschreibung, genehmigt,
|
||||
aktiv, updateamum, updatevon, insertamum, insertvon FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id=$source";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Kopieren der LVInfo';
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
||||
+255
-255
@@ -1,256 +1,256 @@
|
||||
<?php
|
||||
/* Copyright (C) 2008 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Klasse Mail
|
||||
* @create 2008-11-20
|
||||
*
|
||||
* Versendet ein Mail als Text, Html, CC und BCC Empfaenger,
|
||||
* Replyto und Attachments
|
||||
*/
|
||||
|
||||
class mail
|
||||
{
|
||||
var $to;
|
||||
var $CC_recievers;
|
||||
var $BCC_recievers;
|
||||
var $sender;
|
||||
var $replyTo;
|
||||
var $subject;
|
||||
var $textContent;
|
||||
var $htmlContent;
|
||||
var $attachments;
|
||||
var $errormsg;
|
||||
|
||||
// **********************************************************
|
||||
// * MAIL - Konstruktor
|
||||
// * $to Empfaenger
|
||||
// * $from Absender
|
||||
// * $subject Betreff
|
||||
// * $text Text des Mails
|
||||
// **********************************************************
|
||||
function mail($to, $from, $subject, $text)
|
||||
{
|
||||
$this->to = $to;
|
||||
$this->subject = $subject;
|
||||
$this->setTextContent($text, 'ISO-8859-1', '8bit');
|
||||
$this->sender = $from;
|
||||
$this->CC_revievers='';
|
||||
$this->BCC_recievers='';
|
||||
$attachments='';
|
||||
}
|
||||
|
||||
// ***********************************************************
|
||||
// * Mail zusammenbauen und senden
|
||||
// ***********************************************************
|
||||
function send()
|
||||
{
|
||||
//wenn MAIL_DEBUG gesetzt ist dann alles an diese Adresse schicken
|
||||
if(MAIL_DEBUG!='')
|
||||
{
|
||||
$this->to = MAIL_DEBUG;
|
||||
$this->CC_recievers = ($this->CC_recievers!=''?MAIL_DEBUG:'');
|
||||
$this->BCC_recievers = ($this->BCC_recievers!=''?MAIL_DEBUG:'');
|
||||
$this->replyTo = ($this->replyTo!=''?MAIL_DEBUG:'');
|
||||
}
|
||||
|
||||
$mime_boundary_alternative = 'ALT+'.md5(time());
|
||||
$mime_boundary_mixed = 'MIXD+'.md5(time());
|
||||
$eol="\n";
|
||||
|
||||
// Header
|
||||
$header = '';
|
||||
$header .= "From: {$this->sender}".$eol;
|
||||
|
||||
if (!empty($this->CC_recievers))
|
||||
$header .= "CC: {$this->CC_recievers}".$eol;
|
||||
if (!empty($this->BCC_recievers))
|
||||
$header .= "BCC: {$this->BCC_recievers}".$eol;
|
||||
if (!empty($this->replyTo))
|
||||
$header .= "Reply-To: {$this->replyTo}".$eol;
|
||||
if (!empty($this->replyTo))
|
||||
$header .= "Return-Path: {$this->replyTo}".$eol;
|
||||
|
||||
$header .= 'X-Mailer: FHComplete V1'.$eol;
|
||||
$header .= 'Mime-Version: 1.0'.$eol;
|
||||
$header .= "Content-Type: multipart/related; boundary=\"$mime_boundary_mixed\"".$eol;
|
||||
|
||||
// Body
|
||||
$mailbody = "";
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_mixed".$eol;
|
||||
$mailbody .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary_alternative\"".$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_alternative".$eol;
|
||||
$mailbody .= "Content-Type: text/plain; charset={$this->textContent[1]}".$eol;
|
||||
$mailbody .= "Content-Transfer-Encoding: {$this->textContent[2]}".$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $this->textContent[0];
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $eol;
|
||||
|
||||
if (!empty($this->htmlContent[0]))
|
||||
{
|
||||
$mailbody .= "--$mime_boundary_alternative".$eol;
|
||||
$mailbody .= "Content-Type: text/html; charset={$this->htmlContent[1]}".$eol;
|
||||
$mailbody .= "Content-Transfer-Encoding: {$this->htmlContent[2]}".$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $this->htmlContent[0];
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $eol;
|
||||
}
|
||||
$mailbody .= "--{$mime_boundary_alternative}--".$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_mixed";
|
||||
|
||||
// Attachments
|
||||
if (is_array($this->attachments) && (count($this->attachments) > 0))
|
||||
{
|
||||
foreach ($this->attachments as $attachment)
|
||||
{
|
||||
$dispo = empty($attachment[3]) ? 'attachment' : 'inline';
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "Content-Disposition: $dispo; filename={$attachment[2]}".$eol;
|
||||
$mailbody .= "Content-Type: {$attachment[1]}; name={$attachment[2]}".$eol;
|
||||
if (!empty($attachment[3]))
|
||||
{
|
||||
$mailbody .= "Content-ID: <{$attachment[3]}>".$eol;
|
||||
}
|
||||
$mailbody .= 'Content-Transfer-Encoding: base64'.$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $attachment[0];
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_mixed";
|
||||
}
|
||||
}
|
||||
$mailbody .= "--".$eol;
|
||||
|
||||
// Senden
|
||||
if(mail($this->to, $this->subject, $mailbody, $header))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
// **********************************************
|
||||
// * Setzt den Text fuer ein Mail
|
||||
// **********************************************
|
||||
function setTextContent($text, $charset = 'ISO-8859-1', $encoding = '8bit')
|
||||
{
|
||||
$this->textContent[0] = $text;
|
||||
$this->textContent[1] = $charset;
|
||||
$this->textContent[2] = $encoding;
|
||||
return true;
|
||||
}
|
||||
|
||||
// **********************************************
|
||||
// * Setzt den HTMLText fuer ein Mail
|
||||
// **********************************************
|
||||
function setHTMLContent($html, $charset = 'ISO-8859-1', $encoding = '8bit')
|
||||
{
|
||||
$this->htmlContent[0] = $html;
|
||||
$this->htmlContent[1] = $charset;
|
||||
$this->htmlContent[2] = $encoding;
|
||||
if (empty($this->textContent[0]))
|
||||
$this->setTextContent(strip_tags($html), $charset, $encoding);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ***********************************************
|
||||
// * Fuegt ein Attachment zum Mail hinzu
|
||||
// * $file Dateiname des hinzuzufuegenden Files
|
||||
// * $type MIME Type "application/xls"
|
||||
// * $name Anzeigename des Files
|
||||
// * $ContentID die ContentID der Datei falls sie als inline-image genutzt wird
|
||||
// ***********************************************
|
||||
function addAttachmentBinary($file, $type, $name, $ContentID = "")
|
||||
{
|
||||
if (!file_exists($file))
|
||||
{
|
||||
$this->errormsg = 'Attachment wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
|
||||
$handle = fopen($file,'rb');
|
||||
if (!$handle)
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Oeffnen der Datei';
|
||||
return false;
|
||||
}
|
||||
|
||||
$file_content = fread($handle,filesize($file));
|
||||
@fclose($handle);
|
||||
|
||||
$attachment_string = chunk_split(base64_encode($file_content));
|
||||
$this->attachments[] = Array($attachment_string, $type, $name, $ContentID);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ********************************************
|
||||
// * Setzt den ReplyTo
|
||||
// ********************************************
|
||||
function setReplyTo($repl)
|
||||
{
|
||||
$this->replyTo = $repl;
|
||||
return true;
|
||||
}
|
||||
|
||||
// ********************************************
|
||||
// * Setzt die CC Empfaenger
|
||||
// ********************************************
|
||||
function setCCRecievers($rcvs)
|
||||
{
|
||||
$this->CC_recievers = '';
|
||||
if (is_array($rcvs))
|
||||
{
|
||||
foreach ($rcvs as $rcv)
|
||||
$this->CC_recievers .= ",$rcv";
|
||||
$this->CC_recievers = substr($this->CC_recievers, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->CC_recievers = $rcvs;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// ********************************************
|
||||
// * Setzt die BCC Empfaenger
|
||||
// ********************************************
|
||||
function setBCCRecievers($rcvs)
|
||||
{
|
||||
$this->BCC_recievers = '';
|
||||
if (is_array($rcvs))
|
||||
{
|
||||
foreach ($rcvs as $rcv)
|
||||
$this->BCC_recievers .= ",$rcv";
|
||||
$this->BCC_recievers = substr($this->BCC_recievers, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->BCC_recievers = $rcvs;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/* Copyright (C) 2008 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Klasse Mail
|
||||
* @create 2008-11-20
|
||||
*
|
||||
* Versendet ein Mail als Text, Html, CC und BCC Empfaenger,
|
||||
* Replyto und Attachments
|
||||
*/
|
||||
|
||||
class mail
|
||||
{
|
||||
var $to;
|
||||
var $CC_recievers;
|
||||
var $BCC_recievers;
|
||||
var $sender;
|
||||
var $replyTo;
|
||||
var $subject;
|
||||
var $textContent;
|
||||
var $htmlContent;
|
||||
var $attachments;
|
||||
var $errormsg;
|
||||
|
||||
// **********************************************************
|
||||
// * MAIL - Konstruktor
|
||||
// * $to Empfaenger
|
||||
// * $from Absender
|
||||
// * $subject Betreff
|
||||
// * $text Text des Mails
|
||||
// **********************************************************
|
||||
function mail($to, $from, $subject, $text)
|
||||
{
|
||||
$this->to = $to;
|
||||
$this->subject = $subject;
|
||||
$this->setTextContent($text, 'UTF-8', '8bit');
|
||||
$this->sender = $from;
|
||||
$this->CC_revievers='';
|
||||
$this->BCC_recievers='';
|
||||
$attachments='';
|
||||
}
|
||||
|
||||
// ***********************************************************
|
||||
// * Mail zusammenbauen und senden
|
||||
// ***********************************************************
|
||||
function send()
|
||||
{
|
||||
//wenn MAIL_DEBUG gesetzt ist dann alles an diese Adresse schicken
|
||||
if(MAIL_DEBUG!='')
|
||||
{
|
||||
$this->to = MAIL_DEBUG;
|
||||
$this->CC_recievers = ($this->CC_recievers!=''?MAIL_DEBUG:'');
|
||||
$this->BCC_recievers = ($this->BCC_recievers!=''?MAIL_DEBUG:'');
|
||||
$this->replyTo = ($this->replyTo!=''?MAIL_DEBUG:'');
|
||||
}
|
||||
|
||||
$mime_boundary_alternative = 'ALT+'.md5(time());
|
||||
$mime_boundary_mixed = 'MIXD+'.md5(time());
|
||||
$eol="\n";
|
||||
|
||||
// Header
|
||||
$header = '';
|
||||
$header .= "From: {$this->sender}".$eol;
|
||||
|
||||
if (!empty($this->CC_recievers))
|
||||
$header .= "CC: {$this->CC_recievers}".$eol;
|
||||
if (!empty($this->BCC_recievers))
|
||||
$header .= "BCC: {$this->BCC_recievers}".$eol;
|
||||
if (!empty($this->replyTo))
|
||||
$header .= "Reply-To: {$this->replyTo}".$eol;
|
||||
if (!empty($this->replyTo))
|
||||
$header .= "Return-Path: {$this->replyTo}".$eol;
|
||||
|
||||
$header .= 'X-Mailer: FHComplete V1'.$eol;
|
||||
$header .= 'Mime-Version: 1.0'.$eol;
|
||||
$header .= "Content-Type: multipart/related; boundary=\"$mime_boundary_mixed\"".$eol;
|
||||
|
||||
// Body
|
||||
$mailbody = "";
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_mixed".$eol;
|
||||
$mailbody .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary_alternative\"".$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_alternative".$eol;
|
||||
$mailbody .= "Content-Type: text/plain; charset={$this->textContent[1]}".$eol;
|
||||
$mailbody .= "Content-Transfer-Encoding: {$this->textContent[2]}".$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $this->textContent[0];
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $eol;
|
||||
|
||||
if (!empty($this->htmlContent[0]))
|
||||
{
|
||||
$mailbody .= "--$mime_boundary_alternative".$eol;
|
||||
$mailbody .= "Content-Type: text/html; charset={$this->htmlContent[1]}".$eol;
|
||||
$mailbody .= "Content-Transfer-Encoding: {$this->htmlContent[2]}".$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $this->htmlContent[0];
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $eol;
|
||||
}
|
||||
$mailbody .= "--{$mime_boundary_alternative}--".$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_mixed";
|
||||
|
||||
// Attachments
|
||||
if (is_array($this->attachments) && (count($this->attachments) > 0))
|
||||
{
|
||||
foreach ($this->attachments as $attachment)
|
||||
{
|
||||
$dispo = empty($attachment[3]) ? 'attachment' : 'inline';
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "Content-Disposition: $dispo; filename={$attachment[2]}".$eol;
|
||||
$mailbody .= "Content-Type: {$attachment[1]}; name={$attachment[2]}".$eol;
|
||||
if (!empty($attachment[3]))
|
||||
{
|
||||
$mailbody .= "Content-ID: <{$attachment[3]}>".$eol;
|
||||
}
|
||||
$mailbody .= 'Content-Transfer-Encoding: base64'.$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $attachment[0];
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_mixed";
|
||||
}
|
||||
}
|
||||
$mailbody .= "--".$eol;
|
||||
|
||||
// Senden
|
||||
if(mail($this->to, $this->subject, $mailbody, $header))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
// **********************************************
|
||||
// * Setzt den Text fuer ein Mail
|
||||
// **********************************************
|
||||
function setTextContent($text, $charset = 'UTF-8', $encoding = '8bit')
|
||||
{
|
||||
$this->textContent[0] = $text;
|
||||
$this->textContent[1] = $charset;
|
||||
$this->textContent[2] = $encoding;
|
||||
return true;
|
||||
}
|
||||
|
||||
// **********************************************
|
||||
// * Setzt den HTMLText fuer ein Mail
|
||||
// **********************************************
|
||||
function setHTMLContent($html, $charset = 'UTF-8', $encoding = '8bit')
|
||||
{
|
||||
$this->htmlContent[0] = $html;
|
||||
$this->htmlContent[1] = $charset;
|
||||
$this->htmlContent[2] = $encoding;
|
||||
if (empty($this->textContent[0]))
|
||||
$this->setTextContent(strip_tags($html), $charset, $encoding);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ***********************************************
|
||||
// * Fuegt ein Attachment zum Mail hinzu
|
||||
// * $file Dateiname des hinzuzufuegenden Files
|
||||
// * $type MIME Type "application/xls"
|
||||
// * $name Anzeigename des Files
|
||||
// * $ContentID die ContentID der Datei falls sie als inline-image genutzt wird
|
||||
// ***********************************************
|
||||
function addAttachmentBinary($file, $type, $name, $ContentID = "")
|
||||
{
|
||||
if (!file_exists($file))
|
||||
{
|
||||
$this->errormsg = 'Attachment wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
|
||||
$handle = fopen($file,'rb');
|
||||
if (!$handle)
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Oeffnen der Datei';
|
||||
return false;
|
||||
}
|
||||
|
||||
$file_content = fread($handle,filesize($file));
|
||||
@fclose($handle);
|
||||
|
||||
$attachment_string = chunk_split(base64_encode($file_content));
|
||||
$this->attachments[] = Array($attachment_string, $type, $name, $ContentID);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ********************************************
|
||||
// * Setzt den ReplyTo
|
||||
// ********************************************
|
||||
function setReplyTo($repl)
|
||||
{
|
||||
$this->replyTo = $repl;
|
||||
return true;
|
||||
}
|
||||
|
||||
// ********************************************
|
||||
// * Setzt die CC Empfaenger
|
||||
// ********************************************
|
||||
function setCCRecievers($rcvs)
|
||||
{
|
||||
$this->CC_recievers = '';
|
||||
if (is_array($rcvs))
|
||||
{
|
||||
foreach ($rcvs as $rcv)
|
||||
$this->CC_recievers .= ",$rcv";
|
||||
$this->CC_recievers = substr($this->CC_recievers, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->CC_recievers = $rcvs;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// ********************************************
|
||||
// * Setzt die BCC Empfaenger
|
||||
// ********************************************
|
||||
function setBCCRecievers($rcvs)
|
||||
{
|
||||
$this->BCC_recievers = '';
|
||||
if (is_array($rcvs))
|
||||
{
|
||||
foreach ($rcvs as $rcv)
|
||||
$this->BCC_recievers .= ",$rcv";
|
||||
$this->BCC_recievers = substr($this->BCC_recievers, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->BCC_recievers = $rcvs;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -194,8 +194,8 @@ class moodle_user
|
||||
|
||||
if($this->createZuteilung($this->mdl_user_id, $mdlcourse->mdl_context_id, 3))
|
||||
{
|
||||
$this->log.="\nder Lektor $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nder Lektor $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log.="\nder Lektor $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nder Lektor $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
else
|
||||
@@ -350,8 +350,8 @@ class moodle_user
|
||||
|
||||
if($this->createZuteilung($this->mdl_user_id, $mdlcourse->mdl_context_id, 5))
|
||||
{
|
||||
$this->log.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
else
|
||||
@@ -761,8 +761,8 @@ class moodle_user
|
||||
//Student ist noch nicht zugeteilt.
|
||||
if($this->createZuteilung($this->mdl_user_id, $mdlcourse->mdl_context_id, 5))
|
||||
{
|
||||
$this->log.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -51,7 +51,7 @@ class nation
|
||||
function nation($conn, $code=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -62,7 +62,7 @@ class nation
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if($code != null)
|
||||
$this->load($code);
|
||||
}
|
||||
|
||||
+396
-396
@@ -1,397 +1,397 @@
|
||||
<?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 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 $fachbereich_kurzbz;// @var varchar(16)
|
||||
var $uid; // @var varchar(16)
|
||||
var $studiengang_kz; // @var integer
|
||||
var $verfasser; // @var varchar(64)
|
||||
var $datum; // @date
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
var $insertamum; // @var timestamp
|
||||
var $insertvon=0; // @var string
|
||||
var $datum_bis; // @date
|
||||
|
||||
|
||||
/**
|
||||
* 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->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$news_obj->uid = $row->uid;
|
||||
$news_obj->studiengang_kz=$row->studiengang_kz;
|
||||
$news_obj->verfasser = $row->verfasser;
|
||||
$news_obj->datum = $row->datum;
|
||||
$news_obj->datum_bis = $row->datum_bis;
|
||||
$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 alle News die nicht aelter
|
||||
// * als $maxalter Tage sind
|
||||
// * @param $maxalter
|
||||
// **********************************
|
||||
function getnews($maxalter, $studiengang_kz, $semester, $all=false, $fachbereich_kurzbz=null, $maxnews)
|
||||
{
|
||||
//if(!is_numeric($maxalter) || !is_numeric($studiengang_kz) || ($semester!='' && !is_numeric($semester)))
|
||||
//{
|
||||
// $this->errormsg = 'Maxalter, Studiengang und Semester muessen gueltige Zahlen sein';
|
||||
// return false;
|
||||
//}
|
||||
$qry = "SELECT * FROM campus.tbl_news WHERE true";
|
||||
|
||||
if($maxalter!=0)
|
||||
{
|
||||
$qry.= " AND (now()-datum)<interval '$maxalter days'";
|
||||
}
|
||||
|
||||
if(!$all)
|
||||
$qry.=' AND datum<=now() AND (datum_bis>= now()::date OR datum_bis is null)';
|
||||
|
||||
if($fachbereich_kurzbz!='*')
|
||||
{
|
||||
if(is_null($fachbereich_kurzbz) OR $fachbereich_kurzbz=='')
|
||||
$qry.=' AND fachbereich_kurzbz is null';
|
||||
else
|
||||
$qry.=" AND fachbereich_kurzbz='".addslashes($fachbereich_kurzbz)."'";
|
||||
}
|
||||
|
||||
if($studiengang_kz=='0')
|
||||
$qry.=" AND studiengang_kz='".$studiengang_kz."' ".($semester!=''?($semester=='0'?' AND semester=0':''):'AND semester is null');
|
||||
else if($studiengang_kz=='')
|
||||
$qry.='';
|
||||
else
|
||||
$qry.=" AND ((studiengang_kz='$studiengang_kz' AND semester='$semester') OR (studiengang_kz='$studiengang_kz' AND semester=0) OR (studiengang_kz=0 AND semester='$semester') OR (studiengang_kz=0 and semester is null))";
|
||||
|
||||
$qry.=' ORDER BY datum DESC, updateamum DESC';
|
||||
if($maxnews!=0)
|
||||
$qry.= " LIMIT $maxnews";
|
||||
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$newsobj = new news($this->conn);
|
||||
$newsobj->news_id = $row->news_id;
|
||||
$newsobj->uid = $row->uid;
|
||||
$newsobj->studiengang_kz = $row->studiengang_kz;
|
||||
$newsobj->semester = $row->semester;
|
||||
$newsobj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$newsobj->betreff = $row->betreff;
|
||||
$newsobj->text = $row->text;
|
||||
$newsobj->verfasser = $row->verfasser;
|
||||
$newsobj->datum = $row->datum;
|
||||
$newsobj->datum_bis = $row->datum_bis;
|
||||
$newsobj->updateamum = $row->updateamum;
|
||||
$newsobj->updatevon = $row->updateamum;
|
||||
$newsobj->insertamum = $row->insertamum;
|
||||
$newsobj->insertvon = $row->insertvon;
|
||||
|
||||
$this->result[] = $newsobj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der News';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getFBNews($fachbereich_kurzbz, $datum)
|
||||
{
|
||||
$qry = "SELECT * FROM campus.tbl_news WHERE fachbereich_kurzbz='$fachbereich_kurzbz'";
|
||||
if($datum!='')
|
||||
$qry.=" AND datum='$datum'";
|
||||
$qry.=" ORDER BY datum";
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$newsobj = new news($this->conn);
|
||||
$newsobj->news_id = $row->news_id;
|
||||
$newsobj->uid = $row->uid;
|
||||
$newsobj->studiengang_kz = $row->studiengang_kz;
|
||||
$newsobj->semester = $row->semester;
|
||||
$newsobj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$newsobj->betreff = $row->betreff;
|
||||
$newsobj->text = $row->text;
|
||||
$newsobj->verfasser = $row->verfasser;
|
||||
$newsobj->datum = $row->datum;
|
||||
$newsobj->datum_bis = $row->datum_bis;
|
||||
$newsobj->updateamum = $row->updateamum;
|
||||
$newsobj->updatevon = $row->updateamum;
|
||||
$newsobj->insertamum = $row->insertamum;
|
||||
$newsobj->insertvon = $row->insertvon;
|
||||
|
||||
$this->result[] = $newsobj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der News';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine News
|
||||
* @param $news_id ID der zu ladenden Funktion
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($news_id)
|
||||
{
|
||||
|
||||
if(!is_numeric($news_id))
|
||||
{
|
||||
$this->errormsg = 'news_id muß eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_news WHERE news_id = '$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->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$this->uid = $row->uid;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->verfasser = $row->verfasser;
|
||||
$this->datum = $row->datum;
|
||||
$this->datum_bis = $row->datum_bis;
|
||||
$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)
|
||||
{
|
||||
if(!is_numeric($news_id))
|
||||
{
|
||||
$this->errormsg = 'News_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM campus.tbl_news WHERE news_id='$news_id'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
$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
|
||||
|
||||
$qry = 'INSERT INTO campus.tbl_news (betreff, text, semester, fachbereich_kurzbz, uid, studiengang_kz, verfasser, datum, datum_bis, insertamum, insertvon,
|
||||
updateamum, updatevon) VALUES ('.
|
||||
$this->addslashes($this->betreff).', '.
|
||||
$this->addslashes($this->text).', '.
|
||||
$this->addslashes($this->semester).', '.
|
||||
$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
$this->addslashes($this->uid).', '.
|
||||
$this->addslashes($this->studiengang_kz).', '.
|
||||
$this->addslashes($this->verfasser).', '.
|
||||
$this->addslashes($this->datum).', '.
|
||||
$this->addslashes($this->datum_bis).', '.
|
||||
$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 '.
|
||||
'betreff='.$this->addslashes($this->betreff).', '.
|
||||
'text='.$this->addslashes($this->text).', '.
|
||||
'semester='.$this->addslashes($this->semester).', '.
|
||||
'fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
'uid='.$this->addslashes($this->uid).', '.
|
||||
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
|
||||
'verfasser='.$this->addslashes($this->verfasser).', '.
|
||||
'datum='.$this->addslashes($this->datum).', '.
|
||||
'datum_bis='.$this->addslashes($this->datum_bis).', '.
|
||||
'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;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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 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 $fachbereich_kurzbz;// @var varchar(16)
|
||||
var $uid; // @var varchar(16)
|
||||
var $studiengang_kz; // @var integer
|
||||
var $verfasser; // @var varchar(64)
|
||||
var $datum; // @date
|
||||
var $updateamum; // @var timestamp
|
||||
var $updatevon=0; // @var string
|
||||
var $insertamum; // @var timestamp
|
||||
var $insertvon=0; // @var string
|
||||
var $datum_bis; // @date
|
||||
|
||||
|
||||
/**
|
||||
* 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->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$news_obj->uid = $row->uid;
|
||||
$news_obj->studiengang_kz=$row->studiengang_kz;
|
||||
$news_obj->verfasser = $row->verfasser;
|
||||
$news_obj->datum = $row->datum;
|
||||
$news_obj->datum_bis = $row->datum_bis;
|
||||
$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 alle News die nicht aelter
|
||||
// * als $maxalter Tage sind
|
||||
// * @param $maxalter
|
||||
// **********************************
|
||||
function getnews($maxalter, $studiengang_kz, $semester, $all=false, $fachbereich_kurzbz=null, $maxnews)
|
||||
{
|
||||
//if(!is_numeric($maxalter) || !is_numeric($studiengang_kz) || ($semester!='' && !is_numeric($semester)))
|
||||
//{
|
||||
// $this->errormsg = 'Maxalter, Studiengang und Semester muessen gueltige Zahlen sein';
|
||||
// return false;
|
||||
//}
|
||||
$qry = "SELECT * FROM campus.tbl_news WHERE true";
|
||||
|
||||
if($maxalter!=0)
|
||||
{
|
||||
$qry.= " AND (now()-datum)<interval '$maxalter days'";
|
||||
}
|
||||
|
||||
if(!$all)
|
||||
$qry.=' AND datum<=now() AND (datum_bis>= now()::date OR datum_bis is null)';
|
||||
|
||||
if($fachbereich_kurzbz!='*')
|
||||
{
|
||||
if(is_null($fachbereich_kurzbz) OR $fachbereich_kurzbz=='')
|
||||
$qry.=' AND fachbereich_kurzbz is null';
|
||||
else
|
||||
$qry.=" AND fachbereich_kurzbz='".addslashes($fachbereich_kurzbz)."'";
|
||||
}
|
||||
|
||||
if($studiengang_kz=='0')
|
||||
$qry.=" AND studiengang_kz='".$studiengang_kz."' ".($semester!=''?($semester=='0'?' AND semester=0':''):'AND semester is null');
|
||||
else if($studiengang_kz=='')
|
||||
$qry.='';
|
||||
else
|
||||
$qry.=" AND ((studiengang_kz='$studiengang_kz' AND semester='$semester') OR (studiengang_kz='$studiengang_kz' AND semester=0) OR (studiengang_kz=0 AND semester='$semester') OR (studiengang_kz=0 and semester is null))";
|
||||
|
||||
$qry.=' ORDER BY datum DESC, updateamum DESC';
|
||||
if($maxnews!=0)
|
||||
$qry.= " LIMIT $maxnews";
|
||||
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$newsobj = new news($this->conn);
|
||||
$newsobj->news_id = $row->news_id;
|
||||
$newsobj->uid = $row->uid;
|
||||
$newsobj->studiengang_kz = $row->studiengang_kz;
|
||||
$newsobj->semester = $row->semester;
|
||||
$newsobj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$newsobj->betreff = $row->betreff;
|
||||
$newsobj->text = $row->text;
|
||||
$newsobj->verfasser = $row->verfasser;
|
||||
$newsobj->datum = $row->datum;
|
||||
$newsobj->datum_bis = $row->datum_bis;
|
||||
$newsobj->updateamum = $row->updateamum;
|
||||
$newsobj->updatevon = $row->updateamum;
|
||||
$newsobj->insertamum = $row->insertamum;
|
||||
$newsobj->insertvon = $row->insertvon;
|
||||
|
||||
$this->result[] = $newsobj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der News';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getFBNews($fachbereich_kurzbz, $datum)
|
||||
{
|
||||
$qry = "SELECT * FROM campus.tbl_news WHERE fachbereich_kurzbz='$fachbereich_kurzbz'";
|
||||
if($datum!='')
|
||||
$qry.=" AND datum='$datum'";
|
||||
$qry.=" ORDER BY datum";
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$newsobj = new news($this->conn);
|
||||
$newsobj->news_id = $row->news_id;
|
||||
$newsobj->uid = $row->uid;
|
||||
$newsobj->studiengang_kz = $row->studiengang_kz;
|
||||
$newsobj->semester = $row->semester;
|
||||
$newsobj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$newsobj->betreff = $row->betreff;
|
||||
$newsobj->text = $row->text;
|
||||
$newsobj->verfasser = $row->verfasser;
|
||||
$newsobj->datum = $row->datum;
|
||||
$newsobj->datum_bis = $row->datum_bis;
|
||||
$newsobj->updateamum = $row->updateamum;
|
||||
$newsobj->updatevon = $row->updateamum;
|
||||
$newsobj->insertamum = $row->insertamum;
|
||||
$newsobj->insertvon = $row->insertvon;
|
||||
|
||||
$this->result[] = $newsobj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der News';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine News
|
||||
* @param $news_id ID der zu ladenden Funktion
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($news_id)
|
||||
{
|
||||
|
||||
if(!is_numeric($news_id))
|
||||
{
|
||||
$this->errormsg = 'news_id muß eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_news WHERE news_id = '$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->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$this->uid = $row->uid;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->verfasser = $row->verfasser;
|
||||
$this->datum = $row->datum;
|
||||
$this->datum_bis = $row->datum_bis;
|
||||
$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)
|
||||
{
|
||||
if(!is_numeric($news_id))
|
||||
{
|
||||
$this->errormsg = 'News_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM campus.tbl_news WHERE news_id='$news_id'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
$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
|
||||
|
||||
$qry = 'INSERT INTO campus.tbl_news (betreff, text, semester, fachbereich_kurzbz, uid, studiengang_kz, verfasser, datum, datum_bis, insertamum, insertvon,
|
||||
updateamum, updatevon) VALUES ('.
|
||||
$this->addslashes($this->betreff).', '.
|
||||
$this->addslashes($this->text).', '.
|
||||
$this->addslashes($this->semester).', '.
|
||||
$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
$this->addslashes($this->uid).', '.
|
||||
$this->addslashes($this->studiengang_kz).', '.
|
||||
$this->addslashes($this->verfasser).', '.
|
||||
$this->addslashes($this->datum).', '.
|
||||
$this->addslashes($this->datum_bis).', '.
|
||||
$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 '.
|
||||
'betreff='.$this->addslashes($this->betreff).', '.
|
||||
'text='.$this->addslashes($this->text).', '.
|
||||
'semester='.$this->addslashes($this->semester).', '.
|
||||
'fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).', '.
|
||||
'uid='.$this->addslashes($this->uid).', '.
|
||||
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
|
||||
'verfasser='.$this->addslashes($this->verfasser).', '.
|
||||
'datum='.$this->addslashes($this->datum).', '.
|
||||
'datum_bis='.$this->addslashes($this->datum_bis).', '.
|
||||
'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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -50,7 +50,7 @@ class note
|
||||
function note($conn, $note = null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -64,7 +64,7 @@ class note
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($note != null)
|
||||
$this->load($note);
|
||||
}
|
||||
|
||||
+388
-388
@@ -1,389 +1,389 @@
|
||||
<?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 ort Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $ort_kurzbz; // @var string
|
||||
var $bezeichnung; // @var string
|
||||
var $planbezeichnung; // @var string
|
||||
var $max_person; // @var integer
|
||||
var $lehre; // @var boolean
|
||||
var $reservieren; // @var boolean
|
||||
var $aktiv; // @var boolean
|
||||
var $lageplan; // @var oid
|
||||
var $dislozierung; // @var smallint
|
||||
var $kosten; // @var numeric(8,2)
|
||||
var $ausstattung;
|
||||
var $stockwerk; // @var integer
|
||||
var $standort_kurzbz; // @var varchar(16)
|
||||
var $telefonklappe; // @var varchar(8)
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $ort_kurzbz Kurzbz des zu ladenden Ortes
|
||||
*/
|
||||
function ort($conn, $ort_kurzbz=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE'";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9'";
|
||||
|
||||
if(!pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg ='Fehler beim Setzen des Encodings';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if($ort_kurzbz != null)
|
||||
$this->load($ort_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Orte
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM public.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=='t'?true:false);
|
||||
$ort_obj->lehre = ($row->lehre=='t'?true:false);
|
||||
$ort_obj->lageplan = $row->lageplan;
|
||||
$ort_obj->dislozierung = $row->dislozierung;
|
||||
$ort_obj->kosten = $row->kosten;
|
||||
$ort_obj->reservieren = ($row->reservieren=='t'?true:false);
|
||||
$ort_obj->ausstattung = $row->ausstattung;
|
||||
$ort_obj->stockwerk = $row->stockwerk;
|
||||
$ort_obj->standort_kurzbz = $row->standort_kurzbz;
|
||||
$ort_obj->telefonklappe = $row->telefonklappe;
|
||||
|
||||
$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 public.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=='t'?true:false);
|
||||
$this->lehre = ($row->lehre=='t'?true:false);
|
||||
$this->lageplan = $row->lageplan;
|
||||
$this->dislozierung = $row->dislozierung;
|
||||
$this->kosten = $row->kosten;
|
||||
$this->reservieren = ($row->reservieren=='t'?true:false);
|
||||
$this->ausstattung = $row->ausstattung;
|
||||
$this->stockwerk = $row->stockwerk;
|
||||
$this->standort_kurzbz = $row->standort_kurzbz;
|
||||
$this->telefonklappe = $row->telefonklappe;
|
||||
}
|
||||
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 public.tbl_ort (ort_kurzbz, bezeichnung, planbezeichnung, max_person, aktiv, lehre, reservieren, lageplan,
|
||||
dislozierung, kosten, stockwerk, standort_kurzbz, telefonklappe) VALUES ('.
|
||||
$this->addslashes($this->ort_kurzbz).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->planbezeichnung).', '.
|
||||
$this->addslashes($this->max_person).', '.
|
||||
($this->aktiv?'true':'false').', '.
|
||||
($this->lehre?'true':'false').', '.
|
||||
($this->reservieren?'true':'false').', '.
|
||||
$this->addslashes($this->lageplan).', '.
|
||||
$this->addslashes($this->dislozierung).', '.
|
||||
$this->addslashes(str_replace(",",".",$this->kosten)).', '.
|
||||
$this->addslashes($this->stockwerk).','.
|
||||
$this->addslashes($this->standort_kurzbz).','.
|
||||
$this->addslashes($this->telefonklappe).');';
|
||||
}
|
||||
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 public.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') .', '.
|
||||
'lehre='.($this->lehre?'true':'false') .', '.
|
||||
'reservieren='.($this->reservieren?'true':'false') .', '.
|
||||
'lageplan='.$this->addslashes($this->lageplan).', '.
|
||||
'dislozierung='.$this->addslashes($this->dislozierung).', '.
|
||||
'kosten='.$this->addslashes(str_replace(",",".",$this->kosten)).', '.
|
||||
'standort_kurzbz='.$this->addslashes($this->standort_kurzbz).', '.
|
||||
'telefonklappe='.$this->addslashes($this->telefonklappe).', '.
|
||||
'stockwerk='.$this->addslashes($this->stockwerk).' '.
|
||||
'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;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Sucht nach freien Raeumen
|
||||
// * @param datum ... Datum fuer das der Raum gesucht wird
|
||||
// * zeit_von ... Zeit ab wann soll der Raum frei sein
|
||||
// * zeit_bis ... Zeit bis wann soll der Raum frei sein
|
||||
// * raumtyp ... Art des Raumes (optional)
|
||||
// * anzpersonen ... Anzahl der Personen die mindestens Platz haben sollen (optional)
|
||||
// * reservierung ... true wenn nur Raeume aufscheinen sollen die auch Reservierbar sind
|
||||
// * db_table ... Stundenplantabelle die geprueft werden soll
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// ****
|
||||
function search($datum, $zeit_von, $zeit_bis, $raumtyp=null, $anzpersonen=null, $reservierung=true, $db_table='stundenplandev')
|
||||
{
|
||||
$stundevon = 1;
|
||||
$stundebis = 1;
|
||||
|
||||
//stundevon ermitteln
|
||||
$qry = "SELECT stunde FROM (
|
||||
SELECT stunde, extract(epoch from (beginn-('".addslashes($zeit_von)."'::time))) AS delta FROM lehre.tbl_stunde
|
||||
UNION
|
||||
SELECT stunde, extract(epoch from (ende-('".addslashes($zeit_von)."'::time))) AS delta FROM lehre.tbl_stunde
|
||||
) foo WHERE delta>=0 ORDER BY delta LIMIT 1;";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
if($row = pg_fetch_object($result))
|
||||
$stundevon = $row->stunde;
|
||||
|
||||
//stundebis ermitteln
|
||||
$qry = "SELECT stunde FROM (
|
||||
SELECT stunde, extract(epoch from (beginn-('".addslashes($zeit_bis)."'::time))) AS delta FROM lehre.tbl_stunde
|
||||
UNION
|
||||
SELECT stunde, extract(epoch from (ende-('".addslashes($zeit_bis)."'::time))) AS delta FROM lehre.tbl_stunde
|
||||
) foo WHERE delta>=0 ORDER BY delta LIMIT 1;";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
if($row = pg_fetch_object($result))
|
||||
$stundebis = $row->stunde;
|
||||
|
||||
//Freie Raeume suchen
|
||||
$qry = "SELECT
|
||||
DISTINCT tbl_ort.*
|
||||
FROM
|
||||
public.tbl_ort JOIN public.tbl_ortraumtyp USING(ort_kurzbz)
|
||||
WHERE
|
||||
aktiv AND lehre AND ort_kurzbz NOT LIKE '\\\\_%'";
|
||||
//derzeit noch nicht in verwendung
|
||||
//if($reservierung)
|
||||
// $qry.=" AND reservieren";
|
||||
if($raumtyp!=null)
|
||||
$qry.=" AND raumtyp_kurzbz='".addslashes($raumtyp)."'";
|
||||
if($anzpersonen!=null)
|
||||
$qry.=" AND (max_person>='".addslashes($anzpersonen)."' OR max_person is null)";
|
||||
|
||||
$qry.=" AND ort_kurzbz NOT IN
|
||||
(
|
||||
SELECT ort_kurzbz FROM lehre.tbl_$db_table WHERE datum='".addslashes($datum)."' AND stunde>='".addslashes($stundevon)."' AND stunde<='".addslashes($stundebis)."'
|
||||
UNION
|
||||
SELECT ort_kurzbz FROM campus.tbl_reservierung WHERE datum='".addslashes($datum)."' AND stunde>='".addslashes($stundevon)."' AND stunde<='".addslashes($stundebis)."'
|
||||
)
|
||||
";
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$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=='t'?true:false);
|
||||
$ort_obj->lehre = ($row->lehre=='t'?true:false);
|
||||
$ort_obj->lageplan = $row->lageplan;
|
||||
$ort_obj->dislozierung = $row->dislozierung;
|
||||
$ort_obj->kosten = $row->kosten;
|
||||
$ort_obj->reservieren = ($row->reservieren=='t'?true:false);
|
||||
$ort_obj->ausstattung = $row->ausstattung;
|
||||
$ort_obj->stockwerk = $row->stockwerk;
|
||||
$ort_obj->standort_kurzbz = $row->standort_kurzbz;
|
||||
$ort_obj->telefonklappe = $row->telefonklappe;
|
||||
|
||||
$this->result[] = $ort_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln eines Raumes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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 ort Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $ort_kurzbz; // @var string
|
||||
var $bezeichnung; // @var string
|
||||
var $planbezeichnung; // @var string
|
||||
var $max_person; // @var integer
|
||||
var $lehre; // @var boolean
|
||||
var $reservieren; // @var boolean
|
||||
var $aktiv; // @var boolean
|
||||
var $lageplan; // @var oid
|
||||
var $dislozierung; // @var smallint
|
||||
var $kosten; // @var numeric(8,2)
|
||||
var $ausstattung;
|
||||
var $stockwerk; // @var integer
|
||||
var $standort_kurzbz; // @var varchar(16)
|
||||
var $telefonklappe; // @var varchar(8)
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $ort_kurzbz Kurzbz des zu ladenden Ortes
|
||||
*/
|
||||
function ort($conn, $ort_kurzbz=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE'";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9'";
|
||||
|
||||
if(!pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg ='Fehler beim Setzen des Encodings';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if($ort_kurzbz != null)
|
||||
$this->load($ort_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren Orte
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM public.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=='t'?true:false);
|
||||
$ort_obj->lehre = ($row->lehre=='t'?true:false);
|
||||
$ort_obj->lageplan = $row->lageplan;
|
||||
$ort_obj->dislozierung = $row->dislozierung;
|
||||
$ort_obj->kosten = $row->kosten;
|
||||
$ort_obj->reservieren = ($row->reservieren=='t'?true:false);
|
||||
$ort_obj->ausstattung = $row->ausstattung;
|
||||
$ort_obj->stockwerk = $row->stockwerk;
|
||||
$ort_obj->standort_kurzbz = $row->standort_kurzbz;
|
||||
$ort_obj->telefonklappe = $row->telefonklappe;
|
||||
|
||||
$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 public.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=='t'?true:false);
|
||||
$this->lehre = ($row->lehre=='t'?true:false);
|
||||
$this->lageplan = $row->lageplan;
|
||||
$this->dislozierung = $row->dislozierung;
|
||||
$this->kosten = $row->kosten;
|
||||
$this->reservieren = ($row->reservieren=='t'?true:false);
|
||||
$this->ausstattung = $row->ausstattung;
|
||||
$this->stockwerk = $row->stockwerk;
|
||||
$this->standort_kurzbz = $row->standort_kurzbz;
|
||||
$this->telefonklappe = $row->telefonklappe;
|
||||
}
|
||||
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 public.tbl_ort (ort_kurzbz, bezeichnung, planbezeichnung, max_person, aktiv, lehre, reservieren, lageplan,
|
||||
dislozierung, kosten, stockwerk, standort_kurzbz, telefonklappe) VALUES ('.
|
||||
$this->addslashes($this->ort_kurzbz).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->planbezeichnung).', '.
|
||||
$this->addslashes($this->max_person).', '.
|
||||
($this->aktiv?'true':'false').', '.
|
||||
($this->lehre?'true':'false').', '.
|
||||
($this->reservieren?'true':'false').', '.
|
||||
$this->addslashes($this->lageplan).', '.
|
||||
$this->addslashes($this->dislozierung).', '.
|
||||
$this->addslashes(str_replace(",",".",$this->kosten)).', '.
|
||||
$this->addslashes($this->stockwerk).','.
|
||||
$this->addslashes($this->standort_kurzbz).','.
|
||||
$this->addslashes($this->telefonklappe).');';
|
||||
}
|
||||
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 public.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') .', '.
|
||||
'lehre='.($this->lehre?'true':'false') .', '.
|
||||
'reservieren='.($this->reservieren?'true':'false') .', '.
|
||||
'lageplan='.$this->addslashes($this->lageplan).', '.
|
||||
'dislozierung='.$this->addslashes($this->dislozierung).', '.
|
||||
'kosten='.$this->addslashes(str_replace(",",".",$this->kosten)).', '.
|
||||
'standort_kurzbz='.$this->addslashes($this->standort_kurzbz).', '.
|
||||
'telefonklappe='.$this->addslashes($this->telefonklappe).', '.
|
||||
'stockwerk='.$this->addslashes($this->stockwerk).' '.
|
||||
'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;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Sucht nach freien Raeumen
|
||||
// * @param datum ... Datum fuer das der Raum gesucht wird
|
||||
// * zeit_von ... Zeit ab wann soll der Raum frei sein
|
||||
// * zeit_bis ... Zeit bis wann soll der Raum frei sein
|
||||
// * raumtyp ... Art des Raumes (optional)
|
||||
// * anzpersonen ... Anzahl der Personen die mindestens Platz haben sollen (optional)
|
||||
// * reservierung ... true wenn nur Raeume aufscheinen sollen die auch Reservierbar sind
|
||||
// * db_table ... Stundenplantabelle die geprueft werden soll
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// ****
|
||||
function search($datum, $zeit_von, $zeit_bis, $raumtyp=null, $anzpersonen=null, $reservierung=true, $db_table='stundenplandev')
|
||||
{
|
||||
$stundevon = 1;
|
||||
$stundebis = 1;
|
||||
|
||||
//stundevon ermitteln
|
||||
$qry = "SELECT stunde FROM (
|
||||
SELECT stunde, extract(epoch from (beginn-('".addslashes($zeit_von)."'::time))) AS delta FROM lehre.tbl_stunde
|
||||
UNION
|
||||
SELECT stunde, extract(epoch from (ende-('".addslashes($zeit_von)."'::time))) AS delta FROM lehre.tbl_stunde
|
||||
) foo WHERE delta>=0 ORDER BY delta LIMIT 1;";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
if($row = pg_fetch_object($result))
|
||||
$stundevon = $row->stunde;
|
||||
|
||||
//stundebis ermitteln
|
||||
$qry = "SELECT stunde FROM (
|
||||
SELECT stunde, extract(epoch from (beginn-('".addslashes($zeit_bis)."'::time))) AS delta FROM lehre.tbl_stunde
|
||||
UNION
|
||||
SELECT stunde, extract(epoch from (ende-('".addslashes($zeit_bis)."'::time))) AS delta FROM lehre.tbl_stunde
|
||||
) foo WHERE delta>=0 ORDER BY delta LIMIT 1;";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
if($row = pg_fetch_object($result))
|
||||
$stundebis = $row->stunde;
|
||||
|
||||
//Freie Raeume suchen
|
||||
$qry = "SELECT
|
||||
DISTINCT tbl_ort.*
|
||||
FROM
|
||||
public.tbl_ort JOIN public.tbl_ortraumtyp USING(ort_kurzbz)
|
||||
WHERE
|
||||
aktiv AND lehre AND ort_kurzbz NOT LIKE '\\\\_%'";
|
||||
//derzeit noch nicht in verwendung
|
||||
//if($reservierung)
|
||||
// $qry.=" AND reservieren";
|
||||
if($raumtyp!=null)
|
||||
$qry.=" AND raumtyp_kurzbz='".addslashes($raumtyp)."'";
|
||||
if($anzpersonen!=null)
|
||||
$qry.=" AND (max_person>='".addslashes($anzpersonen)."' OR max_person is null)";
|
||||
|
||||
$qry.=" AND ort_kurzbz NOT IN
|
||||
(
|
||||
SELECT ort_kurzbz FROM lehre.tbl_$db_table WHERE datum='".addslashes($datum)."' AND stunde>='".addslashes($stundevon)."' AND stunde<='".addslashes($stundebis)."'
|
||||
UNION
|
||||
SELECT ort_kurzbz FROM campus.tbl_reservierung WHERE datum='".addslashes($datum)."' AND stunde>='".addslashes($stundevon)."' AND stunde<='".addslashes($stundebis)."'
|
||||
)
|
||||
";
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$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=='t'?true:false);
|
||||
$ort_obj->lehre = ($row->lehre=='t'?true:false);
|
||||
$ort_obj->lageplan = $row->lageplan;
|
||||
$ort_obj->dislozierung = $row->dislozierung;
|
||||
$ort_obj->kosten = $row->kosten;
|
||||
$ort_obj->reservieren = ($row->reservieren=='t'?true:false);
|
||||
$ort_obj->ausstattung = $row->ausstattung;
|
||||
$ort_obj->stockwerk = $row->stockwerk;
|
||||
$ort_obj->standort_kurzbz = $row->standort_kurzbz;
|
||||
$ort_obj->telefonklappe = $row->telefonklappe;
|
||||
|
||||
$this->result[] = $ort_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln eines Raumes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+220
-220
@@ -1,221 +1,221 @@
|
||||
<?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 public.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($hierarchie) || $hierarchie=='')
|
||||
{
|
||||
$this->errormsg = 'Kein gültiger Schlüssel vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.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 public.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 public.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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 public.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($hierarchie) || $hierarchie=='')
|
||||
{
|
||||
$this->errormsg = 'Kein gültiger Schlüssel vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.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 public.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 public.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -21,7 +21,7 @@ class basis_db extends db
|
||||
function db_query($sql)
|
||||
{
|
||||
//echo $sql.'<BR/>';
|
||||
if ($this->db_result=pg_query(basis_db::$db_conn,$sql))
|
||||
if ($this->db_result=@pg_query(basis_db::$db_conn,$sql))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
|
||||
@@ -59,6 +59,7 @@ class preinteressent
|
||||
function preinteressent($conn, $preinteressent_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -72,7 +73,7 @@ class preinteressent
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($preinteressent_id != null)
|
||||
$this->load($preinteressent_id);
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ class prestudent extends person
|
||||
var $ext_id_prestudent;
|
||||
var $dual;
|
||||
|
||||
var $rolle_kurzbz;
|
||||
var $status_kurzbz;
|
||||
var $studiensemester_kurzbz;
|
||||
var $ausbildungssemester;
|
||||
var $datum;
|
||||
@@ -74,7 +74,7 @@ class prestudent extends person
|
||||
function prestudent($conn, $prestudent_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -88,7 +88,7 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($prestudent_id != null)
|
||||
$this->load($prestudent_id);
|
||||
}
|
||||
@@ -373,7 +373,7 @@ class prestudent extends person
|
||||
// ********
|
||||
// * Laedt die Rolle(n) eines Prestudenten
|
||||
// ********
|
||||
function getPrestudentRolle($prestudent_id, $rolle_kurzbz=null, $studiensemester_kurzbz=null, $order="datum, insertamum", $ausbildungssemester=null)
|
||||
function getPrestudentRolle($prestudent_id, $status_kurzbz=null, $studiensemester_kurzbz=null, $order="datum, insertamum", $ausbildungssemester=null)
|
||||
{
|
||||
if(!is_numeric($prestudent_id))
|
||||
{
|
||||
@@ -381,9 +381,9 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id'";
|
||||
if($rolle_kurzbz!=null)
|
||||
$qry.= " AND rolle_kurzbz='".addslashes($rolle_kurzbz)."'";
|
||||
$qry = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='$prestudent_id'";
|
||||
if($status_kurzbz!=null)
|
||||
$qry.= " AND status_kurzbz='".addslashes($status_kurzbz)."'";
|
||||
if($studiensemester_kurzbz!=null)
|
||||
$qry.= " AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
|
||||
if($ausbildungssemester!=null)
|
||||
@@ -397,7 +397,7 @@ class prestudent extends person
|
||||
$rolle = new prestudent($this->conn, null, null);
|
||||
|
||||
$rolle->prestudent_id = $row->prestudent_id;
|
||||
$rolle->rolle_kurzbz = $row->rolle_kurzbz;
|
||||
$rolle->status_kurzbz = $row->status_kurzbz;
|
||||
$rolle->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$rolle->ausbildungssemester = $row->ausbildungssemester;
|
||||
$rolle->datum = $row->datum;
|
||||
@@ -421,7 +421,7 @@ class prestudent extends person
|
||||
// ********
|
||||
// * Laedt die Rolle(n) eines Prestudenten
|
||||
// ********
|
||||
function load_rolle($prestudent_id, $rolle_kurzbz, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
function load_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
{
|
||||
if(!is_numeric($prestudent_id) || $prestudent_id=='')
|
||||
{
|
||||
@@ -429,8 +429,8 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id'".
|
||||
" AND rolle_kurzbz='".addslashes($rolle_kurzbz)."'".
|
||||
$qry = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='$prestudent_id'".
|
||||
" AND status_kurzbz='".addslashes($status_kurzbz)."'".
|
||||
" AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'".
|
||||
" AND ausbildungssemester='".addslashes($ausbildungssemester)."'";
|
||||
|
||||
@@ -439,7 +439,7 @@ class prestudent extends person
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->prestudent_id = $row->prestudent_id;
|
||||
$this->rolle_kurzbz = $row->rolle_kurzbz;
|
||||
$this->status_kurzbz = $row->status_kurzbz;
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$this->ausbildungssemester = $row->ausbildungssemester;
|
||||
$this->datum = $row->datum;
|
||||
@@ -476,14 +476,14 @@ class prestudent extends person
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
*, (SELECT rolle_kurzbz FROM tbl_prestudentrolle
|
||||
*, (SELECT status_kurzbz FROM tbl_prestudentstatus
|
||||
WHERE prestudent_id=prestudent.prestudent_id
|
||||
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) AS rolle
|
||||
FROM tbl_prestudent prestudent ORDER BY prestudent_id
|
||||
) a, tbl_prestudentrolle, tbl_person
|
||||
WHERE a.rolle=tbl_prestudentrolle.rolle_kurzbz AND
|
||||
) a, tbl_prestudentstatus, tbl_person
|
||||
WHERE a.rolle=tbl_prestudentstatus.status_kurzbz AND
|
||||
a.person_id=tbl_person.person_id AND
|
||||
a.prestudent_id = tbl_prestudentrolle.prestudent_id AND
|
||||
a.prestudent_id = tbl_prestudentstatus.prestudent_id AND
|
||||
a.studiengang_kz='$studiengang_kz'";
|
||||
|
||||
if(!is_null($studiensemester_kurzbz) && $studiensemester_kurzbz!='')
|
||||
@@ -492,7 +492,7 @@ class prestudent extends person
|
||||
if($semester!=null)
|
||||
$qry.=" AND ausbildungssemester='$semester'";
|
||||
if($orgform!=null && $orgform!='')
|
||||
$qry.=" AND tbl_prestudentrolle.orgform_kurzbz='$orgform'";
|
||||
$qry.=" AND tbl_prestudentstatus.orgform_kurzbz='$orgform'";
|
||||
|
||||
switch ($typ)
|
||||
{
|
||||
@@ -522,7 +522,7 @@ class prestudent extends person
|
||||
break;
|
||||
case "prestudent":
|
||||
if($studiensemester_kurzbz=='' || is_null($studiensemester_kurzbz))
|
||||
$qry = "SELECT *, '' as rolle_kurzbz, '' as studiensemester_kurzbz, '' as ausbildungssemester, '' as datum FROM public.tbl_prestudent prestudent, public.tbl_person WHERE NOT EXISTS (select * from tbl_prestudentrolle WHERE prestudent_id=prestudent.prestudent_id) AND studiengang_kz='".addslashes($studiengang_kz)."' AND prestudent.person_id=tbl_person.person_id";
|
||||
$qry = "SELECT *, '' as status_kurzbz, '' as studiensemester_kurzbz, '' as ausbildungssemester, '' as datum FROM public.tbl_prestudent prestudent, public.tbl_person WHERE NOT EXISTS (select * from tbl_prestudentstatus WHERE prestudent_id=prestudent.prestudent_id) AND studiengang_kz='".addslashes($studiengang_kz)."' AND prestudent.person_id=tbl_person.person_id";
|
||||
else
|
||||
$qry .= " AND a.rolle IN('Interessent', 'Bewerber', 'Aufgenommener', 'Wartender', 'Abgewiesener')";
|
||||
break;
|
||||
@@ -583,7 +583,7 @@ class prestudent extends person
|
||||
$ps->anmerkung = $row->anmerkung;
|
||||
$ps->dual = ($row->dual=='t'?true:false);
|
||||
|
||||
$ps->rolle_kurzbz = $row->rolle_kurzbz;
|
||||
$ps->status_kurzbz = $row->status_kurzbz;
|
||||
$ps->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$ps->ausbildungssemester = $row->ausbildungssemester;
|
||||
$ps->datum = $row->datum;
|
||||
@@ -661,15 +661,15 @@ class prestudent extends person
|
||||
if($this->new)
|
||||
{
|
||||
//pruefen ob die Rolle schon vorhanden ist
|
||||
if($this->load_rolle($this->prestudent_id, $this->rolle_kurzbz, $this->studiensemester_kurzbz, $this->ausbildungssemester))
|
||||
if($this->load_rolle($this->prestudent_id, $this->status_kurzbz, $this->studiensemester_kurzbz, $this->ausbildungssemester))
|
||||
{
|
||||
$this->errormsg = 'Diese Rolle existiert bereits';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'INSERT INTO public.tbl_prestudentrolle (prestudent_id, rolle_kurzbz, studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz) VALUES('.
|
||||
$qry = 'INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz) VALUES('.
|
||||
$this->addslashes($this->prestudent_id).",".
|
||||
$this->addslashes($this->rolle_kurzbz).",".
|
||||
$this->addslashes($this->status_kurzbz).",".
|
||||
$this->addslashes($this->studiensemester_kurzbz).",".
|
||||
$this->addslashes($this->ausbildungssemester).",".
|
||||
$this->addslashes($this->datum).",".
|
||||
@@ -690,18 +690,18 @@ class prestudent extends person
|
||||
//wenn der PrimaryKey geaendert wird, schauen ob schon ein Eintrag mit diesem Key vorhanden ist
|
||||
if($this->studiensemester_old!=$this->studiensemester_kurzbz || $this->ausbildungssemester_old!=$this->ausbildungssemester)
|
||||
{
|
||||
if($this->load_rolle($this->prestudent_id, $this->rolle_kurzbz, $this->studiensemester_kurzbz, $this->ausbildungssemester))
|
||||
if($this->load_rolle($this->prestudent_id, $this->status_kurzbz, $this->studiensemester_kurzbz, $this->ausbildungssemester))
|
||||
{
|
||||
$this->errormsg = 'Diese Rolle existiert bereits';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$qry = 'UPDATE public.tbl_prestudentrolle SET'.
|
||||
$qry = 'UPDATE public.tbl_prestudentstatus SET'.
|
||||
' ausbildungssemester='.$this->addslashes($this->ausbildungssemester).",".
|
||||
' studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).",".
|
||||
' datum='.$this->addslashes($this->datum).",".
|
||||
' orgform_kurzbz='.$this->addslashes($this->orgform_kurzbz).
|
||||
" WHERE prestudent_id='".addslashes($this->prestudent_id)."' AND rolle_kurzbz='".addslashes($this->rolle_kurzbz)."' AND studiensemester_kurzbz='".addslashes($this->studiensemester_old)."' AND ausbildungssemester='".addslashes($this->ausbildungssemester_old)."';";
|
||||
" WHERE prestudent_id='".addslashes($this->prestudent_id)."' AND status_kurzbz='".addslashes($this->status_kurzbz)."' AND studiensemester_kurzbz='".addslashes($this->studiensemester_old)."' AND ausbildungssemester='".addslashes($this->ausbildungssemester_old)."';";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
@@ -719,11 +719,11 @@ class prestudent extends person
|
||||
// ******************************************
|
||||
// * Loescht eine Rolle
|
||||
// * @param $prestudent_id
|
||||
// * $rolle_kurzbz
|
||||
// * $status_kurzbz
|
||||
// * $studiensemester_kurzbz
|
||||
// * @return true wenn ok, false wenn Fehler
|
||||
// ******************************************
|
||||
function delete_rolle($prestudent_id, $rolle_kurzbz, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
function delete_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
{
|
||||
if(!is_numeric($prestudent_id))
|
||||
{
|
||||
@@ -731,21 +731,21 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id' AND rolle_kurzbz='".addslashes($rolle_kurzbz)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND ausbildungssemester='".addslashes($ausbildungssemester)."'";
|
||||
if($this->load_rolle($prestudent_id, $rolle_kurzbz, $studiensemester_kurzbz, $ausbildungssemester))
|
||||
$qry = "DELETE FROM public.tbl_prestudentstatus WHERE prestudent_id='$prestudent_id' AND status_kurzbz='".addslashes($status_kurzbz)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND ausbildungssemester='".addslashes($ausbildungssemester)."'";
|
||||
if($this->load_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester))
|
||||
{
|
||||
pg_query($this->conn, 'BEGIN;');
|
||||
|
||||
$log = new log($this->conn, null, null);
|
||||
|
||||
$log->executetime = date('Y-m-d H:i:s');
|
||||
$log->beschreibung = 'Loeschen der Rolle '.$rolle_kurzbz.' bei '.$prestudent_id;
|
||||
$log->beschreibung = 'Loeschen der Rolle '.$status_kurzbz.' bei '.$prestudent_id;
|
||||
$log->mitarbeiter_uid = get_uid();
|
||||
$log->sql = $qry;
|
||||
$log->sqlundo = 'INSERT INTO public.tbl_prestudentrolle(prestudent_id, rolle_kurzbz, studiensemester_kurzbz,'.
|
||||
$log->sqlundo = 'INSERT INTO public.tbl_prestudentstatus(prestudent_id, status_kurzbz, studiensemester_kurzbz,'.
|
||||
' ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz) VALUES('.
|
||||
$this->addslashes($this->prestudent_id).','.
|
||||
$this->addslashes($this->rolle_kurzbz).','.
|
||||
$this->addslashes($this->status_kurzbz).','.
|
||||
$this->addslashes($this->studiensemester_kurzbz).','.
|
||||
$this->addslashes($this->ausbildungssemester).','.
|
||||
$this->addslashes($this->datum).','.
|
||||
@@ -791,7 +791,7 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id'";
|
||||
$qry = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='$prestudent_id'";
|
||||
|
||||
if($studiensemester_kurzbz!='')
|
||||
$qry.=" AND studiensemester_kurzbz='$studiensemester_kurzbz'";
|
||||
@@ -802,7 +802,7 @@ class prestudent extends person
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->prestudent_id = $row->prestudent_id;
|
||||
$this->rolle_kurzbz = $row->rolle_kurzbz;
|
||||
$this->status_kurzbz = $row->status_kurzbz;
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$this->ausbildungssemester = $row->ausbildungssemester;
|
||||
$this->datum = $row->datum;
|
||||
|
||||
@@ -65,7 +65,7 @@ class projektarbeit
|
||||
function projektarbeit($conn,$projektarbeit_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -82,6 +82,7 @@ class projektarbeit
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if($projektarbeit_id != null)
|
||||
$this->load($projektarbeit_id);
|
||||
}
|
||||
@@ -162,32 +163,32 @@ class projektarbeit
|
||||
}
|
||||
if(strlen($this->projekttyp_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Projektyp_kurzbz darf nicht länger als 16 Zeichen sein';
|
||||
$this->errormsg = 'Projektyp_kurzbz darf nicht länger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->titel)>1024)
|
||||
{
|
||||
$this->errormsg = 'Titel darf nicht länger als 1024 Zeichen sein';
|
||||
$this->errormsg = 'Titel darf nicht länger als 1024 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->titel_english)>1024)
|
||||
{
|
||||
$this->errormsg = 'Titel darf nicht länger als 1024 Zeichen sein';
|
||||
$this->errormsg = 'Titel darf nicht länger als 1024 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->themenbereich)>64)
|
||||
{
|
||||
$this->errormsg = 'Themenbereich darf nicht länger als 64 Zeichen sein';
|
||||
$this->errormsg = 'Themenbereich darf nicht länger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anmerkung)>256)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein';
|
||||
$this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
/*if(!is_numeric($this->note))
|
||||
{
|
||||
$this->errormsg = 'Note muß ein numerischer Wert sein - student_uid: '.$this->student_uid;
|
||||
$this->errormsg = 'Note muß ein numerischer Wert sein - student_uid: '.$this->student_uid;
|
||||
return false;
|
||||
}*/
|
||||
if($this->punkte!='' && !is_numeric($this->punkte))
|
||||
|
||||
@@ -57,6 +57,7 @@ class projektbetreuer
|
||||
function projektbetreuer($conn, $person_id=null, $projektarbeit_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -73,6 +74,7 @@ class projektbetreuer
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if($projektarbeit_id != null && $person_id!=null)
|
||||
$this->load($person_id, $projektarbeit_id);
|
||||
}
|
||||
@@ -149,12 +151,12 @@ class projektbetreuer
|
||||
}
|
||||
if(strlen($this->betreuerart_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'betreuerart darf nicht länger als 16 Zeichen sein';
|
||||
$this->errormsg = 'betreuerart darf nicht länger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->name)>32)
|
||||
{
|
||||
$this->errormsg = 'Name darf nicht länger als 32 Zeichen sein';
|
||||
$this->errormsg = 'Name darf nicht länger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ class pruefling
|
||||
function pruefling($conn, $pruefling_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -57,7 +57,7 @@ class pruefling
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if($pruefling_id != null)
|
||||
$this->load($pruefling_id);
|
||||
}
|
||||
|
||||
+18
-18
@@ -58,7 +58,7 @@ class pruefung
|
||||
function pruefung($conn, $pruefung_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -72,7 +72,7 @@ class pruefung
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($pruefung_id!=null)
|
||||
$this->load($pruefung_id);
|
||||
}
|
||||
@@ -330,13 +330,13 @@ class pruefung
|
||||
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
AND tbl_pruefung.note = tbl_note.note
|
||||
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
|
||||
if ($pruefungstyp != null)
|
||||
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".$pruefungstyp."'";
|
||||
if ($lv_id != null)
|
||||
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".$lv_id."'";
|
||||
if ($stsem != null)
|
||||
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".$stsem."'";
|
||||
|
||||
if ($pruefungstyp != null)
|
||||
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".$pruefungstyp."'";
|
||||
if ($lv_id != null)
|
||||
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".$lv_id."'";
|
||||
if ($stsem != null)
|
||||
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".$stsem."'";
|
||||
|
||||
$qry .= " ORDER BY datum DESC";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
@@ -371,8 +371,8 @@ class pruefung
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null)
|
||||
{
|
||||
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
|
||||
@@ -382,13 +382,13 @@ class pruefung
|
||||
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
AND tbl_pruefung.note = tbl_note.note
|
||||
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
|
||||
if ($pruefungstyp != null)
|
||||
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".$pruefungstyp."'";
|
||||
if ($lv_id != null)
|
||||
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".$lv_id."'";
|
||||
if ($stsem != null)
|
||||
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".$stsem."'";
|
||||
|
||||
if ($pruefungstyp != null)
|
||||
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".$pruefungstyp."'";
|
||||
if ($lv_id != null)
|
||||
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".$lv_id."'";
|
||||
if ($stsem != null)
|
||||
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".$stsem."'";
|
||||
|
||||
$qry .= " ORDER BY datum DESC";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
|
||||
+219
-219
@@ -1,220 +1,220 @@
|
||||
<?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 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
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $ort_kurzbz und hierarchie ID des zu ladenden OrtRaumtyps
|
||||
*/
|
||||
function raumtyp($conn, $raumtyp_kurzbz=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($raumtyp_kurzbz != null)
|
||||
$this->load($raumtyp_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren OrtRaumtypen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_raumtyp order by raumtyp_kurzbz;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$raumtyp_obj = new raumtyp($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($raumtyp_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'Kein gültiger Schlüssel vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.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;
|
||||
|
||||
}
|
||||
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
|
||||
*/
|
||||
function delete($raumtyp_kurzbz)
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
$this->beschreibung = str_replace("'",'´',$this->beschreibung);
|
||||
$this->raumtyp_kurzbz = str_replace("'",'´',$this->raumtyp_kurzbz);
|
||||
|
||||
|
||||
//Laenge Pruefen
|
||||
if(strlen($this->beschreibung)>256)
|
||||
{
|
||||
$this->errormsg = "Beschreibung darf nicht laenger als 256 Zeichen sein bei <b>$this->raumtyp_kurzbz</b> - ".$this->beschreibung;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->raumtyp_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = "Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein bei <b>$this->raumtyp_kurzbz</b>";
|
||||
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->raumtyp_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'Keine gültige ID';
|
||||
return false;
|
||||
}
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO public.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 public.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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 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
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $ort_kurzbz und hierarchie ID des zu ladenden OrtRaumtyps
|
||||
*/
|
||||
function raumtyp($conn, $raumtyp_kurzbz=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($raumtyp_kurzbz != null)
|
||||
$this->load($raumtyp_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle verfuegbaren OrtRaumtypen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_raumtyp order by raumtyp_kurzbz;';
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = pg_fetch_object($res))
|
||||
{
|
||||
$raumtyp_obj = new raumtyp($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($raumtyp_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'Kein gültiger Schlüssel vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.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;
|
||||
|
||||
}
|
||||
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
|
||||
*/
|
||||
function delete($raumtyp_kurzbz)
|
||||
{
|
||||
$this->errormsg = 'Noch nicht implementiert';
|
||||
return false;
|
||||
}
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
$this->beschreibung = str_replace("'",'´',$this->beschreibung);
|
||||
$this->raumtyp_kurzbz = str_replace("'",'´',$this->raumtyp_kurzbz);
|
||||
|
||||
|
||||
//Laenge Pruefen
|
||||
if(strlen($this->beschreibung)>256)
|
||||
{
|
||||
$this->errormsg = "Beschreibung darf nicht laenger als 256 Zeichen sein bei <b>$this->raumtyp_kurzbz</b> - ".$this->beschreibung;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->raumtyp_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = "Raumtyp_kurzbz darf nicht laenger als 8 Zeichen sein bei <b>$this->raumtyp_kurzbz</b>";
|
||||
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->raumtyp_kurzbz == '')
|
||||
{
|
||||
$this->errormsg = 'Keine gültige ID';
|
||||
return false;
|
||||
}
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'INSERT INTO public.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 public.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -25,12 +25,14 @@ class raumtyp
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -53,6 +53,7 @@ class reihungstest
|
||||
function reihungstest($conn,$reihungstest_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -69,6 +70,7 @@ class reihungstest
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -181,12 +183,12 @@ class reihungstest
|
||||
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
|
||||
if(strlen($this->ort_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = 'Ort_kurzbz darf nicht länger als 8 Zeichen sein - Studiengang: '.$row->studiengang_kz;
|
||||
$this->errormsg = 'Ort_kurzbz darf nicht länger als 8 Zeichen sein - Studiengang: '.$row->studiengang_kz;
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anmerkung)>64)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht länger als 64 Zeichen sein - Studiengang: '.$row->studiengang_kz;
|
||||
$this->errormsg = 'Anmerkung darf nicht länger als 64 Zeichen sein - Studiengang: '.$row->studiengang_kz;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
+239
-239
@@ -1,240 +1,240 @@
|
||||
<?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(32)
|
||||
var $stunde; // smalint
|
||||
var $datum; // date
|
||||
var $titel; // varchar(10)
|
||||
var $beschreibung; // varchar(32)
|
||||
var $semester; // smalint
|
||||
var $verband; // char(1)
|
||||
var $gruppe; // char(1)
|
||||
var $gruppe_kurzbz; // varchar(10)
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)>32)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 32 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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************
|
||||
// * Loescht eine Reservierung
|
||||
// * @param reservierung_id ID der zu leoschenden Reservierung
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// ************************************************************
|
||||
function delete($reservierung_id)
|
||||
{
|
||||
if(!is_numeric($reservierung_id))
|
||||
{
|
||||
$this->errormsg = 'Reservierung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM campus.tbl_reservierung WHERE reservierung_id='$reservierung_id'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen der Reservierung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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(32)
|
||||
var $stunde; // smalint
|
||||
var $datum; // date
|
||||
var $titel; // varchar(10)
|
||||
var $beschreibung; // varchar(32)
|
||||
var $semester; // smalint
|
||||
var $verband; // char(1)
|
||||
var $gruppe; // char(1)
|
||||
var $gruppe_kurzbz; // varchar(10)
|
||||
|
||||
// *************************************************************************
|
||||
// * 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)>32)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 32 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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************
|
||||
// * Loescht eine Reservierung
|
||||
// * @param reservierung_id ID der zu leoschenden Reservierung
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// ************************************************************
|
||||
function delete($reservierung_id)
|
||||
{
|
||||
if(!is_numeric($reservierung_id))
|
||||
{
|
||||
$this->errormsg = 'Reservierung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM campus.tbl_reservierung WHERE reservierung_id='$reservierung_id'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen der Reservierung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -53,7 +53,7 @@ class resturlaub
|
||||
function resturlaub($conn, $uid=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -71,7 +71,7 @@ class resturlaub
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($uid!=null)
|
||||
$this->load($uid);
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ class schluesseltyp
|
||||
function schluesseltyp($conn, $code=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -57,6 +57,7 @@ class schluesseltyp
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ class student extends benutzer
|
||||
function student($conn, $uid=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
@@ -58,7 +58,7 @@ class student extends benutzer
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
//Student laden
|
||||
if($uid!=null)
|
||||
$this->load($uid);
|
||||
@@ -257,7 +257,7 @@ class student extends benutzer
|
||||
* @param string ver Verband
|
||||
* @param integer sem Semester
|
||||
* @param integer stg_kz Kennzahl des Studiengangs
|
||||
* @return integer Anzahl der gefundenen Einträge; <b>negativ</b> bei Fehler
|
||||
* @return integer Anzahl der gefundenen Einträge; <b>negativ</b> bei Fehler
|
||||
*/
|
||||
|
||||
function getStudents($stg_kz,$sem=null,$ver=null,$grp=null,$gruppe=null, $stsem=null)
|
||||
|
||||
+173
-173
@@ -33,8 +33,8 @@ class studentnote
|
||||
var $gewicht; // smalint
|
||||
var $punkte; // Real
|
||||
var $note;
|
||||
var $note_gesamt;
|
||||
var $negativ;
|
||||
var $note_gesamt;
|
||||
var $negativ;
|
||||
var $fehlt;
|
||||
|
||||
// *************************************************************************
|
||||
@@ -47,7 +47,7 @@ class studentnote
|
||||
function studentnote($conn, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -58,210 +58,210 @@ class studentnote
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
function calc_gesamtnote($lehreinheit_id, $ss, $student_uid)
|
||||
|
||||
function calc_gesamtnote($lehreinheit_id, $ss, $student_uid)
|
||||
{
|
||||
{
|
||||
$conn = $this->conn;
|
||||
$conn = $this->conn;
|
||||
$studentgesamtnote = 0;
|
||||
$counter = 0;
|
||||
$gewichte = 0;
|
||||
$negativ_all = false;
|
||||
$note_x_gewicht = 0;
|
||||
$note_x_gewicht_l1 = 0;
|
||||
$gewichte_l1 = 0;
|
||||
$fehlt_all = false;
|
||||
$note_x_gewicht = 0;
|
||||
$note_x_gewicht_l1 = 0;
|
||||
$gewichte_l1 = 0;
|
||||
$fehlt_all = false;
|
||||
$beispiele = false;
|
||||
|
||||
$ueb1_obj = new uebung($conn);
|
||||
$ueb1_obj->load_uebung($lehreinheit_id,1);
|
||||
foreach($ueb1_obj->uebungen as $ueb1)
|
||||
{
|
||||
$this->calc_l1_note($ueb1->uebung_id, $student_uid, $lehreinheit_id);
|
||||
$note_x_gewicht_l1 += ($this->l1_note * $this->l1_gewicht);
|
||||
$gewichte_l1 += $this->l1_gewicht;
|
||||
if ($this->negativ)
|
||||
$negativ_all = $this->negativ;
|
||||
if ($this->fehlt)
|
||||
$fehlt_all = $this->fehlt;
|
||||
|
||||
}
|
||||
if ($gewichte_l1 > 0)
|
||||
{
|
||||
$this->studentgesamtnote = ($note_x_gewicht_l1 / $gewichte_l1);
|
||||
$this->negativ = $negativ_all;
|
||||
$this->fehlt = $fehlt_all;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->studentgesamtnote = "n";
|
||||
$this->negativ = $negativ_all;
|
||||
$this->fehlt = $fehlt_all;
|
||||
|
||||
$ueb1_obj = new uebung($conn);
|
||||
$ueb1_obj->load_uebung($lehreinheit_id,1);
|
||||
foreach($ueb1_obj->uebungen as $ueb1)
|
||||
{
|
||||
$this->calc_l1_note($ueb1->uebung_id, $student_uid, $lehreinheit_id);
|
||||
$note_x_gewicht_l1 += ($this->l1_note * $this->l1_gewicht);
|
||||
$gewichte_l1 += $this->l1_gewicht;
|
||||
if ($this->negativ)
|
||||
$negativ_all = $this->negativ;
|
||||
if ($this->fehlt)
|
||||
$fehlt_all = $this->fehlt;
|
||||
|
||||
}
|
||||
if ($gewichte_l1 > 0)
|
||||
{
|
||||
$this->studentgesamtnote = ($note_x_gewicht_l1 / $gewichte_l1);
|
||||
$this->negativ = $negativ_all;
|
||||
$this->fehlt = $fehlt_all;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->studentgesamtnote = "n";
|
||||
$this->negativ = $negativ_all;
|
||||
$this->fehlt = $fehlt_all;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function calc_l1_note($uebung_id, $student_uid, $lehreinheit_id)
|
||||
|
||||
function calc_l1_note($uebung_id, $student_uid, $lehreinheit_id)
|
||||
{
|
||||
{
|
||||
$conn = $this->conn;
|
||||
$conn = $this->conn;
|
||||
$studentgesamtnote = 0;
|
||||
$counter = 0;
|
||||
$gewichte = 0;
|
||||
$negativ = false;
|
||||
$note_x_gewicht = 0;
|
||||
$note_x_gewicht_l1 = 0;
|
||||
$gewichte_l1 = 0;
|
||||
$fehlt = false;
|
||||
$beispiele = false;
|
||||
$punkte_gesamt = 0;
|
||||
$punkte_mitarbeit = 0;
|
||||
$punkte_eingetragen = 0;
|
||||
$note_x_gewicht = 0;
|
||||
$note_x_gewicht_l1 = 0;
|
||||
$gewichte_l1 = 0;
|
||||
$fehlt = false;
|
||||
$beispiele = false;
|
||||
$punkte_gesamt = 0;
|
||||
$punkte_mitarbeit = 0;
|
||||
$punkte_eingetragen = 0;
|
||||
$l1_gewicht = 0;
|
||||
$ueb1 = new uebung($conn, $uebung_id);
|
||||
|
||||
$ueb_obj = new uebung($conn);
|
||||
$ueb_obj->load_uebung($lehreinheit_id, 2, $uebung_id);
|
||||
if ($ueb_obj->uebungen)
|
||||
$ueb1 = new uebung($conn, $uebung_id);
|
||||
|
||||
$ueb_obj = new uebung($conn);
|
||||
$ueb_obj->load_uebung($lehreinheit_id, 2, $uebung_id);
|
||||
if ($ueb_obj->uebungen)
|
||||
{
|
||||
$note_x_gewicht = 0;
|
||||
$gewichte = 0;
|
||||
$punkte_gesamt = 0;
|
||||
|
||||
$note_x_gewicht = 0;
|
||||
$gewichte = 0;
|
||||
$punkte_gesamt = 0;
|
||||
|
||||
foreach ($ueb_obj->uebungen as $ueb)
|
||||
{
|
||||
if ($ueb->abgabe && !$ueb->beispiele)
|
||||
{
|
||||
if ($ueb->abgabe && !$ueb->beispiele)
|
||||
{
|
||||
if ($this->calc_note($ueb->uebung_id, $student_uid))
|
||||
{
|
||||
if (is_numeric($this->note))
|
||||
{
|
||||
if ($ueb->positiv && $this->note == 5)
|
||||
$negativ = true;
|
||||
if ($ueb->positiv && $this->note == 5)
|
||||
$negativ = true;
|
||||
$note_x_gewicht += ($this->note * $this->gewicht);
|
||||
$gewichte += $this->gewicht;
|
||||
}
|
||||
else
|
||||
{
|
||||
$fehlt = true;
|
||||
if ($ueb->positiv)
|
||||
$negativ = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->calc_punkte($ueb->uebung_id, $student_uid);
|
||||
$punkte_gesamt += $this->punkte_gesamt;
|
||||
$punkte_mitarbeit += $this->punkte_mitarbeit;
|
||||
$punkte_eingetragen += $this->punkte_eingetragen;
|
||||
$beispiele = true;
|
||||
else
|
||||
{
|
||||
$fehlt = true;
|
||||
if ($ueb->positiv)
|
||||
$negativ = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->calc_punkte($ueb->uebung_id, $student_uid);
|
||||
$punkte_gesamt += $this->punkte_gesamt;
|
||||
$punkte_mitarbeit += $this->punkte_mitarbeit;
|
||||
$punkte_eingetragen += $this->punkte_eingetragen;
|
||||
$beispiele = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($gewichte > 0)
|
||||
{
|
||||
$l1_note = ($note_x_gewicht / $gewichte);
|
||||
$l1_gewicht = $ueb1->gewicht;
|
||||
}
|
||||
//if ($punkte_gesamt > 0)
|
||||
if ($beispiele)
|
||||
{
|
||||
|
||||
if ($ueb1->prozent == 't')
|
||||
{
|
||||
{
|
||||
$l1_note = ($note_x_gewicht / $gewichte);
|
||||
$l1_gewicht = $ueb1->gewicht;
|
||||
}
|
||||
//if ($punkte_gesamt > 0)
|
||||
if ($beispiele)
|
||||
{
|
||||
|
||||
if ($ueb1->prozent == 't')
|
||||
{
|
||||
$qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung
|
||||
WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
|
||||
tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$ueb1->uebung_id'";
|
||||
$punkte_moeglich=1;
|
||||
if($result=pg_query($conn, $qry))
|
||||
if($row = pg_fetch_object($result))
|
||||
$punkte_moeglich = $row->punktegesamt_alle;
|
||||
if ($punkte_moeglich == 0)
|
||||
$punkte_moeglich = 1;
|
||||
$punkte_ns = $punkte_gesamt/$punkte_moeglich*100;
|
||||
}
|
||||
else
|
||||
$punkte_ns = $punkte_gesamt;
|
||||
|
||||
//Prozentpunkte
|
||||
$qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_ns."' and uebung_id = '".$ueb1->uebung_id."'";
|
||||
|
||||
// Punkteanzahl
|
||||
$punkte_moeglich = $row->punktegesamt_alle;
|
||||
if ($punkte_moeglich == 0)
|
||||
$punkte_moeglich = 1;
|
||||
$punkte_ns = $punkte_gesamt/$punkte_moeglich*100;
|
||||
}
|
||||
else
|
||||
$punkte_ns = $punkte_gesamt;
|
||||
|
||||
//Prozentpunkte
|
||||
$qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_ns."' and uebung_id = '".$ueb1->uebung_id."'";
|
||||
|
||||
// Punkteanzahl
|
||||
//$qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_gesamt."' and uebung_id = '".$ueb1->uebung_id."'";
|
||||
|
||||
if($result=pg_query($this->conn, $qry))
|
||||
|
||||
if($result=pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
$note = $row->note;
|
||||
else
|
||||
$note = 5;
|
||||
$note = 5;
|
||||
}
|
||||
if ($ueb1->positiv && ($note == 5))
|
||||
$negativ = true;
|
||||
$l1_note = $note;
|
||||
//$l1_note = ($note * $ueb1->gewicht);
|
||||
if ($note != null)
|
||||
$l1_gewicht = $ueb1->gewicht;
|
||||
else
|
||||
$l1_gewicht = 0;
|
||||
}
|
||||
if ($ueb1->positiv && $beispiele && ($punkte_gesamt == 0))
|
||||
$negativ = true;
|
||||
//else if ($beispiele && ($punkte_gesamt == 0))
|
||||
// $felt = true;
|
||||
}
|
||||
// keine kreuzerllisten/abgaben
|
||||
else
|
||||
{
|
||||
$s = new uebung($conn);
|
||||
$s->load_studentuebung($student_uid, $ueb1->uebung_id);
|
||||
if ($s->note && $ueb1->gewicht)
|
||||
{
|
||||
if ($s->note == 5 && $ueb1->positiv)
|
||||
$negativ = true;
|
||||
$l1_note= $s->note;
|
||||
$l1_gewicht = $ueb1->gewicht;
|
||||
}
|
||||
else
|
||||
{
|
||||
$fehlt = true;
|
||||
if ($ueb1->positiv)
|
||||
$negativ = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($l1_gewicht > 0)
|
||||
{
|
||||
$this->l1_note = $l1_note;
|
||||
$this->l1_gewicht = $l1_gewicht;
|
||||
$this->negativ = $negativ;
|
||||
$this->fehlt = $fehlt;
|
||||
$this->punkte_gesamt_l1 = $punkte_gesamt;
|
||||
$this->punkte_eingetragen_l1 = $punkte_eingetragen;
|
||||
$this->punkte_mitarbeit_l1 = $punkte_mitarbeit;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->l1_note = null;
|
||||
$this->l1_gewicht = 0;
|
||||
$this->negativ = $negativ;
|
||||
$this->fehlt = $fehlt;
|
||||
$this->punkte_gesamt_l1 = null;
|
||||
$this->punkte_eingetragen_l1 = null;
|
||||
$this->punkte_mitarbeit_l1 = null;
|
||||
if ($ueb1->positiv && ($note == 5))
|
||||
$negativ = true;
|
||||
$l1_note = $note;
|
||||
//$l1_note = ($note * $ueb1->gewicht);
|
||||
if ($note != null)
|
||||
$l1_gewicht = $ueb1->gewicht;
|
||||
else
|
||||
$l1_gewicht = 0;
|
||||
}
|
||||
if ($ueb1->positiv && $beispiele && ($punkte_gesamt == 0))
|
||||
$negativ = true;
|
||||
//else if ($beispiele && ($punkte_gesamt == 0))
|
||||
// $felt = true;
|
||||
}
|
||||
// keine kreuzerllisten/abgaben
|
||||
else
|
||||
{
|
||||
$s = new uebung($conn);
|
||||
$s->load_studentuebung($student_uid, $ueb1->uebung_id);
|
||||
if ($s->note && $ueb1->gewicht)
|
||||
{
|
||||
if ($s->note == 5 && $ueb1->positiv)
|
||||
$negativ = true;
|
||||
$l1_note= $s->note;
|
||||
$l1_gewicht = $ueb1->gewicht;
|
||||
}
|
||||
else
|
||||
{
|
||||
$fehlt = true;
|
||||
if ($ueb1->positiv)
|
||||
$negativ = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($l1_gewicht > 0)
|
||||
{
|
||||
$this->l1_note = $l1_note;
|
||||
$this->l1_gewicht = $l1_gewicht;
|
||||
$this->negativ = $negativ;
|
||||
$this->fehlt = $fehlt;
|
||||
$this->punkte_gesamt_l1 = $punkte_gesamt;
|
||||
$this->punkte_eingetragen_l1 = $punkte_eingetragen;
|
||||
$this->punkte_mitarbeit_l1 = $punkte_mitarbeit;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->l1_note = null;
|
||||
$this->l1_gewicht = 0;
|
||||
$this->negativ = $negativ;
|
||||
$this->fehlt = $fehlt;
|
||||
$this->punkte_gesamt_l1 = null;
|
||||
$this->punkte_eingetragen_l1 = null;
|
||||
$this->punkte_mitarbeit_l1 = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// *********************************************************
|
||||
// * berechnet die note der übung
|
||||
// * @param uebung_id, student_uid
|
||||
// * @param uebung_id, student_uid
|
||||
// * setzt this->note, this->gewicht
|
||||
// *********************************************************
|
||||
function calc_note($uebung_id, $student_uid)
|
||||
@@ -285,21 +285,21 @@ class studentnote
|
||||
$this->note = $ueb->note;
|
||||
$this->gewicht = $ueb->gewicht;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->note = null;
|
||||
$this->gewicht = 0;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->note = null;
|
||||
$this->gewicht = 0;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// *********************************************************
|
||||
// * berechnet die punkte der übung (kreuzerlliste)
|
||||
// * @param uebung_id, student_uid
|
||||
// * setzt this->punkte_gesamt
|
||||
|
||||
|
||||
// *********************************************************
|
||||
// * berechnet die punkte der übung (kreuzerlliste)
|
||||
// * @param uebung_id, student_uid
|
||||
// * setzt this->punkte_gesamt
|
||||
// *********************************************************
|
||||
function calc_punkte($uebung_id, $student_uid)
|
||||
{
|
||||
@@ -328,8 +328,8 @@ class studentnote
|
||||
|
||||
$punkte_gesamt = $punkte_eingetragen + $mitarbeit;
|
||||
|
||||
$this->punkte_gesamt = $punkte_gesamt;
|
||||
$this->punkte_eingetragen = $punkte_eingetragen;
|
||||
$this->punkte_gesamt = $punkte_gesamt;
|
||||
$this->punkte_eingetragen = $punkte_eingetragen;
|
||||
$this->punkte_mitarbeit = $mitarbeit;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ class studiengang
|
||||
function studiengang($conn, $studiengang_kz=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -77,7 +77,7 @@ class studiengang
|
||||
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if(is_numeric($studiengang_kz))
|
||||
$this->load($studiengang_kz);
|
||||
|
||||
@@ -223,10 +223,10 @@ class studiengang
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
|
||||
$this->kurzbz = str_replace("'",'´',$this->kurzbz);
|
||||
$this->kurzbzlang = str_replace("'",'´',$this->kurzbzlang);
|
||||
$this->english = str_replace("'",'´',$this->english);
|
||||
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
|
||||
$this->kurzbz = str_replace("'",'´',$this->kurzbz);
|
||||
$this->kurzbzlang = str_replace("'",'´',$this->kurzbzlang);
|
||||
$this->english = str_replace("'",'´',$this->english);
|
||||
|
||||
//Laenge Pruefen
|
||||
if(strlen($this->bezeichnung)>128)
|
||||
|
||||
+134
-134
@@ -1,135 +1,135 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+247
-247
@@ -1,248 +1,248 @@
|
||||
<?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
|
||||
var $stpl_table;
|
||||
|
||||
//Tabellenspalten
|
||||
var $stundenplan_id;
|
||||
var $unr;
|
||||
var $mitarbeiter_uid;
|
||||
var $datum;
|
||||
var $stunde;
|
||||
var $ort_kurzbz;
|
||||
var $gruppe_kurzbz;
|
||||
var $titel;
|
||||
var $anmerkung;
|
||||
var $lehreinheit_id;
|
||||
var $studiengang_kz;
|
||||
var $semester;
|
||||
var $verband;
|
||||
var $gruppe;
|
||||
var $fix;
|
||||
var $updateamum;
|
||||
var $updatevon;
|
||||
var $insertamum;
|
||||
var $insertvon;
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional einen Stundenplaneintrag
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $stundenplantabelle
|
||||
// * $stundenplan_id
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function stundenplan($conn, $stundenplantabelle, $stundenplan_id=null, $unicode=false)
|
||||
{
|
||||
$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;
|
||||
}
|
||||
|
||||
$this->stpl_table = $stundenplantabelle;
|
||||
|
||||
if($stundenplan_id!=null)
|
||||
$this->load($stundenplan_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt einen Stundenplaneintrag
|
||||
// * @param stundenplan_id
|
||||
// *********************************************************
|
||||
function load($stundenplan_id)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_$this->stpl_table WHERE ".$this->stpl_table."_id='$stundenplan_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$id = $this->stpl_table.'_id';
|
||||
$this->stundenplan_id = $row->$id;
|
||||
$this->lehreinheit_id = $row->lehreinheit_id;
|
||||
$this->unr = $row->unr;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->semester = $row->semester;
|
||||
$this->verband = $row->verband;
|
||||
$this->gruppe = $row->gruppe;
|
||||
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$this->ort_kurzbz = $row->ort_kurzbz;
|
||||
$this->datum = $row->datum;
|
||||
$this->stunde = $row->stunde;
|
||||
$this->titel = $row->titel;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->fix = ($row->fix=='t'?true:false);
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insetvon = $row->insertvon;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Der Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes'.$qry;
|
||||
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 Stundenplaneintrag in die Datenbank
|
||||
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
// * angelegt, ansonsten der Datensatz upgedated
|
||||
// * @return true wenn erfolgreich, false im Fehlerfall
|
||||
// ************************************************************
|
||||
function save($new=null)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO lehre.tbl_'.$this->stpl_table.' (unr, mitarbeiter_uid, datum, stunde, ort_kurzbz, gruppe_kurzbz,
|
||||
titel, anmerkung, lehreinheit_id, studiengang_kz, semester, verband, gruppe, fix, updateamum, updatevon,
|
||||
insertamum, insertvon)
|
||||
VALUES('.$this->addslashes($this->unr).','.
|
||||
$this->addslashes($this->mitarbeiter_uid).','.
|
||||
$this->addslashes($this->datum).','.
|
||||
$this->addslashes($this->stunde).','.
|
||||
$this->addslashes($this->ort_kurzbz).','.
|
||||
$this->addslashes($this->gruppe_kurzbz).','.
|
||||
$this->addslashes($this->titel).','.
|
||||
$this->addslashes($this->anmerkung).','.
|
||||
$this->addslashes($this->lehreinheit_id).','.
|
||||
$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes(($this->verband!=''?$this->verband:' ')).','.
|
||||
$this->addslashes(($this->gruppe!=''?$this->gruppe:' ')).','.
|
||||
($this->fix?'true':'false').','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE lehre.tbl_'.$this->stpl_table.' SET'.
|
||||
' unr='.$this->addslashes($this->unr).','.
|
||||
' mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).','.
|
||||
' datum='.$this->addslashes($this->datum).','.
|
||||
' stunde='.$this->addslashes($this->stunde).','.
|
||||
' ort_kurzbz='.$this->addslashes($this->ort_kurzbz).','.
|
||||
' gruppe_kurzbz='.$this->addslashes($this->gruppe_kurzbz).','.
|
||||
' titel='.$this->addslashes($this->titel).','.
|
||||
' anmerkung='.$this->addslashes($this->anmerkung).','.
|
||||
' lehreinheit_id='.$this->addslashes($this->lehreinheit_id).','.
|
||||
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
|
||||
' semester='.$this->addslashes($this->semester).','.
|
||||
' verband='.$this->addslashes(($this->verband!=''?$this->verband:' ')).','.
|
||||
' gruppe='.$this->addslashes(($this->gruppe!=''?$this->gruppe:' ')).','.
|
||||
' fix='.($this->fix?'true':'false').','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).
|
||||
" WHERE ".$this->stpl_table."_id=".$this->addslashes($this->stundenplan_id).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Stundenplanes:'.pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Loescht einen Eintrag aus der Stundenplantabelle
|
||||
// ****
|
||||
function delete($id)
|
||||
{
|
||||
if(!is_numeric($id))
|
||||
{
|
||||
$this->errormsg = 'ID muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM lehre.tbl_$this->stpl_table WHERE ".$this->stpl_table."_id='$id'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen des Eintrages: '.pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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
|
||||
var $stpl_table;
|
||||
|
||||
//Tabellenspalten
|
||||
var $stundenplan_id;
|
||||
var $unr;
|
||||
var $mitarbeiter_uid;
|
||||
var $datum;
|
||||
var $stunde;
|
||||
var $ort_kurzbz;
|
||||
var $gruppe_kurzbz;
|
||||
var $titel;
|
||||
var $anmerkung;
|
||||
var $lehreinheit_id;
|
||||
var $studiengang_kz;
|
||||
var $semester;
|
||||
var $verband;
|
||||
var $gruppe;
|
||||
var $fix;
|
||||
var $updateamum;
|
||||
var $updatevon;
|
||||
var $insertamum;
|
||||
var $insertvon;
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional einen Stundenplaneintrag
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $stundenplantabelle
|
||||
// * $stundenplan_id
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function stundenplan($conn, $stundenplantabelle, $stundenplan_id=null, $unicode=false)
|
||||
{
|
||||
$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;
|
||||
}
|
||||
*/
|
||||
$this->stpl_table = $stundenplantabelle;
|
||||
|
||||
if($stundenplan_id!=null)
|
||||
$this->load($stundenplan_id);
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt einen Stundenplaneintrag
|
||||
// * @param stundenplan_id
|
||||
// *********************************************************
|
||||
function load($stundenplan_id)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_$this->stpl_table WHERE ".$this->stpl_table."_id='$stundenplan_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$id = $this->stpl_table.'_id';
|
||||
$this->stundenplan_id = $row->$id;
|
||||
$this->lehreinheit_id = $row->lehreinheit_id;
|
||||
$this->unr = $row->unr;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->semester = $row->semester;
|
||||
$this->verband = $row->verband;
|
||||
$this->gruppe = $row->gruppe;
|
||||
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$this->ort_kurzbz = $row->ort_kurzbz;
|
||||
$this->datum = $row->datum;
|
||||
$this->stunde = $row->stunde;
|
||||
$this->titel = $row->titel;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->fix = ($row->fix=='t'?true:false);
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insetvon = $row->insertvon;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Der Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes'.$qry;
|
||||
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 Stundenplaneintrag in die Datenbank
|
||||
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
// * angelegt, ansonsten der Datensatz upgedated
|
||||
// * @return true wenn erfolgreich, false im Fehlerfall
|
||||
// ************************************************************
|
||||
function save($new=null)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO lehre.tbl_'.$this->stpl_table.' (unr, mitarbeiter_uid, datum, stunde, ort_kurzbz, gruppe_kurzbz,
|
||||
titel, anmerkung, lehreinheit_id, studiengang_kz, semester, verband, gruppe, fix, updateamum, updatevon,
|
||||
insertamum, insertvon)
|
||||
VALUES('.$this->addslashes($this->unr).','.
|
||||
$this->addslashes($this->mitarbeiter_uid).','.
|
||||
$this->addslashes($this->datum).','.
|
||||
$this->addslashes($this->stunde).','.
|
||||
$this->addslashes($this->ort_kurzbz).','.
|
||||
$this->addslashes($this->gruppe_kurzbz).','.
|
||||
$this->addslashes($this->titel).','.
|
||||
$this->addslashes($this->anmerkung).','.
|
||||
$this->addslashes($this->lehreinheit_id).','.
|
||||
$this->addslashes($this->studiengang_kz).','.
|
||||
$this->addslashes($this->semester).','.
|
||||
$this->addslashes(($this->verband!=''?$this->verband:' ')).','.
|
||||
$this->addslashes(($this->gruppe!=''?$this->gruppe:' ')).','.
|
||||
($this->fix?'true':'false').','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE lehre.tbl_'.$this->stpl_table.' SET'.
|
||||
' unr='.$this->addslashes($this->unr).','.
|
||||
' mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).','.
|
||||
' datum='.$this->addslashes($this->datum).','.
|
||||
' stunde='.$this->addslashes($this->stunde).','.
|
||||
' ort_kurzbz='.$this->addslashes($this->ort_kurzbz).','.
|
||||
' gruppe_kurzbz='.$this->addslashes($this->gruppe_kurzbz).','.
|
||||
' titel='.$this->addslashes($this->titel).','.
|
||||
' anmerkung='.$this->addslashes($this->anmerkung).','.
|
||||
' lehreinheit_id='.$this->addslashes($this->lehreinheit_id).','.
|
||||
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
|
||||
' semester='.$this->addslashes($this->semester).','.
|
||||
' verband='.$this->addslashes(($this->verband!=''?$this->verband:' ')).','.
|
||||
' gruppe='.$this->addslashes(($this->gruppe!=''?$this->gruppe:' ')).','.
|
||||
' fix='.($this->fix?'true':'false').','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).
|
||||
" WHERE ".$this->stpl_table."_id=".$this->addslashes($this->stundenplan_id).";";
|
||||
}
|
||||
|
||||
if(pg_query($this->conn,$qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Stundenplanes:'.pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Loescht einen Eintrag aus der Stundenplantabelle
|
||||
// ****
|
||||
function delete($id)
|
||||
{
|
||||
if(!is_numeric($id))
|
||||
{
|
||||
$this->errormsg = 'ID muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM lehre.tbl_$this->stpl_table WHERE ".$this->stpl_table."_id='$id'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen des Eintrages: '.pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -47,6 +47,12 @@ ini_set('display_errors','1');
|
||||
if (!$conn = @pg_pconnect(CONN_STRING))
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
die("Encoding konnte nicht gesetzt werden");
|
||||
}
|
||||
|
||||
$getuid=get_uid();
|
||||
$datum_obj = new datum();
|
||||
$htmlstr = "";
|
||||
|
||||
@@ -1,366 +1,366 @@
|
||||
<?php
|
||||
/* Copyright (C) 2008 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>.
|
||||
*/
|
||||
|
||||
//PDF fuer die Anwesenheitsliste auf CIS
|
||||
|
||||
//PDF erzeugen
|
||||
$pdf = new PDF('P','pt');
|
||||
$pdf->Open();
|
||||
$pdf->AddPage();
|
||||
$pdf->AliasNbPages();
|
||||
|
||||
$pdf->SetFillColor(111,111,111);
|
||||
$pdf->SetXY(30,40);
|
||||
$stgobj=new studiengang($conn);
|
||||
$stgobj->load($stg);
|
||||
//Logo
|
||||
$pdf->Image("../../../skin/images/logo.jpg","430","55","120","35","jpg","");
|
||||
//$pdf->Image("../../../skin/images/tw_logo_02.jpg","400","30","116","43","jpg","");
|
||||
|
||||
$lvobj = new lehrveranstaltung($conn, $lvid);
|
||||
|
||||
$pdf->SetFont('Arial','',16);
|
||||
$pdf->MultiCell(0,20,'Anwesenheitsliste '.$lvobj->bezeichnung,0,'L',0);
|
||||
|
||||
$pdf->SetFont('Arial','',10);
|
||||
$pdf->SetFillColor(190,190,190);
|
||||
//Bei langen Namen muss der Gruppenname etwas weiter unten angezeigt werden da er
|
||||
//sonst von der zweiten Zeile des Titels ueberschrieben wird.
|
||||
if(strlen($lvobj->bezeichnung)>50)
|
||||
$pdf->SetXY(30,75);
|
||||
else
|
||||
$pdf->SetXY(30,60);
|
||||
|
||||
//$stsem_obj = new studiensemester($conn);
|
||||
//$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
$qry = "SELECT distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, semester, verband, gruppe, gruppe_kurzbz from campus.vw_lehreinheit WHERE lehrveranstaltung_id='".addslashes($lvid)."' AND studiensemester_kurzbz='".addslashes($stsem)."'";
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
|
||||
$gruppen='';
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($gruppen!='')
|
||||
$gruppen.=', ';
|
||||
if($row->gruppe_kurzbz=='')
|
||||
$gruppen.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe);
|
||||
else
|
||||
$gruppen.=$row->gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
if(strlen($gruppen)>50)
|
||||
$linebreak="\n";
|
||||
else
|
||||
$linebreak=' ';
|
||||
$pdf->MultiCell(0,15,'Gruppe: '.$gruppen.$linebreak.'Studiensemester: '.$stsem);
|
||||
|
||||
$maxY=$pdf->GetY();
|
||||
$maxY=getmax($maxY,$pdf->GetY());
|
||||
|
||||
|
||||
$pdf->SetFont('Arial','B',12);
|
||||
|
||||
$pdf->SetXY(30,90);
|
||||
$pdf->MultiCell(0,20,'Monat _________');
|
||||
|
||||
//Anfang Tabelle
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$lineheight=12;
|
||||
//Datum
|
||||
$maxY=$pdf->GetY()+10;
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(280,$lineheight,'Datum',1,'L',0);
|
||||
$maxX +=280;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
|
||||
//Anzahl der abgehaltenen Stunden
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(280,$lineheight,'Anzahl der abgehaltenen Stunden',1,'L',0);
|
||||
$maxX +=280;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
|
||||
//Lektoren
|
||||
$pdf->SetFont('Arial','B',10);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(520,$lineheight+2,'Lektoren',1,'L',1);
|
||||
|
||||
//Schleife aller lektoren
|
||||
|
||||
$qry = "SELECT
|
||||
distinct vorname, nachname
|
||||
FROM campus.vw_benutzer, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
uid=mitarbeiter_uid AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
lehrveranstaltung_id='".addslashes($lvid)."' AND
|
||||
studiensemester_kurzbz='$stsem' ";
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND tbl_lehreinheit.lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
$qry.=" ORDER BY nachname, vorname;";
|
||||
|
||||
if($result = pg_query($conn,$qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(280,$lineheight,"$row->vorname $row->nachname",1,'L',0);
|
||||
$maxX +=280;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
}
|
||||
}
|
||||
//Studenten
|
||||
$pdf->SetFont('Arial','B',10);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(520,$lineheight+2,'Studenten',1,'L',1);
|
||||
|
||||
$maxY=$pdf->GetY();
|
||||
$pdf->tablewidths = array(20,140,60,60,40,40,40,40,40,40); //Spaltenbreiten setzen
|
||||
$pdf->SetLeftMargin(30);
|
||||
$pdf->SetTopMargin(100); // Auch in der Funktion Header umstellen!!!
|
||||
|
||||
$aligns = array('R','L','C','C','L','L','L','L','L','L'); //Ausrichtung der Tabellen festlegen
|
||||
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->SetXY(30,$maxY);
|
||||
$inhalt[]=array(' ','Hörer/Name','Kennzeichen','Gruppe','','','','','',''); //Spaltenueberschriften
|
||||
|
||||
//Studenten holen
|
||||
|
||||
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(20,$lineheight,'',1,'R',0);
|
||||
$maxX +=20;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','B',8);
|
||||
$pdf->MultiCell(130,$lineheight,'Hörer/Name',1,'L',0);
|
||||
$maxX +=130;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,'Kennzeichen',1,'C',0);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,'Gruppe',1,'C',0);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$stsem_obj = new studiensemester($conn);
|
||||
$stsem_obj->load($stsem);
|
||||
$stsemdatumvon = $stsem_obj->start;
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
|
||||
$qry = "SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr,
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
|
||||
(SELECT rolle_kurzbz FROM public.tbl_prestudentrolle WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
|
||||
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis,
|
||||
tbl_zeugnisnote.note
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'";
|
||||
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
|
||||
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
|
||||
//echo $qry;
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
$i=0;
|
||||
while($elem = pg_fetch_object($result))
|
||||
{
|
||||
//Abbrecher und Unterbrecher nicht anzeigen
|
||||
if($elem->status!='Abbrecher' && $elem->status!='Unterbrecher')
|
||||
{
|
||||
$i++;
|
||||
if($i%2)
|
||||
$pdf->SetFillColor(190,190,190);
|
||||
else
|
||||
$pdf->SetFillColor(255,255,255);
|
||||
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$maxY=$pdf->GetY();
|
||||
if($maxY>770)
|
||||
{
|
||||
$pdf->AddPage();
|
||||
$maxY=$pdf->GetY();
|
||||
}
|
||||
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(20,$lineheight,$i,1,'R',1);
|
||||
$maxX +=20;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Courier','B',8);
|
||||
$pdf->MultiCell(130,$lineheight,$elem->nachname,1,'L',1);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->SetXY($maxX+strlen($elem->nachname)*5+1,$maxY);
|
||||
if($elem->status=='Incoming') //Incoming
|
||||
$inc=' (i)';
|
||||
else
|
||||
$inc='';
|
||||
|
||||
if($elem->bisio_id!='' && $elem->status!='Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis=='') && $elem->von < $stsemdatumbis) //Outgoing
|
||||
$inc.=' (o)';
|
||||
|
||||
if($elem->note==6) //angerechnet
|
||||
$inc.=' (ar)';
|
||||
|
||||
$pdf->MultiCell(130,$lineheight,$elem->vorname.$inc,0,'L',0);
|
||||
$maxX +=130;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->MultiCell(65,$lineheight,trim($elem->matrikelnr),1,'C',1);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,$elem->semester.$elem->verband.$elem->gruppe,1,'C',1);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$inhalt[]=array($i,$elem->nachname.' '.$elem->vorname,trim($elem->matrikelnr),$elem->semester.$elem->verband.$elem->gruppe,'','','','','','');
|
||||
}
|
||||
}
|
||||
}
|
||||
//Fussnote
|
||||
$maxY=$pdf->GetY()+5;
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->MultiCell(520,$lineheight,'(i) ... Incoming',0,'L',0);
|
||||
$pdf->MultiCell(520,$lineheight,'(o) ... Outgoing',0,'L',0);
|
||||
$pdf->MultiCell(520,$lineheight,'(ar) ... angerechnet',0,'L',0);
|
||||
|
||||
//FHStg
|
||||
$maxY=$pdf->GetY()+5;
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','B',8);
|
||||
$pdf->MultiCell(520,$lineheight,'Fachhochschulstudiengang ('.strtoupper($stgobj->typ).') '.$stgobj->bezeichnung,0,'L',0);
|
||||
|
||||
//FHStg
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->MultiCell(520,$lineheight,'Fehlt ein Student länger als 2 Wochen, bitte um einen deutlichen Vermerk auf der Anwesenheitsliste. Die Anwesenheitsliste bitte am Ende des Monats im Sekretariat abgeben! Bitte achten Sie darauf, dass Sie nur VOLLSTÄNDIG AUSGEFÜLLTE LISTEN abgeben!',0,'L',0);
|
||||
|
||||
|
||||
$pdf->Output('anwesenheitsliste.pdf','I');
|
||||
<?php
|
||||
/* Copyright (C) 2008 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>.
|
||||
*/
|
||||
|
||||
//PDF fuer die Anwesenheitsliste auf CIS
|
||||
|
||||
//PDF erzeugen
|
||||
$pdf = new PDF('P','pt');
|
||||
$pdf->Open();
|
||||
$pdf->AddPage();
|
||||
$pdf->AliasNbPages();
|
||||
|
||||
$pdf->SetFillColor(111,111,111);
|
||||
$pdf->SetXY(30,40);
|
||||
$stgobj=new studiengang($conn);
|
||||
$stgobj->load($stg);
|
||||
//Logo
|
||||
$pdf->Image("../../../skin/images/logo.jpg","430","55","120","35","jpg","");
|
||||
//$pdf->Image("../../../skin/images/tw_logo_02.jpg","400","30","116","43","jpg","");
|
||||
|
||||
$lvobj = new lehrveranstaltung($conn, $lvid);
|
||||
|
||||
$pdf->SetFont('Arial','',16);
|
||||
$pdf->MultiCell(0,20,'Anwesenheitsliste '.$lvobj->bezeichnung,0,'L',0);
|
||||
|
||||
$pdf->SetFont('Arial','',10);
|
||||
$pdf->SetFillColor(190,190,190);
|
||||
//Bei langen Namen muss der Gruppenname etwas weiter unten angezeigt werden da er
|
||||
//sonst von der zweiten Zeile des Titels ueberschrieben wird.
|
||||
if(strlen($lvobj->bezeichnung)>50)
|
||||
$pdf->SetXY(30,75);
|
||||
else
|
||||
$pdf->SetXY(30,60);
|
||||
|
||||
//$stsem_obj = new studiensemester($conn);
|
||||
//$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
$qry = "SELECT distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, semester, verband, gruppe, gruppe_kurzbz from campus.vw_lehreinheit WHERE lehrveranstaltung_id='".addslashes($lvid)."' AND studiensemester_kurzbz='".addslashes($stsem)."'";
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
|
||||
$gruppen='';
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($gruppen!='')
|
||||
$gruppen.=', ';
|
||||
if($row->gruppe_kurzbz=='')
|
||||
$gruppen.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe);
|
||||
else
|
||||
$gruppen.=$row->gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
if(strlen($gruppen)>50)
|
||||
$linebreak="\n";
|
||||
else
|
||||
$linebreak=' ';
|
||||
$pdf->MultiCell(0,15,'Gruppe: '.$gruppen.$linebreak.'Studiensemester: '.$stsem);
|
||||
|
||||
$maxY=$pdf->GetY();
|
||||
$maxY=getmax($maxY,$pdf->GetY());
|
||||
|
||||
|
||||
$pdf->SetFont('Arial','B',12);
|
||||
|
||||
$pdf->SetXY(30,90);
|
||||
$pdf->MultiCell(0,20,'Monat _________');
|
||||
|
||||
//Anfang Tabelle
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$lineheight=12;
|
||||
//Datum
|
||||
$maxY=$pdf->GetY()+10;
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(280,$lineheight,'Datum',1,'L',0);
|
||||
$maxX +=280;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
|
||||
//Anzahl der abgehaltenen Stunden
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(280,$lineheight,'Anzahl der abgehaltenen Stunden',1,'L',0);
|
||||
$maxX +=280;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
|
||||
//Lektoren
|
||||
$pdf->SetFont('Arial','B',10);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(520,$lineheight+2,'Lektoren',1,'L',1);
|
||||
|
||||
//Schleife aller lektoren
|
||||
|
||||
$qry = "SELECT
|
||||
distinct vorname, nachname
|
||||
FROM campus.vw_benutzer, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
uid=mitarbeiter_uid AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
lehrveranstaltung_id='".addslashes($lvid)."' AND
|
||||
studiensemester_kurzbz='$stsem' ";
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND tbl_lehreinheit.lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
$qry.=" ORDER BY nachname, vorname;";
|
||||
|
||||
if($result = pg_query($conn,$qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(280,$lineheight,"$row->vorname $row->nachname",1,'L',0);
|
||||
$maxX +=280;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
}
|
||||
}
|
||||
//Studenten
|
||||
$pdf->SetFont('Arial','B',10);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(520,$lineheight+2,'Studenten',1,'L',1);
|
||||
|
||||
$maxY=$pdf->GetY();
|
||||
$pdf->tablewidths = array(20,140,60,60,40,40,40,40,40,40); //Spaltenbreiten setzen
|
||||
$pdf->SetLeftMargin(30);
|
||||
$pdf->SetTopMargin(100); // Auch in der Funktion Header umstellen!!!
|
||||
|
||||
$aligns = array('R','L','C','C','L','L','L','L','L','L'); //Ausrichtung der Tabellen festlegen
|
||||
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->SetXY(30,$maxY);
|
||||
$inhalt[]=array(' ','Hörer/Name','Kennzeichen','Gruppe','','','','','',''); //Spaltenueberschriften
|
||||
|
||||
//Studenten holen
|
||||
|
||||
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(20,$lineheight,'',1,'R',0);
|
||||
$maxX +=20;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','B',8);
|
||||
$pdf->MultiCell(130,$lineheight,'Hörer/Name',1,'L',0);
|
||||
$maxX +=130;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,'Kennzeichen',1,'C',0);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,'Gruppe',1,'C',0);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',0);
|
||||
$stsem_obj = new studiensemester($conn);
|
||||
$stsem_obj->load($stsem);
|
||||
$stsemdatumvon = $stsem_obj->start;
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
|
||||
$qry = "SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr,
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
|
||||
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
|
||||
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis,
|
||||
tbl_zeugnisnote.note
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'";
|
||||
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
|
||||
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
|
||||
//echo $qry;
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
$i=0;
|
||||
while($elem = pg_fetch_object($result))
|
||||
{
|
||||
//Abbrecher und Unterbrecher nicht anzeigen
|
||||
if($elem->status!='Abbrecher' && $elem->status!='Unterbrecher')
|
||||
{
|
||||
$i++;
|
||||
if($i%2)
|
||||
$pdf->SetFillColor(190,190,190);
|
||||
else
|
||||
$pdf->SetFillColor(255,255,255);
|
||||
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$maxY=$pdf->GetY();
|
||||
if($maxY>770)
|
||||
{
|
||||
$pdf->AddPage();
|
||||
$maxY=$pdf->GetY();
|
||||
}
|
||||
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(20,$lineheight,$i,1,'R',1);
|
||||
$maxX +=20;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Courier','B',8);
|
||||
$pdf->MultiCell(130,$lineheight,$elem->nachname,1,'L',1);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->SetXY($maxX+strlen($elem->nachname)*5+1,$maxY);
|
||||
if($elem->status=='Incoming') //Incoming
|
||||
$inc=' (i)';
|
||||
else
|
||||
$inc='';
|
||||
|
||||
if($elem->bisio_id!='' && $elem->status!='Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis=='') && $elem->von < $stsemdatumbis) //Outgoing
|
||||
$inc.=' (o)';
|
||||
|
||||
if($elem->note==6) //angerechnet
|
||||
$inc.=' (ar)';
|
||||
|
||||
$pdf->MultiCell(130,$lineheight,$elem->vorname.$inc,0,'L',0);
|
||||
$maxX +=130;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->MultiCell(65,$lineheight,trim($elem->matrikelnr),1,'C',1);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,$elem->semester.$elem->verband.$elem->gruppe,1,'C',1);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$maxX +=40;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(40,$lineheight,'',1,'L',1);
|
||||
$inhalt[]=array($i,$elem->nachname.' '.$elem->vorname,trim($elem->matrikelnr),$elem->semester.$elem->verband.$elem->gruppe,'','','','','','');
|
||||
}
|
||||
}
|
||||
}
|
||||
//Fussnote
|
||||
$maxY=$pdf->GetY()+5;
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->MultiCell(520,$lineheight,'(i) ... Incoming',0,'L',0);
|
||||
$pdf->MultiCell(520,$lineheight,'(o) ... Outgoing',0,'L',0);
|
||||
$pdf->MultiCell(520,$lineheight,'(ar) ... angerechnet',0,'L',0);
|
||||
|
||||
//FHStg
|
||||
$maxY=$pdf->GetY()+5;
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','B',8);
|
||||
$pdf->MultiCell(520,$lineheight,'Fachhochschulstudiengang ('.strtoupper($stgobj->typ).') '.$stgobj->bezeichnung,0,'L',0);
|
||||
|
||||
//FHStg
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->MultiCell(520,$lineheight,'Fehlt ein Student länger als 2 Wochen, bitte um einen deutlichen Vermerk auf der Anwesenheitsliste. Die Anwesenheitsliste bitte am Ende des Monats im Sekretariat abgeben! Bitte achten Sie darauf, dass Sie nur VOLLSTÄNDIG AUSGEFÜLLTE LISTEN abgeben!',0,'L',0);
|
||||
|
||||
|
||||
$pdf->Output('anwesenheitsliste.pdf','I');
|
||||
?>
|
||||
@@ -1,230 +1,230 @@
|
||||
<?php
|
||||
/* Copyright (C) 2008 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>.
|
||||
*/
|
||||
|
||||
//PDF fuer die Anwesenheitsliste auf CIS
|
||||
|
||||
//PDF erzeugen
|
||||
$pdf = new PDF('P','pt');
|
||||
$pdf->Open();
|
||||
$pdf->AddPage();
|
||||
$pdf->AliasNbPages();
|
||||
|
||||
$pdf->SetFillColor(111,111,111);
|
||||
$pdf->SetXY(30,40);
|
||||
$stgobj=new studiengang($conn);
|
||||
$stgobj->load($stg);
|
||||
//Logo
|
||||
$pdf->Image("../../../skin/images/logo.jpg","430","55","120","35","jpg","");
|
||||
//$pdf->Image("../../../skin/images/tw_logo_02.jpg","400","30","116","43","jpg","");
|
||||
|
||||
$lvobj = new lehrveranstaltung($conn, $lvid);
|
||||
|
||||
$pdf->SetFont('Arial','',16);
|
||||
$pdf->MultiCell(0,20,'Anwesenheitsliste '.$lvobj->bezeichnung,0,'L',0);
|
||||
|
||||
$pdf->SetFont('Arial','',10);
|
||||
$pdf->SetFillColor(190,190,190);
|
||||
//Bei langen Namen muss der Gruppenname etwas weiter unten angezeigt werden da er
|
||||
//sonst von der zweiten Zeile des Titels ueberschrieben wird.
|
||||
if(strlen($lvobj->bezeichnung)>50)
|
||||
$pdf->SetXY(30,75);
|
||||
else
|
||||
$pdf->SetXY(30,60);
|
||||
|
||||
//$stsem_obj = new studiensemester($conn);
|
||||
//$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
$qry = "SELECT distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, semester, verband, gruppe, gruppe_kurzbz from campus.vw_lehreinheit WHERE lehrveranstaltung_id='".addslashes($lvid)."' AND studiensemester_kurzbz='".addslashes($stsem)."'";
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
|
||||
$gruppen='';
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($gruppen!='')
|
||||
$gruppen.=', ';
|
||||
if($row->gruppe_kurzbz=='')
|
||||
$gruppen.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe);
|
||||
else
|
||||
$gruppen.=$row->gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
$pdf->MultiCell(0,20,'Gruppe: '.$gruppen);
|
||||
$pdf->MultiCell(0,20,'Studiensemester: '.$stsem);
|
||||
|
||||
$maxY=$pdf->GetY();
|
||||
$maxY=getmax($maxY,$pdf->GetY());
|
||||
|
||||
|
||||
$pdf->SetFont('Arial','B',12);
|
||||
|
||||
//Studenten
|
||||
$pdf->SetFont('Arial','B',10);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
|
||||
$maxY=$pdf->GetY();
|
||||
$pdf->tablewidths = array(20,140,60,60,60); //Spaltenbreiten setzen
|
||||
$pdf->SetLeftMargin(30);
|
||||
$pdf->SetTopMargin(100); // Auch in der Funktion Header umstellen!!!
|
||||
|
||||
$aligns = array('R','L','C','C','C'); //Ausrichtung der Tabellen festlegen
|
||||
$maxY+=10;
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->SetXY(30,$maxY);
|
||||
$lineheight=10;
|
||||
//Studenten holen
|
||||
|
||||
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(20,$lineheight,'',1,'R',0);
|
||||
$maxX +=20;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','B',8);
|
||||
$pdf->MultiCell(130,$lineheight,'Hörer/Name',1,'L',0);
|
||||
$maxX +=130;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,'Kennzeichen',1,'C',0);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,'Gruppe',1,'C',0);
|
||||
$maxX +=65;
|
||||
//$pdf->SetXY($maxX,$maxY);
|
||||
//$pdf->MultiCell(80,$lineheight,'Foto',1,'C',0);
|
||||
$stsem_obj = new studiensemester($conn);
|
||||
$stsem_obj->load($stsem);
|
||||
$stsemdatumvon = $stsem_obj->start;
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
$qry = "SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id,
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
|
||||
(SELECT rolle_kurzbz FROM public.tbl_prestudentrolle WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
|
||||
tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von,
|
||||
tbl_zeugnisnote.note
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'";
|
||||
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
|
||||
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
|
||||
$lineheight=80;
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
$i=0;
|
||||
while($elem = pg_fetch_object($result))
|
||||
{
|
||||
//Abbrecher und Unterbrecher nicht anzeigen
|
||||
if($elem->status!='Abbrecher' && $elem->status!='Unterbrecher')
|
||||
{
|
||||
$i++;
|
||||
if($i%2)
|
||||
$pdf->SetFillColor(190,190,190);
|
||||
else
|
||||
$pdf->SetFillColor(255,255,255);
|
||||
|
||||
$pdf->SetFont('Arial','',10);
|
||||
$maxY=$pdf->GetY();
|
||||
if($maxY>660)
|
||||
{
|
||||
$pdf->AddPage();
|
||||
$maxY=$pdf->GetY();
|
||||
}
|
||||
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(20,$lineheight,$i,1,'R',1);
|
||||
$maxX +=20;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Courier','B',10);
|
||||
$pdf->MultiCell(130,$lineheight,$elem->nachname,1,'L',1);
|
||||
$pdf->SetFont('Arial','',10);
|
||||
$pdf->SetXY($maxX+strlen($elem->nachname)*6+2,$maxY);
|
||||
if($elem->status=='Incoming')
|
||||
$inc=' (i)';
|
||||
else
|
||||
$inc='';
|
||||
|
||||
if($elem->bisio_id!='' && $elem->status!='Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis=='') && $elem->von < $stsemdatumbis) //Outgoing
|
||||
$inc.=' (o)';
|
||||
|
||||
if($elem->note==6) //angerechnet
|
||||
$inc.=' (ar)';
|
||||
|
||||
$pdf->MultiCell(130,$lineheight,$elem->vorname.$inc,0,'L',0);
|
||||
$maxX +=130;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',10);
|
||||
$pdf->MultiCell(65,$lineheight,trim($elem->matrikelnr),1,'C',1);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,$elem->semester.$elem->verband.$elem->gruppe,1,'C',1);
|
||||
$maxX +=65;
|
||||
// $pdf->SetXY($maxX,$maxY);
|
||||
// $pdf->MultiCell(80,$lineheight,'',0,'L',1);
|
||||
$pdf->Image(APP_ROOT."cis/public/bild.php?src=person&person_id=$elem->person_id",$maxX+1,$maxY+1,0,"78","jpg","");
|
||||
|
||||
$inhalt[]=array($i,$elem->nachname.' '.$elem->vorname,trim($elem->matrikelnr),$elem->semester.$elem->verband.$elem->gruppe,'');
|
||||
}
|
||||
}
|
||||
}
|
||||
$lineheight=10;
|
||||
//Fussnote
|
||||
$maxY=$pdf->GetY()+5;
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->MultiCell(520,$lineheight,'(i) ... Incoming',0,'L',0);
|
||||
$pdf->MultiCell(520,$lineheight,'(o) ... Outgoing',0,'L',0);
|
||||
$pdf->MultiCell(520,$lineheight,'(ar) ... angerechnet',0,'L',0);
|
||||
|
||||
//FHStg
|
||||
$maxY=$pdf->GetY()+5;
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','B',8);
|
||||
$pdf->MultiCell(520,$lineheight,'Fachhochschulstudiengang ('.strtoupper($stgobj->typ).') '.$stgobj->bezeichnung,0,'L',0);
|
||||
|
||||
//FHStg
|
||||
/*
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->MultiCell(520,$lineheight,'Fehlt ein Student länger als 2 Wochen, bitte um einen deutlichen Vermerk auf der Anwesenheitsliste. Die Anwesenheitsliste bitte am Ende des Monats im Sekretariat abgeben! Bitte achten Sie darauf, dass Sie nur VOLLSTÄNDIG AUSGEFÜLLTE LISTEN abgeben!',0,'L',0);
|
||||
*/
|
||||
|
||||
$pdf->Output('anwesenheitsliste.pdf','I');
|
||||
<?php
|
||||
/* Copyright (C) 2008 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>.
|
||||
*/
|
||||
|
||||
//PDF fuer die Anwesenheitsliste auf CIS
|
||||
|
||||
//PDF erzeugen
|
||||
$pdf = new PDF('P','pt');
|
||||
$pdf->Open();
|
||||
$pdf->AddPage();
|
||||
$pdf->AliasNbPages();
|
||||
|
||||
$pdf->SetFillColor(111,111,111);
|
||||
$pdf->SetXY(30,40);
|
||||
$stgobj=new studiengang($conn);
|
||||
$stgobj->load($stg);
|
||||
//Logo
|
||||
$pdf->Image("../../../skin/images/logo.jpg","430","55","120","35","jpg","");
|
||||
//$pdf->Image("../../../skin/images/tw_logo_02.jpg","400","30","116","43","jpg","");
|
||||
|
||||
$lvobj = new lehrveranstaltung($conn, $lvid);
|
||||
|
||||
$pdf->SetFont('Arial','',16);
|
||||
$pdf->MultiCell(0,20,'Anwesenheitsliste '.$lvobj->bezeichnung,0,'L',0);
|
||||
|
||||
$pdf->SetFont('Arial','',10);
|
||||
$pdf->SetFillColor(190,190,190);
|
||||
//Bei langen Namen muss der Gruppenname etwas weiter unten angezeigt werden da er
|
||||
//sonst von der zweiten Zeile des Titels ueberschrieben wird.
|
||||
if(strlen($lvobj->bezeichnung)>50)
|
||||
$pdf->SetXY(30,75);
|
||||
else
|
||||
$pdf->SetXY(30,60);
|
||||
|
||||
//$stsem_obj = new studiensemester($conn);
|
||||
//$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
$qry = "SELECT distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, semester, verband, gruppe, gruppe_kurzbz from campus.vw_lehreinheit WHERE lehrveranstaltung_id='".addslashes($lvid)."' AND studiensemester_kurzbz='".addslashes($stsem)."'";
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
|
||||
$gruppen='';
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($gruppen!='')
|
||||
$gruppen.=', ';
|
||||
if($row->gruppe_kurzbz=='')
|
||||
$gruppen.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe);
|
||||
else
|
||||
$gruppen.=$row->gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
$pdf->MultiCell(0,20,'Gruppe: '.$gruppen);
|
||||
$pdf->MultiCell(0,20,'Studiensemester: '.$stsem);
|
||||
|
||||
$maxY=$pdf->GetY();
|
||||
$maxY=getmax($maxY,$pdf->GetY());
|
||||
|
||||
|
||||
$pdf->SetFont('Arial','B',12);
|
||||
|
||||
//Studenten
|
||||
$pdf->SetFont('Arial','B',10);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
|
||||
$maxY=$pdf->GetY();
|
||||
$pdf->tablewidths = array(20,140,60,60,60); //Spaltenbreiten setzen
|
||||
$pdf->SetLeftMargin(30);
|
||||
$pdf->SetTopMargin(100); // Auch in der Funktion Header umstellen!!!
|
||||
|
||||
$aligns = array('R','L','C','C','C'); //Ausrichtung der Tabellen festlegen
|
||||
$maxY+=10;
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->SetXY(30,$maxY);
|
||||
$lineheight=10;
|
||||
//Studenten holen
|
||||
|
||||
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(20,$lineheight,'',1,'R',0);
|
||||
$maxX +=20;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','B',8);
|
||||
$pdf->MultiCell(130,$lineheight,'Hörer/Name',1,'L',0);
|
||||
$maxX +=130;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,'Kennzeichen',1,'C',0);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,'Gruppe',1,'C',0);
|
||||
$maxX +=65;
|
||||
//$pdf->SetXY($maxX,$maxY);
|
||||
//$pdf->MultiCell(80,$lineheight,'Foto',1,'C',0);
|
||||
$stsem_obj = new studiensemester($conn);
|
||||
$stsem_obj->load($stsem);
|
||||
$stsemdatumvon = $stsem_obj->start;
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
$qry = "SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id,
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
|
||||
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
|
||||
tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von,
|
||||
tbl_zeugnisnote.note
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'";
|
||||
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
|
||||
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
|
||||
$lineheight=80;
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
$i=0;
|
||||
while($elem = pg_fetch_object($result))
|
||||
{
|
||||
//Abbrecher und Unterbrecher nicht anzeigen
|
||||
if($elem->status!='Abbrecher' && $elem->status!='Unterbrecher')
|
||||
{
|
||||
$i++;
|
||||
if($i%2)
|
||||
$pdf->SetFillColor(190,190,190);
|
||||
else
|
||||
$pdf->SetFillColor(255,255,255);
|
||||
|
||||
$pdf->SetFont('Arial','',10);
|
||||
$maxY=$pdf->GetY();
|
||||
if($maxY>660)
|
||||
{
|
||||
$pdf->AddPage();
|
||||
$maxY=$pdf->GetY();
|
||||
}
|
||||
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(20,$lineheight,$i,1,'R',1);
|
||||
$maxX +=20;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Courier','B',10);
|
||||
$pdf->MultiCell(130,$lineheight,$elem->nachname,1,'L',1);
|
||||
$pdf->SetFont('Arial','',10);
|
||||
$pdf->SetXY($maxX+strlen($elem->nachname)*6+2,$maxY);
|
||||
if($elem->status=='Incoming')
|
||||
$inc=' (i)';
|
||||
else
|
||||
$inc='';
|
||||
|
||||
if($elem->bisio_id!='' && $elem->status!='Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis=='') && $elem->von < $stsemdatumbis) //Outgoing
|
||||
$inc.=' (o)';
|
||||
|
||||
if($elem->note==6) //angerechnet
|
||||
$inc.=' (ar)';
|
||||
|
||||
$pdf->MultiCell(130,$lineheight,$elem->vorname.$inc,0,'L',0);
|
||||
$maxX +=130;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',10);
|
||||
$pdf->MultiCell(65,$lineheight,trim($elem->matrikelnr),1,'C',1);
|
||||
$maxX +=65;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(65,$lineheight,$elem->semester.$elem->verband.$elem->gruppe,1,'C',1);
|
||||
$maxX +=65;
|
||||
// $pdf->SetXY($maxX,$maxY);
|
||||
// $pdf->MultiCell(80,$lineheight,'',0,'L',1);
|
||||
$pdf->Image(APP_ROOT."cis/public/bild.php?src=person&person_id=$elem->person_id",$maxX+1,$maxY+1,0,"78","jpg","");
|
||||
|
||||
$inhalt[]=array($i,$elem->nachname.' '.$elem->vorname,trim($elem->matrikelnr),$elem->semester.$elem->verband.$elem->gruppe,'');
|
||||
}
|
||||
}
|
||||
}
|
||||
$lineheight=10;
|
||||
//Fussnote
|
||||
$maxY=$pdf->GetY()+5;
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->MultiCell(520,$lineheight,'(i) ... Incoming',0,'L',0);
|
||||
$pdf->MultiCell(520,$lineheight,'(o) ... Outgoing',0,'L',0);
|
||||
$pdf->MultiCell(520,$lineheight,'(ar) ... angerechnet',0,'L',0);
|
||||
|
||||
//FHStg
|
||||
$maxY=$pdf->GetY()+5;
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','B',8);
|
||||
$pdf->MultiCell(520,$lineheight,'Fachhochschulstudiengang ('.strtoupper($stgobj->typ).') '.$stgobj->bezeichnung,0,'L',0);
|
||||
|
||||
//FHStg
|
||||
/*
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=30;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',8);
|
||||
$pdf->MultiCell(520,$lineheight,'Fehlt ein Student länger als 2 Wochen, bitte um einen deutlichen Vermerk auf der Anwesenheitsliste. Die Anwesenheitsliste bitte am Ende des Monats im Sekretariat abgeben! Bitte achten Sie darauf, dass Sie nur VOLLSTÄNDIG AUSGEFÜLLTE LISTEN abgeben!',0,'L',0);
|
||||
*/
|
||||
|
||||
$pdf->Output('anwesenheitsliste.pdf','I');
|
||||
?>
|
||||
@@ -64,7 +64,7 @@ $menu=array
|
||||
'name'=>'Freifach', 'permissions'=>array('admin','lv-plan','support', 'lehre'),
|
||||
'Studenten'=>array('name'=>'Studenten', 'link'=>'lehre/freifach.php', 'target'=>'main'),
|
||||
'Lektoren'=>array('name'=>'Lektoren', 'link'=>'lehre/freifach_lektoren.php', 'target'=>'main'),
|
||||
'Studenten Vorrücken'=>array('name'=>'Studenten Vorrücken', 'link'=>'lehre/freifach_studentenvorrueckung.php', 'target'=>'main')
|
||||
'Studenten Vorrücken'=>array('name'=>'Studenten Vorrücken', 'link'=>'lehre/freifach_studentenvorrueckung.php', 'target'=>'main')
|
||||
),
|
||||
'LV-Planung'=>array
|
||||
(
|
||||
@@ -73,7 +73,7 @@ $menu=array
|
||||
'Check'=>array('name'=>'Checken', 'link'=>'lehre/check/index.html', 'target'=>'main'),
|
||||
'Kollision'=>array('name'=>'Kollision Student', 'link'=>'lehre/stpl_benutzer_kollision_frameset.html', 'target'=>'main'),
|
||||
'Stundenplan'=>array('name'=>'Stundenplan', 'link'=>'../cis/private/lvplan/index.html', 'target'=>'main'),
|
||||
'Zeitwuensche'=>array('name'=>'Zeitwünsche', 'link'=>'lehre/zeitwuensche.php', 'target'=>'main'),
|
||||
'Zeitwuensche'=>array('name'=>'Zeitwünsche', 'link'=>'lehre/zeitwuensche.php', 'target'=>'main'),
|
||||
//'Studenten'=>array('name'=>'Studenten', 'link'=>'lehre/lehrveranstaltung_frameset.html', 'target'=>'main'),
|
||||
//'Insert'=>array('name'=>'Insert', 'link'=>'lehre/stdplan_insert.php', 'target'=>'main'),
|
||||
//'Delete'=>array('name'=>'Delete', 'link'=>'lehre/stdplan_delete.php', 'target'=>'main'),
|
||||
@@ -89,7 +89,7 @@ $menu=array
|
||||
'Gruppen'=>array
|
||||
(
|
||||
'name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'lehre/einheit_menu.php', 'target'=>'main'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'lehre/einheit_menu.php', 'target'=>'main'),
|
||||
'Neu'=>array('name'=>'Neu', 'link'=>'lehre/einheit_menu.php?newFrm=true', 'target'=>'main')
|
||||
),
|
||||
'Benutzer'=>array
|
||||
@@ -101,7 +101,7 @@ $menu=array
|
||||
'Mitarbeiter'=>array
|
||||
(
|
||||
'name'=>'Mitarbeiter','permissions'=>array('admin','lv-plan','support'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
|
||||
'Neu'=>array('name'=>'Neu', 'link'=>'personen/lektor_edit.php?new=1', 'target'=>'main'),
|
||||
'Institute'=>array('name'=>'Institute', 'link'=>'personen/institutsliste.php', 'target'=>'main'),
|
||||
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main'),
|
||||
@@ -110,9 +110,9 @@ $menu=array
|
||||
'Studenten'=>array
|
||||
(
|
||||
'name'=>'Studenten','permissions'=>array('admin','lv-plan','support'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/studenten_uebersicht.php', 'target'=>'main'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/studenten_uebersicht.php', 'target'=>'main'),
|
||||
'Neu'=>array('name'=>'Neu', 'link'=>'personen/student_edit.php?new=1', 'target'=>'main'),
|
||||
'Vorrückung'=>array('name'=>'Vorrückung', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main'),
|
||||
'Vorrückung'=>array('name'=>'Vorrückung', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main'),
|
||||
),
|
||||
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.html', 'target'=>'main','permissions'=>array('admin','lv-plan','support')),
|
||||
'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','lv-plan','support','preinteressent'))
|
||||
@@ -150,7 +150,7 @@ $menu=array
|
||||
(
|
||||
'name'=>'Auswertung', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'),
|
||||
'Raumauslastung'=>array('name'=>'Raumauslastung', 'link'=>'lehre/raumauslastung.php', 'target'=>'main'),
|
||||
'Zeitwünsche'=>array('name'=>'Zeitwünsche', 'link'=>'lehre/zeitwuensche.php', 'target'=>'main')
|
||||
'Zeitwünsche'=>array('name'=>'Zeitwünsche', 'link'=>'lehre/zeitwuensche.php', 'target'=>'main')
|
||||
)
|
||||
);
|
||||
?>
|
||||
@@ -76,7 +76,7 @@ class uebung
|
||||
function uebung($conn, $uebung_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -87,7 +87,7 @@ class uebung
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if($uebung_id!=null)
|
||||
$this->load($uebung_id);
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ class vorschlag
|
||||
function vorschlag($conn, $vorschlag_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
@@ -64,7 +64,7 @@ class vorschlag
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
if($vorschlag_id != null)
|
||||
$this->load($vorschlag_id);
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ class zeitaufzeichnung
|
||||
function zeitaufzeichnung($conn, $zeitaufzeichnung_id=null,$unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -74,7 +74,7 @@ class zeitaufzeichnung
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($zeitaufzeichnung_id != null)
|
||||
$this->load($zeitaufzeichnung_id);
|
||||
}
|
||||
|
||||
+348
-348
@@ -1,349 +1,349 @@
|
||||
<?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 zeitsperre
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var news Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $zeitsperre_id; // serial
|
||||
var $zeitsperretyp_kurzbz; // varchar(8)
|
||||
var $mitarbeiter_uid; // varchar(16)
|
||||
var $bezeichnung; // varchar(32)
|
||||
var $vondatum; // date
|
||||
var $vonstunde; // smallint
|
||||
var $bisdatum; // date
|
||||
var $bisstunde; // smallint
|
||||
var $erreichbarkeit_kurzbz; // varchar(5)
|
||||
var $vertretung_uid; // varchar(16)
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // string
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // string
|
||||
var $freigabeamum;
|
||||
var $freigabevon;
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $zeitsperre_id ID der zu ladenden Funktion
|
||||
*/
|
||||
function zeitsperre($conn, $zeitsperre_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($zeitsperre_id != null)
|
||||
$this->load($zeitsperre_id);
|
||||
}
|
||||
|
||||
// **********************************
|
||||
// * Laedt alle Zeitsperren bei denen
|
||||
// * ende>=now() ist und uid=$uid
|
||||
// **********************************
|
||||
function getzeitsperren($uid, $bisgrenze=true)
|
||||
{
|
||||
unset($this->result);
|
||||
$this->result=array();
|
||||
$qry = "SELECT tbl_zeitsperre.*, tbl_zeitsperretyp.*, tbl_erreichbarkeit.farbe AS erreichbarkeit_farbe
|
||||
FROM (campus.tbl_zeitsperre JOIN campus.tbl_zeitsperretyp USING (zeitsperretyp_kurzbz))
|
||||
LEFT JOIN campus.tbl_erreichbarkeit USING (erreichbarkeit_kurzbz)
|
||||
WHERE mitarbeiter_uid='".addslashes($uid)."'";
|
||||
|
||||
if($bisgrenze)
|
||||
$qry.=" AND (
|
||||
(date_part('month',vondatum)>=9 AND date_part('year', vondatum)>='".(date('Y')-1)."')
|
||||
OR
|
||||
(date_part('month',vondatum)<9 AND date_part('year', vondatum)>='".(date('Y'))."')
|
||||
)";
|
||||
//$qry.=" AND bisdatum>=now()::date";
|
||||
|
||||
$qry.= " ORDER BY vondatum DESC";
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
|
||||
$obj = new zeitsperre($this->conn);
|
||||
|
||||
$obj->zeitsperre_id = $row->zeitsperre_id;
|
||||
$obj->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
|
||||
$obj->zeitsperretyp_beschreibung = $row->beschreibung;
|
||||
$obj->zeitsperretyp_farbe = $row->farbe;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->vondatum = $row->vondatum;
|
||||
$obj->vonstunde = $row->vonstunde;
|
||||
$obj->bisdatum = $row->bisdatum;
|
||||
$obj->bisstunde = $row->bisstunde;
|
||||
$obj->erreichbarkeit = $row->erreichbarkeit_kurzbz;
|
||||
$obj->erreichbarkeit_farbe = $row->erreichbarkeit_farbe;
|
||||
$obj->erreichbarkeit_kurzbz = $row->erreichbarkeit_kurzbz;
|
||||
$obj->vertretung_uid = $row->vertretung_uid;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->freigabeamum = $row->freigabeamum;
|
||||
$obj->freigabevon = $row->freigabevon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Zeitsperren';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine Zeitsperre
|
||||
* @param $zeitsperre_id ID der zu laden ist
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($zeitsperre_id)
|
||||
{
|
||||
|
||||
if(!is_numeric($zeitsperre_id))
|
||||
{
|
||||
$this->errormsg = 'zeitsperre_id muß eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperre_id = '$zeitsperre_id';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->zeitsperre_id = $row->zeitsperre_id;
|
||||
$this->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->vondatum = $row->vondatum;
|
||||
$this->vonstunde = $row->vonstunde;
|
||||
$this->bisdatum = $row->bisdatum;
|
||||
$this->bisstunde = $row->bisstunde;
|
||||
$this->erreichbarkeit_kurzbz = $row->erreichbarkeit_kurzbz;
|
||||
$this->vertretung_uid = $row->vertretung_uid;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->freigabeamum = $row->freigabeamum;
|
||||
$this->freigabevon = $row->freigabevon;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $zeitsperre_id id des Datensatzes der geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($zeitsperre_id)
|
||||
{
|
||||
if(!is_numeric($zeitsperre_id))
|
||||
{
|
||||
$this->errormsg = 'Zeitsperre_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM campus.tbl_zeitsperre WHERE zeitsperre_id='$zeitsperre_id'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
if(strlen($this->bezeichnung)>32)
|
||||
{
|
||||
$this->errormsg = "Bezeichnung darf nicht laenger als 32 Zeichen sein";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->zeitsperretyp_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = "Zeitsperretyp_kurzbz darf nicht laenger als 8 Zeichen sein";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->mitarbeiter_uid)>32)
|
||||
{
|
||||
$this->errormsg = "Mitarbeiter_uid darf nicht laenger als 8 Zeichen sein";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->erreichbarkeit_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = "Erreichbarkeit darf nicht laenger als 8 Zeichen sein";
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save($new = null)
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if(!is_null($new))
|
||||
$this->new = $new;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
|
||||
$qry = 'INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz, mitarbeiter_uid, bezeichnung,'.
|
||||
' vondatum ,vonstunde, bisdatum, bisstunde, erreichbarkeit_kurzbz, vertretung_uid, insertamum,'.
|
||||
' insertvon, updateamum, updatevon, freigabeamum, freigabevon) VALUES ('.
|
||||
$this->addslashes($this->zeitsperretyp_kurzbz).', '.
|
||||
$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->vondatum).', '.
|
||||
$this->addslashes($this->vonstunde).', '.
|
||||
$this->addslashes($this->bisdatum).', '.
|
||||
$this->addslashes($this->bisstunde).', '.
|
||||
$this->addslashes($this->erreichbarkeit_kurzbz).', '.
|
||||
$this->addslashes($this->vertretung_uid).', '.
|
||||
$this->addslashes($this->insertamum).', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->freigabeamum).','.
|
||||
$this->addslashes($this->freigabevon).'); ';
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob zeitsperre_id eine gueltige Zahl ist
|
||||
if(!is_numeric($this->zeitsperre_id) || $this->zeitsperre_id == '')
|
||||
{
|
||||
$this->errormsg = 'Zeitsperre_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE campus.tbl_zeitsperre SET '.
|
||||
'zeitsperretyp_kurzbz='.$this->addslashes($this->zeitsperretyp_kurzbz).', '.
|
||||
'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
|
||||
'vondatum='.$this->addslashes($this->vondatum).', '.
|
||||
'vonstunde='.$this->addslashes($this->vonstunde).', '.
|
||||
'bisdatum='.$this->addslashes($this->bisdatum).', '.
|
||||
'bisstunde='.$this->addslashes($this->bisstunde).', '.
|
||||
'erreichbarkeit_kurzbz='.$this->addslashes($this->erreichbarkeit_kurzbz).', '.
|
||||
'vertretung_uid='.$this->addslashes($this->vertretung_uid).', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum).', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon).', '.
|
||||
'freigabeamum='.$this->addslashes($this->freigabeamum).', '.
|
||||
'freigabevon='.$this->addslashes($this->freigabevon).', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum).', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE zeitsperre_id = '.$this->addslashes($this->zeitsperre_id).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert ZeitsperreTypen eines Tages
|
||||
* @return string wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getTyp($datum)
|
||||
{
|
||||
$datum_obj=new datum();
|
||||
$typ='';
|
||||
foreach ($this->result as $zs)
|
||||
{
|
||||
$beginn=$datum_obj->mktime_fromdate($zs->vondatum);
|
||||
$ende=$datum_obj->mktime_fromdate($zs->bisdatum);
|
||||
|
||||
if ($datum>=$beginn && ((int)($datum/60/60/24)<=(int)($ende/60/60/24) || date('Y-m-d', $datum)==date('Y-m-d', $ende)))
|
||||
$typ.=$zs->zeitsperretyp_kurzbz;
|
||||
}
|
||||
return $typ;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert Erreichbarkeit der Zeitsperre eines Tages
|
||||
* @return string wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getErreichbarkeit($datum)
|
||||
{
|
||||
$datum_obj=new datum();
|
||||
$erbk='';
|
||||
foreach ($this->result as $zs)
|
||||
{
|
||||
$beginn=$datum_obj->mktime_fromdate($zs->vondatum);
|
||||
$ende=$datum_obj->mktime_fromdate($zs->bisdatum);
|
||||
if ($datum>=$beginn && ((int)($datum/60/60/24)<=(int)($ende/60/60/24) || date('Y-m-d', $datum)==date('Y-m-d', $ende)))
|
||||
$erbk.=$zs->erreichbarkeit;
|
||||
}
|
||||
return $erbk;
|
||||
}
|
||||
}
|
||||
<?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 zeitsperre
|
||||
{
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var news Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $zeitsperre_id; // serial
|
||||
var $zeitsperretyp_kurzbz; // varchar(8)
|
||||
var $mitarbeiter_uid; // varchar(16)
|
||||
var $bezeichnung; // varchar(32)
|
||||
var $vondatum; // date
|
||||
var $vonstunde; // smallint
|
||||
var $bisdatum; // date
|
||||
var $bisstunde; // smallint
|
||||
var $erreichbarkeit_kurzbz; // varchar(5)
|
||||
var $vertretung_uid; // varchar(16)
|
||||
var $updateamum; // timestamp
|
||||
var $updatevon; // string
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // string
|
||||
var $freigabeamum;
|
||||
var $freigabevon;
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $zeitsperre_id ID der zu ladenden Funktion
|
||||
*/
|
||||
function zeitsperre($conn, $zeitsperre_id=null)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
if($zeitsperre_id != null)
|
||||
$this->load($zeitsperre_id);
|
||||
}
|
||||
|
||||
// **********************************
|
||||
// * Laedt alle Zeitsperren bei denen
|
||||
// * ende>=now() ist und uid=$uid
|
||||
// **********************************
|
||||
function getzeitsperren($uid, $bisgrenze=true)
|
||||
{
|
||||
unset($this->result);
|
||||
$this->result=array();
|
||||
$qry = "SELECT tbl_zeitsperre.*, tbl_zeitsperretyp.*, tbl_erreichbarkeit.farbe AS erreichbarkeit_farbe
|
||||
FROM (campus.tbl_zeitsperre JOIN campus.tbl_zeitsperretyp USING (zeitsperretyp_kurzbz))
|
||||
LEFT JOIN campus.tbl_erreichbarkeit USING (erreichbarkeit_kurzbz)
|
||||
WHERE mitarbeiter_uid='".addslashes($uid)."'";
|
||||
|
||||
if($bisgrenze)
|
||||
$qry.=" AND (
|
||||
(date_part('month',vondatum)>=9 AND date_part('year', vondatum)>='".(date('Y')-1)."')
|
||||
OR
|
||||
(date_part('month',vondatum)<9 AND date_part('year', vondatum)>='".(date('Y'))."')
|
||||
)";
|
||||
//$qry.=" AND bisdatum>=now()::date";
|
||||
|
||||
$qry.= " ORDER BY vondatum DESC";
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
|
||||
$obj = new zeitsperre($this->conn);
|
||||
|
||||
$obj->zeitsperre_id = $row->zeitsperre_id;
|
||||
$obj->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
|
||||
$obj->zeitsperretyp_beschreibung = $row->beschreibung;
|
||||
$obj->zeitsperretyp_farbe = $row->farbe;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->vondatum = $row->vondatum;
|
||||
$obj->vonstunde = $row->vonstunde;
|
||||
$obj->bisdatum = $row->bisdatum;
|
||||
$obj->bisstunde = $row->bisstunde;
|
||||
$obj->erreichbarkeit = $row->erreichbarkeit_kurzbz;
|
||||
$obj->erreichbarkeit_farbe = $row->erreichbarkeit_farbe;
|
||||
$obj->erreichbarkeit_kurzbz = $row->erreichbarkeit_kurzbz;
|
||||
$obj->vertretung_uid = $row->vertretung_uid;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->freigabeamum = $row->freigabeamum;
|
||||
$obj->freigabevon = $row->freigabevon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Zeitsperren';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine Zeitsperre
|
||||
* @param $zeitsperre_id ID der zu laden ist
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function load($zeitsperre_id)
|
||||
{
|
||||
|
||||
if(!is_numeric($zeitsperre_id))
|
||||
{
|
||||
$this->errormsg = 'zeitsperre_id muß eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperre_id = '$zeitsperre_id';";
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->zeitsperre_id = $row->zeitsperre_id;
|
||||
$this->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->vondatum = $row->vondatum;
|
||||
$this->vonstunde = $row->vonstunde;
|
||||
$this->bisdatum = $row->bisdatum;
|
||||
$this->bisstunde = $row->bisstunde;
|
||||
$this->erreichbarkeit_kurzbz = $row->erreichbarkeit_kurzbz;
|
||||
$this->vertretung_uid = $row->vertretung_uid;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->freigabeamum = $row->freigabeamum;
|
||||
$this->freigabevon = $row->freigabevon;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $zeitsperre_id id des Datensatzes der geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function delete($zeitsperre_id)
|
||||
{
|
||||
if(!is_numeric($zeitsperre_id))
|
||||
{
|
||||
$this->errormsg = 'Zeitsperre_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM campus.tbl_zeitsperre WHERE zeitsperre_id='$zeitsperre_id'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkvars()
|
||||
{
|
||||
if(strlen($this->bezeichnung)>32)
|
||||
{
|
||||
$this->errormsg = "Bezeichnung darf nicht laenger als 32 Zeichen sein";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->zeitsperretyp_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = "Zeitsperretyp_kurzbz darf nicht laenger als 8 Zeichen sein";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->mitarbeiter_uid)>32)
|
||||
{
|
||||
$this->errormsg = "Mitarbeiter_uid darf nicht laenger als 8 Zeichen sein";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->erreichbarkeit_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = "Erreichbarkeit darf nicht laenger als 8 Zeichen sein";
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function save($new = null)
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
if(!is_null($new))
|
||||
$this->new = $new;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
|
||||
$qry = 'INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz, mitarbeiter_uid, bezeichnung,'.
|
||||
' vondatum ,vonstunde, bisdatum, bisstunde, erreichbarkeit_kurzbz, vertretung_uid, insertamum,'.
|
||||
' insertvon, updateamum, updatevon, freigabeamum, freigabevon) VALUES ('.
|
||||
$this->addslashes($this->zeitsperretyp_kurzbz).', '.
|
||||
$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->vondatum).', '.
|
||||
$this->addslashes($this->vonstunde).', '.
|
||||
$this->addslashes($this->bisdatum).', '.
|
||||
$this->addslashes($this->bisstunde).', '.
|
||||
$this->addslashes($this->erreichbarkeit_kurzbz).', '.
|
||||
$this->addslashes($this->vertretung_uid).', '.
|
||||
$this->addslashes($this->insertamum).', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).','.
|
||||
$this->addslashes($this->freigabeamum).','.
|
||||
$this->addslashes($this->freigabevon).'); ';
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
//Pruefen ob zeitsperre_id eine gueltige Zahl ist
|
||||
if(!is_numeric($this->zeitsperre_id) || $this->zeitsperre_id == '')
|
||||
{
|
||||
$this->errormsg = 'Zeitsperre_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE campus.tbl_zeitsperre SET '.
|
||||
'zeitsperretyp_kurzbz='.$this->addslashes($this->zeitsperretyp_kurzbz).', '.
|
||||
'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
|
||||
'vondatum='.$this->addslashes($this->vondatum).', '.
|
||||
'vonstunde='.$this->addslashes($this->vonstunde).', '.
|
||||
'bisdatum='.$this->addslashes($this->bisdatum).', '.
|
||||
'bisstunde='.$this->addslashes($this->bisstunde).', '.
|
||||
'erreichbarkeit_kurzbz='.$this->addslashes($this->erreichbarkeit_kurzbz).', '.
|
||||
'vertretung_uid='.$this->addslashes($this->vertretung_uid).', '.
|
||||
'insertamum='.$this->addslashes($this->insertamum).', '.
|
||||
'insertvon='.$this->addslashes($this->insertvon).', '.
|
||||
'freigabeamum='.$this->addslashes($this->freigabeamum).', '.
|
||||
'freigabevon='.$this->addslashes($this->freigabevon).', '.
|
||||
'updateamum='.$this->addslashes($this->updateamum).', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE zeitsperre_id = '.$this->addslashes($this->zeitsperre_id).';';
|
||||
}
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert ZeitsperreTypen eines Tages
|
||||
* @return string wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getTyp($datum)
|
||||
{
|
||||
$datum_obj=new datum();
|
||||
$typ='';
|
||||
foreach ($this->result as $zs)
|
||||
{
|
||||
$beginn=$datum_obj->mktime_fromdate($zs->vondatum);
|
||||
$ende=$datum_obj->mktime_fromdate($zs->bisdatum);
|
||||
|
||||
if ($datum>=$beginn && ((int)($datum/60/60/24)<=(int)($ende/60/60/24) || date('Y-m-d', $datum)==date('Y-m-d', $ende)))
|
||||
$typ.=$zs->zeitsperretyp_kurzbz;
|
||||
}
|
||||
return $typ;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert Erreichbarkeit der Zeitsperre eines Tages
|
||||
* @return string wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getErreichbarkeit($datum)
|
||||
{
|
||||
$datum_obj=new datum();
|
||||
$erbk='';
|
||||
foreach ($this->result as $zs)
|
||||
{
|
||||
$beginn=$datum_obj->mktime_fromdate($zs->vondatum);
|
||||
$ende=$datum_obj->mktime_fromdate($zs->bisdatum);
|
||||
if ($datum>=$beginn && ((int)($datum/60/60/24)<=(int)($ende/60/60/24) || date('Y-m-d', $datum)==date('Y-m-d', $ende)))
|
||||
$erbk.=$zs->erreichbarkeit;
|
||||
}
|
||||
return $erbk;
|
||||
}
|
||||
}
|
||||
?>
|
||||
+344
-345
@@ -1,345 +1,344 @@
|
||||
<?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(32)
|
||||
var $tag; // smalint
|
||||
var $gewicht; // smalint
|
||||
var $min_stunde;
|
||||
var $max_stunde;
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid Uid des Mitarbeiters
|
||||
// * $tag Tag des Zeitwunsches
|
||||
// * $stunde Stunde des Zeitwunsches
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function zeitwunsch($conn, $mitarbeiter_uid=null, $tag=null, $stunde=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
// Encoding
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
// ggf Mitarbeiter laden
|
||||
if($mitarbeiter_uid != null && $tag!=null && $stunde!=null)
|
||||
$this->load($mitarbeiter_uid, $tag, $stunde);
|
||||
|
||||
$this->init();
|
||||
}
|
||||
|
||||
function init()
|
||||
{
|
||||
// Stundenraster abfragen
|
||||
$sql='SELECT min(stunde) AS min_stunde,max(stunde) AS max_stunde FROM lehre.tbl_stunde;';
|
||||
if(!$result=pg_query($this->conn, $sql))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$row=pg_fetch_object($result);
|
||||
$this->min_stunde=$row->min_stunde;
|
||||
$this->max_stunde=$row->max_stunde;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt einen Zeitwunsch
|
||||
// * @param
|
||||
// *********************************************************
|
||||
function load($mitarbeiter_uid, $tag, $stunde)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->mitarbeiter_uid)>32)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 32 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;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zeitwunsch einer Person laden
|
||||
* @return boolean Ergebnis steht in Array $zeitwunsch wenn true
|
||||
*/
|
||||
function loadPerson($uid,$datum=null)
|
||||
{
|
||||
// Zeitwuensche abfragen
|
||||
if(!$result=pg_query($this->conn, "SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid='$uid'"))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
while ($row=pg_fetch_object($result))
|
||||
$this->zeitwunsch[$row->tag][$row->stunde]=$row->gewicht;
|
||||
|
||||
if (!is_null($datum))
|
||||
{
|
||||
$beginn=montag($datum);
|
||||
$start=date('Y-m-d',$beginn);
|
||||
$ende=date('Y-m-d',jump_day($beginn,7));
|
||||
|
||||
// Zeitsperren abfragen
|
||||
$sql="SELECT vondatum,vonstunde,bisdatum,bisstunde
|
||||
FROM campus.tbl_zeitsperre
|
||||
WHERE mitarbeiter_uid='$uid' AND vondatum<='$ende' AND bisdatum>'$start'";
|
||||
if(!$result=pg_query($this->conn, $sql))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
while ($row=pg_fetch_object($result))
|
||||
{
|
||||
$beginn=montag($datum);
|
||||
for ($i=1;$i<=7;$i++)
|
||||
{
|
||||
$date_iso=date('Y-m-d',$beginn);
|
||||
//echo "\n".$date_iso."\n".$row->vondatum."\n";
|
||||
if ($date_iso>$row->vondatum && $date_iso<$row->bisdatum)
|
||||
for ($j=$this->min_stunde;$j<=$this->max_stunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
if ($date_iso==$row->vondatum && $date_iso<$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->vonstunde))
|
||||
$row->vonstunde=$this->min_stunde;
|
||||
for ($j=$row->vonstunde;$j<=$this->max_stunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
if ($date_iso>$row->vondatum && $date_iso==$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->bisstunde))
|
||||
$row->bisstunde=$this->max_stunde;
|
||||
for ($j=$this->min_stunde;$j<=$row->bisstunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
if ($date_iso==$row->vondatum && $date_iso==$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->vonstunde))
|
||||
$row->vonstunde=$this->min_stunde;
|
||||
if (is_null($row->bisstunde))
|
||||
$row->bisstunde=$this->max_stunde;
|
||||
for ($j=$row->vonstunde;$j<=$row->bisstunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
$beginn=jump_day($beginn,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Zeitwunsch der Personen in Lehreinheiten laden
|
||||
* @return true oder false
|
||||
*/
|
||||
function loadZwLE($le_id,$datum=null)
|
||||
{
|
||||
//$this->init();
|
||||
// SUB-Select fuer LVAs
|
||||
$sql_query_leid='';
|
||||
$sql_query_le='SELECT DISTINCT mitarbeiter_uid FROM campus.vw_lehreinheit WHERE ';
|
||||
for ($i=0;$i<count($le_id);$i++)
|
||||
$sql_query_leid.=' OR lehreinheit_id='.$le_id[$i];
|
||||
$sql_query_leid=substr($sql_query_leid,3);
|
||||
$sql_query_le.=$sql_query_leid;
|
||||
|
||||
// Schlechteste Zeitwuensche holen
|
||||
$sql_query='SELECT tag,stunde,min(gewicht) AS gewicht
|
||||
FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid IN ('.$sql_query_le.') GROUP BY tag,stunde';
|
||||
|
||||
// Zeitwuensche abfragen
|
||||
if(!$result=pg_query($this->conn, $sql_query))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
while ($row=pg_fetch_object($result))
|
||||
$this->zeitwunsch[$row->tag][$row->stunde]=$row->gewicht;
|
||||
|
||||
// ***********************************************************
|
||||
// Zeitsperren fuer die aktuelle Woche holen
|
||||
|
||||
if (!is_null($datum))
|
||||
{
|
||||
$beginn=montag($datum);
|
||||
$start=date('Y-m-d',$beginn);
|
||||
$ende=date('Y-m-d',jump_day($beginn,7));
|
||||
|
||||
// Zeitsperren abfragen
|
||||
$sql="SELECT vondatum,vonstunde,bisdatum,bisstunde
|
||||
FROM campus.tbl_zeitsperre
|
||||
WHERE mitarbeiter_uid IN ($sql_query_le) AND vondatum<='$ende' AND bisdatum>'$start'";
|
||||
if(!$result=pg_query($this->conn, $sql))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
while ($row=pg_fetch_object($result))
|
||||
{
|
||||
$beginn=montag($datum);
|
||||
for ($i=1;$i<=7;$i++)
|
||||
{
|
||||
$date_iso=date('Y-m-d',$beginn);
|
||||
//echo "\n".$date_iso."\n".$row->vondatum."\n";
|
||||
if ($date_iso>$row->vondatum && $date_iso<$row->bisdatum)
|
||||
for ($j=$this->min_stunde;$j<=$this->max_stunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
if ($date_iso==$row->vondatum && $date_iso<$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->vonstunde))
|
||||
$row->vonstunde=$this->min_stunde;
|
||||
for ($j=$row->vonstunde;$j<=$this->max_stunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
if ($date_iso>$row->vondatum && $date_iso==$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->bisstunde))
|
||||
$row->bisstunde=$this->max_stunde;
|
||||
for ($j=$this->min_stunde;$j<=$row->bisstunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
if ($date_iso==$row->vondatum && $date_iso==$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->vonstunde))
|
||||
$row->vonstunde=$this->min_stunde;
|
||||
if (is_null($row->bisstunde))
|
||||
$row->bisstunde=$this->max_stunde;
|
||||
for ($j=$row->vonstunde;$j<=$row->bisstunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
$beginn=jump_day($beginn,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
<?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(32)
|
||||
var $tag; // smalint
|
||||
var $gewicht; // smalint
|
||||
var $min_stunde;
|
||||
var $max_stunde;
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $uid Uid des Mitarbeiters
|
||||
// * $tag Tag des Zeitwunsches
|
||||
// * $stunde Stunde des Zeitwunsches
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function zeitwunsch($conn, $mitarbeiter_uid=null, $tag=null, $stunde=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
/*
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
// ggf Mitarbeiter laden
|
||||
if($mitarbeiter_uid != null && $tag!=null && $stunde!=null)
|
||||
$this->load($mitarbeiter_uid, $tag, $stunde);
|
||||
|
||||
$this->init();
|
||||
}
|
||||
|
||||
function init()
|
||||
{
|
||||
// Stundenraster abfragen
|
||||
$sql='SELECT min(stunde) AS min_stunde,max(stunde) AS max_stunde FROM lehre.tbl_stunde;';
|
||||
if(!$result=pg_query($this->conn, $sql))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$row=pg_fetch_object($result);
|
||||
$this->min_stunde=$row->min_stunde;
|
||||
$this->max_stunde=$row->max_stunde;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt einen Zeitwunsch
|
||||
// * @param
|
||||
// *********************************************************
|
||||
function load($mitarbeiter_uid, $tag, $stunde)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->mitarbeiter_uid)>32)
|
||||
{
|
||||
$this->errormsg = 'UID darf nicht laenger als 32 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;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zeitwunsch einer Person laden
|
||||
* @return boolean Ergebnis steht in Array $zeitwunsch wenn true
|
||||
*/
|
||||
function loadPerson($uid,$datum=null)
|
||||
{
|
||||
// Zeitwuensche abfragen
|
||||
if(!$result=pg_query($this->conn, "SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid='$uid'"))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
while ($row=pg_fetch_object($result))
|
||||
$this->zeitwunsch[$row->tag][$row->stunde]=$row->gewicht;
|
||||
|
||||
if (!is_null($datum))
|
||||
{
|
||||
$beginn=montag($datum);
|
||||
$start=date('Y-m-d',$beginn);
|
||||
$ende=date('Y-m-d',jump_day($beginn,7));
|
||||
|
||||
// Zeitsperren abfragen
|
||||
$sql="SELECT vondatum,vonstunde,bisdatum,bisstunde
|
||||
FROM campus.tbl_zeitsperre
|
||||
WHERE mitarbeiter_uid='$uid' AND vondatum<='$ende' AND bisdatum>'$start'";
|
||||
if(!$result=pg_query($this->conn, $sql))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
while ($row=pg_fetch_object($result))
|
||||
{
|
||||
$beginn=montag($datum);
|
||||
for ($i=1;$i<=7;$i++)
|
||||
{
|
||||
$date_iso=date('Y-m-d',$beginn);
|
||||
//echo "\n".$date_iso."\n".$row->vondatum."\n";
|
||||
if ($date_iso>$row->vondatum && $date_iso<$row->bisdatum)
|
||||
for ($j=$this->min_stunde;$j<=$this->max_stunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
if ($date_iso==$row->vondatum && $date_iso<$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->vonstunde))
|
||||
$row->vonstunde=$this->min_stunde;
|
||||
for ($j=$row->vonstunde;$j<=$this->max_stunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
if ($date_iso>$row->vondatum && $date_iso==$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->bisstunde))
|
||||
$row->bisstunde=$this->max_stunde;
|
||||
for ($j=$this->min_stunde;$j<=$row->bisstunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
if ($date_iso==$row->vondatum && $date_iso==$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->vonstunde))
|
||||
$row->vonstunde=$this->min_stunde;
|
||||
if (is_null($row->bisstunde))
|
||||
$row->bisstunde=$this->max_stunde;
|
||||
for ($j=$row->vonstunde;$j<=$row->bisstunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
$beginn=jump_day($beginn,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Zeitwunsch der Personen in Lehreinheiten laden
|
||||
* @return true oder false
|
||||
*/
|
||||
function loadZwLE($le_id,$datum=null)
|
||||
{
|
||||
//$this->init();
|
||||
// SUB-Select fuer LVAs
|
||||
$sql_query_leid='';
|
||||
$sql_query_le='SELECT DISTINCT mitarbeiter_uid FROM campus.vw_lehreinheit WHERE ';
|
||||
for ($i=0;$i<count($le_id);$i++)
|
||||
$sql_query_leid.=' OR lehreinheit_id='.$le_id[$i];
|
||||
$sql_query_leid=substr($sql_query_leid,3);
|
||||
$sql_query_le.=$sql_query_leid;
|
||||
|
||||
// Schlechteste Zeitwuensche holen
|
||||
$sql_query='SELECT tag,stunde,min(gewicht) AS gewicht
|
||||
FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid IN ('.$sql_query_le.') GROUP BY tag,stunde';
|
||||
|
||||
// Zeitwuensche abfragen
|
||||
if(!$result=pg_query($this->conn, $sql_query))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
while ($row=pg_fetch_object($result))
|
||||
$this->zeitwunsch[$row->tag][$row->stunde]=$row->gewicht;
|
||||
|
||||
// ***********************************************************
|
||||
// Zeitsperren fuer die aktuelle Woche holen
|
||||
|
||||
if (!is_null($datum))
|
||||
{
|
||||
$beginn=montag($datum);
|
||||
$start=date('Y-m-d',$beginn);
|
||||
$ende=date('Y-m-d',jump_day($beginn,7));
|
||||
|
||||
// Zeitsperren abfragen
|
||||
$sql="SELECT vondatum,vonstunde,bisdatum,bisstunde
|
||||
FROM campus.tbl_zeitsperre
|
||||
WHERE mitarbeiter_uid IN ($sql_query_le) AND vondatum<='$ende' AND bisdatum>'$start'";
|
||||
if(!$result=pg_query($this->conn, $sql))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
while ($row=pg_fetch_object($result))
|
||||
{
|
||||
$beginn=montag($datum);
|
||||
for ($i=1;$i<=7;$i++)
|
||||
{
|
||||
$date_iso=date('Y-m-d',$beginn);
|
||||
//echo "\n".$date_iso."\n".$row->vondatum."\n";
|
||||
if ($date_iso>$row->vondatum && $date_iso<$row->bisdatum)
|
||||
for ($j=$this->min_stunde;$j<=$this->max_stunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
if ($date_iso==$row->vondatum && $date_iso<$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->vonstunde))
|
||||
$row->vonstunde=$this->min_stunde;
|
||||
for ($j=$row->vonstunde;$j<=$this->max_stunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
if ($date_iso>$row->vondatum && $date_iso==$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->bisstunde))
|
||||
$row->bisstunde=$this->max_stunde;
|
||||
for ($j=$this->min_stunde;$j<=$row->bisstunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
if ($date_iso==$row->vondatum && $date_iso==$row->bisdatum)
|
||||
{
|
||||
if (is_null($row->vonstunde))
|
||||
$row->vonstunde=$this->min_stunde;
|
||||
if (is_null($row->bisstunde))
|
||||
$row->bisstunde=$this->max_stunde;
|
||||
for ($j=$row->vonstunde;$j<=$row->bisstunde;$j++)
|
||||
$this->zeitwunsch[$i][$j]=-3;
|
||||
}
|
||||
$beginn=jump_day($beginn,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -60,7 +60,7 @@ class zeugnisnote
|
||||
function zeugnisnote($conn, $lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null , $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
/*
|
||||
if($unicode!=null)
|
||||
{
|
||||
if ($unicode)
|
||||
@@ -74,7 +74,7 @@ class zeugnisnote
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if($lehrveranstaltung_id!=null && $student_uid!=null && $studiensemester_kurzbz!=null)
|
||||
$this->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user