From 924ef8fe7a51887eb2aaa77a68a431045b86ec22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 31 Jul 2007 11:27:01 +0000 Subject: [PATCH] --- content/fasDBDML.php | 30 +++++++++++ content/tempus.js.php | 64 +++++++---------------- include/akadgrad.class.php | 103 +++++++++++++++++++++++++++++++++++++ 3 files changed, 151 insertions(+), 46 deletions(-) create mode 100644 include/akadgrad.class.php diff --git a/content/fasDBDML.php b/content/fasDBDML.php index 9a544e11e..f83e420b6 100644 --- a/content/fasDBDML.php +++ b/content/fasDBDML.php @@ -36,6 +36,7 @@ require_once('../include/log.class.php'); require_once('../include/adresse.class.php'); require_once('../include/kontakt.class.php'); require_once('../include/bankverbindung.class.php'); +require_once('../include/variable.class.php'); $user = get_uid(); //header("Content-type: application/xhtml+xml"); @@ -259,6 +260,35 @@ if(!$error) $errormsg = $bankverbindung->errormsg; } } + elseif(isset($_POST['type']) && $_POST['type']=='variablechange') /**********************SONSTIGES*****************/ + { + // Aendert die Variable Studiensemester + if(isset($_POST['stsem'])) + { + $variable = new variable($conn, null, null, true); + + $variable->uid = $user; + $variable->name = 'semester_aktuell'; + $variable->wert = $_POST['stsem']; + $variable->new = false; + + if($variable->save()) + { + $return = true; + $data = $variable->wert; + } + else + { + $return = false; + $errormsg = $variable->errormsg; + } + } + else + { + $return = false; + $errormsg = 'Falsche Paramenteruebergabe'; + } + } else { $return = false; diff --git a/content/tempus.js.php b/content/tempus.js.php index 65f0d439d..1eec62605 100644 --- a/content/tempus.js.php +++ b/content/tempus.js.php @@ -88,52 +88,28 @@ function studiensemesterChange() netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); // Request absetzen - var httpRequest = new XMLHttpRequest(); - var url = "rdf/fas/db_dml.rdf.php"; + + var url = 'content/fasDBDML.php'; - httpRequest.open("POST", url, false, '',''); - httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + var req = new phpRequest(url,'',''); - var param = "type=variablechange"; - param = param + "&stsem="+stsem; + req.add('type', 'variablechange'); + req.add('stsem', stsem); + + var response = req.executePOST(); - //Parameter schicken - httpRequest.send(param); + var val = new ParseReturnValue(response) - // Bei status 4 ist sendung Ok - switch(httpRequest.readyState) + if (!val.dbdml_return) { - 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; + if(val.dbdml_errormsg=='') + alert(response) + else + alert(val.dbdml_errormsg) } - - // 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') - { - //Statusbar setzen + else + { + //Statusbar setzen document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert"; document.getElementById("statusbarpanel-semester").label = stsem; //MitarbeiterDetailStudiensemester_id = dbdml_errormsg; @@ -141,18 +117,14 @@ function studiensemesterChange() try { StudentTreeRefresh(); - InteressentTreeRefresh(); LvTreeRefresh(); } catch(e) { debug('catch: '+e); } - } - else - { - alert("Fehler beim Speichern der Daten: "+dbdml_errormsg); - } + } + return true; } diff --git a/include/akadgrad.class.php b/include/akadgrad.class.php new file mode 100644 index 000000000..d4d3b7669 --- /dev/null +++ b/include/akadgrad.class.php @@ -0,0 +1,103 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class akadgrad +{ + var $conn; // @var resource DB-Handle + var $new; // @var boolean + var $errormsg; // @var string + var $result = array(); // @var email Objekt + + //Tabellenspalten + var $akadgrad_id; + var $akadgrad_kurzbz; + var $studiengang_kz; + var $titel; + var $geschlecht; + + // *********************************************** + // * Konstruktor + // * @param conn Connection zur Datenbank + // * akadgrad_id ID des zu ladenden Datensatzes + // *********************************************** + function akadgrad($conn, $akadgrad_id=null, $unicode=false) + { + $this->conn = $conn; + if($unicode!=null) + { + if($unicode) + $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; + else + $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + + if(!pg_query($conn,$qry)) + { + $this->errormsg = "Encoding konnte nicht gesetzt werden"; + return false; + } + } + + if($akadgrad_id != null) + $this->load($akadgrad_id); + } + + // *********************************************** + // * Laedt einen Datensatz + // * @param akadgrad_id ID des zu ladenden Datensatzes + // *********************************************** + function load($akadgrad_id) + { + //akadgrad_id auf gueltigkeit pruefen + if(!is_numeric($akadgrad_id) || $akadgrad_id == '') + { + $this->errormsg = 'akadgrad_id muss eine gueltige Zahl sein'; + return false; + } + + //laden des Datensatzes + $qry = "SELECT * FROM lehre.tbl_akadgrad WHERE akadgrad_id='$akadgrad_id';"; + + if($result = pg_query($this->conn,$qry)) + { + if($row=pg_fetch_object($result)) + { + $this->akadgrad_id = $row->akadgrad_id; + $this->akadgrad_kurzbz = $row->akadgrad_kurzbz; + $this->studiengang_kz = $row->studiengang_kz; + $this->titel = $row->titel; + $this->geschlecht = $row->geschlecht; + return true; + } + else + { + $this->errormsg = 'Fehler bei der Datenbankabfrage'; + return false; + } + } + else + { + $this->errormsg = 'Fehler bei der Datenbankabfrage'; + return false; + } + } +} +?> \ No newline at end of file