mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-26 00:54:27 +00:00
pruefungsanmeldung.json.php changed for eine_uid
This commit is contained in:
+3
-2
@@ -16,8 +16,9 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
* Andreas Oesterreicher <[email protected]>,
|
||||
* Rudolf Hangl <[email protected]> and
|
||||
* Andreas Moik <[email protected]>,
|
||||
*/
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
|
||||
@@ -17,8 +17,9 @@
|
||||
*
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]>,
|
||||
* Rudolf Hangl <[email protected]> and
|
||||
* Gerald Simane-Sequens <[email protected]>
|
||||
* Rudolf Hangl <[email protected]>,
|
||||
* Gerald Simane-Sequens <[email protected]> and
|
||||
* Andreas Moik <[email protected]>.
|
||||
*/
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
|
||||
+473
-473
@@ -1,473 +1,473 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
|
||||
?>
|
||||
// ********** GLOBALE VARIABLEN ********** //
|
||||
var FunktionenTreeDatasource=''; // Datasource des Adressen Trees
|
||||
var FunktionenSelectID='';
|
||||
var FunktionenUID=null;
|
||||
var FunktionBezeichnungChanged=false;
|
||||
|
||||
<?php
|
||||
|
||||
// JS-Variable anlegen mit einer Uebersetzungstabellle
|
||||
// Studiengang zu Organisationseinheit
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->getAll();
|
||||
|
||||
echo 'var organisationseinheit = {';
|
||||
$content = '';
|
||||
foreach ($stg_obj->result as $stg)
|
||||
$content .= '"'.$stg->studiengang_kz.'":"'.$stg->oe_kurzbz.'",';
|
||||
echo substr($content, 0, mb_strlen($content)-1).'};';
|
||||
|
||||
?>
|
||||
// ********** LISTENER UND OBSERVER ********** //
|
||||
|
||||
// ****
|
||||
// * Observer fuer Adressen Tree
|
||||
// * startet Rebuild nachdem das Refresh
|
||||
// * der Datasource fertig ist
|
||||
// ****
|
||||
var FunktionenTreeSinkObserver =
|
||||
{
|
||||
onBeginLoad : function(pSink) {},
|
||||
onInterrupt : function(pSink) {},
|
||||
onResume : function(pSink) {},
|
||||
onError : function(pSink, pStatus, pError) {},
|
||||
onEndLoad : function(pSink)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
document.getElementById('funktion-tree').builder.rebuild();
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Nach dem Rebuild wird der Eintrag wieder
|
||||
// * markiert
|
||||
// ****
|
||||
var FunktionenTreeListener =
|
||||
{
|
||||
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(FunktionenTreeSelectID,10);
|
||||
}
|
||||
};
|
||||
|
||||
// ********** FUNKTIONEN ********** //
|
||||
|
||||
// ****
|
||||
// * Laedt die Trees
|
||||
// ****
|
||||
function loadFunktionen(uid)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
FunktionenUID = uid;
|
||||
|
||||
//Adressen laden
|
||||
url = "<?php echo APP_ROOT; ?>rdf/benutzerfunktion.rdf.php?uid="+uid+"&"+gettimestamp();
|
||||
var tree=document.getElementById('funktion-tree');
|
||||
|
||||
try
|
||||
{
|
||||
FunktionenTreeDatasource.removeXMLSinkObserver(FunktionenTreeSinkObserver);
|
||||
tree.builder.removeListener(FunktionenTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = tree.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
tree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
FunktionenTreeDatasource = rdfService.GetDataSource(url);
|
||||
FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
tree.database.AddDataSource(FunktionenTreeDatasource);
|
||||
FunktionenTreeDatasource.addXMLSinkObserver(FunktionenTreeSinkObserver);
|
||||
tree.builder.addListener(FunktionenTreeListener);
|
||||
FunktionDisableFields(false);
|
||||
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Selectiert eine Funktion nachdem der Tree
|
||||
// * rebuildet wurde.
|
||||
// ****
|
||||
function FunktionenTreeSelectID()
|
||||
{
|
||||
var tree=document.getElementById('funktion-tree');
|
||||
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
|
||||
|
||||
//In der globalen Variable ist die zu selektierende Adresse gespeichert
|
||||
if(FunktionenSelectID!=null)
|
||||
{
|
||||
for(var i=0;i<items;i++)
|
||||
{
|
||||
//ID der row holen
|
||||
col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
|
||||
id=tree.view.getCellText(i,col);
|
||||
|
||||
if(id == FunktionenSelectID)
|
||||
{
|
||||
//Zeile markieren
|
||||
tree.view.selection.select(i);
|
||||
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
|
||||
tree.treeBoxObject.ensureRowIsVisible(i);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
FunktionenSelectID=null;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Deaktiviert die Felder und setzt den Neu status
|
||||
// ****
|
||||
function FunktionNeu()
|
||||
{
|
||||
FunktionDetailResetFields();
|
||||
FunktionDetailDisableFields(false);
|
||||
document.getElementById('funktion-checkbox-neu').checked=true;
|
||||
document.getElementById('funktion-textbox-benutzerfunktion_id').value='';
|
||||
|
||||
//Wenn die aktuelle Person ein Student ist,
|
||||
//dann wird Studiengang und 'Studentenvertreter' vorausgewaehlt
|
||||
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
|
||||
oe_kurzbz='';
|
||||
else
|
||||
oe_kurzbz = organisationseinheit[ window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value ];
|
||||
|
||||
if(oe_kurzbz!='')
|
||||
{
|
||||
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
|
||||
document.getElementById('funktion-menulist-funktion').value='stdv';
|
||||
}
|
||||
|
||||
var Datum = new Date()
|
||||
var Jahr = Datum.getFullYear()
|
||||
var Tag = Datum.getDate()
|
||||
var Monat = Datum.getMonth()+1
|
||||
|
||||
document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr;
|
||||
document.getElementById('funktion-box-datum_bis').value='';
|
||||
document.getElementById('funktion-textbox-bezeichnung').value='';
|
||||
document.getElementById('funktion-textbox-wochenstunden').value='';
|
||||
FunktionToggleFachbereich();
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Loescht eine Funktion
|
||||
// ****
|
||||
function FunktionDelete()
|
||||
{
|
||||
tree = document.getElementById('funktion-tree');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
{
|
||||
alert('Bitte zuerst eine Funktion auswaehlen');
|
||||
return;
|
||||
}
|
||||
|
||||
//Ausgewaehlte ID holen
|
||||
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
|
||||
var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
|
||||
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
|
||||
studiengang_kz='';
|
||||
else
|
||||
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
|
||||
|
||||
if(confirm('Soll diese Funktion wirklich geloescht werden?'))
|
||||
{
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'funktiondelete');
|
||||
|
||||
req.add('benutzerfunktion_id', benutzerfunktion_id);
|
||||
req.add('studiengang_kz', studiengang_kz);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
FunktionenTreeDatasource.Refresh(false);
|
||||
FunktionDetailResetFields();
|
||||
FunktionDetailDisableFields(true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Speichert die Daten
|
||||
// ****
|
||||
function FunktionDetailSpeichern()
|
||||
{
|
||||
var funktion_kurzbz = document.getElementById('funktion-menulist-funktion').value;
|
||||
var oe_kurzbz = document.getElementById('funktion-menulist-oe_kurzbz').value;
|
||||
var semester = document.getElementById('funktion-menulist-semester').value;
|
||||
var fachbereich_kurzbz = document.getElementById('funktion-menulist-fachbereich').value;
|
||||
var neu = document.getElementById('funktion-checkbox-neu').checked;
|
||||
var benutzerfunktion_id = document.getElementById('funktion-textbox-benutzerfunktion_id').value;
|
||||
var datum_von = document.getElementById('funktion-box-datum_von').value;
|
||||
var datum_bis = document.getElementById('funktion-box-datum_bis').value;
|
||||
var bezeichnung = document.getElementById('funktion-textbox-bezeichnung').value;
|
||||
var wochenstunden = document.getElementById('funktion-textbox-wochenstunden').value;
|
||||
|
||||
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
|
||||
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
|
||||
studiengang_kz_berecht='';
|
||||
else
|
||||
studiengang_kz_berecht = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
//Wenn Fachbereich ausgeblendet ist, dann sicherheitshalber auf '' setzen
|
||||
if(document.getElementById('funktion-menulist-fachbereich').hidden==true)
|
||||
fachbereich_kurzbz='';
|
||||
|
||||
req.add('type', 'funktionsave');
|
||||
|
||||
req.add('funktion_kurzbz', funktion_kurzbz);
|
||||
req.add('oe_kurzbz', oe_kurzbz);
|
||||
req.add('semester', semester);
|
||||
req.add('studiengang_kz_berecht', studiengang_kz_berecht);
|
||||
req.add('fachbereich_kurzbz', fachbereich_kurzbz);
|
||||
req.add('uid', FunktionenUID);
|
||||
req.add('neu', neu);
|
||||
req.add('benutzerfunktion_id', benutzerfunktion_id);
|
||||
req.add('datum_von', ConvertDateToISO(datum_von));
|
||||
req.add('datum_bis', ConvertDateToISO(datum_bis));
|
||||
req.add('bezeichnung', bezeichnung);
|
||||
req.add('wochenstunden', wochenstunden);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
FunktionBezeichnungChanged=false;
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
FunktionenSelectID=val.dbdml_data;
|
||||
FunktionenTreeDatasource.Refresh(false);
|
||||
document.getElementById('funktion-checkbox-neu').checked=false;
|
||||
document.getElementById('funktion-textbox-benutzerfunktion_id').value=FunktionenSelectID;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Daten zum Bearbeiten laden
|
||||
// ****
|
||||
function FunktionBearbeiten()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
tree = document.getElementById('funktion-tree');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
//Ausgewaehlte Nr holen
|
||||
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
|
||||
var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
//Daten holen
|
||||
var url = '<?php echo APP_ROOT ?>rdf/benutzerfunktion.rdf.php?benutzerfunktion_id='+benutzerfunktion_id+'&'+gettimestamp();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
|
||||
var dsource = rdfService.GetDataSourceBlocking(url);
|
||||
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/bnfunktion/"+benutzerfunktion_id);
|
||||
|
||||
var predicateNS = "http://www.technikum-wien.at/bnfunktion/rdf";
|
||||
|
||||
//Daten holen
|
||||
var fachbereich_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fachbereich_kurzbz" ));
|
||||
var uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uid" ));
|
||||
var oe_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#oe_kurzbz" ));
|
||||
var semester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" ));
|
||||
var funktion_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#funktion_kurzbz" ));
|
||||
var datum_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_von" ));
|
||||
var datum_bis = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_bis" ));
|
||||
var bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bezeichnung" ));
|
||||
var wochenstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#wochenstunden" ));
|
||||
|
||||
document.getElementById('funktion-menulist-fachbereich').value=fachbereich_kurzbz;
|
||||
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
|
||||
document.getElementById('funktion-menulist-semester').value=semester;
|
||||
document.getElementById('funktion-menulist-funktion').value=funktion_kurzbz;
|
||||
document.getElementById('funktion-textbox-benutzerfunktion_id').value=benutzerfunktion_id;
|
||||
document.getElementById('funktion-checkbox-neu').checked = false;
|
||||
document.getElementById('funktion-box-datum_von').value=datum_von;
|
||||
document.getElementById('funktion-box-datum_bis').value=datum_bis;
|
||||
document.getElementById('funktion-textbox-bezeichnung').value=bezeichnung;
|
||||
document.getElementById('funktion-textbox-wochenstunden').value=wochenstunden;
|
||||
|
||||
FunktionBezeichnungChanged=true;
|
||||
FunktionDetailDisableFields(false);
|
||||
FunktionToggleFachbereich();
|
||||
}
|
||||
|
||||
// ****
|
||||
// * De-/Aktiviert die Buttons
|
||||
// ****
|
||||
function FunktionDisableFields(val)
|
||||
{
|
||||
document.getElementById('funktion-button-neu').disabled=val;
|
||||
document.getElementById('funktion-button-loeschen').disabled=val;
|
||||
|
||||
if(val)
|
||||
FunktionDetailDisableFields(val);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * De-/Aktiviert die DetailFelder
|
||||
// ****
|
||||
function FunktionDetailDisableFields(val)
|
||||
{
|
||||
document.getElementById('funktion-menulist-fachbereich').disabled=val;
|
||||
document.getElementById('funktion-menulist-oe_kurzbz').disabled=val;
|
||||
document.getElementById('funktion-menulist-semester').disabled=val;
|
||||
document.getElementById('funktion-menulist-funktion').disabled=val;
|
||||
document.getElementById('funktion-button-speichern').disabled=val;
|
||||
document.getElementById('funktion-box-datum_von').disabled=val;
|
||||
document.getElementById('funktion-box-datum_bis').disabled=val;
|
||||
document.getElementById('funktion-textbox-bezeichnung').disabled=val;
|
||||
document.getElementById('funktion-textbox-wochenstunden').disabled=val;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Setzt Defaultwerte fuer die Felder
|
||||
// ****
|
||||
function FunktionDetailResetFields()
|
||||
{
|
||||
document.getElementById('funktion-menulist-fachbereich').value='';
|
||||
document.getElementById('funktion-menulist-oe_kurzbz').selectedIndex=0;
|
||||
document.getElementById('funktion-menulist-semester').value='';
|
||||
document.getElementById('funktion-menulist-funktion').value='ass';
|
||||
|
||||
var Datum = new Date();
|
||||
var Jahr = Datum.getFullYear();
|
||||
var Tag = Datum.getDate();
|
||||
var Monat = Datum.getMonth()+1;
|
||||
|
||||
document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr;
|
||||
document.getElementById('funktion-box-datum_bis').value='';
|
||||
document.getElementById('funktion-textbox-bezeichnung').value='';
|
||||
document.getElementById('funktion-textbox-wochenstunden').value='';
|
||||
FunktionBezeichnungChanged=false;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Fachbereichs und Semester DropDown nur Anzeigen, wenn die entsprechenden Attribute
|
||||
// * der Funktion auf true gesetzt sind
|
||||
// ****
|
||||
function FunktionToggleFachbereich()
|
||||
{
|
||||
var menulist = document.getElementById('funktion-menulist-funktion');
|
||||
|
||||
//ersten selektierten Eintrag holen
|
||||
var children = menulist.getElementsByAttribute('selected','true');
|
||||
children = children[0];
|
||||
|
||||
//Attribute semester und fachbereich auslesen
|
||||
var semester = children.getAttribute('semester');
|
||||
var fachbereich = children.getAttribute('fachbereich');
|
||||
var bezeichnung = children.label;
|
||||
|
||||
//wenn in der Bezeichung noch nichts drinnen steht, dann die Funktion in die Bezeichnung schreiben
|
||||
var tbbezeichnung = document.getElementById('funktion-textbox-bezeichnung')
|
||||
|
||||
if(!FunktionBezeichnungChanged)
|
||||
{
|
||||
tbbezeichnung.value=bezeichnung;
|
||||
}
|
||||
|
||||
//Felder sichtbar/unsichtbar setzen
|
||||
var semesterhidden=false;
|
||||
var fachbereichhidden=false;
|
||||
|
||||
if(semester=='true')
|
||||
semesterhidden=false;
|
||||
else
|
||||
semesterhidden=true;
|
||||
|
||||
if(fachbereich=='true')
|
||||
fachbereichhidden=false;
|
||||
else
|
||||
fachbereichhidden=true;
|
||||
|
||||
document.getElementById('funktion-menulist-fachbereich').hidden=fachbereichhidden;
|
||||
document.getElementById('funktion-label-fachbereich').hidden=fachbereichhidden;
|
||||
|
||||
document.getElementById('funktion-menulist-semester').hidden=semesterhidden;
|
||||
document.getElementById('funktion-label-semester').hidden=semesterhidden;
|
||||
|
||||
}
|
||||
|
||||
function FunktionBezeichnungChange()
|
||||
{
|
||||
FunktionBezeichnungChanged=true;
|
||||
}
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
|
||||
?>
|
||||
// ********** GLOBALE VARIABLEN ********** //
|
||||
var FunktionenTreeDatasource=''; // Datasource des Adressen Trees
|
||||
var FunktionenSelectID='';
|
||||
var FunktionenUID=null;
|
||||
var FunktionBezeichnungChanged=false;
|
||||
|
||||
<?php
|
||||
|
||||
// JS-Variable anlegen mit einer Uebersetzungstabellle
|
||||
// Studiengang zu Organisationseinheit
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->getAll();
|
||||
|
||||
echo 'var organisationseinheit = {';
|
||||
$content = '';
|
||||
foreach ($stg_obj->result as $stg)
|
||||
$content .= '"'.$stg->studiengang_kz.'":"'.$stg->oe_kurzbz.'",';
|
||||
echo substr($content, 0, mb_strlen($content)-1).'};';
|
||||
|
||||
?>
|
||||
// ********** LISTENER UND OBSERVER ********** //
|
||||
|
||||
// ****
|
||||
// * Observer fuer Adressen Tree
|
||||
// * startet Rebuild nachdem das Refresh
|
||||
// * der Datasource fertig ist
|
||||
// ****
|
||||
var FunktionenTreeSinkObserver =
|
||||
{
|
||||
onBeginLoad : function(pSink) {},
|
||||
onInterrupt : function(pSink) {},
|
||||
onResume : function(pSink) {},
|
||||
onError : function(pSink, pStatus, pError) {},
|
||||
onEndLoad : function(pSink)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
document.getElementById('funktion-tree').builder.rebuild();
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Nach dem Rebuild wird der Eintrag wieder
|
||||
// * markiert
|
||||
// ****
|
||||
var FunktionenTreeListener =
|
||||
{
|
||||
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(FunktionenTreeSelectID,10);
|
||||
}
|
||||
};
|
||||
|
||||
// ********** FUNKTIONEN ********** //
|
||||
|
||||
// ****
|
||||
// * Laedt die Trees
|
||||
// ****
|
||||
function loadFunktionen(uid)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
FunktionenUID = uid;
|
||||
|
||||
//Adressen laden
|
||||
url = "<?php echo APP_ROOT; ?>rdf/benutzerfunktion.rdf.php?uid="+uid+"&"+gettimestamp();
|
||||
var tree=document.getElementById('funktion-tree');
|
||||
|
||||
try
|
||||
{
|
||||
FunktionenTreeDatasource.removeXMLSinkObserver(FunktionenTreeSinkObserver);
|
||||
tree.builder.removeListener(FunktionenTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = tree.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
tree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
FunktionenTreeDatasource = rdfService.GetDataSource(url);
|
||||
FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
tree.database.AddDataSource(FunktionenTreeDatasource);
|
||||
FunktionenTreeDatasource.addXMLSinkObserver(FunktionenTreeSinkObserver);
|
||||
tree.builder.addListener(FunktionenTreeListener);
|
||||
FunktionDisableFields(false);
|
||||
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Selectiert eine Funktion nachdem der Tree
|
||||
// * rebuildet wurde.
|
||||
// ****
|
||||
function FunktionenTreeSelectID()
|
||||
{
|
||||
var tree=document.getElementById('funktion-tree');
|
||||
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
|
||||
|
||||
//In der globalen Variable ist die zu selektierende Adresse gespeichert
|
||||
if(FunktionenSelectID!=null)
|
||||
{
|
||||
for(var i=0;i<items;i++)
|
||||
{
|
||||
//ID der row holen
|
||||
col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
|
||||
id=tree.view.getCellText(i,col);
|
||||
|
||||
if(id == FunktionenSelectID)
|
||||
{
|
||||
//Zeile markieren
|
||||
tree.view.selection.select(i);
|
||||
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
|
||||
tree.treeBoxObject.ensureRowIsVisible(i);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
FunktionenSelectID=null;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Deaktiviert die Felder und setzt den Neu status
|
||||
// ****
|
||||
function FunktionNeu()
|
||||
{
|
||||
FunktionDetailResetFields();
|
||||
FunktionDetailDisableFields(false);
|
||||
document.getElementById('funktion-checkbox-neu').checked=true;
|
||||
document.getElementById('funktion-textbox-benutzerfunktion_id').value='';
|
||||
|
||||
//Wenn die aktuelle Person ein Student ist,
|
||||
//dann wird Studiengang und 'Studentenvertreter' vorausgewaehlt
|
||||
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
|
||||
oe_kurzbz='';
|
||||
else
|
||||
oe_kurzbz = organisationseinheit[ window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value ];
|
||||
|
||||
if(oe_kurzbz!='')
|
||||
{
|
||||
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
|
||||
document.getElementById('funktion-menulist-funktion').value='stdv';
|
||||
}
|
||||
|
||||
var Datum = new Date()
|
||||
var Jahr = Datum.getFullYear()
|
||||
var Tag = Datum.getDate()
|
||||
var Monat = Datum.getMonth()+1
|
||||
|
||||
document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr;
|
||||
document.getElementById('funktion-box-datum_bis').value='';
|
||||
document.getElementById('funktion-textbox-bezeichnung').value='';
|
||||
document.getElementById('funktion-textbox-wochenstunden').value='';
|
||||
FunktionToggleFachbereich();
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Loescht eine Funktion
|
||||
// ****
|
||||
function FunktionDelete()
|
||||
{
|
||||
tree = document.getElementById('funktion-tree');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
{
|
||||
alert('Bitte zuerst eine Funktion auswaehlen');
|
||||
return;
|
||||
}
|
||||
|
||||
//Ausgewaehlte ID holen
|
||||
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
|
||||
var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
|
||||
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
|
||||
studiengang_kz='';
|
||||
else
|
||||
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
|
||||
|
||||
if(confirm('Soll diese Funktion wirklich geloescht werden?'))
|
||||
{
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'funktiondelete');
|
||||
|
||||
req.add('benutzerfunktion_id', benutzerfunktion_id);
|
||||
req.add('studiengang_kz', studiengang_kz);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
FunktionenTreeDatasource.Refresh(false);
|
||||
FunktionDetailResetFields();
|
||||
FunktionDetailDisableFields(true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Speichert die Daten
|
||||
// ****
|
||||
function FunktionDetailSpeichern()
|
||||
{
|
||||
var funktion_kurzbz = document.getElementById('funktion-menulist-funktion').value;
|
||||
var oe_kurzbz = document.getElementById('funktion-menulist-oe_kurzbz').value;
|
||||
var semester = document.getElementById('funktion-menulist-semester').value;
|
||||
var fachbereich_kurzbz = document.getElementById('funktion-menulist-fachbereich').value;
|
||||
var neu = document.getElementById('funktion-checkbox-neu').checked;
|
||||
var benutzerfunktion_id = document.getElementById('funktion-textbox-benutzerfunktion_id').value;
|
||||
var datum_von = document.getElementById('funktion-box-datum_von').value;
|
||||
var datum_bis = document.getElementById('funktion-box-datum_bis').value;
|
||||
var bezeichnung = document.getElementById('funktion-textbox-bezeichnung').value;
|
||||
var wochenstunden = document.getElementById('funktion-textbox-wochenstunden').value;
|
||||
|
||||
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
|
||||
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
|
||||
studiengang_kz_berecht='';
|
||||
else
|
||||
studiengang_kz_berecht = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
//Wenn Fachbereich ausgeblendet ist, dann sicherheitshalber auf '' setzen
|
||||
if(document.getElementById('funktion-menulist-fachbereich').hidden==true)
|
||||
fachbereich_kurzbz='';
|
||||
|
||||
req.add('type', 'funktionsave');
|
||||
|
||||
req.add('funktion_kurzbz', funktion_kurzbz);
|
||||
req.add('oe_kurzbz', oe_kurzbz);
|
||||
req.add('semester', semester);
|
||||
req.add('studiengang_kz_berecht', studiengang_kz_berecht);
|
||||
req.add('fachbereich_kurzbz', fachbereich_kurzbz);
|
||||
req.add('uid', FunktionenUID);
|
||||
req.add('neu', neu);
|
||||
req.add('benutzerfunktion_id', benutzerfunktion_id);
|
||||
req.add('datum_von', ConvertDateToISO(datum_von));
|
||||
req.add('datum_bis', ConvertDateToISO(datum_bis));
|
||||
req.add('bezeichnung', bezeichnung);
|
||||
req.add('wochenstunden', wochenstunden);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
FunktionBezeichnungChanged=false;
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
FunktionenSelectID=val.dbdml_data;
|
||||
FunktionenTreeDatasource.Refresh(false);
|
||||
document.getElementById('funktion-checkbox-neu').checked=false;
|
||||
document.getElementById('funktion-textbox-benutzerfunktion_id').value=FunktionenSelectID;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Daten zum Bearbeiten laden
|
||||
// ****
|
||||
function FunktionBearbeiten()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
tree = document.getElementById('funktion-tree');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
//Ausgewaehlte Nr holen
|
||||
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
|
||||
var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
//Daten holen
|
||||
var url = '<?php echo APP_ROOT ?>rdf/benutzerfunktion.rdf.php?benutzerfunktion_id='+benutzerfunktion_id+'&'+gettimestamp();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
|
||||
var dsource = rdfService.GetDataSourceBlocking(url);
|
||||
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/bnfunktion/"+benutzerfunktion_id);
|
||||
|
||||
var predicateNS = "http://www.technikum-wien.at/bnfunktion/rdf";
|
||||
|
||||
//Daten holen
|
||||
var fachbereich_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fachbereich_kurzbz" ));
|
||||
var uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uid" ));
|
||||
var oe_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#oe_kurzbz" ));
|
||||
var semester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" ));
|
||||
var funktion_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#funktion_kurzbz" ));
|
||||
var datum_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_von" ));
|
||||
var datum_bis = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_bis" ));
|
||||
var bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bezeichnung" ));
|
||||
var wochenstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#wochenstunden" ));
|
||||
|
||||
document.getElementById('funktion-menulist-fachbereich').value=fachbereich_kurzbz;
|
||||
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
|
||||
document.getElementById('funktion-menulist-semester').value=semester;
|
||||
document.getElementById('funktion-menulist-funktion').value=funktion_kurzbz;
|
||||
document.getElementById('funktion-textbox-benutzerfunktion_id').value=benutzerfunktion_id;
|
||||
document.getElementById('funktion-checkbox-neu').checked = false;
|
||||
document.getElementById('funktion-box-datum_von').value=datum_von;
|
||||
document.getElementById('funktion-box-datum_bis').value=datum_bis;
|
||||
document.getElementById('funktion-textbox-bezeichnung').value=bezeichnung;
|
||||
document.getElementById('funktion-textbox-wochenstunden').value=wochenstunden;
|
||||
|
||||
FunktionBezeichnungChanged=true;
|
||||
FunktionDetailDisableFields(false);
|
||||
FunktionToggleFachbereich();
|
||||
}
|
||||
|
||||
// ****
|
||||
// * De-/Aktiviert die Buttons
|
||||
// ****
|
||||
function FunktionDisableFields(val)
|
||||
{
|
||||
document.getElementById('funktion-button-neu').disabled=val;
|
||||
document.getElementById('funktion-button-loeschen').disabled=val;
|
||||
|
||||
if(val)
|
||||
FunktionDetailDisableFields(val);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * De-/Aktiviert die DetailFelder
|
||||
// ****
|
||||
function FunktionDetailDisableFields(val)
|
||||
{
|
||||
document.getElementById('funktion-menulist-fachbereich').disabled=val;
|
||||
document.getElementById('funktion-menulist-oe_kurzbz').disabled=val;
|
||||
document.getElementById('funktion-menulist-semester').disabled=val;
|
||||
document.getElementById('funktion-menulist-funktion').disabled=val;
|
||||
document.getElementById('funktion-button-speichern').disabled=val;
|
||||
document.getElementById('funktion-box-datum_von').disabled=val;
|
||||
document.getElementById('funktion-box-datum_bis').disabled=val;
|
||||
document.getElementById('funktion-textbox-bezeichnung').disabled=val;
|
||||
document.getElementById('funktion-textbox-wochenstunden').disabled=val;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Setzt Defaultwerte fuer die Felder
|
||||
// ****
|
||||
function FunktionDetailResetFields()
|
||||
{
|
||||
document.getElementById('funktion-menulist-fachbereich').value='';
|
||||
document.getElementById('funktion-menulist-oe_kurzbz').selectedIndex=0;
|
||||
document.getElementById('funktion-menulist-semester').value='';
|
||||
document.getElementById('funktion-menulist-funktion').value='ass';
|
||||
|
||||
var Datum = new Date();
|
||||
var Jahr = Datum.getFullYear();
|
||||
var Tag = Datum.getDate();
|
||||
var Monat = Datum.getMonth()+1;
|
||||
|
||||
document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr;
|
||||
document.getElementById('funktion-box-datum_bis').value='';
|
||||
document.getElementById('funktion-textbox-bezeichnung').value='';
|
||||
document.getElementById('funktion-textbox-wochenstunden').value='';
|
||||
FunktionBezeichnungChanged=false;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Fachbereichs und Semester DropDown nur Anzeigen, wenn die entsprechenden Attribute
|
||||
// * der Funktion auf true gesetzt sind
|
||||
// ****
|
||||
function FunktionToggleFachbereich()
|
||||
{
|
||||
var menulist = document.getElementById('funktion-menulist-funktion');
|
||||
|
||||
//ersten selektierten Eintrag holen
|
||||
var children = menulist.getElementsByAttribute('selected','true');
|
||||
children = children[0];
|
||||
|
||||
//Attribute semester und fachbereich auslesen
|
||||
var semester = children.getAttribute('semester');
|
||||
var fachbereich = children.getAttribute('fachbereich');
|
||||
var bezeichnung = children.label;
|
||||
|
||||
//wenn in der Bezeichung noch nichts drinnen steht, dann die Funktion in die Bezeichnung schreiben
|
||||
var tbbezeichnung = document.getElementById('funktion-textbox-bezeichnung')
|
||||
|
||||
if(!FunktionBezeichnungChanged)
|
||||
{
|
||||
tbbezeichnung.value=bezeichnung;
|
||||
}
|
||||
|
||||
//Felder sichtbar/unsichtbar setzen
|
||||
var semesterhidden=false;
|
||||
var fachbereichhidden=false;
|
||||
|
||||
if(semester=='true')
|
||||
semesterhidden=false;
|
||||
else
|
||||
semesterhidden=true;
|
||||
|
||||
if(fachbereich=='true')
|
||||
fachbereichhidden=false;
|
||||
else
|
||||
fachbereichhidden=true;
|
||||
|
||||
document.getElementById('funktion-menulist-fachbereich').hidden=fachbereichhidden;
|
||||
document.getElementById('funktion-label-fachbereich').hidden=fachbereichhidden;
|
||||
|
||||
document.getElementById('funktion-menulist-semester').hidden=semesterhidden;
|
||||
document.getElementById('funktion-label-semester').hidden=semesterhidden;
|
||||
|
||||
}
|
||||
|
||||
function FunktionBezeichnungChange()
|
||||
{
|
||||
FunktionBezeichnungChanged=true;
|
||||
}
|
||||
|
||||
@@ -469,9 +469,9 @@ function draw_content($row)
|
||||
|
||||
//Spezialgruppen
|
||||
$grps='';
|
||||
$qry_1 = "SELECT gruppe_kurzbz FROM public.tbl_student JOIN public.tbl_benutzergruppe ON (student_uid=uid)
|
||||
WHERE tbl_student.prestudent_id='".addslashes($row->prestudent_id)."'
|
||||
AND tbl_benutzergruppe.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
|
||||
$qry_1 = "SELECT gruppe_kurzbz FROM public.tbl_prestudent JOIN public.tbl_benutzergruppe USING(prestudent_id)
|
||||
WHERE tbl_prestudent.prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER)."
|
||||
AND tbl_benutzergruppe.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz);
|
||||
if($db->db_query($qry_1))
|
||||
{
|
||||
while($row_1 = $db->db_fetch_object())
|
||||
|
||||
@@ -3199,7 +3199,6 @@ if(!$error)
|
||||
|
||||
if($_POST['pruefungstyp_kurzbz']=='Termin2')
|
||||
{
|
||||
|
||||
//Wenn ein 2. Termin angelegt wird, und kein 1. Termin vorhanden ist,
|
||||
//dann wird auch ein 1. Termin angelegt mit der derzeitigen Zeugnisnote
|
||||
$qry = "SELECT * FROM lehre.tbl_pruefung WHERE
|
||||
@@ -3211,7 +3210,7 @@ if(!$error)
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "SELECT note,punkte, benotungsdatum FROM lehre.tbl_zeugnisnote JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) WHERE
|
||||
prestudent_id=".$db->db_add_param($student->prestudent_id, FHC_INTEGER)." AND
|
||||
prestudent_id=".$db->db_add_param($_POST["prestudent_id"], FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = tbl_zeugnisnote.studiensemester_kurzbz";
|
||||
if($result = $db->db_query($qry))
|
||||
@@ -3225,7 +3224,7 @@ if(!$error)
|
||||
$ersttermin->insertamum = date('Y-m-d H:i:s');
|
||||
$ersttermin->insertvon = $user;
|
||||
$ersttermin->lehreinheit_id = $_POST['lehreinheit_id'];
|
||||
$ersttermin->prestudent_id = $student->prestudent_id;
|
||||
$ersttermin->prestudent_id = $_POST["prestudent_id"];
|
||||
$ersttermin->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
|
||||
$ersttermin->note = $row->note;
|
||||
$ersttermin->punkte = $row->punkte;
|
||||
|
||||
@@ -1378,7 +1378,7 @@ function StudentAuswahl()
|
||||
}
|
||||
|
||||
if(parseInt(prestudent_id))
|
||||
{alert(prestudent_id + " zeugnisnote/lvgesamtnote"); // TODO EINE
|
||||
{
|
||||
// *** ZeugnisNoten ***
|
||||
notentree = document.getElementById('student-noten-tree');
|
||||
|
||||
@@ -4307,7 +4307,7 @@ function StudentPruefungAuswahl()
|
||||
StudentPruefungDetailDisableFields(false);
|
||||
|
||||
//Ausgewaehlte Nr holen
|
||||
var col = tree.columns ? tree.columns["student-pruefung-tree-pruefung_id"] : "student-pruefung-tree-pruefung_id";
|
||||
var col = tree.columns ? tree.columns["student-pruefung-tree-pruefung_id"] : "student-pruefung-tree-pruefung_id";
|
||||
var pruefung_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
//Daten holen
|
||||
|
||||
+485
-485
@@ -1,485 +1,485 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
?>
|
||||
var menuUndoDatasource=0;
|
||||
var STPLlastDetailUrl='leer';
|
||||
var addon = Array();
|
||||
//Speichert die Position der Scrollbalken in der Wochenuebersicht
|
||||
TimeTableWeekPositionX=0;
|
||||
TimeTableWeekPositionY=0;
|
||||
|
||||
// ----------------------------------------------------------
|
||||
// ------- CLASS Progressmeter ------------------------------
|
||||
function Progressmeter(progress_id)
|
||||
{
|
||||
var id=progress_id;
|
||||
var runningprogress=0;
|
||||
this.StopPM=StopPM;
|
||||
this.StartPM=StartPM;
|
||||
|
||||
function StartPM()
|
||||
{
|
||||
// Progressmeter starten.
|
||||
document.getElementById(id).setAttribute('mode','undetermined');
|
||||
runningprogress++;
|
||||
}
|
||||
|
||||
function StopPM()
|
||||
{
|
||||
runningprogress--;
|
||||
if(runningprogress<0)
|
||||
runningprogress=0;
|
||||
|
||||
// Progressmeter stoppen wenn alle fertig sind
|
||||
if(runningprogress==0)
|
||||
document.getElementById(id).setAttribute('mode','determined');
|
||||
}
|
||||
}
|
||||
// ------ EndOf CLASS Progressmeter ------------------------------
|
||||
|
||||
var globalProgressmeter=new Progressmeter('statusbar-progressmeter');
|
||||
//globalProgressmeter.StartPM();
|
||||
|
||||
function closeWindow()
|
||||
{
|
||||
//Warnung wenn Daten veraendert aber noch nicht gespeichert wurden
|
||||
if(MitarbeiterDetailValueChanged)
|
||||
{
|
||||
if(!confirm('Achtung! Mitarbeiterdaten wurden veraendert aber noch nicht gespeichert. Programm wirklich beenden? \n(Die geaenderten Daten gehen dabei verloren)'))
|
||||
return false;
|
||||
}
|
||||
|
||||
MitarbeiterDetailValueChanged=false;
|
||||
|
||||
window.close();
|
||||
}
|
||||
|
||||
function onLoad()
|
||||
{
|
||||
try
|
||||
{
|
||||
initLektorTree();
|
||||
//Studenten Tab beim starten markieren
|
||||
//document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-studenten');
|
||||
|
||||
for(i in addon)
|
||||
{
|
||||
addon[i].init();
|
||||
}
|
||||
//Funktion ueberschreiben damit sie nicht nochmal aufgerufen wird
|
||||
//wenn zb ein IFrame geladen wird
|
||||
onLoad=function() {return false};
|
||||
|
||||
|
||||
if(document.getElementById('statusbarpanel-ignore_kollision'))
|
||||
{
|
||||
// Anzeige von DBTable und Ignorekoll. aktualisieren
|
||||
window.setTimeout(updateignorekollision,20);
|
||||
window.setTimeout(updatedbstpltable,20);
|
||||
}
|
||||
|
||||
//Notizen des Users laden
|
||||
notiz = document.getElementById('box-notizen');
|
||||
if(notiz)
|
||||
notiz.LoadNotizTree('','','','','','','', getUsername(),'');
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
debug('catched'+e);
|
||||
onLoad=function() {return false};
|
||||
}
|
||||
}
|
||||
|
||||
function loadRightFrame()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
function loadURL(event)
|
||||
{
|
||||
var contentFrame = document.getElementById('contentFrame');
|
||||
var url = event.target.getAttribute('value');
|
||||
|
||||
if (url) contentFrame.setAttribute('src', url);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Aendert die Stundenplantabelle
|
||||
// ****
|
||||
function stpltableChange(db_stpl_table)
|
||||
{
|
||||
variableChange('db_stpl_table', null, db_stpl_table);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Wechselt von Studiensemester 'stsem' um 'wert' Studiensemester vor bzw zurueck
|
||||
// ****
|
||||
function studiensemesterChange(stsem, wert)
|
||||
{
|
||||
if(typeof(wert)=='undefined')
|
||||
{
|
||||
wert=0;
|
||||
if(typeof(stsem)=='undefined')
|
||||
{
|
||||
var items = document.getElementsByTagName('menuitem');
|
||||
|
||||
for(i in items)
|
||||
{
|
||||
if(items[i].id=='menu-properies-studiensemester-name' && items[i].getAttribute("checked")=='true')
|
||||
stsem = items[i].label;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
stsem = getStudiensemester();
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
// Request absetzen
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'variablechange');
|
||||
req.add('stsem', stsem);
|
||||
req.add('wert', wert);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
//Statusbar setzen
|
||||
document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert";
|
||||
document.getElementById("statusbarpanel-semester").label = val.dbdml_data;
|
||||
//Menue setzen
|
||||
var items = document.getElementsByTagName('menuitem');
|
||||
|
||||
for(i in items)
|
||||
{
|
||||
if(items[i].label==val.dbdml_data && items[i].id=='menu-properies-studiensemester-name')
|
||||
{
|
||||
items[i].setAttribute('checked',true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
//MitarbeiterDetailStudiensemester_id = dbdml_errormsg;
|
||||
//Ansichten Refreshen
|
||||
try
|
||||
{
|
||||
StudentTreeRefresh();
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
try
|
||||
{
|
||||
LvTreeRefresh();
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Oeffnet ein Fenster zum Aendern eines Variablenwertes
|
||||
// ****
|
||||
function variableChangeValue(variable)
|
||||
{
|
||||
var variablevalue = getvariable(variable);
|
||||
|
||||
if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue))
|
||||
{
|
||||
variableChange(variable, '', variablevalue);
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Aendert den Wert der Variable IgnoreKollision
|
||||
// ****
|
||||
function toggleIgnoreKollision()
|
||||
{
|
||||
if(getvariable('ignore_kollision')=='true')
|
||||
variableChange('ignore_kollision','menu-prefs-ignore_kollision', 'false');
|
||||
else
|
||||
variableChange('ignore_kollision','menu-prefs-ignore_kollision', 'true');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Sendet einen Request zum Aendern einer Variable
|
||||
// ****
|
||||
function variableChange(variable, id, wert)
|
||||
{
|
||||
if(id!=null)
|
||||
item = document.getElementById(id);
|
||||
|
||||
if(typeof(wert)==='undefined')
|
||||
{
|
||||
if(item.getAttribute('checked')=='true')
|
||||
checked='true';
|
||||
else
|
||||
checked='false';
|
||||
}
|
||||
else
|
||||
checked=wert;
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
// Request absetzen
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'variablechange');
|
||||
req.add('name', variable);
|
||||
req.add('wert', checked);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(variable=='ignore_kollision')
|
||||
updateignorekollision();
|
||||
if(variable=='db_stpl_table')
|
||||
{
|
||||
document.getElementById("statusbarpanel-db_table").label = wert;
|
||||
updatedbstpltable();
|
||||
}
|
||||
//Statusbar setzen
|
||||
document.getElementById("statusbarpanel-text").label = "Variable erfolgreich geaendert";
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Aktualisiert die IngnoreKollision Anzeige
|
||||
// * sowohl in der Toolbar als auch im Menue
|
||||
// ****
|
||||
function updateignorekollision()
|
||||
{
|
||||
var panel = document.getElementById('statusbarpanel-ignore_kollision');
|
||||
if(getvariable('ignore_kollision')=='true')
|
||||
{
|
||||
panel.label='Kollisionscheck AUS';
|
||||
panel.style.backgroundColor='#FF0000';
|
||||
panel.style.MozAppearance = "none"
|
||||
document.getElementById('menu-prefs-ignore_kollision').setAttribute('checked','true');
|
||||
}
|
||||
else
|
||||
{
|
||||
panel.label='Kollisionscheck AN';
|
||||
panel.style.backgroundColor='';
|
||||
panel.style.MozAppearance = "none"
|
||||
document.getElementById('menu-prefs-ignore_kollision').setAttribute('checked','false');
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Markiert den Eintrag in der Statusleiste rot wenn auf die
|
||||
// * echte stpl tabelle zugegriffen wird
|
||||
// ****
|
||||
function updatedbstpltable()
|
||||
{
|
||||
var panel = document.getElementById('statusbarpanel-db_table');
|
||||
|
||||
if(panel.label=='stundenplan')
|
||||
{
|
||||
panel.style.backgroundColor='#FF0000';
|
||||
panel.style.MozAppearance = "none"
|
||||
}
|
||||
else
|
||||
{
|
||||
panel.style.backgroundColor='';
|
||||
panel.style.MozAppearance = "none"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ****
|
||||
// * Liefert das eingestellte Studiensemester
|
||||
// ****
|
||||
function getStudiensemesterVariable()
|
||||
{
|
||||
if(stsem = getvariable('semester_aktuell'))
|
||||
{
|
||||
//Statusbar setzen
|
||||
document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert";
|
||||
document.getElementById("statusbarpanel-semester").label = stsem;
|
||||
//Menue setzen
|
||||
var items = document.getElementsByTagName('menuitem');
|
||||
|
||||
for(i in items)
|
||||
{
|
||||
if(items[i].label==stsem && items[i].id=='menu-properies-studiensemester-name')
|
||||
{
|
||||
items[i].setAttribute('checked',true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Ansichten Refreshen
|
||||
try
|
||||
{
|
||||
StudentTreeRefresh();
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
try
|
||||
{
|
||||
LvTreeRefresh();
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Laedt das Undo Menue Neu
|
||||
// ****
|
||||
function loadUndoList()
|
||||
{
|
||||
menu = document.getElementById('menu-edit-undo');
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
if(menuUndoDatasource==0)
|
||||
{
|
||||
//Wenn noch keine Datasource angegeben ist, dann wird eine neue hinzugefuegt
|
||||
var url = '<?php echo APP_ROOT; ?>rdf/undo.rdf.php?'+gettimestamp();
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = menu.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
menu.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
menuUndoDatasource = rdfService.GetDataSource(url);
|
||||
menuUndoDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
menu.database.AddDataSource(menuUndoDatasource);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Wenn die Datasource bereits geladen wurde dann nur neu laden
|
||||
menuUndoDatasource.Refresh(true); //blocking
|
||||
menu.builder.rebuild();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Fuehrt den Undo Befehl aus
|
||||
// ****
|
||||
function UnDo(log_id, bezeichnung)
|
||||
{
|
||||
if(confirm('Wollen Sie folgenden Befehl wirklich Rueckgaengig machen: '+bezeichnung))
|
||||
{
|
||||
//Request absetzen
|
||||
var req = new phpRequest('tempusDBDML.php','','');
|
||||
|
||||
req.add('type','undo');
|
||||
req.add('log_id',log_id);
|
||||
|
||||
var response = req.executePOST();
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
LvTreeRefresh();
|
||||
onJumpDate(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Zeigt das Fenster zur Kollisionspruefung auf Studentenebene an
|
||||
// ****
|
||||
function KollisionStudentShow()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT;?>vilesci/lehre/stpl_benutzer_kollision_frameset.html', 'Kollision Student');
|
||||
}
|
||||
// ****
|
||||
// * Zeigt das Fenster zur LVPlanWartung
|
||||
// ****
|
||||
function LVPlanWartungShow()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT;?>vilesci/lehre/lvplanwartung.php', 'LVPLanWartung');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Zeigt das Fenster zur Kollisionspruefung mit Reservierungen
|
||||
// ****
|
||||
function ResCheckShow()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT;?>vilesci/lehre/check/res_check.php', 'KollisionReservierung');
|
||||
}
|
||||
// ****
|
||||
// * Zeigt das Fenster zur Kollisionspruefung mit Reservierungen
|
||||
// ****
|
||||
function SyncLVPlan()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT;?>vilesci/lehre/lvplan_custom_sync.php', 'LVPlan Sync');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Oeffnet das Handbuch
|
||||
// ****
|
||||
function OpenManualTempus()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT ?>content/Tempus.pdf','Manual');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Oeffnet den About Dialog
|
||||
// ****
|
||||
function OpenAboutDialog()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT ?>content/about.xul.php','About','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
?>
|
||||
var menuUndoDatasource=0;
|
||||
var STPLlastDetailUrl='leer';
|
||||
var addon = Array();
|
||||
//Speichert die Position der Scrollbalken in der Wochenuebersicht
|
||||
TimeTableWeekPositionX=0;
|
||||
TimeTableWeekPositionY=0;
|
||||
|
||||
// ----------------------------------------------------------
|
||||
// ------- CLASS Progressmeter ------------------------------
|
||||
function Progressmeter(progress_id)
|
||||
{
|
||||
var id=progress_id;
|
||||
var runningprogress=0;
|
||||
this.StopPM=StopPM;
|
||||
this.StartPM=StartPM;
|
||||
|
||||
function StartPM()
|
||||
{
|
||||
// Progressmeter starten.
|
||||
document.getElementById(id).setAttribute('mode','undetermined');
|
||||
runningprogress++;
|
||||
}
|
||||
|
||||
function StopPM()
|
||||
{
|
||||
runningprogress--;
|
||||
if(runningprogress<0)
|
||||
runningprogress=0;
|
||||
|
||||
// Progressmeter stoppen wenn alle fertig sind
|
||||
if(runningprogress==0)
|
||||
document.getElementById(id).setAttribute('mode','determined');
|
||||
}
|
||||
}
|
||||
// ------ EndOf CLASS Progressmeter ------------------------------
|
||||
|
||||
var globalProgressmeter=new Progressmeter('statusbar-progressmeter');
|
||||
//globalProgressmeter.StartPM();
|
||||
|
||||
function closeWindow()
|
||||
{
|
||||
//Warnung wenn Daten veraendert aber noch nicht gespeichert wurden
|
||||
if(MitarbeiterDetailValueChanged)
|
||||
{
|
||||
if(!confirm('Achtung! Mitarbeiterdaten wurden veraendert aber noch nicht gespeichert. Programm wirklich beenden? \n(Die geaenderten Daten gehen dabei verloren)'))
|
||||
return false;
|
||||
}
|
||||
|
||||
MitarbeiterDetailValueChanged=false;
|
||||
|
||||
window.close();
|
||||
}
|
||||
|
||||
function onLoad()
|
||||
{
|
||||
try
|
||||
{
|
||||
initLektorTree();
|
||||
//Studenten Tab beim starten markieren
|
||||
//document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-studenten');
|
||||
|
||||
for(i in addon)
|
||||
{
|
||||
addon[i].init();
|
||||
}
|
||||
//Funktion ueberschreiben damit sie nicht nochmal aufgerufen wird
|
||||
//wenn zb ein IFrame geladen wird
|
||||
onLoad=function() {return false};
|
||||
|
||||
|
||||
if(document.getElementById('statusbarpanel-ignore_kollision'))
|
||||
{
|
||||
// Anzeige von DBTable und Ignorekoll. aktualisieren
|
||||
window.setTimeout(updateignorekollision,20);
|
||||
window.setTimeout(updatedbstpltable,20);
|
||||
}
|
||||
|
||||
//Notizen des Users laden
|
||||
notiz = document.getElementById('box-notizen');
|
||||
if(notiz)
|
||||
notiz.LoadNotizTree('','','','','','','', getUsername(),'');
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
debug('catched'+e);
|
||||
onLoad=function() {return false};
|
||||
}
|
||||
}
|
||||
|
||||
function loadRightFrame()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
function loadURL(event)
|
||||
{
|
||||
var contentFrame = document.getElementById('contentFrame');
|
||||
var url = event.target.getAttribute('value');
|
||||
|
||||
if (url) contentFrame.setAttribute('src', url);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Aendert die Stundenplantabelle
|
||||
// ****
|
||||
function stpltableChange(db_stpl_table)
|
||||
{
|
||||
variableChange('db_stpl_table', null, db_stpl_table);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Wechselt von Studiensemester 'stsem' um 'wert' Studiensemester vor bzw zurueck
|
||||
// ****
|
||||
function studiensemesterChange(stsem, wert)
|
||||
{
|
||||
if(typeof(wert)=='undefined')
|
||||
{
|
||||
wert=0;
|
||||
if(typeof(stsem)=='undefined')
|
||||
{
|
||||
var items = document.getElementsByTagName('menuitem');
|
||||
|
||||
for(i in items)
|
||||
{
|
||||
if(items[i].id=='menu-properies-studiensemester-name' && items[i].getAttribute("checked")=='true')
|
||||
stsem = items[i].label;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
stsem = getStudiensemester();
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
// Request absetzen
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'variablechange');
|
||||
req.add('stsem', stsem);
|
||||
req.add('wert', wert);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
//Statusbar setzen
|
||||
document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert";
|
||||
document.getElementById("statusbarpanel-semester").label = val.dbdml_data;
|
||||
//Menue setzen
|
||||
var items = document.getElementsByTagName('menuitem');
|
||||
|
||||
for(i in items)
|
||||
{
|
||||
if(items[i].label==val.dbdml_data && items[i].id=='menu-properies-studiensemester-name')
|
||||
{
|
||||
items[i].setAttribute('checked',true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
//MitarbeiterDetailStudiensemester_id = dbdml_errormsg;
|
||||
//Ansichten Refreshen
|
||||
try
|
||||
{
|
||||
StudentTreeRefresh();
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
try
|
||||
{
|
||||
LvTreeRefresh();
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Oeffnet ein Fenster zum Aendern eines Variablenwertes
|
||||
// ****
|
||||
function variableChangeValue(variable)
|
||||
{
|
||||
var variablevalue = getvariable(variable);
|
||||
|
||||
if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue))
|
||||
{
|
||||
variableChange(variable, '', variablevalue);
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Aendert den Wert der Variable IgnoreKollision
|
||||
// ****
|
||||
function toggleIgnoreKollision()
|
||||
{
|
||||
if(getvariable('ignore_kollision')=='true')
|
||||
variableChange('ignore_kollision','menu-prefs-ignore_kollision', 'false');
|
||||
else
|
||||
variableChange('ignore_kollision','menu-prefs-ignore_kollision', 'true');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Sendet einen Request zum Aendern einer Variable
|
||||
// ****
|
||||
function variableChange(variable, id, wert)
|
||||
{
|
||||
if(id!=null)
|
||||
item = document.getElementById(id);
|
||||
|
||||
if(typeof(wert)==='undefined')
|
||||
{
|
||||
if(item.getAttribute('checked')=='true')
|
||||
checked='true';
|
||||
else
|
||||
checked='false';
|
||||
}
|
||||
else
|
||||
checked=wert;
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
// Request absetzen
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'variablechange');
|
||||
req.add('name', variable);
|
||||
req.add('wert', checked);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(variable=='ignore_kollision')
|
||||
updateignorekollision();
|
||||
if(variable=='db_stpl_table')
|
||||
{
|
||||
document.getElementById("statusbarpanel-db_table").label = wert;
|
||||
updatedbstpltable();
|
||||
}
|
||||
//Statusbar setzen
|
||||
document.getElementById("statusbarpanel-text").label = "Variable erfolgreich geaendert";
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Aktualisiert die IngnoreKollision Anzeige
|
||||
// * sowohl in der Toolbar als auch im Menue
|
||||
// ****
|
||||
function updateignorekollision()
|
||||
{
|
||||
var panel = document.getElementById('statusbarpanel-ignore_kollision');
|
||||
if(getvariable('ignore_kollision')=='true')
|
||||
{
|
||||
panel.label='Kollisionscheck AUS';
|
||||
panel.style.backgroundColor='#FF0000';
|
||||
panel.style.MozAppearance = "none"
|
||||
document.getElementById('menu-prefs-ignore_kollision').setAttribute('checked','true');
|
||||
}
|
||||
else
|
||||
{
|
||||
panel.label='Kollisionscheck AN';
|
||||
panel.style.backgroundColor='';
|
||||
panel.style.MozAppearance = "none"
|
||||
document.getElementById('menu-prefs-ignore_kollision').setAttribute('checked','false');
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Markiert den Eintrag in der Statusleiste rot wenn auf die
|
||||
// * echte stpl tabelle zugegriffen wird
|
||||
// ****
|
||||
function updatedbstpltable()
|
||||
{
|
||||
var panel = document.getElementById('statusbarpanel-db_table');
|
||||
|
||||
if(panel.label=='stundenplan')
|
||||
{
|
||||
panel.style.backgroundColor='#FF0000';
|
||||
panel.style.MozAppearance = "none"
|
||||
}
|
||||
else
|
||||
{
|
||||
panel.style.backgroundColor='';
|
||||
panel.style.MozAppearance = "none"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ****
|
||||
// * Liefert das eingestellte Studiensemester
|
||||
// ****
|
||||
function getStudiensemesterVariable()
|
||||
{
|
||||
if(stsem = getvariable('semester_aktuell'))
|
||||
{
|
||||
//Statusbar setzen
|
||||
document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert";
|
||||
document.getElementById("statusbarpanel-semester").label = stsem;
|
||||
//Menue setzen
|
||||
var items = document.getElementsByTagName('menuitem');
|
||||
|
||||
for(i in items)
|
||||
{
|
||||
if(items[i].label==stsem && items[i].id=='menu-properies-studiensemester-name')
|
||||
{
|
||||
items[i].setAttribute('checked',true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Ansichten Refreshen
|
||||
try
|
||||
{
|
||||
StudentTreeRefresh();
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
try
|
||||
{
|
||||
LvTreeRefresh();
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Laedt das Undo Menue Neu
|
||||
// ****
|
||||
function loadUndoList()
|
||||
{
|
||||
menu = document.getElementById('menu-edit-undo');
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
if(menuUndoDatasource==0)
|
||||
{
|
||||
//Wenn noch keine Datasource angegeben ist, dann wird eine neue hinzugefuegt
|
||||
var url = '<?php echo APP_ROOT; ?>rdf/undo.rdf.php?'+gettimestamp();
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = menu.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
menu.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
menuUndoDatasource = rdfService.GetDataSource(url);
|
||||
menuUndoDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
menu.database.AddDataSource(menuUndoDatasource);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Wenn die Datasource bereits geladen wurde dann nur neu laden
|
||||
menuUndoDatasource.Refresh(true); //blocking
|
||||
menu.builder.rebuild();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Fuehrt den Undo Befehl aus
|
||||
// ****
|
||||
function UnDo(log_id, bezeichnung)
|
||||
{
|
||||
if(confirm('Wollen Sie folgenden Befehl wirklich Rueckgaengig machen: '+bezeichnung))
|
||||
{
|
||||
//Request absetzen
|
||||
var req = new phpRequest('tempusDBDML.php','','');
|
||||
|
||||
req.add('type','undo');
|
||||
req.add('log_id',log_id);
|
||||
|
||||
var response = req.executePOST();
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
LvTreeRefresh();
|
||||
onJumpDate(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Zeigt das Fenster zur Kollisionspruefung auf Studentenebene an
|
||||
// ****
|
||||
function KollisionStudentShow()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT;?>vilesci/lehre/stpl_benutzer_kollision_frameset.html', 'Kollision Student');
|
||||
}
|
||||
// ****
|
||||
// * Zeigt das Fenster zur LVPlanWartung
|
||||
// ****
|
||||
function LVPlanWartungShow()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT;?>vilesci/lehre/lvplanwartung.php', 'LVPLanWartung');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Zeigt das Fenster zur Kollisionspruefung mit Reservierungen
|
||||
// ****
|
||||
function ResCheckShow()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT;?>vilesci/lehre/check/res_check.php', 'KollisionReservierung');
|
||||
}
|
||||
// ****
|
||||
// * Zeigt das Fenster zur Kollisionspruefung mit Reservierungen
|
||||
// ****
|
||||
function SyncLVPlan()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT;?>vilesci/lehre/lvplan_custom_sync.php', 'LVPlan Sync');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Oeffnet das Handbuch
|
||||
// ****
|
||||
function OpenManualTempus()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT ?>content/Tempus.pdf','Manual');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Oeffnet den About Dialog
|
||||
// ****
|
||||
function OpenAboutDialog()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT ?>content/about.xul.php','About','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user