From ece95425276a35d8d6fa254b1febc2dd55bb34d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 29 May 2009 12:35:32 +0000 Subject: [PATCH] Beginn der Anpassungen an neue Datenbankklasse und neues Config --- content/fas.xul.php | 45 ++- content/fasoverlay.js.php | 17 +- content/fasoverlay.xul.php | 17 +- .../lvplanung/lehrveranstaltungoverlay.js.php | 9 +- content/mitarbeiter/mitarbeiteroverlay.js.php | 10 +- .../interessentdokumenteoverlay.js.php | 7 +- content/student/interessentoverlay.js.php | 121 +------ .../student/studentabschlusspruefung.js.php | 7 +- content/student/studentgruppenoverlay.js.php | 7 +- content/student/studentoverlay.js.php | 11 +- content/student/studentprojektarbeit.js.php | 7 +- include/functions.inc.php | 21 +- include/studiensemester.class.php | 332 +++++++++--------- include/variable.class.php | 144 +++++--- system/xsl/ZeugnisEng_0_v1.xsl | 44 ++- 15 files changed, 358 insertions(+), 441 deletions(-) diff --git a/content/fas.xul.php b/content/fas.xul.php index 3cd1eb420..203c13398 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -21,40 +21,36 @@ */ header("Content-type: application/vnd.mozilla.xul+xml"); echo ''; -require_once('../vilesci/config.inc.php'); +require_once('../config/vilesci.config.inc.php'); require_once('../include/functions.inc.php'); -require_once('../include/fas/benutzer.class.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/studiensemester.class.php'); +require_once('../include/variable.class.php'); -// Testumgebung $user=get_uid(); $error_msg=''; -//Variablen laden -if (!$conn = @pg_pconnect(CONN_STRING)) - $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; -$error_msg.=loadVariables($conn,$user); +//$error_msg.=loadVariables($user); +$variable = new variable(); +$variable->loadVariables($user); -$benutzer = new benutzer($conn); -if(!$benutzer->loadVariables($user)) - $error_msg = $benutzer->errormsg; +//$benutzer = new benutzer($conn); +//if(!$benutzer->loadVariables($user)) +// $error_msg = $benutzer->errormsg; -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); -/*echo '';*/ echo ''; echo ''; +echo ''; echo ''; -echo ''; ?> ]> - '; label = "Studiensemester"> getpossibilities('semester_aktuell'); - foreach ($stsem_arr as $stsem) + $stsemobj = new studiensemester(); + $stsemobj->getAll(); + foreach ($stsemobj->result as $stsem) { echo " "; + checked = ".($variable->variable->semester_aktuell==$stsem->studiensemester_kurzbz?"'true' ":"'false'")." />"; } ?> @@ -223,7 +220,7 @@ echo ''; command ="menu-prefs-kontofilterstg:command" accesskey ="&menu-prefs-kontofilterstg.accesskey;" checkbox ="true" - checked ="" + checked ="variable->kontofilterstg;?>" /> @@ -465,9 +462,11 @@ echo ''; db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $db->db_fetch_object()) { $stsem_kurzbz = $row->studiensemester_kurzbz; @@ -724,14 +723,14 @@ echo ''; image="../skin/images/left.png" oncommand="studiensemesterChange('', -1)" /> - + - + diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php index 031b689ab..8ded97f20 100644 --- a/content/fasoverlay.js.php +++ b/content/fasoverlay.js.php @@ -1,5 +1,5 @@ , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens */ -require_once('../vilesci/config.inc.php'); +require_once('../config/vilesci.config.inc.php'); require_once('../include/functions.inc.php'); +require_once('../include/variable.class.php'); -if(!$conn = pg_pconnect(CONN_STRING)) - die('Fehler beim Connecten zur DB'); +$variable = new variable(); +$variable->loadVariables(get_uid()); -loadVariables($conn, get_uid()); ?> var currentAuswahl=new auswahlValues(); @@ -206,7 +207,7 @@ function LektorFunktionMail() if(tree.view.getCellText(v,col).length>1) { if(mailempfaenger!='') - mailempfaenger=mailempfaenger+''+tree.view.getCellText(v,col)+'@'; + mailempfaenger=mailempfaenger+'variable->emailadressentrennzeichen; ?>'+tree.view.getCellText(v,col)+'@'; else mailempfaenger='mailto:'+tree.view.getCellText(v,col)+'@'; } diff --git a/content/fasoverlay.xul.php b/content/fasoverlay.xul.php index ed2b774bb..f4f452be9 100644 --- a/content/fasoverlay.xul.php +++ b/content/fasoverlay.xul.php @@ -20,27 +20,20 @@ * Rudolf Hangl . */ header("Content-type: application/vnd.mozilla.xul+xml"); -echo ''; +echo ''; -require_once('../vilesci/config.inc.php'); +require_once('../config/vilesci.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/benutzerberechtigung.class.php'); -if(!$conn = pg_pconnect(CONN_STRING)) - die('Fehler beim Herstellen der DB Verbindung'); - $user = get_uid(); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); echo ''; echo ''; -/*echo '';*/ echo ''; -/*echo ''; -echo ''; -echo '';*/ ?> @@ -120,7 +113,6 @@ echo '';*/ - @@ -297,7 +289,6 @@ echo '';*/ isBerechtigt('admin') || $rechte->isBerechtigt('assistenz')) { - //echo ''; echo ''; echo ''; } @@ -312,8 +303,6 @@ echo '';*/ if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz')) { echo ' - - diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php index f8c0d2595..e07d311a3 100644 --- a/content/lvplanung/lehrveranstaltungoverlay.js.php +++ b/content/lvplanung/lehrveranstaltungoverlay.js.php @@ -20,13 +20,8 @@ * Rudolf Hangl . */ -require_once('../../vilesci/config.inc.php'); -require_once('../../include/functions.inc.php'); +require_once('../../config/vilesci.config.inc.php'); -$conn = pg_pconnect(CONN_STRING); - -$user = get_uid(); -loadVariables($conn, $user); ?> // *********** Globale Variablen *****************// @@ -522,7 +517,7 @@ function LeDetailReset() document.getElementById('lehrveranstaltung-detail-menulist-sprache').value='German'; document.getElementById('lehrveranstaltung-detail-menulist-raumtyp').value='Dummy'; document.getElementById('lehrveranstaltung-detail-menulist-raumtypalternativ').value='Dummy'; - document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').value=''; + document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').value=getStudiensemester(); document.getElementById('lehrveranstaltung-detail-menulist-lehrform').value='UE'; //mitarbeiterlehreinheit tree leeren diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php index 9a084adeb..1089fbee7 100644 --- a/content/mitarbeiter/mitarbeiteroverlay.js.php +++ b/content/mitarbeiter/mitarbeiteroverlay.js.php @@ -20,13 +20,13 @@ * Rudolf Hangl . */ -require_once('../../vilesci/config.inc.php'); +require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); - -$conn = pg_pconnect(CONN_STRING); +require_once('../../include/variable.class.php'); $user = get_uid(); -loadVariables($conn, $user); +$variable = new variable(); +$variable->loadVariables($user); ?> // *********** Globale Variablen *****************// var MitarbeiterSelectUid=null; //UID des zu selektierenden Mitarbeiters @@ -957,7 +957,7 @@ function MitarbeiterSendMail() if(treeMitarbeiter.view.getCellText(v,col).length>1) { if(mailempfaenger!='') - mailempfaenger=mailempfaenger+''+treeMitarbeiter.view.getCellText(v,col)+'@technikum-wien.at'; + mailempfaenger=mailempfaenger+'variable->emailadressentrennzeichen; ?>'+treeMitarbeiter.view.getCellText(v,col)+'@technikum-wien.at'; else mailempfaenger='mailto:'+treeMitarbeiter.view.getCellText(v,col)+'@'; } diff --git a/content/student/interessentdokumenteoverlay.js.php b/content/student/interessentdokumenteoverlay.js.php index 70f9b2354..e6390deb6 100644 --- a/content/student/interessentdokumenteoverlay.js.php +++ b/content/student/interessentdokumenteoverlay.js.php @@ -20,13 +20,8 @@ * Rudolf Hangl . */ -require_once('../../vilesci/config.inc.php'); -require_once('../../include/functions.inc.php'); +require_once('../../config/vilesci.config.inc.php'); -$conn = pg_pconnect(CONN_STRING); - -$user = get_uid(); -loadVariables($conn, $user); ?> // *********** Globale Variablen *****************// var InteressentDokumentTreeNichtabgegebenDatasource=null; //Datasource fuer Dokumenten tree diff --git a/content/student/interessentoverlay.js.php b/content/student/interessentoverlay.js.php index b8df9b177..118f04787 100644 --- a/content/student/interessentoverlay.js.php +++ b/content/student/interessentoverlay.js.php @@ -20,130 +20,11 @@ * Rudolf Hangl . */ -require_once('../../vilesci/config.inc.php'); -require_once('../../include/functions.inc.php'); +require_once('../../config/vilesci.config.inc.php'); -$conn = pg_pconnect(CONN_STRING); - -$user = get_uid(); -loadVariables($conn, $user); ?> -// *********** Globale Variablen *****************// -var InteressentSelectId=null; //Interessent der nach dem Refresh markiert werden soll -var InteressentTreeLoadDataOnSelect=true; //Gibt an ob beim naechsten Select des Interessenten Trees die Daten geladen werden sollen -var InteressentKontoSelectBuchung=null; //Buchung die nach dem Refresh markiert werden soll -var InteressentKontoTreeDatasource; //Datasource des KontoTrees - -// ********** Observer und Listener ************* // - -// **** -// * Observer fuer Interessenten Tree -// * startet Rebuild nachdem das Refresh -// * der datasource fertig ist -// **** -var InteressentTreeSinkObserver = -{ - onBeginLoad : function(pSink) {}, - onInterrupt : function(pSink) {}, - onResume : function(pSink) {}, - onError : function(pSink, pStatus, pError) {}, - onEndLoad : function(pSink) - { - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - document.getElementById('interessent-tree').builder.rebuild(); - } -}; - -// **** -// * Nach dem Rebuild wird der Interessent wieder -// * markiert -// **** -var InteressentTreeListener = -{ - willRebuild : function(builder) - { - }, - didRebuild : function(builder) - { - //timeout nur bei Mozilla notwendig da sonst die rows - //noch keine values haben. Ab Seamonkey funktionierts auch - //ohne dem setTimeout - window.setTimeout(InteressentTreeSelectInteressent,10); - // Progressmeter stoppen - document.getElementById('statusbar-progressmeter').setAttribute('mode','determined'); - } -}; - -// **** -// * Observer fuer Konto Tree -// * startet Rebuild nachdem das Refresh -// * der datasource fertig ist -// **** -var InteressentKontoTreeSinkObserver = -{ - onBeginLoad : function(pSink) {}, - onInterrupt : function(pSink) {}, - onResume : function(pSink) {}, - onError : function(pSink, pStatus, pError) {}, - onEndLoad : function(pSink) - { - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - document.getElementById('interessent-konto-tree').builder.rebuild(); - } -}; - -// **** -// * Nach dem Rebuild wird die Buchung wieder -// * markiert -// **** -var InteressentKontoTreeListener = -{ - willRebuild : function(builder) { }, - didRebuild : function(builder) - { - //timeout nur bei Mozilla notwendig da sonst die rows - //noch keine values haben. Ab Seamonkey funktionierts auch - //ohne dem setTimeout - window.setTimeout(InteressentKontoTreeSelectBuchung,10); - } -}; -// ***************** KEY Events ************************* // - -// **** -// * Wird ausgefuehrt wenn eine Taste gedrueckt wird und der Focus -// * im Interessent-tree ist -// * Beim Druecken von F5 wird der Studententree aktualisiert -// **** -function InteressentTreeKeyPress(event) -{ - if(event.keyCode==116) // F5 - InteressentTreeRefresh(); -} - // ****************** FUNKTIONEN ************************** // -// **** -// * Asynchroner (Nicht blockierender) Refresh des InteressentenTrees -// **** -function InteressentTreeRefresh() -{ - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - - //markierten Interessenten global speichern damit dieser Interessent nach dem - //refresh wieder markiert werden kann. - var tree = document.getElementById('interessent-tree'); - var col = tree.columns ? tree.columns["interessent-treecol-prestudent_id"] : "interessent-treecol-prestudent_id"; - try - { - InteressentSelectId=tree.view.getCellText(tree.currentIndex,col); - } - catch(e) - { - InteressentSelectId=null; - } - InteressentTreeDatasource.Refresh(false); //non blocking -} - // **** // * neuen Interessenten anlegen // **** diff --git a/content/student/studentabschlusspruefung.js.php b/content/student/studentabschlusspruefung.js.php index 541cb3335..aa86f87aa 100644 --- a/content/student/studentabschlusspruefung.js.php +++ b/content/student/studentabschlusspruefung.js.php @@ -20,13 +20,8 @@ * Rudolf Hangl . */ -require_once('../../vilesci/config.inc.php'); -require_once('../../include/functions.inc.php'); +require_once('../../config/vilesci.config.inc.php'); -$conn = pg_pconnect(CONN_STRING); - -$user = get_uid(); -loadVariables($conn, $user); ?> // *********** Globale Variablen *****************// var StudentAbschlusspruefungSelectID=null; //Id der Abschlusspruefung die nach dem Rebuild markiert werden soll diff --git a/content/student/studentgruppenoverlay.js.php b/content/student/studentgruppenoverlay.js.php index 600dc8418..7af863076 100644 --- a/content/student/studentgruppenoverlay.js.php +++ b/content/student/studentgruppenoverlay.js.php @@ -20,13 +20,8 @@ * Rudolf Hangl . */ -require_once('../../vilesci/config.inc.php'); -require_once('../../include/functions.inc.php'); +require_once('../../config/vilesci.config.inc.php'); -$conn = pg_pconnect(CONN_STRING); - -$user = get_uid(); -loadVariables($conn, $user); ?> // *********** Globale Variablen *****************// var StudentGruppenTreeDatasource=null; //Datasource fuer den GruppenTree diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index 243918947..dbf6509fe 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -20,13 +20,14 @@ * Rudolf Hangl . */ -require_once('../../vilesci/config.inc.php'); +require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); - -$conn = pg_pconnect(CONN_STRING); +require_once('../../include/variable.class.php'); $user = get_uid(); -loadVariables($conn, $user); + +$variable = new variable(); +$variable->loadVariables($user); ?> // *********** Globale Variablen *****************// var StudentSelectID=null; //Student der nach dem Refresh markiert werden soll @@ -4002,7 +4003,7 @@ function StudentSendMail() if(tree.view.getCellText(v,col).length>1) { if(mailempfaenger!='') - mailempfaenger=mailempfaenger+''+tree.view.getCellText(v,col)+'@'; + mailempfaenger=mailempfaenger+'variable->emailadressentrennzeichen; ?>'+tree.view.getCellText(v,col)+'@'; else mailempfaenger='mailto:'+tree.view.getCellText(v,col)+'@'; } diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php index be4268227..3965cacbb 100644 --- a/content/student/studentprojektarbeit.js.php +++ b/content/student/studentprojektarbeit.js.php @@ -20,13 +20,8 @@ * Rudolf Hangl . */ -require_once('../../vilesci/config.inc.php'); -require_once('../../include/functions.inc.php'); +require_once('../../config/vilesci.config.inc.php'); -$conn = pg_pconnect(CONN_STRING); - -$user = get_uid(); -loadVariables($conn, $user); ?> // *********** Globale Variablen *****************// var StudentProjektarbeitSelectID=null; //Id der Projektarbeit die nach dem Rebuild markiert werden soll diff --git a/include/functions.inc.php b/include/functions.inc.php index e836e5638..e7b4a2a50 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -185,30 +185,33 @@ function jahreskalenderjump($link) echo ' '.$crlf; } -function loadVariables($conn, $user) +function loadVariables($user) { + $db = new basis_db(); + $error_msg=''; $num_rows=0; $sql_query="SELECT * FROM public.tbl_variable WHERE uid='$user'"; - if(!($result=pg_query($conn, $sql_query))) - $error_msg.=pg_errormessage($conn).'
'.$sql_query; + if(!$db->db_query($sql_query)) + $error_msg.=$db->db_last_error().'
'.$sql_query; else - $num_rows=pg_numrows($result); + $num_rows=$db->db_num_rows(); - while ($row=pg_fetch_object($result)) + while ($row=$db->db_fetch_object()) { global ${$row->name}; ${$row->name}=$row->wert; } + if (!isset($semester_aktuell)) - if(!($result=pg_query($conn, 'SELECT * FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1'))) - $error_msg.=pg_errormessage($conn).'
'.$sql_query; + if(!$db->db_query('SELECT * FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1')) + $error_msg.=$db->db_last_error().'
'.$sql_query; else { - $num_rows=pg_numrows($result); + $num_rows=$db->db_num_rows(); if ($num_rows>0) { - $row=pg_fetch_object($result); + $row=$db->db_fetch_object(); global $semester_aktuell; $semester_aktuell=$row->studiensemester_kurzbz; } diff --git a/include/studiensemester.class.php b/include/studiensemester.class.php index 32cf877ca..d1d8108e0 100644 --- a/include/studiensemester.class.php +++ b/include/studiensemester.class.php @@ -1,5 +1,5 @@ , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens */ +require_once('basis_db.class.php'); -class studiensemester +class studiensemester extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $studiensemester = array(); // studiensemester Objekt + public $errormsg; // string + public $new; // boolean + public $studiensemester = array(); // studiensemester Objekt //Tabellenspalten - var $studiensemester_kurzbz; // varchar(16) - var $start; // date - var $ende; // date - var $bezeichnung; + public $studiensemester_kurzbz; // varchar(16) + public $start; // date + public $ende; // date + public $bezeichnung; - // *********************************************************************** - // * Konstruktor - Uebergibt die Connection und laedt optional ein LF - // * @param $conn Datenbank-Connection - // * $studiensemester_kurzbz StSem das geladen werden soll (default=null) - // * $unicode Gibt an ob die Daten mit UNICODE Codierung - // * oder LATIN9 Codierung verarbeitet werden sollen - // *********************************************************************** - function studiensemester($conn, $studiensemester_kurzbz=null, $unicode=false) + /** + * Konstruktor - Laedt optional ein StSem + * + * @param $studiensemester_kurzbz StSem das geladen werden soll (default=null) + */ + public function __construct($studiensemester_kurzbz=null) { - $this->conn = $conn; - - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; - - if(!pg_query($conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } - + parent::__construct(); + if($studiensemester_kurzbz != null) $this->load($studiensemester_kurzbz); } - // ************************************************************** - // * Laedt das Studiensemester mit der uebergebenen ID - // * @param $studiensemester_kurzbz Stsem das geladen werden soll - // ************************************************************** - function load($studiensemester_kurzbz) + /** + * Laedt das Studiensemester mit der uebergebenen ID + * + * @param $studiensemester_kurzbz Stsem das geladen werden soll + */ + public function load($studiensemester_kurzbz) { $qry = "SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if(!$result=pg_query($this->conn,$qry)) + if(!$this->db_query($qry)) { - $this->errormsg = 'Fehler beim lesen des Studiensemesters'; + $this->errormsg = 'Fehler beim Lesen des Studiensemesters'; return false; } - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; $this->start = $row->start; @@ -89,12 +78,13 @@ class studiensemester return true; } - // ******************************************* - // * Prueft die Variablen vor dem Speichern - // * auf Gueltigkeit. - // * @return true wenn ok, false im Fehlerfall - // ******************************************* - function validate() + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * + * @return true wenn ok, false im Fehlerfall + */ + private function validate() { if(strlen($this->studiensemester_kurzbz)>16) { @@ -109,24 +99,14 @@ class studiensemester 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 Studiensemester in die Datenbank - // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - // * angelegt, ansonsten der Datensatz upgedated - // * @return true wenn erfolgreich, false im Fehlerfall - // ************************************************************ - function save() + /** + * Speichert das Studiensemester in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz upgedated + * + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save() { //Variablen auf Gueltigkeit pruefen if(!$this->validate()) @@ -147,35 +127,36 @@ class studiensemester " WHERE studiensemester_kurzbz='$this->studiensemester_kurzbz'"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; } else { - $this->errormsg = 'Fehler beim Speichern des Studiensemesters:'.$qry; + $this->errormsg = 'Fehler beim Speichern des Studiensemesters'; return false; } } - // ****************************************************************** - // * Liefert das Aktuelle Studiensemester - // * @return aktuelles Studiensemester oder false wenn es keines gibt - // ****************************************************************** - function getakt() + /** + * Liefert das aktuelle Studiensemester + * + * @return aktuelles Studiensemester oder false wenn es keines gibt + */ + public function getakt() { $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start <= now() AND ende >= now()"; - if(!$res=pg_query($this->conn,$qry)) + if(!$this->db_query($qry)) { - $this->errormsg = pg_errormessage($this->conn); + $this->errormsg = $this->db_last_error(); return false; } - if(pg_num_rows($res)>0) + if($this->db_num_rows()>0) { - $erg = pg_fetch_object($res); + $erg = $this->db_fetch_object(); return $erg->studiensemester_kurzbz; } else @@ -185,43 +166,20 @@ class studiensemester } } - // ****************************************************************** - // * Liefert ein Studiensemester mit Startdatum vom naechstgelegenen Studiensemester und - // * dem Startdatum vom folgeden Studiensemester als Endedatum - // * @return boolean - // ****************************************************************** - function getNearestTillNext() + /** + * Liefert ein Studiensemester mit Startdatum vom naechstgelegenen Studiensemester und + * dem Startdatum vom folgeden Studiensemester als Endedatum + * + * @return boolean + */ + public function getNearestTillNext() { - /*$qry = "SELECT * FROM public.vw_studiensemester ORDER BY delta LIMIT 1"; - if(!$res=pg_query($this->conn,$qry)) - { - $this->errormsg = pg_errormessage($this->conn); - return false; - } - - if(!$erg1 = pg_fetch_object($res)) - { - $this->errormsg = pg_errormessage($this->conn); - return false; - } - - $qry = "SELECT * FROM public.vw_studiensemester WHERE ORDER BY delta LIMIT 1"; - if(!$res=pg_query($this->conn,$qry)) - { - $this->errormsg = pg_errormessage($this->conn); - return false; - } - - if(!$erg2 = pg_fetch_object($res)) - { - $this->errormsg = pg_errormessage($this->conn); - return false; - }*/ - if(!$nearest=$this->getNearest()) return false; + $start=$this->start; $studiensemester_kurzbz=$this->studiensemester_kurzbz; + if (!$next=$this->getNextFrom($this->studiensemester_kurzbz)) return false; $ende=$this->start; @@ -235,18 +193,19 @@ class studiensemester /** * Liefert das Aktuelle Studiensemester oder das darauffolgende + * * @param $semester wenn das semester uebergeben wird, dann werden nur die studiensemester * geliefert die in dieses semester fallen (Bei geradem semester nur SS sonst WS) * @return Studiensemester oder false wenn es keines gibt */ - function getaktorNext($semester='') + public function getaktorNext($semester='') { if(($stsem=$this->getakt()) && $semester=='') - return $stsem; + return $stsem; else { $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE true"; - //$qry = "SELECT studiensemester_kurzbz FROM public.vw_studiensemester "; + if($semester!='') { if($semester%2==0) @@ -258,16 +217,15 @@ class studiensemester } $qry.= " AND ende >= now() ORDER BY ende LIMIT 1"; - if(!$res=pg_query($this->conn,$qry)) - { - $this->errormsg = pg_errormessage($this->conn); - return false; - } - - if(pg_num_rows($res)>0) + if(!$this->db_query($qry)) { - $erg = pg_fetch_object($res); - return $erg->studiensemester_kurzbz; + $this->errormsg = $this->db_last_error(); + return false; + } + + if($erg = $this->db_fetch_object()) + { + return $erg->studiensemester_kurzbz; } else { @@ -279,9 +237,12 @@ class studiensemester /** * Liefert das naechstgelegenste Studiensemester + * + * @param semester wenn das semester uebergeben wird, dann werden nur die studiensemester + * geliefert die in dieses semester fallen (Bei geradem semester nur SS sonst WS) * @return Studiensemester oder false wenn es keines gibt */ - function getNearest($semester='') + public function getNearest($semester='') { $qry = "SELECT studiensemester_kurzbz, start, ende FROM public.vw_studiensemester "; if($semester!='') @@ -294,17 +255,15 @@ class studiensemester $qry.= " WHERE substring(studiensemester_kurzbz from 1 for 2)='$ss' "; } $qry.=' ORDER BY delta LIMIT 1'; - //echo $qry; - if(!$res=pg_query($this->conn,$qry)) + if(!$this->db_query($qry)) { - $this->errormsg = pg_errormessage($this->conn); + $this->errormsg = $this->db_last_error(); return false; } - if(pg_num_rows($res)>0) + if($erg = $this->db_fetch_object()) { - $erg = pg_fetch_object($res); $this->studiensemester_kurzbz=$erg->studiensemester_kurzbz; $this->start=$erg->start; $this->ende=$erg->ende; @@ -317,16 +276,20 @@ class studiensemester } } - - function getAll() + /** + * Liefert alle Studiensemester + * + * @return true wenn ok, sonst false + */ + public function getAll() { $qry = "SELECT * FROM public.tbl_studiensemester ORDER BY ende"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $stsem_obj = new studiensemester($this->conn); + $stsem_obj = new studiensemester(); $stsem_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; $stsem_obj->start = $row->start; @@ -334,6 +297,7 @@ class studiensemester $this->studiensemester[] = $stsem_obj; } + return true; } else { @@ -342,12 +306,14 @@ class studiensemester } } - // **** - // * Liefert das naechste Studiensemester - // * Wenn art=WS dann wird das naechste Wintersemester geliefert - // * Wenn art=SS dann wird das naechste Sommersemester geliefert - // **** - function getNextStudiensemester($art='') + /** + * Liefert das naechste Studiensemester + * + * @param $art Wenn art=WS dann wird das naechste Wintersemester geliefert + * Wenn art=SS dann wird das naechste Sommersemester geliefert + * @return true wenn ok, false wenn kein entsprechendes vorhanden ist + */ + public function getNextStudiensemester($art='') { $qry = "SELECT * FROM public.tbl_studiensemester WHERE start>now() "; @@ -356,13 +322,13 @@ class studiensemester $qry.=" ORDER BY start LIMIT 1"; - if(!$result=pg_query($this->conn,$qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Lesen des Studiensemesters'; return false; } - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; $this->start = $row->start; @@ -377,16 +343,18 @@ class studiensemester return true; } - // **** - // * Liefert das vorige Studiensemester - // **** - function getPrevious() + /** + * Liefert das vorige Studiensemester + * + * @return studiensemester_kurzbz oder false wenn keines vorhanden + */ + public function getPrevious() { $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE endeconn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { return $row->studiensemester_kurzbz; } @@ -401,18 +369,29 @@ class studiensemester $this->errormsg = 'Fehler beim Ermitteln des vorangegangenen Studiensemesters'; } } - // **** - // * Liefert das vorvorige Studiensemester - // **** - function getBeforePrevious() + + /** + * Liefert das vorvorige Studiensemester + * + * @return studiensemester_kurzbz oder false wenn keines vorhanden + */ + public function getBeforePrevious() { $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE endeconn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result,1)) + if($row = $this->db_fetch_object()) { - return $row->studiensemester_kurzbz; + if($row = $this->db_fetch_object()) + { + return $row->studiensemester_kurzbz; + } + else + { + $this->errormsg = 'Es wurde kein vorjähriges Studiensemester gefunden'; + return false; + } } else { @@ -423,22 +402,26 @@ class studiensemester else { $this->errormsg = 'Fehler beim Ermitteln des vorjährigen Studiensemesters'; + return false; } } - // **** - // * Liefert das Studiensemester vor $studiensemester_kurzbz - // **** - function getPreviousFrom($studiensemester_kurzbz) + /** + * Liefert das Studiensemester vor $studiensemester_kurzbz + * + * @param $studiensemester_kurzbz + * @return $studiensemester_kurzbz oder false wenn Fehler + */ + public function getPreviousFrom($studiensemester_kurzbz) { $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende<(SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."') ORDER BY ende DESC LIMIT 1"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { return $row->studiensemester_kurzbz; } @@ -451,22 +434,26 @@ class studiensemester else { $this->errormsg = 'Fehler beim Ermitteln des vorangegangenen Studiensemesters'; + return false; } } - // **** - // * Liefert das Studiensemester nach $studiensemester_kurzbz - // **** - function getNextFrom($studiensemester_kurzbz) + /** + * Liefert das Studiensemester nach $studiensemester_kurzbz + * + * @param $studiensemester_kurzbz + * @return $studiensemester_kurzbz oder false wenn Fehler + */ + public function getNextFrom($studiensemester_kurzbz) { $qry = "SELECT studiensemester_kurzbz, start, ende FROM public.tbl_studiensemester WHERE start>(SELECT ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."') ORDER BY start LIMIT 1"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; $this->start = $row->start; @@ -482,13 +469,18 @@ class studiensemester else { $this->errormsg = 'Fehler beim Ermitteln des folgenden Studiensemesters'; + return false; } } - // **** - // * Springt von Studiensemester $studiensemester_kurzbz um $wert Studiensemester vor/zurueck - // **** - function jump($studiensemester_kurzbz, $wert) + /** + * Springt von Studiensemester $studiensemester_kurzbz um $wert Studiensemester vor/zurueck + * + * @param $studiensemester_kurzbz + * @param $wert + * @return studiensemester_kurzbz + */ + public function jump($studiensemester_kurzbz, $wert) { if($wert>0) { @@ -518,9 +510,9 @@ class studiensemester ) as foo ORDER BY start DESC LIMIT 1"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { return $row->studiensemester_kurzbz; } diff --git a/include/variable.class.php b/include/variable.class.php index 7fb9d7213..03c0555fb 100644 --- a/include/variable.class.php +++ b/include/variable.class.php @@ -1,5 +1,5 @@ , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens */ +require_once('basis_db.class.php'); -class variable +class variable extends basis_db { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean - var $variables = array(); // variable Objekt + public $errormsg; // string + public $new; // boolean + public $variables = array(); // variable Objekt + public $variable; //Tabellenspalten - var $uid; // varchar(32) - var $name; // varchar(64) - var $wert; // varchar(64) + public $uid; // varchar(32) + public $name; // varchar(64) + public $wert; // varchar(64) // ************************************************************************* // * Konstruktor - Uebergibt die Connection und laedt optional eine Variable @@ -40,35 +42,25 @@ class variable // * $unicode Gibt an ob die Daten mit UNICODE Codierung // * oder LATIN9 Codierung verarbeitet werden sollen // ************************************************************************* - function variable($conn, $uid=null, $name=null, $unicode=false) + public function __construct($uid=null, $name=null) { - $this->conn = $conn; - - if($unicode) - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; - else - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; - - if(!pg_query($conn,$qry)) - { - $this->errormsg = 'Encoding konnte nicht gesetzt werden'; - return false; - } - + parent::__construct(); + if($uid!=null && $name!=null) $this->load($uid, $name); } // ********************************************************* - // * Laedt die Variablen - // * @param + // * Laedt eine Variable + // * @param $uid + // * @param $name // ********************************************************* - function load($uid, $name) + public function load($uid, $name) { $qry = "SELECT wert FROM public.tbl_variable WHERE uid='".addslashes($uid)."' AND name='".addslashes($name)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->uid = $uid; $this->name = $name; @@ -88,7 +80,7 @@ class variable // * auf Gueltigkeit. // * @return true wenn ok, false im Fehlerfall // ******************************************* - function validate() + private function validate() { if(strlen($this->uid)>32) { @@ -109,24 +101,13 @@ class variable return true; } - // ************************************************ - // * wenn $var '' ist wird NULL zurueckgegeben - // * wenn $var !='' ist werden Datenbankkritische - // * Zeichen mit Backslash versehen und das Ergbnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - // ************************************************************ // * Speichert Variable in die Datenbank // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz // * angelegt, ansonsten der Datensatz upgedated // * @return true wenn erfolgreich, false im Fehlerfall // ************************************************************ - function save($new=null) + public function save($new=null) { if(is_null($new)) $new = $this->new; @@ -149,7 +130,7 @@ class variable " WHERE uid='".addslashes($this->uid)."' AND name='".addslashes($this->name)."';"; } - if(pg_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; @@ -164,7 +145,7 @@ class variable // **** // * Loescht einen Variableneintrag // **** - function delete($name, $uid) + public function delete($name, $uid) { if($name=='' || $uid == '') { @@ -174,7 +155,7 @@ class variable $qry = "DELETE FROM public.tbl_variable WHERE name='".addslashes($name)."' AND uid='".addslashes($uid)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) return true; else { @@ -186,15 +167,15 @@ class variable // ****** // * Liefert alle Variablen eines Benutzers // ****** - function getVars($uid) + public function getVars($uid) { $qry = "SELECT * FROM public.tbl_variable WHERE uid='".addslashes($uid)."' ORDER BY name"; - if($result = pg_query($this->conn, $qry)) + if($result = $this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $v = new variable($this->conn, null, null, null); + $v = new variable(); $v->uid = $row->uid; $v->name = $row->name; @@ -210,6 +191,69 @@ class variable return false; } } + + /** + * Laedt die Variablen in ein assoziatives Array + * + * Zugriff von aussen mit $obj->variable->semester_aktuell + * + * @param $user + * @return true wenn ok, sonst false + */ + public function loadVariables($user) + { + if(!$this->db_query("SELECT * FROM public.tbl_variable WHERE uid='".addslashes($user)."'")) + { + $this->errormsg.=$this->db_last_error(); + return false; + } + else + $num_rows = $this->db_num_rows(); + + while($row=$this->db_fetch_object()) + { + $this->variable->{$row->name}=$row->wert; + } + + if (!isset($this->variable->semester_aktuell)) + { + if(!$this->db_query('SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1')) + { + $this->errormsg.=$this->db_last_error(); + return false; + } + else + { + if($row = $this->db_fetch_object()) + { + $this->variable->semester_aktuell=$row->studiensemester_kurzbz; + } + } + } + + if (!isset($this->variable->db_stpl_table)) + $this->variable->db_stpl_table='stundenplan'; + + if (!isset($this->variable->emailadressentrennzeichen)) + $this->variable->emailadressentrennzeichen=','; + + if (!isset($this->variable->db_stpl_table)) + $this->variable->db_stpl_table='stundenplan'; + + if (!isset($this->variable->kontofilterstg)) + $this->variable->kontofilterstg='false'; + + if (!isset($this->variable->ignore_kollision)) + $this->variable->ignore_kollision='false'; + + if (!isset($this->variable->ignore_zeitsperre)) + $this->variable->ignore_zeitsperre='false'; + + if (!isset($this->variable->ignore_reservierung)) + $this->variable->ignore_reservierung='false'; + + return true; + } } ?> \ No newline at end of file diff --git a/system/xsl/ZeugnisEng_0_v1.xsl b/system/xsl/ZeugnisEng_0_v1.xsl index eea835317..90c6b80a3 100644 --- a/system/xsl/ZeugnisEng_0_v1.xsl +++ b/system/xsl/ZeugnisEng_0_v1.xsl @@ -170,7 +170,7 @@ - non-credit participation (na), participated(t), bestanden (b), approbiert (ap), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea) + non-credit participation (na), participated(t), passed (b), approbiert (ap), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea) @@ -216,7 +216,7 @@ - \nDirector of Academic Degree Program + \nHead of Study Programme @@ -256,8 +256,23 @@ - Auslandsaufenthalt: -, , - \n Die im Ausland absolvierten Lehrveranstaltungen werden für das . Semester des Studiums an der Fachhochschule Technikum Wien angerechnet (Details siehe Transcript of Records der Gasthochschule). + International Semester Abroad: -, at , + \n All credits earned during the International Semester Abroad (ISA) are fully credited for the + + + + st + + + nd + + + rd + + + th + + . semester at the UAS Fachhochschule Technikum Wien. (see Transcript of Records) @@ -292,13 +307,30 @@ - + + + Subject Area: + + + + + - + + + Bachelor Thesis: + + + Diploma Thesis: + + + + +