diff --git a/content/functions.js.php b/content/functions.js.php index d157d649b..0b46c2aa3 100644 --- a/content/functions.js.php +++ b/content/functions.js.php @@ -140,7 +140,7 @@ function SetStatusBarText(text) function CheckDatum(datum) { var pattern = /^(0[1-9]|[1-9]|[12][0-9]|3[01])[.](0[1-9]|[1-9]|1[012])[.](19|20)\d\d$/ - + if(pattern.exec(datum)) return true; else @@ -156,13 +156,13 @@ function ConvertDateToISO(datum) if(datum!='') { arr = datum.split('.'); - + if(arr[0].length==1) arr[0]='0'+arr[0]; - + if(arr[1].length==1) arr[1]='0'+arr[1]; - + return arr[2]+'-'+arr[1]+'-'+arr[0]; } else @@ -173,25 +173,25 @@ function ConvertDateToISO(datum) // * Liefert die Daten aus der Zwischenablage // **** function getDataFromClipboard() -{ +{ netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); - var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard); - if (!clip) - return false; - var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable); - if (!trans) - return false; - + var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard); + if (!clip) + return false; + var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable); + if (!trans) + return false; + trans.addDataFlavor("text/unicode"); - - clip.getData(trans,clip.kGlobalClipboard); - var str = new Object(); - var strLength = new Object(); + + clip.getData(trans,clip.kGlobalClipboard); + var str = new Object(); + var strLength = new Object(); trans.getTransferData("text/unicode",str,strLength); - if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString); + if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString); if (str) pastetext = str.data.substring(0,strLength.value / 2); - + return pastetext; } @@ -199,9 +199,9 @@ function getDataFromClipboard() // * Oeffnet ein neues Fenster welches dann die Datei 'action' mit dem POST Parameter 'data' aufruft // **** function OpenWindowPost(action, data) -{ +{ newwindow= window.open ("","FAS","width=350, height=350"); - newwindow.document.getElementsByTagName('body')[0].innerHTML = "
"; + newwindow.document.getElementsByTagName('body')[0].innerHTML = "
"; newwindow.document.getElementById('postform-textbox-data').value=data; newwindow.document.getElementById('postform-form').action=action; newwindow.document.postfrm.submit(); @@ -234,13 +234,13 @@ function MenulistSelectItemOnValue(id, data) function MenulistGetSelectedValue(id) { menulist = document.getElementById(id); - + //Es kann sein, dass im Eingabefeld nichts steht und //trotzdem ein Eintrag auf selected gesetzt ist. //In diesem Fall soll aber kein Wert zurueckgegeben werden if(menulist.value=='') return ''; - + //Wenn es Selektierte Eintraege gibt, dann den value zurueckliefern var children = menulist.getElementsByAttribute('selected','true'); if(children.length>0) @@ -290,14 +290,14 @@ function getvariable(variable) netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); // Request absetzen - + var url = 'content/fasDBDML.php'; var req = new phpRequest(url,'',''); req.add('type', 'getvariable'); req.add('name', variable); - + var response = req.executePOST(); var val = new ParseReturnValue(response) @@ -316,3 +316,35 @@ function getvariable(variable) } } +/** + * Setzte eine Variable + */ +function setVariable(variable, wert) +{ + // Request absetzen + + var url = 'content/fasDBDML.php'; + + var req = new phpRequest(url,'',''); + + req.add('type', 'variablechange'); + req.add('name', variable); + 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) + return false; + } + else + { + return true; + } +} diff --git a/content/statistik/termine.xls.php b/content/statistik/termine.xls.php index dae9fc8d9..728864762 100644 --- a/content/statistik/termine.xls.php +++ b/content/statistik/termine.xls.php @@ -57,12 +57,15 @@ $lehrveranstaltung_id = filter_input(INPUT_GET, 'lehrveranstaltung_id'); $lehreinheit_id = filter_input(INPUT_GET, 'lehreinheit_id'); $mitarbeiter_uid = filter_input(INPUT_GET,'mitarbeiter_uid'); $student_uid = filter_input(INPUT_GET,'student_uid'); +$db_stpl_table = filter_input(INPUT_GET,'db_stpl_table'); +if(!in_array($db_stpl_table,array('stundenplan','stundenplandev'))) + $db_stpl_table='stundenplan'; $db = new basis_db(); $lehrstunde = new lehrstunde(); //$variable->variable->db_stpl_table -$lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable->variable->semester_aktuell, $lehreinheit_id, $mitarbeiter_uid, $student_uid); +$lehrstunde->getStundenplanData($db_stpl_table, $lehrveranstaltung_id, $variable->variable->semester_aktuell, $lehreinheit_id, $mitarbeiter_uid, $student_uid); function writecol($zeile, $i, $content) { diff --git a/content/termine.js.php b/content/termine.js.php index 6cd976d77..a521e38d4 100644 --- a/content/termine.js.php +++ b/content/termine.js.php @@ -24,52 +24,97 @@ var TermineLehreinheitID=''; var TermineLehrveranstaltungID=''; var TermineMitarbeiterUID=''; var TermineStudentUID=''; +var TermineStundenplanTable='stundenplan'; // **** // * Laedt die Trees // **** function loadTermine(lehreinheit_id, lehrveranstaltung_id, mitarbeiter_uid, student_uid) { - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - TermineLehreinheitID=lehreinheit_id; TermineLehrveranstaltungID=lehrveranstaltung_id; TermineMitarbeiterUID=mitarbeiter_uid; TermineStudentUID=student_uid; + // Stundenplan Tabelle aus Variablen holen + TermineStundenplanTable = getvariable('termin_export_db_stpl_table'); + TermineSetSTPLTable(TermineStundenplanTable); + TermineLoadTree(); +} + +function TermineLoadTree() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); //Termine laden url = "rdf/termine.rdf.php?ts="+gettimestamp(); - if(lehreinheit_id!='') - url=url+"&lehreinheit_id="+lehreinheit_id; - if(lehrveranstaltung_id!='') - url=url+"&lehrveranstaltung_id="+lehrveranstaltung_id; - if(mitarbeiter_uid!='') - url=url+"&mitarbeiter_uid="+mitarbeiter_uid; - if(student_uid!='') - url=url+"&student_uid="+student_uid; + if(TermineLehreinheitID!='') + url=url+"&lehreinheit_id="+TermineLehreinheitID; + if(TermineLehrveranstaltungID!='') + url=url+"&lehrveranstaltung_id="+TermineLehrveranstaltungID; + if(TermineMitarbeiterUID!='') + url=url+"&mitarbeiter_uid="+TermineMitarbeiterUID; + if(TermineStudentUID!='') + url=url+"&student_uid="+TermineStudentUID; + + url=url+"&db_stpl_table="+TermineStundenplanTable; var treeTermine=document.getElementById('termine-tree'); - + //Alte DS entfernen var oldDatasources = treeTermine.database.GetDataSources(); while(oldDatasources.hasMoreElements()) { treeTermine.database.RemoveDataSource(oldDatasources.getNext()); } - + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); var TerminTreeDatasource = rdfService.GetDataSource(url); TerminTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); treeTermine.database.AddDataSource(TerminTreeDatasource); - + } +function TermineChangeSTPLTable() +{ + var checkState = document.getElementById('termine-button-stpltable').checked; + if(checkState==true) + { + TermineSetSTPLTable('stundenplandev'); + setVariable('termin_export_db_stpl_table','stundenplandev'); + } + else + { + TermineSetSTPLTable('stundenplan'); + setVariable('termin_export_db_stpl_table','stundenplan'); + } + TermineLoadTree(); +} + +/** + * Aendert die Stundenplantabelle fuer den TermineExport + */ +function TermineSetSTPLTable(db_stpl_table) +{ + var button = document.getElementById('termine-button-stpltable'); + if(db_stpl_table=='stundenplandev') + { + button.label='StundenplanDEV'; + button.checked=true; + TermineStundenplanTable='stundenplandev'; + } + else + { + button.label='Stundenplan'; + button.checked=false; + TermineStundenplanTable='stundenplan'; + } +} /** * Exportiert die Termine */ function TermineExport() { - var url = 'statistik/termine.xls.php?lehreinheit_id='+TermineLehreinheitID+'&lehrveranstaltung_id='+TermineLehrveranstaltungID+'&mitarbeiter_uid='+TermineMitarbeiterUID+'&student_uid='+TermineStudentUID; + var url = 'statistik/termine.xls.php?lehreinheit_id='+TermineLehreinheitID+'&lehrveranstaltung_id='+TermineLehrveranstaltungID+'&mitarbeiter_uid='+TermineMitarbeiterUID+'&student_uid='+TermineStudentUID+'&db_stpl_table='+TermineStundenplanTable; window.open(url); } diff --git a/content/termine.xul.php b/content/termine.xul.php index 035fe8248..b4e33af9a 100644 --- a/content/termine.xul.php +++ b/content/termine.xul.php @@ -49,7 +49,11 @@ $student_uid = filter_input(INPUT_GET,'student_uid'); - + + + +