, * Andreas Oesterreicher and * Rudolf Hangl . */ require_once('../vilesci/config.inc.php'); require_once('../include/functions.inc.php'); $conn = pg_pconnect(CONN_STRING); $user = get_uid(); loadVariables($conn, $user); ?> // ********** GLOBALE VARIABLEN ********** // var FunktionenTreeDatasource=''; // Datasource des Adressen Trees var FunktionenSelectID=''; var FunktionenUID=null; // ********** 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