loadVariables($user); $stsem = $benutzer->variable->semester_aktuell; $stsem_id = getStudiensemesterIdFromName($conn, $stsem); echo "var studiensemester_id=".$stsem_id.";"; ?> var sink; var MenuMitarbeiterAuswahl=0; var treemenuobservedata=''; /** * Observer der aufgerufen wird wenn Refresh des Funktionen-Trees * fertig ausgefuehrt wurde. */ var treefunktionenobserve = { onBeginLoad: function(aSink) { /* Statusbar setzen */ setStatusBarText('Loading ...'); /* Progressmeter anzeigen */ document.getElementById('statusbarpanel-progressmeter').hidden=false; }, onInterrupt: function(aSink) { }, onResume: function(aSink) { }, onEndLoad: function(aSink) { //debug('onEndLoad Funktionen'); /* Statusbar leeren */ setStatusBarText(''); /* Progressmeter verstecken */ document.getElementById('statusbarpanel-progressmeter').hidden=true; /* Mitarbeiter Value Changed zuruecksetzen und Speichern Button deaktivieren */ // MitarbeiterDetailRestore(); //debug('Starting Rebuild'); document.getElementById('tree-liste-funktionen').builder.rebuild(); }, onError: function(aSink, aStatus, aErrorMsg) { alert('Bei der Datenuebertragung ist ein Fehler Aufgetreten. Bitte Versuchen Sie es erneut.'); } }; /** * Observer der aufgerufen wird wenn Refresh des Mitarbeiter-Trees * fertig ausgefuehrt wurde. */ var treemenuobserve = { onBeginLoad: function(aSink) { /* Statusbar setzen */ setStatusBarText('Loading ...'); /* Progressmeter anzeigen */ document.getElementById('statusbarpanel-progressmeter').hidden=false; }, onInterrupt: function(aSink) { }, onResume: function(aSink) { }, onEndLoad: function(aSink) { //debug('onEndLoad'); /* Statusbar leeren */ setStatusBarText(''); /* Progressmeter verstecken */ document.getElementById('statusbarpanel-progressmeter').hidden=true; /* Mitarbeiter Value Changed zuruecksetzen und Speichern Button deaktivieren */ MitarbeiterDetailRestore(); document.getElementById('tree-liste-mitarbeiter').builder.rebuild(); }, onError: function(aSink, aStatus, aErrorMsg) { alert('Bei der Datenuebertragung ist ein Fehler Aufgetreten. Bitte Versuchen Sie es erneut.'); } }; /** * Observer der aufgerufen wird wenn Rebuild fertig abgearbeitet wurde * (Funktioniert mit Moz 1.7.13 nicht richtig -> Seamonkey 1.0.2 funktioniert) */ var treemenurebuildobserve = { willRebuild: function(aSink) { }, didRebuild: function(aSink) { //debug('didRebuild:'+treemenuobservedata); //wenn treemenuobservedata = refresheintragmerken dann wird der Mitarbeiter wieder markiert if(treemenuobservedata=='refresheintragmerken') MitarbeiterSelectMitarbeiter(); treemenuobservedata=''; treeMitarbeiterReload=true; } } /** * Gibt eine Message auf die Javascript Console aus */ function debug(msg) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var consoleService = Components.classes["@mozilla.org/consoleservice;1"] .getService(Components.interfaces.nsIConsoleService); consoleService.logStringMessage(msg); } /** * Beim Auswaehlen eines Mitarbeiter-Filters werden die Mitarbeiter * die diesem Filter entsprechen geladen */ function onMenuMitarbeiterSelect(id) { //Falls Daten geaendert wurden aber noch nicht gespeichert if(treeMitarbeiterDetailChanged) { if(confirm("Wollen Sie die geänderten Daten speichern?")) saveMitarbeiter(); else treeMitarbeiterDetailChanged=false; } var tree=document.getElementById(id); var content=document.getElementById('tree-liste-mitarbeiter'); var col = tree.columns ? tree.columns["tree-menu-mitarbeiter-col-filter"] : "tree-menu-mitarbeiter-col-filter"; var filter=tree.view.getCellText(tree.currentIndex,col); var url = "rdf/fas/mitarbeiter.rdf.php"; var attributes="?type=unknown&leerzeichencodierung=true"; if(filter=="") filter="Studiengangsleiter"; if (filter=="Studiengangsleiter") { attributes+="&stgl=true"; MenuMitarbeiterAuswahl=0; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=true; } if (filter=="Fachbereichsleiter") { attributes+="&fbl=true"; MenuMitarbeiterAuswahl=1; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=true; } if (filter=="Alle") { attributes+="&alle=true"; MenuMitarbeiterAuswahl=2; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false; } if (filter=="Aktive") { attributes+="&aktiv=true"; MenuMitarbeiterAuswahl=3; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false; } if (filter=="FixAngestellte") { attributes+="&fix=true&aktiv=true"; MenuMitarbeiterAuswahl=4; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false; } if (filter=="FixAngestellteAlle") { attributes+="&fix=true"; MenuMitarbeiterAuswahl=5; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false; } if (filter=="Inaktive") { attributes+="&aktiv=false"; MenuMitarbeiterAuswahl=6; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=true; } if (filter=="Karenziert") { attributes+="&karenziert=true"; MenuMitarbeiterAuswahl=7; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=true; } if (filter=="Ausgeschieden") { attributes+="&ausgeschieden=true"; MenuMitarbeiterAuswahl=8; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=true; } if (filter=="FreiAngestellte") { attributes+="&fix=false&aktiv=true"; MenuMitarbeiterAuswahl=9; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false; } if (filter=="FreiAngestellteAlle") { attributes+="&fix=false"; MenuMitarbeiterAuswahl=10; document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false; } //Timestamp anhaengen da beim Laden von Zwischengespeicherten Dateien kein //Observer Event ausgeloest wird. url+=attributes+'&'+gettimestamp(); treeMitarbeiterReload=false; //Mitarbeiter Detail Felder deaktivieren SetMitarbeiterDetailAktiv(false); netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); //Alte Datasources loeschen var oldDatasources = content.database.GetDataSources(); while(oldDatasources.hasMoreElements()) content.database.RemoveDataSource(oldDatasources.getNext()); //Neue Datasource setzen var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); var newDs = rdfService.GetDataSource(url); content.database.AddDataSource(newDs); //Sink Observer anhaengen sink = newDs.QueryInterface(Components.interfaces.nsIRDFXMLSink); sink.addXMLSinkObserver(treemenuobserve); } /** * Bei Auswahl des Verbandes wird lehreinheiten.rdf * fuer die zugehoerige Gruppe/Studiengang geladen */ function onMenuVerbandSelect() { tree = document.getElementById('tree-verband'); //Studiengang, Gruppe und Ausbildungssemester holen var col = tree.columns ? tree.columns["tree-verband-studiengang_id"] : "tree-verband-studiengang_id"; var studiengang_id=tree.view.getCellText(tree.currentIndex,col); col = tree.columns ? tree.columns["tree-verband-gruppe_id"] : "tree-verband-gruppe_id"; var gruppe_id=tree.view.getCellText(tree.currentIndex,col); col = tree.columns ? tree.columns["tree-verband-ausbildungssemester_id"] : "tree-verband-ausbildungssemester_id"; var ausbildungssemester_id=tree.view.getCellText(tree.currentIndex,col); //Tree fuellen lehreinheitentree = document.getElementById('tree-liste-lehreinheiten'); if(gruppe_id==0) url = 'rdf/fas/lehreinheiten.rdf.php?studiengang_id='+studiengang_id; else url = 'rdf/fas/lehreinheiten.rdf.php?gruppe_id='+gruppe_id; lehreinheitentree.setAttribute('datasources',url); document.getElementById('textbox-lehreinheiten-detail-studiengang').value=studiengang_id; document.getElementById('textbox-lehreinheiten-ausbildungssemester_id').value=ausbildungssemester_id; } /** * Parst einen RDF String */ function parseRDFString(str, url) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 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; } /** * Liefert Wert aus Datasource */ function getTargetHelper(dsource,subj,predi) { if (dsource.hasArcOut(subj, predi)) { var target = dsource.GetTarget(subj, predi, true); if (target instanceof Components.interfaces.nsIRDFLiteral) return target.Value; if (target instanceof Components.interfaces.nsIRDFInt) //Fuer Integer Werte return target.Value; } return ""; }