From 53098c011c5398efd1b995d0c69b652f1cac2168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 15 Jun 2018 15:08:05 +0200 Subject: [PATCH] =?UTF-8?q?Filter=20f=C3=BCr=20Funktionen=20im=20FAS=20hin?= =?UTF-8?q?zugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/funktionen.js.php | 966 ++++++++++++++++++----------------- content/funktionen.xul.php | 570 +++++++++++---------- include/variable.class.php | 2 + rdf/benutzerfunktion.rdf.php | 6 +- 4 files changed, 798 insertions(+), 746 deletions(-) diff --git a/content/funktionen.js.php b/content/funktionen.js.php index 8ed84cf2e..e77c47548 100644 --- a/content/funktionen.js.php +++ b/content/funktionen.js.php @@ -1,473 +1,493 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -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; - -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 = "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, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +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; +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 ********** // +function FunktionFilter() +{ + var filter = document.getElementById('funktionen-button-filter') + var state = document.getElementById('funktionen-filter-state') + if(state.value == 'alle') + { + state.value = 'offene'; + loadFunktionen(FunktionenUID); + filter.label = 'Alle anzeigen'; + setVariable('fasfunktionfilter', 'offene'); + } + else + { + state.value = 'alle'; + loadFunktionen(FunktionenUID); + filter.label = 'Nur aktuelle anzeigen'; + setVariable('fasfunktionfilter', 'alle') + } +} + +// **** +// * Laedt die Trees +// **** +function loadFunktionen(uid) +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + + FunktionenUID = uid; + var filter = document.getElementById('funktionen-filter-state'); + + //Adressen laden + url = "rdf/benutzerfunktion.rdf.php?uid="+uid+"&filter="+filter.value+"&"+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, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -header("Cache-Control: no-cache"); -header("Cache-Control: post-check=0, pre-check=0",false); -header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); -header("Pragma: no-cache"); -header("Content-type: application/vnd.mozilla.xul+xml"); - -include('../config/vilesci.config.inc.php'); -echo ''."\n"; - -echo ''; -echo ''; -echo ''; - -if(isset($_GET['uid'])) - $uid = $_GET['uid']; -else - die('Parameter uid muss uebergeben werden'); - -?> - - - -