This commit is contained in:
Gerald Simane
2009-06-08 06:37:57 +00:00
parent 158402455f
commit 725e178014
660 changed files with 170054 additions and 169940 deletions
+2 -1
View File
@@ -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);
}
+8 -8
View File
@@ -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;
}
+2 -1
View File
@@ -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);
}
+2 -1
View File
@@ -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);
}
+3 -3
View File
@@ -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;
}
}
+2
View File
@@ -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;
}
}
*/
}
// *******************************************
+2
View File
@@ -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);
}
+8 -8
View File
@@ -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;
}
+2 -2
View File
@@ -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
View File
@@ -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;
}
}
}
?>
+171 -170
View File
@@ -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;
}
}
}
?>
+3
View File
@@ -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
+2
View File
@@ -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);
}
+2 -2
View File
@@ -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);
}
+2 -1
View File
@@ -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);
}
+3 -1
View File
@@ -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);
}
+2 -1
View File
@@ -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);
}
+2 -2
View File
@@ -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);
}
+2 -1
View File
@@ -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);
}
+4 -4
View File
@@ -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
View File
@@ -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;
}
}
}
?>
+2
View File
@@ -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);
}
+2
View File
@@ -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);
}
+2
View File
@@ -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);
}
+2
View File
@@ -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);
}
+2
View File
@@ -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);
}
+2
View File
@@ -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);
}
+2
View File
@@ -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);
}
+2
View File
@@ -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);
}
+2
View File
@@ -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);
}
+2
View File
@@ -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);
+2
View File
@@ -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);
}
+2
View File
@@ -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);
}
+2
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
}
?>
+4 -3
View File
@@ -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;
}
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
}
}
?>
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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>
+5 -4
View File
@@ -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 = '';
+6 -5
View File
@@ -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;
+2 -2
View File
@@ -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
View File
@@ -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;
}
}
}
}
?>
+390 -390
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
}
}
?>
+2 -2
View File
@@ -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);
}
+2 -2
View File
@@ -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
View File
@@ -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;
}
}
}
?>
+2 -2
View File
@@ -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);
}
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
}
?>
+6 -6
View File
@@ -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
+2 -2
View File
@@ -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
View File
@@ -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&ouml;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&ouml;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;
}
}
}
?>
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
}
}
?>
+1 -1
View File
@@ -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
{
+2 -1
View File
@@ -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);
}
+34 -34
View File
@@ -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;
+8 -7
View File
@@ -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))
+4 -2
View File
@@ -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;
}
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
}
}
?>
+2
View File
@@ -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);
}
+4 -2
View File
@@ -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
View File
@@ -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;
}
}
}
?>
+2 -2
View File
@@ -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);
+2 -1
View File
@@ -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;
}
*/
}
+3 -3
View File
@@ -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
View File
@@ -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;
}
+6 -6
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
}
}
?>
+6
View File
@@ -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 = "";
+365 -365
View File
@@ -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');
?>
+229 -229
View File
@@ -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');
?>
+7 -7
View File
@@ -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')
)
);
?>
+2 -2
View File
@@ -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);
}
+2 -2
View File
@@ -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);
}
+2 -2
View File
@@ -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
View File
@@ -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&ouml;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&ouml;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
View File
@@ -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;
}
}
?>
+2 -2
View File
@@ -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);
}