Beginn der Anpassungen an neue Datenbankklasse und neues Config

This commit is contained in:
Andreas Österreicher
2009-05-29 12:35:32 +00:00
parent 7e682b6c7e
commit ece9542527
15 changed files with 358 additions and 441 deletions
+22 -23
View File
@@ -21,40 +21,36 @@
*/ */
header("Content-type: application/vnd.mozilla.xul+xml"); header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
require_once('../vilesci/config.inc.php'); require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php'); require_once('../include/functions.inc.php');
require_once('../include/fas/benutzer.class.php');
require_once('../include/benutzerberechtigung.class.php'); require_once('../include/benutzerberechtigung.class.php');
require_once('../include/studiensemester.class.php'); require_once('../include/studiensemester.class.php');
require_once('../include/variable.class.php');
// Testumgebung
$user=get_uid(); $user=get_uid();
$error_msg=''; $error_msg='';
//Variablen laden //$error_msg.=loadVariables($user);
if (!$conn = @pg_pconnect(CONN_STRING)) $variable = new variable();
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; $variable->loadVariables($user);
$error_msg.=loadVariables($conn,$user);
$benutzer = new benutzer($conn); //$benutzer = new benutzer($conn);
if(!$benutzer->loadVariables($user)) //if(!$benutzer->loadVariables($user))
$error_msg = $benutzer->errormsg; // $error_msg = $benutzer->errormsg;
$rechte = new benutzerberechtigung($conn); $rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user); $rechte->getBerechtigungen($user);
/*echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';*/
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>'; echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css" ?>'; echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css" ?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type="text/css"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>'; echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
?> ?>
<!DOCTYPE window [ <!DOCTYPE window [
<?php require("../locale/de-AT/fas.dtd"); ?> <?php require("../locale/de-AT/fas.dtd"); ?>
]> ]>
<!-- - <?php echo $semester_aktuell; ?> -->
<window <window
id="fas" id="fas"
title="&window.title; - Version &window.version;" title="&window.title; - Version &window.version;"
@@ -200,16 +196,17 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
label = "Studiensemester"> label = "Studiensemester">
<menupopup id="menu-properties-popup"> <menupopup id="menu-properties-popup">
<?php <?php
$stsem_arr = $benutzer->getpossibilities('semester_aktuell'); $stsemobj = new studiensemester();
foreach ($stsem_arr as $stsem) $stsemobj->getAll();
foreach ($stsemobj->result as $stsem)
{ {
echo " echo "
<menuitem <menuitem
id = 'menu-properies-studiensemester-name' id = 'menu-properies-studiensemester-name'
label = '$stsem' label = '$stsem->studiensemester_kurzbz'
type = 'radio' type = 'radio'
command = 'menu-properties-studiensemester:command' command = 'menu-properties-studiensemester:command'
checked = ".($benutzer->variable->semester_aktuell==$stsem?"'true' ":"'false'")." />"; checked = ".($variable->variable->semester_aktuell==$stsem->studiensemester_kurzbz?"'true' ":"'false'")." />";
} }
?> ?>
@@ -223,7 +220,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
command ="menu-prefs-kontofilterstg:command" command ="menu-prefs-kontofilterstg:command"
accesskey ="&menu-prefs-kontofilterstg.accesskey;" accesskey ="&menu-prefs-kontofilterstg.accesskey;"
checkbox ="true" checkbox ="true"
checked ="<?php echo $kontofilterstg;?>" checked ="<?php echo $variable->variable->kontofilterstg;?>"
/> />
</menupopup> </menupopup>
</menu> </menu>
@@ -465,9 +462,11 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<?php <?php
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende<now() ORDER BY ende DESC LIMIT 5"; $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende<now() ORDER BY ende DESC LIMIT 5";
if($result = pg_query($conn, $qry)) $db = new basis_db();
if($db->db_query($qry))
{ {
while($row = pg_fetch_object($result)) while($row = $db->db_fetch_object())
{ {
$stsem_kurzbz = $row->studiensemester_kurzbz; $stsem_kurzbz = $row->studiensemester_kurzbz;
@@ -724,14 +723,14 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
image="../skin/images/left.png" image="../skin/images/left.png"
oncommand="studiensemesterChange('', -1)" oncommand="studiensemesterChange('', -1)"
/> />
<toolbarbutton id="statusbarpanel-semester" label="<?php echo $semester_aktuell; ?>" oncommand="getStudiensemesterVariable()"/> <toolbarbutton id="statusbarpanel-semester" label="<?php echo $variable->variable->semester_aktuell; ?>" oncommand="getStudiensemesterVariable()"/>
<toolbarbutton id="statusbarpanel-studiensemester-right" <toolbarbutton id="statusbarpanel-studiensemester-right"
tooltiptext="1 Studiensemester vor" tooltiptext="1 Studiensemester vor"
image="../skin/images/right.png" image="../skin/images/right.png"
oncommand="studiensemesterChange('', 1)" oncommand="studiensemesterChange('', 1)"
/> />
</statusbarpanel> </statusbarpanel>
<statusbarpanel id="statusbarpanel-db_table" label="<?php echo substr(CONN_STRING,strpos(CONN_STRING,'dbname=')+7,strpos(CONN_STRING,'user=')-strpos(CONN_STRING,'dbname=')-7); ?>"/> <statusbarpanel id="statusbarpanel-db_table" label="<?php echo DB_NAME; ?>"/>
<statusbarpanel id="statusbarpanel-text" label="<?php echo htmlspecialchars($error_msg); ?>" flex="4" crop="right" /> <statusbarpanel id="statusbarpanel-text" label="<?php echo htmlspecialchars($error_msg); ?>" flex="4" crop="right" />
<statusbarpanel id="progress-panel" class="statusbarpanel-progress"> <statusbarpanel id="progress-panel" class="statusbarpanel-progress">
<progressmeter id="statusbar-progressmeter" class="progressmeter-statusbar" mode="determined" value="0%"/> <progressmeter id="statusbar-progressmeter" class="progressmeter-statusbar" mode="determined" value="0%"/>
+9 -8
View File
@@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2006 Technikum-Wien /* Copyright (C) 2009 Technikum-Wien
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as * it under the terms of the GNU General Public License as
@@ -16,16 +16,17 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>, * Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/ */
require_once('../vilesci/config.inc.php'); require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php'); require_once('../include/functions.inc.php');
require_once('../include/variable.class.php');
if(!$conn = pg_pconnect(CONN_STRING)) $variable = new variable();
die('Fehler beim Connecten zur DB'); $variable->loadVariables(get_uid());
loadVariables($conn, get_uid());
?> ?>
var currentAuswahl=new auswahlValues(); var currentAuswahl=new auswahlValues();
@@ -206,7 +207,7 @@ function LektorFunktionMail()
if(tree.view.getCellText(v,col).length>1) if(tree.view.getCellText(v,col).length>1)
{ {
if(mailempfaenger!='') if(mailempfaenger!='')
mailempfaenger=mailempfaenger+'<?php echo $emailadressentrennzeichen; ?>'+tree.view.getCellText(v,col)+'@<?php echo DOMAIN; ?>'; mailempfaenger=mailempfaenger+'<?php echo $variable->variable->emailadressentrennzeichen; ?>'+tree.view.getCellText(v,col)+'@<?php echo DOMAIN; ?>';
else else
mailempfaenger='mailto:'+tree.view.getCellText(v,col)+'@<?php echo DOMAIN; ?>'; mailempfaenger='mailto:'+tree.view.getCellText(v,col)+'@<?php echo DOMAIN; ?>';
} }
+3 -14
View File
@@ -20,27 +20,20 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
header("Content-type: application/vnd.mozilla.xul+xml"); header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>'; echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
require_once('../vilesci/config.inc.php'); require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php'); require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php'); require_once('../include/benutzerberechtigung.class.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Herstellen der DB Verbindung');
$user = get_uid(); $user = get_uid();
$rechte = new benutzerberechtigung($conn); $rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user); $rechte->getBerechtigungen($user);
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentenoverlay.xul.php"?>'; echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentenoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungoverlay.xul.php"?>'; echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungoverlay.xul.php"?>';
/*echo '<?xul-overlay href="'.APP_ROOT.'content/student/interessentenoverlay.xul.php"?>';*/
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul.php"?>'; echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul.php"?>';
/*echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-week-overlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-semester-overlay.xul.php"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
?> ?>
@@ -120,7 +113,6 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
<tree id="tree-fachbereich" onmouseup="onFachbereichSelect(event);" <tree id="tree-fachbereich" onmouseup="onFachbereichSelect(event);"
seltype="single" hidecolumnpicker="false" flex="1" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/fachbereich/liste"> datasources="rdf:null" ref="http://www.technikum-wien.at/fachbereich/liste">
<!--<?php echo APP_ROOT;?>rdf/fachbereich_menue.rdf.php-->
<treecols> <treecols>
<treecol id="fachbereich-treecol-bezeichnung" label="Bezeichnung" flex="3" primary="true" /> <treecol id="fachbereich-treecol-bezeichnung" label="Bezeichnung" flex="3" primary="true" />
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
@@ -297,7 +289,6 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
<?php <?php
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz')) if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz'))
{ {
//echo '<tab id="tab-interessenten" label="PreStudent" onclick="ChangeTabsToVerband()"/>';
echo '<tab id="tab-studenten" label="Studenten" onclick="ChangeTabsToVerband()"/>'; echo '<tab id="tab-studenten" label="Studenten" onclick="ChangeTabsToVerband()"/>';
echo '<tab id="tab-lfvt" label="Lehrveranstaltungen" onclick="ChangeTabsToVerband()"/>'; echo '<tab id="tab-lfvt" label="Lehrveranstaltungen" onclick="ChangeTabsToVerband()"/>';
} }
@@ -312,8 +303,6 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz')) if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz'))
{ {
echo ' echo '
<!-- Interessenten -->
<!--<vbox id="InteressentenEditor" />-->
<!-- Studenten --> <!-- Studenten -->
<vbox id="studentenEditor" /> <vbox id="studentenEditor" />
<!-- Lehrfachverteilung --> <!-- Lehrfachverteilung -->
@@ -20,13 +20,8 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
require_once('../../vilesci/config.inc.php'); require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?> ?>
// *********** Globale Variablen *****************// // *********** Globale Variablen *****************//
@@ -522,7 +517,7 @@ function LeDetailReset()
document.getElementById('lehrveranstaltung-detail-menulist-sprache').value='German'; document.getElementById('lehrveranstaltung-detail-menulist-sprache').value='German';
document.getElementById('lehrveranstaltung-detail-menulist-raumtyp').value='Dummy'; document.getElementById('lehrveranstaltung-detail-menulist-raumtyp').value='Dummy';
document.getElementById('lehrveranstaltung-detail-menulist-raumtypalternativ').value='Dummy'; document.getElementById('lehrveranstaltung-detail-menulist-raumtypalternativ').value='Dummy';
document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').value='<?php echo $semester_aktuell; ?>'; document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').value=getStudiensemester();
document.getElementById('lehrveranstaltung-detail-menulist-lehrform').value='UE'; document.getElementById('lehrveranstaltung-detail-menulist-lehrform').value='UE';
//mitarbeiterlehreinheit tree leeren //mitarbeiterlehreinheit tree leeren
@@ -20,13 +20,13 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
require_once('../../vilesci/config.inc.php'); require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php'); require_once('../../include/functions.inc.php');
require_once('../../include/variable.class.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid(); $user = get_uid();
loadVariables($conn, $user); $variable = new variable();
$variable->loadVariables($user);
?> ?>
// *********** Globale Variablen *****************// // *********** Globale Variablen *****************//
var MitarbeiterSelectUid=null; //UID des zu selektierenden Mitarbeiters var MitarbeiterSelectUid=null; //UID des zu selektierenden Mitarbeiters
@@ -957,7 +957,7 @@ function MitarbeiterSendMail()
if(treeMitarbeiter.view.getCellText(v,col).length>1) if(treeMitarbeiter.view.getCellText(v,col).length>1)
{ {
if(mailempfaenger!='') if(mailempfaenger!='')
mailempfaenger=mailempfaenger+'<?php echo $emailadressentrennzeichen; ?>'+treeMitarbeiter.view.getCellText(v,col)+'@technikum-wien.at'; mailempfaenger=mailempfaenger+'<?php echo $variable->variable->emailadressentrennzeichen; ?>'+treeMitarbeiter.view.getCellText(v,col)+'@technikum-wien.at';
else else
mailempfaenger='mailto:'+treeMitarbeiter.view.getCellText(v,col)+'@<?php echo DOMAIN; ?>'; mailempfaenger='mailto:'+treeMitarbeiter.view.getCellText(v,col)+'@<?php echo DOMAIN; ?>';
} }
@@ -20,13 +20,8 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
require_once('../../vilesci/config.inc.php'); require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?> ?>
// *********** Globale Variablen *****************// // *********** Globale Variablen *****************//
var InteressentDokumentTreeNichtabgegebenDatasource=null; //Datasource fuer Dokumenten tree var InteressentDokumentTreeNichtabgegebenDatasource=null; //Datasource fuer Dokumenten tree
+1 -120
View File
@@ -20,130 +20,11 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
require_once('../../vilesci/config.inc.php'); require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.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 ************************** // // ****************** 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 // * neuen Interessenten anlegen
// **** // ****
@@ -20,13 +20,8 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
require_once('../../vilesci/config.inc.php'); require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?> ?>
// *********** Globale Variablen *****************// // *********** Globale Variablen *****************//
var StudentAbschlusspruefungSelectID=null; //Id der Abschlusspruefung die nach dem Rebuild markiert werden soll var StudentAbschlusspruefungSelectID=null; //Id der Abschlusspruefung die nach dem Rebuild markiert werden soll
+1 -6
View File
@@ -20,13 +20,8 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
require_once('../../vilesci/config.inc.php'); require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?> ?>
// *********** Globale Variablen *****************// // *********** Globale Variablen *****************//
var StudentGruppenTreeDatasource=null; //Datasource fuer den GruppenTree var StudentGruppenTreeDatasource=null; //Datasource fuer den GruppenTree
+6 -5
View File
@@ -20,13 +20,14 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
require_once('../../vilesci/config.inc.php'); require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php'); require_once('../../include/functions.inc.php');
require_once('../../include/variable.class.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid(); $user = get_uid();
loadVariables($conn, $user);
$variable = new variable();
$variable->loadVariables($user);
?> ?>
// *********** Globale Variablen *****************// // *********** Globale Variablen *****************//
var StudentSelectID=null; //Student der nach dem Refresh markiert werden soll 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(tree.view.getCellText(v,col).length>1)
{ {
if(mailempfaenger!='') if(mailempfaenger!='')
mailempfaenger=mailempfaenger+'<?php echo $emailadressentrennzeichen; ?>'+tree.view.getCellText(v,col)+'@<?php echo DOMAIN; ?>'; mailempfaenger=mailempfaenger+'<?php echo $variable->variable->emailadressentrennzeichen; ?>'+tree.view.getCellText(v,col)+'@<?php echo DOMAIN; ?>';
else else
mailempfaenger='mailto:'+tree.view.getCellText(v,col)+'@<?php echo DOMAIN; ?>'; mailempfaenger='mailto:'+tree.view.getCellText(v,col)+'@<?php echo DOMAIN; ?>';
} }
+1 -6
View File
@@ -20,13 +20,8 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
require_once('../../vilesci/config.inc.php'); require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?> ?>
// *********** Globale Variablen *****************// // *********** Globale Variablen *****************//
var StudentProjektarbeitSelectID=null; //Id der Projektarbeit die nach dem Rebuild markiert werden soll var StudentProjektarbeitSelectID=null; //Id der Projektarbeit die nach dem Rebuild markiert werden soll
+12 -9
View File
@@ -185,30 +185,33 @@ function jahreskalenderjump($link)
echo ' </SMALL></CENTER></SMALL>'.$crlf; echo ' </SMALL></CENTER></SMALL>'.$crlf;
} }
function loadVariables($conn, $user) function loadVariables($user)
{ {
$db = new basis_db();
$error_msg=''; $error_msg='';
$num_rows=0; $num_rows=0;
$sql_query="SELECT * FROM public.tbl_variable WHERE uid='$user'"; $sql_query="SELECT * FROM public.tbl_variable WHERE uid='$user'";
if(!($result=pg_query($conn, $sql_query))) if(!$db->db_query($sql_query))
$error_msg.=pg_errormessage($conn).'<BR>'.$sql_query; $error_msg.=$db->db_last_error().'<BR>'.$sql_query;
else 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}; global ${$row->name};
${$row->name}=$row->wert; ${$row->name}=$row->wert;
} }
if (!isset($semester_aktuell)) if (!isset($semester_aktuell))
if(!($result=pg_query($conn, 'SELECT * FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1'))) if(!$db->db_query('SELECT * FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1'))
$error_msg.=pg_errormessage($conn).'<BR>'.$sql_query; $error_msg.=$db->db_last_error().'<BR>'.$sql_query;
else else
{ {
$num_rows=pg_numrows($result); $num_rows=$db->db_num_rows();
if ($num_rows>0) if ($num_rows>0)
{ {
$row=pg_fetch_object($result); $row=$db->db_fetch_object();
global $semester_aktuell; global $semester_aktuell;
$semester_aktuell=$row->studiensemester_kurzbz; $semester_aktuell=$row->studiensemester_kurzbz;
} }
+162 -170
View File
@@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2006 Technikum-Wien /* Copyright (C) 2009 Technikum-Wien
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as * it under the terms of the GNU General Public License as
@@ -16,64 +16,53 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>, * Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/ */
require_once('basis_db.class.php');
class studiensemester class studiensemester extends basis_db
{ {
var $conn; // resource DB-Handle public $errormsg; // string
var $errormsg; // string public $new; // boolean
var $new; // boolean public $studiensemester = array(); // studiensemester Objekt
var $studiensemester = array(); // studiensemester Objekt
//Tabellenspalten //Tabellenspalten
var $studiensemester_kurzbz; // varchar(16) public $studiensemester_kurzbz; // varchar(16)
var $start; // date public $start; // date
var $ende; // date public $ende; // date
var $bezeichnung; public $bezeichnung;
// *********************************************************************** /**
// * Konstruktor - Uebergibt die Connection und laedt optional ein LF * Konstruktor - Laedt optional ein StSem
// * @param $conn Datenbank-Connection *
// * $studiensemester_kurzbz StSem das geladen werden soll (default=null) * @param $studiensemester_kurzbz StSem das geladen werden soll (default=null)
// * $unicode Gibt an ob die Daten mit UNICODE Codierung */
// * oder LATIN9 Codierung verarbeitet werden sollen public function __construct($studiensemester_kurzbz=null)
// ***********************************************************************
function studiensemester($conn, $studiensemester_kurzbz=null, $unicode=false)
{ {
$this->conn = $conn; parent::__construct();
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($studiensemester_kurzbz != null) if($studiensemester_kurzbz != null)
$this->load($studiensemester_kurzbz); $this->load($studiensemester_kurzbz);
} }
// ************************************************************** /**
// * Laedt das Studiensemester mit der uebergebenen ID * Laedt das Studiensemester mit der uebergebenen ID
// * @param $studiensemester_kurzbz Stsem das geladen werden soll *
// ************************************************************** * @param $studiensemester_kurzbz Stsem das geladen werden soll
function load($studiensemester_kurzbz) */
public function load($studiensemester_kurzbz)
{ {
$qry = "SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='".addslashes($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; return false;
} }
if($row = pg_fetch_object($result)) if($row = $this->db_fetch_object())
{ {
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz; $this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->start = $row->start; $this->start = $row->start;
@@ -89,12 +78,13 @@ class studiensemester
return true; return true;
} }
// ******************************************* /**
// * Prueft die Variablen vor dem Speichern * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit. * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall *
// ******************************************* * @return true wenn ok, false im Fehlerfall
function validate() */
private function validate()
{ {
if(strlen($this->studiensemester_kurzbz)>16) if(strlen($this->studiensemester_kurzbz)>16)
{ {
@@ -109,24 +99,14 @@ class studiensemester
return true; return true;
} }
// ************************************************ /**
// * wenn $var '' ist wird "null" zurueckgegeben * Speichert das Studiensemester in die Datenbank
// * wenn $var !='' ist werden Datenbankkritische * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * zeichen mit backslash versehen und das ergbnis * angelegt, ansonsten der Datensatz upgedated
// * unter hochkomma gesetzt. *
// ************************************************ * @return true wenn erfolgreich, false im Fehlerfall
function addslashes($var) */
{ public function save()
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()
{ {
//Variablen auf Gueltigkeit pruefen //Variablen auf Gueltigkeit pruefen
if(!$this->validate()) if(!$this->validate())
@@ -147,35 +127,36 @@ class studiensemester
" WHERE studiensemester_kurzbz='$this->studiensemester_kurzbz'"; " WHERE studiensemester_kurzbz='$this->studiensemester_kurzbz'";
} }
if(pg_query($this->conn,$qry)) if($this->db_query($qry))
{ {
//Log schreiben //Log schreiben
return true; return true;
} }
else else
{ {
$this->errormsg = 'Fehler beim Speichern des Studiensemesters:'.$qry; $this->errormsg = 'Fehler beim Speichern des Studiensemesters';
return false; return false;
} }
} }
// ****************************************************************** /**
// * Liefert das Aktuelle Studiensemester * Liefert das aktuelle Studiensemester
// * @return aktuelles Studiensemester oder false wenn es keines gibt *
// ****************************************************************** * @return aktuelles Studiensemester oder false wenn es keines gibt
function getakt() */
public function getakt()
{ {
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start <= now() AND ende >= now()"; $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; 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; return $erg->studiensemester_kurzbz;
} }
else else
@@ -185,43 +166,20 @@ class studiensemester
} }
} }
// ****************************************************************** /**
// * Liefert ein Studiensemester mit Startdatum vom naechstgelegenen Studiensemester und * Liefert ein Studiensemester mit Startdatum vom naechstgelegenen Studiensemester und
// * dem Startdatum vom folgeden Studiensemester als Endedatum * dem Startdatum vom folgeden Studiensemester als Endedatum
// * @return boolean *
// ****************************************************************** * @return boolean
function getNearestTillNext() */
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()) if(!$nearest=$this->getNearest())
return false; return false;
$start=$this->start; $start=$this->start;
$studiensemester_kurzbz=$this->studiensemester_kurzbz; $studiensemester_kurzbz=$this->studiensemester_kurzbz;
if (!$next=$this->getNextFrom($this->studiensemester_kurzbz)) if (!$next=$this->getNextFrom($this->studiensemester_kurzbz))
return false; return false;
$ende=$this->start; $ende=$this->start;
@@ -235,18 +193,19 @@ class studiensemester
/** /**
* Liefert das Aktuelle Studiensemester oder das darauffolgende * Liefert das Aktuelle Studiensemester oder das darauffolgende
*
* @param $semester wenn das semester uebergeben wird, dann werden nur die 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) * geliefert die in dieses semester fallen (Bei geradem semester nur SS sonst WS)
* @return Studiensemester oder false wenn es keines gibt * @return Studiensemester oder false wenn es keines gibt
*/ */
function getaktorNext($semester='') public function getaktorNext($semester='')
{ {
if(($stsem=$this->getakt()) && $semester=='') if(($stsem=$this->getakt()) && $semester=='')
return $stsem; return $stsem;
else else
{ {
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE true"; $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE true";
//$qry = "SELECT studiensemester_kurzbz FROM public.vw_studiensemester ";
if($semester!='') if($semester!='')
{ {
if($semester%2==0) if($semester%2==0)
@@ -258,16 +217,15 @@ class studiensemester
} }
$qry.= " AND ende >= now() ORDER BY ende LIMIT 1"; $qry.= " AND ende >= now() ORDER BY ende LIMIT 1";
if(!$res=pg_query($this->conn,$qry)) if(!$this->db_query($qry))
{
$this->errormsg = pg_errormessage($this->conn);
return false;
}
if(pg_num_rows($res)>0)
{ {
$erg = pg_fetch_object($res); $this->errormsg = $this->db_last_error();
return $erg->studiensemester_kurzbz; return false;
}
if($erg = $this->db_fetch_object())
{
return $erg->studiensemester_kurzbz;
} }
else else
{ {
@@ -279,9 +237,12 @@ class studiensemester
/** /**
* Liefert das naechstgelegenste 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 * @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 "; $qry = "SELECT studiensemester_kurzbz, start, ende FROM public.vw_studiensemester ";
if($semester!='') if($semester!='')
@@ -294,17 +255,15 @@ class studiensemester
$qry.= " WHERE substring(studiensemester_kurzbz from 1 for 2)='$ss' "; $qry.= " WHERE substring(studiensemester_kurzbz from 1 for 2)='$ss' ";
} }
$qry.=' ORDER BY delta LIMIT 1'; $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; 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->studiensemester_kurzbz=$erg->studiensemester_kurzbz;
$this->start=$erg->start; $this->start=$erg->start;
$this->ende=$erg->ende; $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"; $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->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$stsem_obj->start = $row->start; $stsem_obj->start = $row->start;
@@ -334,6 +297,7 @@ class studiensemester
$this->studiensemester[] = $stsem_obj; $this->studiensemester[] = $stsem_obj;
} }
return true;
} }
else else
{ {
@@ -342,12 +306,14 @@ class studiensemester
} }
} }
// **** /**
// * Liefert das naechste Studiensemester * Liefert das naechste Studiensemester
// * Wenn art=WS dann wird das naechste Wintersemester geliefert *
// * Wenn art=SS dann wird das naechste Sommersemester geliefert * @param $art Wenn art=WS dann wird das naechste Wintersemester geliefert
// **** * Wenn art=SS dann wird das naechste Sommersemester geliefert
function getNextStudiensemester($art='') * @return true wenn ok, false wenn kein entsprechendes vorhanden ist
*/
public function getNextStudiensemester($art='')
{ {
$qry = "SELECT * FROM public.tbl_studiensemester WHERE start>now() "; $qry = "SELECT * FROM public.tbl_studiensemester WHERE start>now() ";
@@ -356,13 +322,13 @@ class studiensemester
$qry.=" ORDER BY start LIMIT 1"; $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'; $this->errormsg = 'Fehler beim Lesen des Studiensemesters';
return false; return false;
} }
if($row = pg_fetch_object($result)) if($row = $this->db_fetch_object())
{ {
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz; $this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->start = $row->start; $this->start = $row->start;
@@ -377,16 +343,18 @@ class studiensemester
return true; return true;
} }
// **** /**
// * Liefert das vorige Studiensemester * Liefert das vorige Studiensemester
// **** *
function getPrevious() * @return studiensemester_kurzbz oder false wenn keines vorhanden
*/
public function getPrevious()
{ {
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende<now() ORDER BY ende DESC LIMIT 1"; $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende<now() 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; return $row->studiensemester_kurzbz;
} }
@@ -401,18 +369,29 @@ class studiensemester
$this->errormsg = 'Fehler beim Ermitteln des vorangegangenen Studiensemesters'; $this->errormsg = 'Fehler beim Ermitteln des vorangegangenen Studiensemesters';
} }
} }
// ****
// * Liefert das vorvorige Studiensemester /**
// **** * Liefert das vorvorige Studiensemester
function getBeforePrevious() *
* @return studiensemester_kurzbz oder false wenn keines vorhanden
*/
public function getBeforePrevious()
{ {
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende<now() ORDER BY ende DESC LIMIT 2"; $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende<now() ORDER BY ende DESC LIMIT 2";
if($result = pg_query($this->conn, $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 else
{ {
@@ -423,22 +402,26 @@ class studiensemester
else else
{ {
$this->errormsg = 'Fehler beim Ermitteln des vorjährigen Studiensemesters'; $this->errormsg = 'Fehler beim Ermitteln des vorjährigen Studiensemesters';
return false;
} }
} }
// **** /**
// * Liefert das Studiensemester vor $studiensemester_kurzbz * Liefert das Studiensemester vor $studiensemester_kurzbz
// **** *
function getPreviousFrom($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 $qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester
WHERE ende<(SELECT start FROM public.tbl_studiensemester WHERE ende<(SELECT start FROM public.tbl_studiensemester
WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."') WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."')
ORDER BY ende DESC LIMIT 1"; 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; return $row->studiensemester_kurzbz;
} }
@@ -451,22 +434,26 @@ class studiensemester
else else
{ {
$this->errormsg = 'Fehler beim Ermitteln des vorangegangenen Studiensemesters'; $this->errormsg = 'Fehler beim Ermitteln des vorangegangenen Studiensemesters';
return false;
} }
} }
// **** /**
// * Liefert das Studiensemester nach $studiensemester_kurzbz * Liefert das Studiensemester nach $studiensemester_kurzbz
// **** *
function getNextFrom($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 $qry = "SELECT studiensemester_kurzbz, start, ende FROM public.tbl_studiensemester
WHERE start>(SELECT ende FROM public.tbl_studiensemester WHERE start>(SELECT ende FROM public.tbl_studiensemester
WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."') WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."')
ORDER BY start LIMIT 1"; 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->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->start = $row->start; $this->start = $row->start;
@@ -482,13 +469,18 @@ class studiensemester
else else
{ {
$this->errormsg = 'Fehler beim Ermitteln des folgenden Studiensemesters'; $this->errormsg = 'Fehler beim Ermitteln des folgenden Studiensemesters';
return false;
} }
} }
// **** /**
// * Springt von Studiensemester $studiensemester_kurzbz um $wert Studiensemester vor/zurueck * Springt von Studiensemester $studiensemester_kurzbz um $wert Studiensemester vor/zurueck
// **** *
function jump($studiensemester_kurzbz, $wert) * @param $studiensemester_kurzbz
* @param $wert
* @return studiensemester_kurzbz
*/
public function jump($studiensemester_kurzbz, $wert)
{ {
if($wert>0) if($wert>0)
{ {
@@ -518,9 +510,9 @@ class studiensemester
) as foo ) as foo
ORDER BY start DESC LIMIT 1"; 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; return $row->studiensemester_kurzbz;
} }
+94 -50
View File
@@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2006 Technikum-Wien /* Copyright (C) 2009 Technikum-Wien
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as * it under the terms of the GNU General Public License as
@@ -16,21 +16,23 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>, * Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/ */
require_once('basis_db.class.php');
class variable class variable extends basis_db
{ {
var $conn; // resource DB-Handle public $errormsg; // string
var $errormsg; // string public $new; // boolean
var $new; // boolean public $variables = array(); // variable Objekt
var $variables = array(); // variable Objekt public $variable;
//Tabellenspalten //Tabellenspalten
var $uid; // varchar(32) public $uid; // varchar(32)
var $name; // varchar(64) public $name; // varchar(64)
var $wert; // varchar(64) public $wert; // varchar(64)
// ************************************************************************* // *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Variable // * Konstruktor - Uebergibt die Connection und laedt optional eine Variable
@@ -40,35 +42,25 @@ class variable
// * $unicode Gibt an ob die Daten mit UNICODE Codierung // * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen // * 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; parent::__construct();
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
if($uid!=null && $name!=null) if($uid!=null && $name!=null)
$this->load($uid, $name); $this->load($uid, $name);
} }
// ********************************************************* // *********************************************************
// * Laedt die Variablen // * Laedt eine Variable
// * @param // * @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)."'"; $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->uid = $uid;
$this->name = $name; $this->name = $name;
@@ -88,7 +80,7 @@ class variable
// * auf Gueltigkeit. // * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall // * @return true wenn ok, false im Fehlerfall
// ******************************************* // *******************************************
function validate() private function validate()
{ {
if(strlen($this->uid)>32) if(strlen($this->uid)>32)
{ {
@@ -109,24 +101,13 @@ class variable
return true; 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 // * Speichert Variable in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated // * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall // * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************ // ************************************************************
function save($new=null) public function save($new=null)
{ {
if(is_null($new)) if(is_null($new))
$new = $this->new; $new = $this->new;
@@ -149,7 +130,7 @@ class variable
" WHERE uid='".addslashes($this->uid)."' AND name='".addslashes($this->name)."';"; " WHERE uid='".addslashes($this->uid)."' AND name='".addslashes($this->name)."';";
} }
if(pg_query($this->conn,$qry)) if($this->db_query($qry))
{ {
//Log schreiben //Log schreiben
return true; return true;
@@ -164,7 +145,7 @@ class variable
// **** // ****
// * Loescht einen Variableneintrag // * Loescht einen Variableneintrag
// **** // ****
function delete($name, $uid) public function delete($name, $uid)
{ {
if($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)."'"; $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; return true;
else else
{ {
@@ -186,15 +167,15 @@ class variable
// ****** // ******
// * Liefert alle Variablen eines Benutzers // * 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"; $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->uid = $row->uid;
$v->name = $row->name; $v->name = $row->name;
@@ -210,6 +191,69 @@ class variable
return false; 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;
}
} }
?> ?>
+38 -6
View File
@@ -170,7 +170,7 @@
<fo:block font-size="7pt"></fo:block> <fo:block font-size="7pt"></fo:block>
</fo:table-cell> </fo:table-cell>
<fo:table-cell> <fo:table-cell>
<fo:block font-size="7pt">non-credit participation (na), participated(t), bestanden (b), approbiert (ap), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea)</fo:block> <fo:block font-size="7pt">non-credit participation (na), participated(t), passed (b), approbiert (ap), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea)</fo:block>
</fo:table-cell> </fo:table-cell>
</fo:table-row> </fo:table-row>
</fo:table-body> </fo:table-body>
@@ -216,7 +216,7 @@
<fo:table-cell> <fo:table-cell>
<fo:block font-size="8pt" content-width="75mm" text-align="center"> <fo:block font-size="8pt" content-width="75mm" text-align="center">
<xsl:value-of select="studiengangsleiter"/> <xsl:value-of select="studiengangsleiter"/>
<xsl:text>\nDirector of Academic Degree Program</xsl:text> <xsl:text>\nHead of Study Programme</xsl:text>
</fo:block> </fo:block>
</fo:table-cell> </fo:table-cell>
<fo:table-cell> <fo:table-cell>
@@ -256,8 +256,23 @@
<xsl:text> </xsl:text> <xsl:text> </xsl:text>
<xsl:choose> <xsl:choose>
<xsl:when test="bisio_von"> <xsl:when test="bisio_von">
Auslandsaufenthalt: <xsl:value-of select="bisio_von"/>-<xsl:value-of select="bisio_bis"/>, <xsl:value-of select="bisio_ort"/>, <xsl:value-of select="bisio_universitaet"/> International Semester Abroad: <xsl:value-of select="bisio_von"/>-<xsl:value-of select="bisio_bis"/>, at <xsl:value-of select="bisio_ort"/>, <xsl:value-of select="bisio_universitaet"/>
\n Die im Ausland absolvierten Lehrveranstaltungen werden für das <xsl:value-of select="../semester"/>. Semester des Studiums an der Fachhochschule Technikum Wien angerechnet (Details siehe Transcript of Records der Gasthochschule). \n All credits earned during the International Semester Abroad (ISA) are fully credited for the
<xsl:value-of select="../semester"/>
<xsl:choose>
<xsl:when test="../semester=1">
<xsl:text>st</xsl:text>
</xsl:when>
<xsl:when test="../semester=2">
<xsl:text>nd</xsl:text>
</xsl:when>
<xsl:when test="../semester=3">
<xsl:text>rd</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>th</xsl:text>
</xsl:otherwise>
</xsl:choose>. semester at the UAS Fachhochschule Technikum Wien. (see Transcript of Records)
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:value-of select="bezeichnung_englisch"/> <xsl:value-of select="bezeichnung_englisch"/>
@@ -292,13 +307,30 @@
<xsl:value-of select="fussnotenzeichen"/> <xsl:value-of select="fussnotenzeichen"/>
<xsl:text> </xsl:text> <xsl:text> </xsl:text>
<fo:inline font-weight="bold"> <fo:inline font-weight="bold">
<xsl:value-of select="themenbereich_bezeichnung"/> <xsl:choose>
<xsl:when test="themenbereich_bezeichnung='Themenbereich: '">
<xsl:text>Subject Area:</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text></xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text> <xsl:text> </xsl:text>
</fo:inline> </fo:inline>
<xsl:value-of select="themenbereich"/> <xsl:value-of select="themenbereich"/>
<xsl:text> </xsl:text> <xsl:text> </xsl:text>
<fo:inline font-weight="bold"> <fo:inline font-weight="bold">
<xsl:value-of select="titel_bezeichnung"/> <xsl:choose>
<xsl:when test="titel_bezeichnung='Bachelorarbeit:'">
<xsl:text>Bachelor Thesis:</xsl:text>
</xsl:when>
<xsl:when test="titel_bezeichnung='Diplomarbeit:'">
<xsl:text>Diploma Thesis:</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text></xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text> <xsl:text> </xsl:text>
</fo:inline> </fo:inline>
<xsl:value-of select="titel"/> <xsl:value-of select="titel"/>