mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
466 lines
17 KiB
PHP
466 lines
17 KiB
PHP
<?php
|
|
/* Copyright (C) 2006 Technikum-Wien
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
|
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
|
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
|
*/
|
|
include('../config/vilesci.config.inc.php');
|
|
?>
|
|
|
|
var currentAuswahl=new auswahlValues();
|
|
var LvTreeDatasource;
|
|
var StudentTreeDatasource;
|
|
|
|
function auswahlValues()
|
|
{
|
|
this.stg_kz=null;
|
|
this.sem=null;
|
|
this.ver=null;
|
|
this.grp=null;
|
|
this.gruppe=null;
|
|
this.lektor_uid=null;
|
|
}
|
|
|
|
function onVerbandSelect()
|
|
{
|
|
document.getElementById('tempus-lva-filter').value='';
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
|
var tree=document.getElementById('tree-verband');
|
|
if(tree.currentIndex==-1)
|
|
return;
|
|
|
|
var col=tree.columns ? tree.columns["stg_kz"] : "stg_kz";
|
|
var stg_kz=tree.view.getCellText(tree.currentIndex,col);
|
|
col=tree.columns ? tree.columns["sem"] : "sem";
|
|
var sem=tree.view.getCellText(tree.currentIndex,col);
|
|
col=tree.columns ? tree.columns["ver"] : "ver";
|
|
var ver=tree.view.getCellText(tree.currentIndex,col);
|
|
col=tree.columns ? tree.columns["grp"] : "grp";
|
|
var grp=tree.view.getCellText(tree.currentIndex,col);
|
|
col=tree.columns ? tree.columns["gruppe"] : "gruppe";
|
|
var gruppe=tree.view.getCellText(tree.currentIndex,col);
|
|
col = tree.columns ? tree.columns["typ"] : "typ";
|
|
var typ=tree.view.getCellText(tree.currentIndex,col);
|
|
col = tree.columns ? tree.columns["stsem"] : "stsem";
|
|
var stsem=tree.view.getCellText(tree.currentIndex,col);
|
|
col = tree.columns ? tree.columns["orgform"] : "orgform";
|
|
var orgform=tree.view.getCellText(tree.currentIndex,col);
|
|
|
|
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
|
var datum=parseInt(daten.getAttribute("datum"));
|
|
var attributes="&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe;
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
if (gruppe!=null && gruppe!=0 &gruppe!='')
|
|
var type="?type=gruppe";
|
|
else
|
|
var type="?type=verband";
|
|
url+=type+attributes+"&datum="+datum;
|
|
if (url)
|
|
{
|
|
//alert(url);
|
|
contentFrame.setAttribute('src', url);
|
|
}
|
|
|
|
currentAuswahl.stg_kz=stg_kz;
|
|
currentAuswahl.sem=sem;
|
|
currentAuswahl.ver=ver;
|
|
currentAuswahl.grp=grp;
|
|
currentAuswahl.gruppe=gruppe;
|
|
|
|
// Semesterplan
|
|
var semesterplan=document.getElementById('tabpanels-main');
|
|
var panelIndex=semesterplan.getAttribute("selectedIndex");
|
|
if (panelIndex==1)
|
|
{
|
|
//alert (url);
|
|
var contentFrame=document.getElementById('iframeTimeTableSemester');
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
if (gruppe!=null && gruppe!=0 &gruppe!='')
|
|
var type="?type=gruppe";
|
|
else
|
|
var type="?type=verband";
|
|
url+=type+attributes+"&semesterplan=true&"+gettimestamp();
|
|
if (url)
|
|
contentFrame.setAttribute('src', url);
|
|
}
|
|
|
|
var order = LehrstundeGetSortOrder();
|
|
// LVAs
|
|
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
|
|
var attribute='../rdf/lehreinheit-lvplan.rdf.php'+type+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&order="+order+"&orgform="+orgform;
|
|
|
|
vboxLehrveranstalungPlanung.setAttribute('datasources',attribute);
|
|
|
|
// -------------- Studenten --------------------------
|
|
try
|
|
{
|
|
stsem = getStudiensemester();
|
|
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&"+gettimestamp();
|
|
var treeStudent=document.getElementById('student-tree');
|
|
|
|
//Alte DS entfernen
|
|
var oldDatasources = treeStudent.database.GetDataSources();
|
|
while(oldDatasources.hasMoreElements())
|
|
{
|
|
treeStudent.database.RemoveDataSource(oldDatasources.getNext());
|
|
}
|
|
|
|
try
|
|
{
|
|
StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver);
|
|
treeStudent.builder.removeListener(StudentTreeListener);
|
|
}
|
|
catch(e)
|
|
{}
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
|
StudentTreeDatasource = rdfService.GetDataSource(url);
|
|
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
|
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
|
treeStudent.database.AddDataSource(StudentTreeDatasource);
|
|
StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver);
|
|
treeStudent.builder.addListener(StudentTreeListener);
|
|
|
|
//Detailfelder Deaktivieren
|
|
StudentDetailReset();
|
|
StudentDetailDisableFields(true);
|
|
StudentPrestudentDisableFields(true);
|
|
StudentKontoDisableFields(true);
|
|
StudentAkteDisableFields(true);
|
|
StudentIODisableFields(true);
|
|
StudentNoteDisableFields(true);
|
|
document.getElementById('student-kontakt').setAttribute('src','');
|
|
document.getElementById('student-betriebsmittel').setAttribute('src','');
|
|
StudentAbschlusspruefungDisableFields(true);
|
|
}
|
|
catch(e){}
|
|
|
|
|
|
// Lehrveranstaltung
|
|
try
|
|
{
|
|
url = '<?php echo APP_ROOT; ?>rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+encodeURIComponent(stg_kz)+'&sem='+encodeURIComponent(sem)+'&ver='+encodeURIComponent(ver)+'&grp='+encodeURIComponent(grp)+'&gruppe='+encodeURIComponent(gruppe)+'&orgform='+encodeURIComponent(orgform)+'&'+gettimestamp();
|
|
var treeLV=document.getElementById('lehrveranstaltung-tree');
|
|
|
|
//Alte DS entfernen
|
|
var oldDatasources = treeLV.database.GetDataSources();
|
|
while(oldDatasources.hasMoreElements())
|
|
{
|
|
treeLV.database.RemoveDataSource(oldDatasources.getNext());
|
|
}
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
|
LvTreeDatasource = rdfService.GetDataSource(url);
|
|
LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
|
LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
|
treeLV.database.AddDataSource(LvTreeDatasource);
|
|
LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver);
|
|
treeLV.builder.addListener(LvTreeListener);
|
|
}
|
|
catch(e)
|
|
{
|
|
debug(e);
|
|
}
|
|
}
|
|
|
|
function onOrtSelect()
|
|
{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
|
var treeOrt=document.getElementById('tree-ort');
|
|
var col=treeOrt.columns ? treeOrt.columns["ort_kurzbz"] : "ort_kurzbz";
|
|
var ort=treeOrt.view.getCellText(treeOrt.currentIndex,col);
|
|
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
|
var datum=parseInt(daten.getAttribute("datum"));
|
|
|
|
if(ort=='')
|
|
return false;
|
|
|
|
var attributes="?type=ort&ort="+ort+"&datum="+datum;
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes+'&'+gettimestamp();
|
|
if (url)
|
|
contentFrame.setAttribute('src', url);
|
|
|
|
// Semesterplan
|
|
var semesterplan=document.getElementById('tabpanels-main');
|
|
var panelIndex=semesterplan.getAttribute("selectedIndex");
|
|
if (panelIndex==1)
|
|
{
|
|
//alert (url);
|
|
var contentFrame=document.getElementById('iframeTimeTableSemester');
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes+"&semesterplan=true&"+gettimestamp();
|
|
if (url)
|
|
contentFrame.setAttribute('src', url);
|
|
}
|
|
}
|
|
|
|
function onLektorSelect(event)
|
|
{
|
|
document.getElementById('tempus-lva-filter').value='';
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
|
var treeLektor=document.getElementById('tree-lektor');
|
|
var col=treeLektor.columns ? treeLektor.columns["uid"] : "uid";
|
|
//debug(col+'-'+treeLektor.currentIndex);
|
|
try
|
|
{
|
|
var uid=treeLektor.view.getCellText(treeLektor.currentIndex,col);
|
|
}
|
|
catch(e)
|
|
{
|
|
}
|
|
if(uid=='')
|
|
return;
|
|
//var treeVerband=document.getElementById('tree-verband');
|
|
//var stg_kz=treeVerband.view.getCellText(treeVerband.currentIndex,"stg_kz");
|
|
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
|
var datum=parseInt(daten.getAttribute("datum"));
|
|
|
|
var attributes="?type=lektor&pers_uid="+uid+"&datum="+datum;
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes+'&'+gettimestamp();
|
|
if (url)
|
|
contentFrame.setAttribute('src', url);
|
|
|
|
// Semesterplan
|
|
var semesterplan=document.getElementById('tabpanels-main');
|
|
var panelIndex=semesterplan.getAttribute("selectedIndex");
|
|
if (panelIndex==1)
|
|
{
|
|
//alert (url);
|
|
var contentFrame=document.getElementById('iframeTimeTableSemester');
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes+"&semesterplan=true&"+gettimestamp();
|
|
if (url)
|
|
contentFrame.setAttribute('src', url);
|
|
}
|
|
|
|
var order = LehrstundeGetSortOrder();
|
|
// LVAs
|
|
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
|
|
vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid+"&order="+order+"&"+gettimestamp());
|
|
|
|
var tree=document.getElementById('tree-lektor');
|
|
//Wenn nichts markiert wurde -> beenden
|
|
if(tree.currentIndex==-1)
|
|
return;
|
|
|
|
var row = { };
|
|
var col = { };
|
|
var child = { };
|
|
|
|
tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child)
|
|
|
|
//Wenn es keine Row ist sondern ein Header oder Scrollbar dann abbrechen
|
|
if (!col.value)
|
|
return false;
|
|
|
|
//Wenn eine andere row markiert ist als angeklickt wurde -> beenden.
|
|
//Dies kommt vor wenn ein Subtree geoeffnet wird
|
|
if(row.value!=tree.currentIndex)
|
|
return;
|
|
|
|
col = tree.columns ? tree.columns["uid"] : "uid";
|
|
var uid=tree.view.getCellText(tree.currentIndex,col);
|
|
|
|
var stg_idx = tree.view.getParentIndex(tree.currentIndex);
|
|
var col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz";
|
|
var stg_kz=tree.view.getCellText(stg_idx,col);
|
|
|
|
document.getElementById('LehrveranstaltungEditor').setAttribute('stg_kz',stg_kz);
|
|
document.getElementById('LehrveranstaltungEditor').setAttribute('uid',uid);
|
|
|
|
// Lehrveranstaltung des Lektors laden
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
try
|
|
{
|
|
//alert(stg_kz);
|
|
url = '<?php echo APP_ROOT; ?>rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&uid='+uid+'&'+gettimestamp();
|
|
var treeLV=document.getElementById('lehrveranstaltung-tree');
|
|
|
|
//Alte DS entfernen
|
|
var oldDatasources = treeLV.database.GetDataSources();
|
|
try
|
|
{
|
|
LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver);
|
|
treeLV.builder.removeListener(LvTreeListener);
|
|
}
|
|
catch(e)
|
|
{}
|
|
|
|
while(oldDatasources.hasMoreElements())
|
|
{
|
|
treeLV.database.RemoveDataSource(oldDatasources.getNext());
|
|
}
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
|
LvTreeDatasource = rdfService.GetDataSource(url);
|
|
LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
|
LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
|
treeLV.database.AddDataSource(LvTreeDatasource);
|
|
LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver);
|
|
treeLV.builder.addListener(LvTreeListener);
|
|
document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=false;
|
|
}
|
|
catch(e)
|
|
{
|
|
debug(e);
|
|
}
|
|
}
|
|
|
|
function loadURL(event)
|
|
{
|
|
var contentFrame = document.getElementById('contentFrame');
|
|
var url = event.target.getAttribute('value');
|
|
|
|
if (url) contentFrame.setAttribute('src', url);
|
|
};
|
|
|
|
function parseRDFString(str, url)
|
|
{
|
|
|
|
try {
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
} catch(e) {
|
|
alert(e);
|
|
return;
|
|
}
|
|
|
|
var memoryDS = Components.classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"].createInstance(Components.interfaces.nsIRDFDataSource);
|
|
|
|
var ios=Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
|
|
baseUri=ios.newURI(url,null,null);
|
|
|
|
var parser=Components.classes["@mozilla.org/rdf/xml-parser;1"].createInstance(Components.interfaces.nsIRDFXMLParser);
|
|
parser.parseString(memoryDS,baseUri,str);
|
|
|
|
return memoryDS;
|
|
}
|
|
|
|
function onFachbereichSelect(event)
|
|
{
|
|
var tree=document.getElementById('tree-fachbereich');
|
|
//Wenn nichts markiert wurde -> beenden
|
|
if(tree.currentIndex==-1)
|
|
return;
|
|
|
|
var row = { };
|
|
var col = { };
|
|
var child = { };
|
|
|
|
tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child)
|
|
|
|
//Wenn es keine Row ist sondern ein Header oder Scrollbar dann abbrechen
|
|
if (!col.value)
|
|
return false;
|
|
|
|
//Wenn eine andere row markiert ist als angeklickt wurde -> beenden.
|
|
//Dies kommt vor wenn ein Subtree geoeffnet wird
|
|
if(row.value!=tree.currentIndex)
|
|
return;
|
|
|
|
col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz";
|
|
var kurzbz=tree.view.getCellText(tree.currentIndex,col);
|
|
|
|
col = tree.columns ? tree.columns["fachbereich-treecol-uid"] : "fachbereich-treecol-uid";
|
|
var uid=tree.view.getCellText(tree.currentIndex,col);
|
|
|
|
//Wenn auf einen Mitarbeiter geklickt wird, dann die kurzbz vom uebergeordneten
|
|
//Fachbereich holen
|
|
if(uid!='')
|
|
{
|
|
idx = tree.view.getParentIndex(tree.currentIndex);
|
|
col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz";
|
|
var kurzbz=tree.view.getCellText(idx,col);
|
|
}
|
|
|
|
|
|
//----
|
|
document.getElementById('tempus-lva-filter').value='';
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
|
|
|
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
|
var datum=parseInt(daten.getAttribute("datum"));
|
|
|
|
var attributes="?type=fachbereich&fachbereich_kurzbz="+kurzbz+"&datum="+datum;
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes+'&'+gettimestamp();
|
|
if (url)
|
|
contentFrame.setAttribute('src', url);
|
|
|
|
// Semesterplan
|
|
var semesterplan=document.getElementById('tabpanels-main');
|
|
var panelIndex=semesterplan.getAttribute("selectedIndex");
|
|
if (panelIndex==1)
|
|
{
|
|
//alert (url);
|
|
var contentFrame=document.getElementById('iframeTimeTableSemester');
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes+"&semesterplan=true&"+gettimestamp();
|
|
if (url)
|
|
contentFrame.setAttribute('src', url);
|
|
}
|
|
|
|
var order = LehrstundeGetSortOrder();
|
|
// LVAs
|
|
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
|
|
vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=fachbereich&fachbereich_kurzbz="+kurzbz+"&order="+order+"&"+gettimestamp());
|
|
|
|
|
|
// Lehrveranstaltung des Fachbereichs
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
try
|
|
{
|
|
//alert(stg_kz);
|
|
url = '<?php echo APP_ROOT; ?>rdf/lehrveranstaltung_einheiten.rdf.php?fachbereich_kurzbz='+kurzbz+'&'+gettimestamp();
|
|
var treeLV=document.getElementById('lehrveranstaltung-tree');
|
|
|
|
//Alte DS entfernen
|
|
var oldDatasources = treeLV.database.GetDataSources();
|
|
try
|
|
{
|
|
LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver);
|
|
treeLV.builder.removeListener(LvTreeListener);
|
|
}
|
|
catch(e)
|
|
{}
|
|
|
|
while(oldDatasources.hasMoreElements())
|
|
{
|
|
treeLV.database.RemoveDataSource(oldDatasources.getNext());
|
|
}
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
|
LvTreeDatasource = rdfService.GetDataSource(url);
|
|
LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
|
LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
|
treeLV.database.AddDataSource(LvTreeDatasource);
|
|
LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver);
|
|
treeLV.builder.addListener(LvTreeListener);
|
|
document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=false;
|
|
}
|
|
catch(e)
|
|
{
|
|
debug(e);
|
|
}
|
|
}
|
|
|