mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
196 lines
7.7 KiB
PHP
196 lines
7.7 KiB
PHP
<?php
|
|
/**
|
|
* FAS-Online
|
|
* Dialog zum eingeben und bearbeiten der Adressen
|
|
*/
|
|
include('../vilesci/config.inc.php');
|
|
if(isset($_GET['adress_id']) && $_GET['adress_id']!='')
|
|
echo "var MitarbeiterDetailAdress_id=".$_GET['adress_id'];
|
|
else
|
|
echo "var MitarbeiterDetailAdress_id=null";
|
|
?>
|
|
|
|
if(MitarbeiterDetailAdress_id!=null)
|
|
{
|
|
window.setTimeout("MitarbeiterAdressenBearbeiten()",window.opener.sleep_time/2);
|
|
}
|
|
|
|
/**
|
|
* Laedt den zu bearbeitenden Datensatz
|
|
*/
|
|
function MitarbeiterAdressenBearbeiten()
|
|
{
|
|
// RDF vom Server holen
|
|
|
|
// Url zum RDF
|
|
var url="<?php echo APP_ROOT; ?>rdf/fas/adressen.rdf.php?adress_id="+MitarbeiterDetailAdress_id;
|
|
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
httpRequest.open("GET", url, false, '','');
|
|
httpRequest.send('');
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status); //404 ErrorCodes etc
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// XML in Datasource parsen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/adressen/alle');
|
|
|
|
// Trick 17 (sonst gibt's ein Permission denied)
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
// Daten aus RDF auslesen
|
|
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/adressen/" + MitarbeiterDetailAdress_id);
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/adressen/rdf";
|
|
|
|
//Felder befuellen
|
|
|
|
person_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#person_id" ));
|
|
adresstyp = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#typ" ));
|
|
nation = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#nation" ));
|
|
strasse = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#strasse" ));
|
|
plz = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#plz" ));
|
|
gemeinde = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#gemeinde" ));
|
|
ort = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#ort" ));
|
|
zustelladresse = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#zustelladresse" ));
|
|
bismeldeadresse = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#bismeldeadresse" ));
|
|
|
|
document.getElementById('textbox-mitarbeiter-adressen-person_id').value = person_id;
|
|
document.getElementById('menulist-mitarbeiter-adressen-adresstyp').value = adresstyp;
|
|
document.getElementById('menulist-mitarbeiter-adressen-nation').value = nation;
|
|
document.getElementById('textbox-mitarbeiter-adressen-strasse').value = strasse;
|
|
document.getElementById('textbox-mitarbeiter-adressen-plz').value = plz;
|
|
document.getElementById('textbox-mitarbeiter-adressen-gemeinde').value = gemeinde;
|
|
document.getElementById('textbox-mitarbeiter-adressen-ort').value = ort;
|
|
if(zustelladresse == 'Ja')
|
|
document.getElementById('checkbox-mitarbeiter-adressen-zustelladresse').checked = true;
|
|
else
|
|
document.getElementById('checkbox-mitarbeiter-adressen-zustelladresse').checked = false;
|
|
if(bismeldeadresse == 'Ja')
|
|
document.getElementById('checkbox-mitarbeiter-adressen-bismeldeadresse').checked = true;
|
|
else
|
|
document.getElementById('checkbox-mitarbeiter-adressen-bismeldeadresse').checked = false;
|
|
}
|
|
|
|
function MitarbeiterAdressenValueChange()
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Speichert die eingegebene Adresse
|
|
*/
|
|
function MitarbeiterAdressenSave()
|
|
{
|
|
//Daten aus den Felder holen
|
|
person_id = document.getElementById('textbox-mitarbeiter-adressen-person_id').value;
|
|
adresstyp = document.getElementById('menulist-mitarbeiter-adressen-adresstyp').value;
|
|
name = document.getElementById('menulist-mitarbeiter-adressen-adresstyp').label;
|
|
nation = document.getElementById('menulist-mitarbeiter-adressen-nation').value;
|
|
strasse = document.getElementById('textbox-mitarbeiter-adressen-strasse').value;
|
|
plz = document.getElementById('textbox-mitarbeiter-adressen-plz').value;
|
|
gemeinde = document.getElementById('textbox-mitarbeiter-adressen-gemeinde').value;
|
|
ort = document.getElementById('textbox-mitarbeiter-adressen-ort').value;
|
|
zustelladresse = document.getElementById('checkbox-mitarbeiter-adressen-zustelladresse').checked;
|
|
bismeldeadresse = document.getElementById('checkbox-mitarbeiter-adressen-bismeldeadresse').checked;
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
|
|
|
|
httpRequest.open("POST", url, false, '','');
|
|
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
|
|
//Parameterliste zusammenbauen
|
|
var param = "type=adresse";
|
|
if(MitarbeiterDetailAdress_id!=null)
|
|
param = param + "&new=false";
|
|
else
|
|
param = param + "&new=true";
|
|
|
|
param = param + "&adress_id="+encodeURIComponent(MitarbeiterDetailAdress_id);
|
|
param = param + "&person_id="+encodeURIComponent(person_id);
|
|
param = param + "&adresstyp="+encodeURIComponent(adresstyp);
|
|
param = param + "&name="+encodeURIComponent(name);
|
|
param = param + "&nation="+encodeURIComponent(nation);
|
|
param = param + "&strasse="+encodeURIComponent(strasse);
|
|
param = param + "&plz="+encodeURIComponent(plz);
|
|
param = param + "&gemeinde="+encodeURIComponent(gemeinde);
|
|
param = param + "&ort="+encodeURIComponent(ort);
|
|
param = param + "&zustelladresse="+encodeURIComponent(zustelladresse);
|
|
param = param + "&bismeldeadresse="+encodeURIComponent(bismeldeadresse);
|
|
|
|
//Parameter schicken
|
|
httpRequest.send(param);
|
|
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// Returnwerte aus RDF abfragen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
|
|
|
|
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
|
|
|
|
if(dbdml_return=='true')
|
|
{
|
|
//AdressenTree aktualisieren
|
|
|
|
//Statusbar setzen
|
|
window.opener.setStatusBarText("Adresse erfolgreich gespeichert");
|
|
window.opener.document.getElementById("tree-liste-adressen").builder.refresh();
|
|
//Fenster schliessen
|
|
window.close();
|
|
}
|
|
else
|
|
{
|
|
alert("Fehler beim Speichern der Daten: "+dbdml_errormsg);
|
|
}
|
|
|
|
return true;
|
|
|
|
|
|
}
|