, * 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 StudentSelectUid=null; //Student der nach dem Refresh markiert werden soll // ********** Observer und Listener ************* // // **** // * Observer fuer Studenten Tree // * startet Rebuild nachdem das Refresh // * der datasource fertig ist // **** var StudentTreeSinkObserver = { onBeginLoad : function(pSink) {}, onInterrupt : function(pSink) {}, onResume : function(pSink) {}, onError : function(pSink, pStatus, pError) {}, onEndLoad : function(pSink) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); document.getElementById('student-tree').builder.rebuild(); } }; // **** // * Nach dem Rebuild wird der Student wieder // * markiert // **** var StudentTreeListener = { 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(StudentTreeSelectStudent,10); } }; // ***************** KEY Events ************************* // // **** // * Wird ausgefuehrt wenn eine Taste gedrueckt wird und der Focus // * im Lehrveranstaltungs-tree ist // * Beim Druecken von ENTF wird der markierte Student geloescht // * Beim Druecken von F5 wird der Studententree aktualisiert // **** function StudentTreeKeyPress(event) { if(event.keyCode==46) // Entf StudentDelete(); else if(event.keyCode==116) // F5 StudentTreeRefresh(); } // ****************** FUNKTIONEN ************************** // // **** // * Asynchroner (Nicht blockierender) Refresh des StudentenTrees // **** function StudentTreeRefresh() { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); //markierten Studenten global speichern damit dieser Student nach dem //refresh wieder markiert werden kann. var tree = document.getElementById('student-tree'); var col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid"; try { StudentSelectUid=tree.view.getCellText(tree.currentIndex,col); StudentTreeDatasource.Refresh(false); //non blocking } catch(e) {} } // **** // * neuen Studenten anlegen // **** function StudentNeu() { } // **** // * Selectiert den Studenten nachdem der Tree // * rebuildet wurde. // **** function StudentTreeSelectStudent() { var tree=document.getElementById('student-tree'); var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln //In der globalen Variable ist der zu selektierende Student gespeichert if(StudentSelectUid!=null) { for(var i=0;icontent/bildupload.php?person_id='+person_id,'Bild Upload', 'height=10,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes'); } else alert('Es wurde keine Person ausgewaehlt'); } // **** // * Auswahl eines Studenten // * bei Auswahl eines Studenten wird dieser geladen // * und die Daten unten angezeigt // **** function StudentAuswahl() { // Trick 17 (sonst gibt's ein Permission denied) netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var tree = document.getElementById('student-tree'); if (tree.currentIndex==-1) return; try { //Ausgewaehlte UID holen var col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid"; var uid=tree.view.getCellText(tree.currentIndex,col); if(uid!='') { //Student wurde markiert //loeschen button aktivieren StudentDetailDisableFields(false); StudentPrestudentDisableFields(false); document.getElementById('student-detail-button-save').disabled=false; } else { return false; } } catch(e) { alert(e); return false; } var url = 'rdf/student.rdf.php?uid='+uid+'&'+gettimestamp(); //hier wird GetDataSourceBlocking verwendet da sich //bei der Methode mit phpRequest der Mozilla aufhaengt //var req = new phpRequest(url,'',''); //req.add('uid',uid); //var response = req.execute(); // Datasource holen //var dsource=parseRDFString(response, 'http://www.technikum-wien.at/student/alle'); //dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource); 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/student/" + uid); var predicateNS = "http://www.technikum-wien.at/student/rdf"; //Daten holen anrede = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anrede" )); titelpre=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titelpre" )); titelpost=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titelpost" )); vorname=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vorname" )); vornamen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vornamen" )); nachname=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nachname" )); geburtsdatum=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsdatum" )); geburtsort=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gebort" )); geburtszeit=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gebzeit" )); anmerkung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" )); homepage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#homepage" )); svnr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#svnr" )); ersatzkennzeichen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ersatzkennzeichen" )); familienstand=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#familienstand" )); geschlecht=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geschlecht" )); aktiv=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aktiv" )); anzahlderkinder=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anzahlderkinder" )); staatsbuergerschaft=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#staatsbuergerschaft" )); geburtsnation=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsnation" )); sprache=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sprache" )); matrikelnummer=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#matrikelnummer" )); person_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" )); studiengang_kz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiengang_kz" )); semester=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" )); verband=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#verband" )); gruppe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gruppe" )); prestudent_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#prestudent_id" )); //Daten den Feldern zuweisen document.getElementById('student-detail-textbox-uid').value=uid; document.getElementById('student-detail-textbox-anrede').value=anrede; document.getElementById('student-detail-textbox-titelpre').value=titelpre; document.getElementById('student-detail-textbox-titelpost').value=titelpost; document.getElementById('student-detail-textbox-vorname').value=vorname; document.getElementById('student-detail-textbox-vornamen').value=vornamen; document.getElementById('student-detail-textbox-nachname').value=nachname; document.getElementById('student-detail-textbox-geburtsdatum').value=geburtsdatum; document.getElementById('student-detail-textbox-geburtsort').value=geburtsort; document.getElementById('student-detail-textbox-geburtszeit').value=geburtszeit; document.getElementById('student-detail-textbox-anmerkung').value=anmerkung; document.getElementById('student-detail-textbox-homepage').value=homepage; document.getElementById('student-detail-textbox-svnr').value=svnr; document.getElementById('student-detail-textbox-ersatzkennzeichen').value=ersatzkennzeichen; document.getElementById('student-detail-menulist-familienstand').value=familienstand; document.getElementById('student-detail-menulist-geschlecht').value=geschlecht; if(aktiv=='true') document.getElementById('student-detail-checkbox-aktiv').checked=true; else document.getElementById('student-detail-checkbox-aktiv').checked=false; document.getElementById('student-detail-textbox-anzahlderkinder').value=anzahlderkinder; document.getElementById('student-detail-menulist-staatsbuergerschaft').value=staatsbuergerschaft; document.getElementById('student-detail-menulist-geburtsnation').value=geburtsnation; document.getElementById('student-detail-menulist-sprache').value=sprache; document.getElementById('student-detail-textbox-matrikelnummer').value=matrikelnummer; document.getElementById('student-detail-image').src='content/bild.php?src=person&person_id='+person_id+'&'+gettimestamp(); document.getElementById('student-detail-textbox-person_id').value=person_id; document.getElementById('student-detail-textbox-studiengang_kz').value=studiengang_kz; document.getElementById('student-detail-textbox-semester').value=semester; document.getElementById('student-detail-textbox-verband').value=verband; document.getElementById('student-detail-textbox-gruppe').value=gruppe; //PreStudent Daten holen var url = 'rdf/prestudent.rdf.php?prestudent_id='+prestudent_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/prestudent/" + prestudent_id); var predicateNS = "http://www.technikum-wien.at/prestudent/rdf"; //Daten holen aufmerksamdurch_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufmerksamdurch_kurzbz" )); studiengang_kz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiengang_kz" )); berufstaetigkeit_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#berufstaetigkeit_code" )); ausbildungcode = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ausbildungcode" )); zgv_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgv_code" )); zgvort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvort" )); zgvdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdatum" )); zgvmaster_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_code" )); zgvmasterort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmaort" )); zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" )); aufnahmeschluessel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufnahmeschluessel" )); facheinschlberuf = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#facheinschlberuf" )); reihungstest_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#reihungstest_id" )); anmeldungreihungstest = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmeldungreihungstest" )); reihungstestangetreten = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#reihungstestangetreten" )); punkte = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#punkte" )); bismelden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bismelden" )); document.getElementById('student-prestudent-menulist-aufmerksamdurch').value=aufmerksamdurch_kurzbz; document.getElementById('student-prestudent-menulist-berufstaetigkeit').value=berufstaetigkeit_code; document.getElementById('student-prestudent-menulist-ausbildung').value=ausbildungcode; document.getElementById('student-prestudent-menulist-zgvcode').value=zgv_code; document.getElementById('student-prestudent-textbox-zgvort').value=zgvort; document.getElementById('student-prestudent-textbox-zgvdatum').value=zgvdatum; document.getElementById('student-prestudent-menulist-zgvmastercode').value=zgvmaster_code; document.getElementById('student-prestudent-textbox-zgvmasterort').value=zgvmasterort; document.getElementById('student-prestudent-textbox-zgvmasterdatum').value=zgvmasterdatum; document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value=aufnahmeschluessel; if(facheinschlberuf=='true') document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked=true; else document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked=false; document.getElementById('student-prestudent-menulist-reihungstest').value=reihungstest_id; document.getElementById('student-prestudent-textbox-anmeldungreihungstest').value=anmeldungreihungstest; if(reihungstestangetreten=='true') document.getElementById('student-prestudent-checkbox-reihungstestangetreten').checked=true; else document.getElementById('student-prestudent-checkbox-reihungstestangetreten').checked=false; document.getElementById('student-prestudent-textbox-punkte').value=punkte; if(bismelden=='true') document.getElementById('student-prestudent-checkbox-bismelden').checked=true; else document.getElementById('student-prestudent-checkbox-bismelden').checked=false; document.getElementById('student-prestudent-textbox-person_id').value=person_id; document.getElementById('student-prestudent-textbox-prestudent_id').value=prestudent_id; document.getElementById('student-prestudent-checkbox-new').checked=false; document.getElementById('student-prestudent-textbox-studiengang_kz').value=studiengang_kz; rollentree = document.getElementById('student-prestudent-tree-rolle'); url='rdf/prestudentrolle.rdf.php?prestudent_id='+prestudent_id+"&"+gettimestamp(); //Alte DS entfernen var oldDatasources = rollentree.database.GetDataSources(); while(oldDatasources.hasMoreElements()) { rollentree.database.RemoveDataSource(oldDatasources.getNext()); } //Refresh damit die entfernten DS auch wirklich entfernt werden rollentree.builder.rebuild(); var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); var datasource = rdfService.GetDataSource(url); rollentree.database.AddDataSource(datasource); } // **** // * De-/Aktiviert die Prestudent Felder // **** function StudentPrestudentDisableFields(val) { document.getElementById('student-prestudent-menulist-aufmerksamdurch').disabled=val; document.getElementById('student-prestudent-menulist-berufstaetigkeit').disabled=val; document.getElementById('student-prestudent-menulist-ausbildung').disabled=val; document.getElementById('student-prestudent-menulist-zgvcode').disabled=val; document.getElementById('student-prestudent-textbox-zgvort').disabled=val; document.getElementById('student-prestudent-textbox-zgvdatum').disabled=val; document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=val; document.getElementById('student-prestudent-textbox-zgvmasterort').disabled=val; document.getElementById('student-prestudent-textbox-zgvmasterdatum').disabled=val; document.getElementById('student-prestudent-menulist-aufnahmeschluessel').disabled=val; document.getElementById('student-prestudent-checkbox-facheinschlberuf').disabled=val; document.getElementById('student-prestudent-menulist-reihungstest').disabled=val; document.getElementById('student-prestudent-textbox-anmeldungreihungstest').disabled=val; document.getElementById('student-prestudent-checkbox-reihungstestangetreten').disabled=val; document.getElementById('student-prestudent-textbox-punkte').disabled=val; document.getElementById('student-prestudent-checkbox-bismelden').disabled=val; } // **** // * Speichert die Prestudent Daten // **** function StudentPrestudentSave() { aufmerksamdurch_kurzbz = document.getElementById('student-prestudent-menulist-aufmerksamdurch').value; berufstaetigkeit_code = document.getElementById('student-prestudent-menulist-berufstaetigkeit').value; ausbildungcode = document.getElementById('student-prestudent-menulist-ausbildung').value; zgv_code = document.getElementById('student-prestudent-menulist-zgvcode').value; zgvort = document.getElementById('student-prestudent-textbox-zgvort').value; zgvdatum = document.getElementById('student-prestudent-textbox-zgvdatum').value; zgvmaster_code = document.getElementById('student-prestudent-menulist-zgvmastercode').value; zgvmasterort = document.getElementById('student-prestudent-textbox-zgvmasterort').value; zgvmasterdatum = document.getElementById('student-prestudent-textbox-zgvmasterdatum').value; aufnahmeschluessel = document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value; facheinschlberuf = document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked; reihungstest_id = document.getElementById('student-prestudent-menulist-reihungstest').value; anmeldungreihungstest = document.getElementById('student-prestudent-textbox-anmeldungreihungstest').value; reihungstestangetreten = document.getElementById('student-prestudent-checkbox-reihungstestangetreten').checked; punkte = document.getElementById('student-prestudent-textbox-punkte').value; bismelden = document.getElementById('student-prestudent-checkbox-bismelden').checked; person_id = document.getElementById('student-prestudent-textbox-person_id').value; prestudent_id = document.getElementById('student-prestudent-textbox-prestudent_id').value; neu = document.getElementById('student-prestudent-checkbox-new').checked; studiengang_kz = document.getElementById('student-prestudent-textbox-studiengang_kz').value; var url = 'content/student/studentDBDML.php'; var req = new phpRequest(url,'',''); if (neu) { alert('Fehler! Es wurde versucht einen neuen Prestudenten anzulegen, dies ist aber hier nicht moeglich'); return false; } req.add('type', 'saveprestudent'); req.add('aufmerksamdurch_kurzbz', aufmerksamdurch_kurzbz); req.add('berufstaetigkeit_code', berufstaetigkeit_code); req.add('ausbildungcode', ausbildungcode); req.add('zgv_code', zgv_code); req.add('zgvort', zgvort); req.add('zgvdatum', zgvdatum); req.add('zgvmas_code', zgvmaster_code); req.add('zgvmaort', zgvmasterort); req.add('zgvmadatum', zgvmasterdatum); req.add('aufnahmeschluessel', aufnahmeschluessel); req.add('facheinschlberuf', facheinschlberuf); req.add('reihungstest_id', reihungstest_id); req.add('anmeldungreihungstest', anmeldungreihungstest); req.add('reihungstestangetreten', reihungstestangetreten); req.add('punkte', punkte); req.add('bismelden', bismelden); req.add('person_id', person_id); req.add('prestudent_id', prestudent_id); req.add('studiengang_kz', studiengang_kz); var response = req.executePOST(); var val = new ParseReturnValue(response) if (!val.dbdml_return) { if(val.dbdml_errormsg=='') alert(response) else alert(val.dbdml_errormsg) } else { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); StudentSelectUid=val.dbdml_data; StudentTreeDatasource.Refresh(false); //non blocking SetStatusBarText('Daten wurden gespeichert'); } }