, * Andreas Oesterreicher and * Rudolf Hangl . */ require_once('../config/vilesci.config.inc.php'); header("Content-type: application/vnd.mozilla.xul+xml"); echo ''; ?> try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); tree = document.getAnonymousElementByAttribute(this ,'anonid', 'tree-notiz'); var col = tree.columns.getColumnFor(document.getAnonymousElementByAttribute(this ,'anonid', 'treecol-notiz-notiz_id')); return tree.view.getCellText(tree.currentIndex, col); } catch(e) { return false; } 0) bearbeiter_uid = children[0].value; else bearbeiter_uid = ''; } var erledigt = document.getAnonymousElementByAttribute(this ,'anonid', 'checkbox-notiz-erledigt').checked; var projekt_kurzbz = this.getAttribute('projekt_kurzbz'); var projektphase_id = this.getAttribute('projektphase_id'); var projekttask_id = this.getAttribute('projekttask_id'); var uid = this.getAttribute('uid'); var person_id = this.getAttribute('person_id'); var prestudent_id = this.getAttribute('prestudent_id'); var bestellung_id = this.getAttribute('bestellung_id'); var lehreinheit_id = this.getAttribute('lehreinheit_id'); var anrechnung_id = this.getAttribute('anrechnung_id'); var soapBody = new SOAPObject("saveNotiz"); //soapBody.appendChild(new SOAPObject("username")).val('joe'); //soapBody.appendChild(new SOAPObject("passwort")).val('waschl'); var notiz = new SOAPObject("notiz"); notiz.appendChild(new SOAPObject("notiz_id")).val(notiz_id); notiz.appendChild(new SOAPObject("titel")).cdataval(titel); notiz.appendChild(new SOAPObject("text")).cdataval(text); notiz.appendChild(new SOAPObject("verfasser_uid")).val(verfasser_uid); notiz.appendChild(new SOAPObject("bearbeiter_uid")).val(bearbeiter_uid); notiz.appendChild(new SOAPObject("start")).val(start); notiz.appendChild(new SOAPObject("ende")).val(ende); notiz.appendChild(new SOAPObject("erledigt")).val(erledigt); notiz.appendChild(new SOAPObject("projekt_kurzbz")).val(projekt_kurzbz); notiz.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id); notiz.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id); notiz.appendChild(new SOAPObject("uid")).val(uid); notiz.appendChild(new SOAPObject("person_id")).val(person_id); notiz.appendChild(new SOAPObject("prestudent_id")).val(prestudent_id); notiz.appendChild(new SOAPObject("bestellung_id")).val(bestellung_id); notiz.appendChild(new SOAPObject("lehreinheit_id")).val(lehreinheit_id); notiz.appendChild(new SOAPObject("anrechnung_id")).val(anrechnung_id); soapBody.appendChild(notiz); var sr = new SOAPRequest("saveNotiz",soapBody); SOAPClient.Proxy="soap/notiz.soap.php?"+gettimestamp(); function mycallb(obj) { var me=obj; this.invoke=function (respObj) { try { var id = respObj.Body[0].saveNotizResponse[0].message[0].Text; me.selectID=id; document.getAnonymousElementByAttribute(me ,'anonid', 'textbox-notiz-notiz_id').value=id; } catch(e) { try { var fehler = respObj.Body[0].Fault[0].faultstring[0].Text; } catch(e) { var fehler = e; } alert('Fehler: '+fehler); return; } me.RefreshNotiz(); } } var cb=new mycallb(this); SOAPClient.SendRequest(sr, cb.invoke); ]]> soap/notiz.soap.php?"+gettimestamp(); function mycallb(obj) { var me=obj; this.invoke=function (respObj) { try { var id = respObj.Body[0].deleteNotizResponse[0].message[0].Text; me.selectID=id; } catch(e) { try { var fehler = respObj.Body[0].Fault[0].faultstring[0].Text; } catch(e) { var fehler = e; } alert('Fehler: '+fehler); return; } me.RefreshNotiz(); } } var cb=new mycallb(this); SOAPClient.SendRequest(sr, cb.invoke); } } ]]> soap/notiz.soap.php?"+gettimestamp(); function mycallb(obj) { var me=obj; this.invoke=function (respObj) { try { var id = respObj.Body[0].setErledigtResponse[0].message[0].Text; } catch(e) { var fehler = respObj.Body[0].Fault[0].faultstring[0].Text; alert('Fehler: '+fehler); return; } me.RefreshNotiz(); } } var cb=new mycallb(this); SOAPClient.SendRequest(sr,cb.invoke); } ]]> rdf/notiz.rdf.php?notiz_id='+id+'&'+gettimestamp(); var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"]. getService(Components.interfaces.nsIRDFService); var dsource = rdfService.GetDataSourceBlocking(url); var subject = rdfService.GetResource("http://www.technikum-wien.at/notiz/" + id); var predicateNS = "http://www.technikum-wien.at/notiz/rdf"; //RDF parsen titel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titel" )); text = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#text" )); start = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#start" )); ende = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ende" )); verfasser = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#verfasser_uid" )); bearbeiter = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bearbeiter_uid" )); updateamum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#updateamum" )); erledigt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#erledigt" )); if(erledigt=='true') erledigt=true; else erledigt=false; document.getAnonymousElementByAttribute(this ,'anonid', 'textbox-notiz-notiz_id').value=id; document.getAnonymousElementByAttribute(this ,'anonid', 'textbox-notiz-titel').value=titel; document.getAnonymousElementByAttribute(this ,'anonid', 'textbox-notiz-text').value=text; document.getAnonymousElementByAttribute(this ,'anonid', 'box-notiz-start').value=start; document.getAnonymousElementByAttribute(this ,'anonid', 'box-notiz-ende').value=ende; document.getAnonymousElementByAttribute(this ,'anonid', 'textbox-notiz-verfasser').value=verfasser; document.getAnonymousElementByAttribute(this ,'anonid', 'checkbox-notiz-erledigt').checked=erledigt; document.getAnonymousElementByAttribute(this ,'anonid', 'label-notiz-updateamum').value=updateamum; if(bearbeiter!='') { menulist = document.getAnonymousElementByAttribute(this ,'anonid', 'menulist-notiz-bearbeiter'); this.BearbeiterLoad(menulist, bearbeiter); var children = menulist.getElementsByAttribute('value',bearbeiter); menulist.selectedItem=children[0]; } else { menulist = document.getAnonymousElementByAttribute(this ,'anonid', 'menulist-notiz-bearbeiter'); this.BearbeiterLoad(menulist, bearbeiter); var children = menulist.getElementsByAttribute('value',bearbeiter); menulist.selectedItem=null; } document.getAnonymousElementByAttribute(this ,'anonid', 'caption-notiz-detail').label="Bearbeiten"; // Dokumente auslesen var url = 'rdf/dms.rdf.php?notiz_id='+id+'&'+gettimestamp(); var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"]. getService(Components.interfaces.nsIRDFService); dsource = rdfService.GetDataSourceBlocking(url); // Alle Elemente aus dem RDF holen var dsResources = dsource.GetAllResources(); var thisResource = null; // Durchlaufen der Elemente while(dsResources.hasMoreElements()) { thisResource = dsResources.getNext().QueryInterface( Components.interfaces.nsIRDFResource); var predicateNS = "http://www.technikum-wien.at/dms/rdf"; //Spalten holen name = getTargetHelper(dsource,thisResource,rdfService.GetResource( predicateNS + "#name" )); dms_id = getTargetHelper(dsource,thisResource,rdfService.GetResource( predicateNS + "#dms_id" )); if(dms_id!='') { // Download-Link für Dokument einfügen var dokurl = 'content/notizdokdownload.php?id='+dms_id; var dokbtn = document.createElement("button"); dokbtn.setAttribute("label", name); dokbtn.setAttribute("onclick", "window.open('"+dokurl+"')"); dokbtn.setAttribute("style", "margin-right: -5px;"); document.getAnonymousElementByAttribute(this ,'anonid', 'hbox-notiz-dokumente').appendChild(dokbtn); // Link zum Löschen des Dokuments var delbtn = document.createElement("button"); delbtn.setAttribute("image", "skin/images/delete_x.png"); delbtn.setAttribute("tooltiptext", "Datei "+name+" löschen"); delbtn.setAttribute("onclick", "document.getBindingParent(this).LoeschenDokument("+dms_id+",'"+name+"')"); document.getAnonymousElementByAttribute(this ,'anonid', 'hbox-notiz-dokumente').appendChild(delbtn); } } } ]]> 2) { var url = 'rdf/mitarbeiter.rdf.php?filter='+encodeURIComponent(v)+'&'+gettimestamp(); var oldDatasources = menulist.database.GetDataSources(); while(oldDatasources.hasMoreElements()) { menulist.database.RemoveDataSource(oldDatasources.getNext()); } //Refresh damit die entfernten DS auch wirklich entfernt werden menulist.builder.rebuild(); var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); if(typeof(filter)=='undefined') var datasource = rdfService.GetDataSource(url); else var datasource = rdfService.GetDataSourceBlocking(url); datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); menulist.database.AddDataSource(datasource); if(typeof(filter)!='undefined') menulist.builder.rebuild(); } ]]> rdf/notiz.rdf.php?ts="+gettimestamp(); datasource = datasource+"&projekt_kurzbz="+encodeURIComponent(projekt_kurzbz); datasource = datasource+"&projektphase_id="+encodeURIComponent(projektphase_id); datasource = datasource+"&projekttask_id="+encodeURIComponent(projekttask_id); datasource = datasource+"&uid="+encodeURIComponent(uid); datasource = datasource+"&person_id="+encodeURIComponent(person_id); datasource = datasource+"&prestudent_id="+encodeURIComponent(prestudent_id); datasource = datasource+"&bestellung_id="+encodeURIComponent(bestellung_id); datasource = datasource+"&user="+encodeURIComponent(user); datasource = datasource+"&lehreinheit_id="+encodeURIComponent(lehreinheit_id); //Wenn es als Parameter uebergeben wird, ist es ein boolean, sonst ein String if((typeof erledigt=="boolean" && erledigt==true) || (typeof erledigt=="string" && erledigt=='true')) datasource = datasource+"&erledigt=true"; else if((typeof erledigt=="boolean" && erledigt==false) || (typeof erledigt=="string" && erledigt=='false')) datasource = datasource+"&erledigt=false"; datasource = datasource+"&anrechnung_id="+encodeURIComponent(anrechnung_id); //debug('Source:'+datasource); var tree = document.getAnonymousElementByAttribute(this ,'anonid', 'tree-notiz'); //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); this.TreeNotizDatasource = rdfService.GetDataSource(datasource); this.TreeNotizDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); this.TreeNotizDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); tree.database.AddDataSource(this.TreeNotizDatasource); this.TreeNotizDatasource.addXMLSinkObserver({ notiz: this, onBeginLoad: function(aSink) {}, onInterrupt: function(aSink) {}, onResume: function(aSink) {}, onEndLoad: function(aSink) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); //aSink.removeXMLSinkObserver(this); //debug('onEndLoad start Rebuild'); var tree = document.getAnonymousElementByAttribute(this.notiz ,'anonid', 'tree-notiz'); tree.builder.rebuild(); }, onError: function(aSink, aStatus, aErrorMsg) { alert("error! " + aErrorMsg); } }); tree.builder.addListener({ notiz: this, willRebuild : function(builder) { }, didRebuild : function(builder) { //Workaround damit das Resize des Trees funktioniert var tree = document.getAnonymousElementByAttribute(this.notiz ,'anonid', 'tree-notiz'); if(tree.columns) tree.columns.restoreNaturalOrder(); notiz.selectItem(); } }); } catch(e) { debug("Notiz load failed with exception: "+e); } ]]> content/notizdokupload.php?notiz_id="+notiz_id ,"","chrome, status=no, width=800, height=350, centerscreen, resizable"); } else alert("keine Notiz ausgewählt"); ]]> soap/notiz.soap.php?"+gettimestamp(); SOAPClient.AjaxAsync=false; function mycallb(obj) { var me=obj; this.invoke=function (respObj) { try { var result = respObj.Body[0].deleteDokumentResponse[0].message[0].Text; } catch(e) { try { var fehler = respObj.Body[0].Fault[0].faultstring[0].Text; } catch(e) { var fehler = e; } alert('Fehler: '+fehler); return; } me.RefreshNotiz(); } } var cb=new mycallb(this); SOAPClient.SendRequest(sr, cb.invoke); // Alle Download-Buttons der Dokumente entfernen var notizdoks = document.getAnonymousElementByAttribute(this ,'anonid', 'hbox-notiz-dokumente'); while(notizdoks.hasChildNodes()) { notizdoks.removeChild(notizdoks.firstChild); } // Dokumente auslesen netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var id = document.getAnonymousElementByAttribute(this ,'anonid', 'textbox-notiz-notiz_id').value; var url = 'rdf/dms.rdf.php?notiz_id='+id+'&'+gettimestamp(); var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"]. getService(Components.interfaces.nsIRDFService); dsource = rdfService.GetDataSourceBlocking(url); // Alle Elemente aus dem RDF holen var dsResources = dsource.GetAllResources(); var thisResource = null; // Durchlaufen der Elemente while(dsResources.hasMoreElements()) { thisResource = dsResources.getNext().QueryInterface( Components.interfaces.nsIRDFResource); var predicateNS = "http://www.technikum-wien.at/dms/rdf"; //Spalten holen name = getTargetHelper(dsource,thisResource,rdfService.GetResource( predicateNS + "#name" )); dms_id = getTargetHelper(dsource,thisResource,rdfService.GetResource( predicateNS + "#dms_id" )); if(dms_id!='') { // Download-Link für Dokument einfügen var dokurl = 'content/notizdokdownload.php?id='+dms_id; var dokbtn = document.createElement("button"); dokbtn.setAttribute("label", name); dokbtn.setAttribute("onclick", "window.open('"+dokurl+"')"); dokbtn.setAttribute("style", "margin-right: -5px;"); document.getAnonymousElementByAttribute(this ,'anonid', 'hbox-notiz-dokumente').appendChild(dokbtn); // Link zum Löschen des Dokuments var delbtn = document.createElement("button"); delbtn.setAttribute("image", "skin/images/delete_x.png"); delbtn.setAttribute("tooltiptext", "Datei "+name+" löschen"); delbtn.setAttribute("onclick", "document.getBindingParent(this).LoeschenDokument("+dms_id+",'"+name+"')"); document.getAnonymousElementByAttribute(this ,'anonid', 'hbox-notiz-dokumente').appendChild(delbtn); } } } ]]> //debug('load notiz:'+this.getAttribute('id')); this.DisableControls(true); this.DisableDetails(true); var projekt_kurzbz = this.getAttribute('projekt_kurzbz'); var projektphase_id = this.getAttribute('projektphase_id'); var projekttask_id = this.getAttribute('projekttask_id'); var uid = this.getAttribute('uid'); var person_id = this.getAttribute('person_id'); var prestudent_id = this.getAttribute('prestudent_id'); var bestellung_id = this.getAttribute('bestellung_id'); var user = this.getAttribute('user'); var lehreinheit_id = this.getAttribute('lehreinheit_id'); var anrechnung_id = this.getAttribute('anrechnung_id'); if(projekt_kurzbz!='' || projektphase_id!='' || projekttask_id!='' || uid!='' || person_id!='' || prestudent_id!='' || bestellung_id!='' || user!='' || lehreinheit_id!='' || anrechnung_id!='') { this.LoadNotizTree(projekt_kurzbz,projektphase_id,projekttask_id,uid,person_id,prestudent_id,bestellung_id, user, lehreinheit_id, null, anrechnung_id); } document.getAnonymousElementByAttribute(this ,'anonid', 'textbox-notiz-verfasser').value=getUsername(); //debug('Notiz Binding Stop');