SOAP Schnittstelle LVPlan

This commit is contained in:
Andreas Österreicher
2012-08-07 09:28:12 +00:00
parent 4548b77f79
commit 18ffe5971e
6 changed files with 1215 additions and 0 deletions
+60
View File
@@ -898,5 +898,65 @@ class lehreinheit extends basis_db
return false;
}
}
/**
* Laedt die Daten zu einer Lehreinheit inklusive Zusatzdaten der LV und des Lehrfachs
* @param $lehreinheit_id
* @return boolean
*/
public function getLehreinheitDetails($lehreinheit_id)
{
$qry = "SELECT
*, tbl_lehrveranstaltung.semester as lv_semester, tbl_lehrveranstaltung.studiengang_kz as lv_studiengang_kz
FROM
lehre.tbl_lehreinheit
JOIN lehre.tbl_lehrfach USING(lehrfach_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
WHERE
tbl_lehreinheit.lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->lehreinheit_id = $row->lehreinheit_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->lehrfach_id = $row->lehrfach_id;
$this->lehrform_kurzbz = $row->lehrform_kurzbz;
$this->stundenblockung = $row->stundenblockung;
$this->wochenrythmus = $row->wochenrythmus;
$this->start_kw = $row->start_kw;
$this->raumtyp = $row->raumtyp;
$this->raumtypalternativ = $row->raumtypalternativ;
$this->lehre = $this->db_parse_bool($row->lehre);
$this->anmerkung = $row->anmerkung;
$this->unr = $row->unr;
$this->lvnr = $row->lvnr;
$this->sprache = $row->sprache;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->ext_id = $row->ext_id;
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$this->farbe = $row->farbe;
$this->studiengang_kz = $row->lv_studiengang_kz;
$this->semester = $row->lv_semester;
return true;
}
else
{
$this->errormsg='Kein Eintrag gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenabfrage';
return false;
}
}
}
?>
+71
View File
@@ -256,6 +256,7 @@ class lehrstunde extends basis_db
}
else
$datum_bis=$datum_von;
// Person
if (($type=='student' || $type=='lektor') && $uid==NULL)
{
@@ -374,6 +375,7 @@ class lehrstunde extends basis_db
$sql_query=mb_substr($sql_query,3);
$sql_query_stdplan.=' WHERE'.$sql_query;
}
//echo $sql_query_stdplan;
//Datenbankabfrage
if (!$this->db_query($sql_query_stdplan))
@@ -743,6 +745,75 @@ class lehrstunde extends basis_db
return false;
}
}
/**
* Gruppiert die einzelnen Lehrstunden zusammen
*/
public function getLehrstundenGruppiert()
{
$result = array();
foreach($this->lehrstunden as $row_lehrstunde)
{
$found=false;
//Pruefen ob bereits ein Eintrag vorhanden ist
//zu dem dazugruppiert werden kann
/*
Kriterien fuer Gruppierung
- gleiches Datum
- gleiche Stunde
- gleiche UNR
*/
foreach($result as $key=>$row_result)
{
if($row_result->unr==$row_lehrstunde->unr
&& $row_result->datum==$row_lehrstunde->datum
&& $row_result->stunde==$row_lehrstunde->stunde)
{
$found=true;
//gleicher Eintrag gefunden
$grpidx = count($result[$key]->gruppen);
$result[$key]->gruppen[$grpidx]->studiengang_kz=$row_lehrstunde->studiengang_kz;
$result[$key]->gruppen[$grpidx]->sem=$row_lehrstunde->sem;
$result[$key]->gruppen[$grpidx]->ver=$row_lehrstunde->ver;
$result[$key]->gruppen[$grpidx]->grp=$row_lehrstunde->grp;
$result[$key]->gruppen[$grpidx]->gruppe_kurzbz=$row_lehrstunde->gruppe_kurzbz;
if(!in_array($row_lehrstunde->lektor_uid, $result[$key]->lektor_uid))
$result[$key]->lektor_uid[]=$row_lehrstunde->lektor_uid;
if(!in_array($row_lehrstunde->ort_kurzbz, $result[$key]->ort_kurzbz))
$result[$key]->ort_kurzbz[]=$row_lehrstunde->ort_kurzbz;
break;
}
}
if(!$found)
{
// Wenn kein passender Eintrag vorhanden ist,
// wird ein neuer angelegt
$stunde=new lehrstunde();
$stunde->stundenplan_id=$row_lehrstunde->stundenplan_id;
$stunde->lehreinheit_id=$row_lehrstunde->lehreinheit_id;
$stunde->farbe = (isset($row_lehrstunde->farbe)?$row_lehrstunde->farbe:'FFFFFF');
$stunde->unr=$row_lehrstunde->unr;
$stunde->gruppen[0]->studiengang_kz=$row_lehrstunde->studiengang_kz;
$stunde->gruppen[0]->sem=$row_lehrstunde->sem;
$stunde->gruppen[0]->ver=$row_lehrstunde->ver;
$stunde->gruppen[0]->grp=$row_lehrstunde->grp;
$stunde->gruppen[0]->gruppe_kurzbz=$row_lehrstunde->gruppe_kurzbz;
$stunde->lektor_uid[]=$row_lehrstunde->lektor_uid;
$stunde->ort_kurzbz[]=$row_lehrstunde->ort_kurzbz;
$stunde->datum=$row_lehrstunde->datum;
$stunde->stunde=$row_lehrstunde->stunde;
$stunde->titel=$row_lehrstunde->titel;
$stunde->anmerkung=$row_lehrstunde->anmerkung;
$stunde->fix=$row_lehrstunde->fix;
$stunde->reservierung=$row_lehrstunde->reservierung;
$result[]=$stunde;
}
}
return $result;
}
}
?>
+1
View File
@@ -7,6 +7,7 @@
<li><a href="soap_test_mitarbeiter.php">Mitarbeiter</a></li>
<li><a href="soap_test_ort.php">Ort / Raum</a></li>
<li><a href="soap_test_student.php">Studierendendaten</a></li>
<li><a href="soap_test_lvplan.php">LV-Plan</a></li>
</ul>
<h2>Sonstiges</h2>
<ul>
+375
View File
@@ -0,0 +1,375 @@
<?php
/* Copyright (C) 2012 FH Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <oesi@technikum-wien.at>.
*/
/**
* Webservice fuer LVPlan
*
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
require_once('../include/functions.inc.php');
require_once('../include/webservicerecht.class.php');
require_once('../include/lehrstunde.class.php');
require_once('../include/lehreinheit.class.php');
ini_set("soap.wsdl_cache_enabled", "0");
$SOAPServer = new SoapServer(APP_ROOT."/soap/lvplan.wsdl.php?".microtime(true));
$SOAPServer->addFunction("getLVPlanFromUser");
$SOAPServer->addFunction("getLVPlanFromLV");
$SOAPServer->addFunction("getLVPlanFromStg");
$SOAPServer->addFunction("getLVPlanFromOrt");
$SOAPServer->handle();
/**
*
* Funktion getLVPlanFromUser Liefert den persoenlichen LVPlan eines Benutzers
* @param uid - BenutzerUID
* @param von - Von Datum
* @param bis - Bis Datum
* @param authentifizierung - Array mit Username und Passwort
*
* Berechtigung:
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','anmerkung');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','titel');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','studiengang_kz');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','semester');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','stunde');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','datum');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','lehreinheit_id');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','institut');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','farbe');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','lektor');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','gruppe');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromUser','orte');
*/
function getLVPlanFromUser($uid, $von, $bis, $authentifizierung)
{
if($uid == '')
return new SOAPFault("Server", "uid must be set");
if($von == '')
return new SOAPFault("Server", "von must be set");
if($bis == '')
return new SOAPFault("Server", "bis must be set");
$user = $authentifizierung->username;
$passwort = $authentifizierung->passwort;
// User authentifizieren
if(!check_user($user, $passwort))
return new SoapFault("Server", "Invalid Credentials");
// darf user überhaupt was von Methode sehen
$recht = new webservicerecht();
if(!$recht->isUserAuthorized($user, 'getLVPlanFromUser'))
return new SoapFault("Server", "No permission");
if(check_lektor($uid))
$type='lektor';
else
$type='student';
$ls = new lehrstunde();
if(!$ls->load_lehrstunden($type,$von,$bis,$uid))
return new SoapFault("Server",$ls->errormsg);
class foo{};
$result = $ls->getLehrstundenGruppiert();
foreach($result as $row)
{
$Object = new foo();
$le = new lehreinheit();
if($row->lehreinheit_id!='' && $le->getLehreinheitDetails($row->lehreinheit_id))
{
$Object->studiengang_kz = $le->studiengang_kz;
$Object->semester = $le->semester;
$Object->institut = $le->fachbereich_kurzbz;
}
$Object->anmerkung = $row->anmerkung;
$Object->titel = $row->titel;
$Object->stunde = $row->stunde;
$Object->datum = $row->datum;
$Object->lehreinheit_id = $row->lehreinheit_id;
$Object->farbe = $row->farbe;
$Object->lektor = $row->lektor_uid;
$Object->gruppe = $row->gruppen;
$Object->orte = $row->ort_kurzbz;
// lösche alle Attribute für die user keine Berechtigung hat
$return[] = $recht->clearResponse($user, 'getLVPlanFromUser', $Object);
}
return $return;
}
/**
*
* Funktion getLVPlanFromLV Liefert den LVPlan einer Lehrveranstaltung in einem Studiensemester
* @param lehrveranstaltung_id
* @param studiensemester_kurzbz
* @param authentifizierung - Array mit Username und Passwort
*
* Berechtigung:
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','anmerkung');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','titel');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','studiengang_kz');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','semester');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','stunde');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','datum');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','lehreinheit_id');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','institut');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','farbe');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','lektor');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','gruppe');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromLV','orte');
*/
function getLVPlanFromLV($lehrveranstaltung_id, $studiensemester_kurzbz, $authentifizierung)
{
if($lehrveranstaltung_id == '')
return new SOAPFault("Server", "LehrveranstaltungID must be set");
if($studiensemester_kurzbz == '')
return new SOAPFault("Server", "Studiensemester_kurzbz must be set");
$user = $authentifizierung->username;
$passwort = $authentifizierung->passwort;
// User authentifizieren
if(!check_user($user, $passwort))
return new SoapFault("Server", "Invalid Credentials");
// darf user überhaupt was von Methode sehen
$recht = new webservicerecht();
if(!$recht->isUserAuthorized($user, 'getLVPlanFromLV'))
return new SoapFault("Server", "No permission");
// Alle Lehreinheiten zur LV holen
$le = new lehreinheit();
if(!$le->load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz))
return new SoapFault("Server",$le->errormsg);
// Alle Stunden zu diesen Lehreinheiten holen
$ls = new lehrstunde();
$lehrstunden=array();
foreach($le->lehreinheiten as $row)
{
if(!$ls->load_lehrstunden_le($row->lehreinheit_id, null, 'stundenplan'))
return new SoapFault("Server", $ls->errormsg);
foreach($ls->lehrstunden as $row)
$lehrstunden[] = $row;
}
class foo{};
$ls->lehrstunden = $lehrstunden;
$result = $ls->getLehrstundenGruppiert();
foreach($result as $row)
{
$Object = new foo();
$le = new lehreinheit();
if($row->lehreinheit_id!='' && $le->getLehreinheitDetails($row->lehreinheit_id))
{
$Object->studiengang_kz = $le->studiengang_kz;
$Object->semester = $le->semester;
$Object->institut = $le->fachbereich_kurzbz;
$Object->farbe = $le->farbe;
}
$Object->anmerkung = $row->anmerkung;
$Object->titel = $row->titel;
$Object->stunde = $row->stunde;
$Object->datum = $row->datum;
$Object->lehreinheit_id = $row->lehreinheit_id;
$Object->lektor = $row->lektor_uid;
$Object->gruppe = $row->gruppen;
$Object->orte = $row->ort_kurzbz;
// lösche alle Attribute für die user keine Berechtigung hat
$return[] = $recht->clearResponse($user, 'getLVPlanFromLV', $Object);
}
return $return;
}
/**
*
* Funktion getLVPlanFromStg Liefert den LVPlan eines Studienganges/Semesters/Verbands/Gruppe
* @param studiengang_kz - Studiengangskennzahl
* @param semester - Semester
* @param verband - Verband
* @param gruppe - Gruppe
* @param gruppe_kurzbz - Kurzbezeichnung der Spezialgruppe
* @param von - Von Datum
* @param bis - Bis Datum
* @param authentifizierung - Array mit Username und Passwort
*
* Berechtigung:
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','anmerkung');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','titel');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','studiengang_kz');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','semester');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','stunde');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','datum');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','lehreinheit_id');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','institut');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','farbe');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','lektor');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','gruppe');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromStg','orte');
*/
function getLVPlanFromStg($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz, $von, $bis, $authentifizierung)
{
if($studiengang_kz == '' && $gruppe_kurzbz=='')
return new SOAPFault("Server", "Studiengang_kz or Gruppe_kurzbz must be set");
if($von == '')
return new SOAPFault("Server", "von must be set");
if($bis == '')
return new SOAPFault("Server", "bis must be set");
$user = $authentifizierung->username;
$passwort = $authentifizierung->passwort;
// User authentifizieren
if(!check_user($user, $passwort))
return new SoapFault("Server", "Invalid Credentials");
// darf user überhaupt was von Methode sehen
$recht = new webservicerecht();
if(!$recht->isUserAuthorized($user, 'getLVPlanFromStg'))
return new SoapFault("Server", "No permission");
if($gruppe_kurzbz!='')
$type='gruppe';
else
$type='verband';
$ls = new lehrstunde();
if(!$ls->load_lehrstunden($type,$von,$bis,null, null, $studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz))
return new SoapFault("Server",$ls->errormsg);
class foo{};
$result = $ls->getLehrstundenGruppiert();
foreach($result as $row)
{
$Object = new foo();
$le = new lehreinheit();
if($row->lehreinheit_id!='' && $le->getLehreinheitDetails($row->lehreinheit_id))
{
$Object->studiengang_kz = $le->studiengang_kz;
$Object->semester = $le->semester;
$Object->institut = $le->fachbereich_kurzbz;
}
$Object->anmerkung = $row->anmerkung;
$Object->titel = $row->titel;
$Object->stunde = $row->stunde;
$Object->datum = $row->datum;
$Object->lehreinheit_id = $row->lehreinheit_id;
$Object->farbe = $row->farbe;
$Object->lektor = $row->lektor_uid;
$Object->gruppe = $row->gruppen;
$Object->orte = $row->ort_kurzbz;
// lösche alle Attribute für die user keine Berechtigung hat
$return[] = $recht->clearResponse($user, 'getLVPlanFromStg', $Object);
}
return $return;
}
/**
*
* Funktion getLVPlanFromOrt Liefert den LVPlan eines Ortes
* @param ort_kurzbz - Kurzbezeichnung des Ortes
* @param von - Von Datum
* @param bis - Bis Datum
* @param authentifizierung - Array mit Username und Passwort
*
* Berechtigung:
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','anmerkung');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','titel');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','studiengang_kz');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','semester');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','stunde');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','datum');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','lehreinheit_id');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','institut');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','farbe');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','lektor');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','gruppe');
INSERT INTO system.tbl_webservicerecht(berechtigung_kurzbz, methode, attribut) VALUES('soap/lvplan','getLVPlanFromOrt','orte');
*/
function getLVPlanFromOrt($ort_kurzbz, $von, $bis, $authentifizierung)
{
if($ort_kurzbz == '')
return new SOAPFault("Server", "Ort must be set");
if($von == '')
return new SOAPFault("Server", "von must be set");
if($bis == '')
return new SOAPFault("Server", "bis must be set");
$user = $authentifizierung->username;
$passwort = $authentifizierung->passwort;
// User authentifizieren
if(!check_user($user, $passwort))
return new SoapFault("Server", "Invalid Credentials");
// darf user überhaupt was von Methode sehen
$recht = new webservicerecht();
if(!$recht->isUserAuthorized($user, 'getLVPlanFromOrt'))
return new SoapFault("Server", "No permission");
$ls = new lehrstunde();
if(!$ls->load_lehrstunden('ort',$von,$bis,null, $ort_kurzbz))
return new SoapFault("Server",$ls->errormsg);
class foo{};
$result = $ls->getLehrstundenGruppiert();
foreach($result as $row)
{
$Object = new foo();
$le = new lehreinheit();
if($row->lehreinheit_id!='' && $le->getLehreinheitDetails($row->lehreinheit_id))
{
$Object->studiengang_kz = $le->studiengang_kz;
$Object->semester = $le->semester;
$Object->institut = $le->fachbereich_kurzbz;
}
$Object->anmerkung = $row->anmerkung;
$Object->titel = $row->titel;
$Object->stunde = $row->stunde;
$Object->datum = $row->datum;
$Object->lehreinheit_id = $row->lehreinheit_id;
$Object->farbe = $row->farbe;
$Object->lektor = $row->lektor_uid;
$Object->gruppe = $row->gruppen;
$Object->orte = $row->ort_kurzbz;
// lösche alle Attribute für die user keine Berechtigung hat
$return[] = $recht->clearResponse($user, 'getLVPlanFromOrt', $Object);
}
return $return;
}
?>
+184
View File
@@ -0,0 +1,184 @@
<?php
require_once('../config/vilesci.config.inc.php');
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='utf-8' ?>";
?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tns="http://technikum-wien.at"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
targetNamespace="http://technikum-wien.at"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:message name="GetLVPlanFromUserRequest">
<wsdl:part minOccurs="1" maxOccurs="1" name="uid" type="s:string"/>
<wsdl:part minOccurs="1" maxOccurs="1" name="von" type="s:string"/>
<wsdl:part minOccurs="1" maxOccurs="1" name="bis" type="s:string"/>
<wsdl:part minOccurs="0" maxOccurs="1" name="authentifizierung" type="tns:GetAuthentifizierung"/>
</wsdl:message>
<wsdl:message name="GetLVPlanFromUserResponse">
<wsdl:part minOccurs="0" maxOccurs="1" name="GetLVPlanFromUser" type="tns:ArrayOfLVPlan"/>
</wsdl:message>
<s:complexType name="GetAuthentifizierung">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="passwort" type="s:string"/>
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfLVPlan">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="lvplan" type="tns:LVPlanItem"/>
</s:sequence>
</s:complexType>
<s:complexType name="LVPlanItem">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="anmerkung" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="titel" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="studiengang_kz" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="semester" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="stunde" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="datum" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="stundenplan_id" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="lehrveranstaltung_id" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="lehreinheit_id" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="institut" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="farbe" type="s:string"/>
<s:element minOccurs="0" maxOccurs="unbounded" name="lektor" type="tns:Lektor"/>
<s:element minOccurs="0" maxOccurs="unbounded" name="gruppe" type="tns:Gruppe"/>
<s:element minOccurs="0" maxOccurs="unbounded" name="orte" type="s:Ort"/>
</s:sequence>
</s:complexType>
<s:complexType name="Lektor">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="uid" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="vorname" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="nachname" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="titelpre" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="titelpost" type="s:string"/>
</s:sequence>
</s:complexType>
<s:complexType name="Ort">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ort_kurzbz" type="s:string"/>
</s:sequence>
</s:complexType>
<s:complexType name="Gruppe">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="studiengang_kz" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="semester" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="verband" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="gruppe" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="gruppe_kurzbz" type="s:string"/>
</s:sequence>
</s:complexType>
<wsdl:message name="GetLVPlanFromLVRequest">
<wsdl:part minOccurs="1" maxOccurs="1" name="lehrveranstaltung_id" type="s:string"/>
<wsdl:part minOccurs="1" maxOccurs="1" name="studiensemester_kurzbz" type="s:string"/>
<wsdl:part minOccurs="0" maxOccurs="1" name="authentifizierung" type="tns:GetAuthentifizierung"/>
</wsdl:message>
<wsdl:message name="GetLVPlanFromLVResponse">
<wsdl:part minOccurs="0" maxOccurs="1" name="LVPlan" type="tns:ArrayOfLVPlan"/>
</wsdl:message>
<wsdl:message name="GetLVPlanFromStgRequest">
<wsdl:part minOccurs="1" maxOccurs="1" name="studiengang_kz" type="s:string"/>
<wsdl:part minOccurs="1" maxOccurs="1" name="semester" type="s:string"/>
<wsdl:part minOccurs="0" maxOccurs="1" name="verband" type="s:string"/>
<wsdl:part minOccurs="0" maxOccurs="1" name="gruppe" type="s:string"/>
<wsdl:part minOccurs="0" maxOccurs="1" name="gruppe_kurzbz" type="s:string"/>
<wsdl:part minOccurs="1" maxOccurs="1" name="von" type="s:string"/>
<wsdl:part minOccurs="1" maxOccurs="1" name="bis" type="s:string"/>
<wsdl:part minOccurs="0" maxOccurs="1" name="authentifizierung" type="tns:GetAuthentifizierung"/>
</wsdl:message>
<wsdl:message name="GetLVPlanFromStgResponse">
<wsdl:part minOccurs="0" maxOccurs="1" name="LVPlan" type="tns:ArrayOfLVPlan"/>
</wsdl:message>
<wsdl:message name="GetLVPlanFromOrtRequest">
<wsdl:part minOccurs="1" maxOccurs="1" name="ort_kurzbz" type="s:string"/>
<wsdl:part minOccurs="1" maxOccurs="1" name="von" type="s:string"/>
<wsdl:part minOccurs="1" maxOccurs="1" name="bis" type="s:string"/>
<wsdl:part minOccurs="0" maxOccurs="1" name="authentifizierung" type="tns:GetAuthentifizierung"/>
</wsdl:message>
<wsdl:message name="GetLVPlanFromOrtResponse">
<wsdl:part minOccurs="0" maxOccurs="1" name="LVPlan" type="tns:ArrayOfLVPlan"/>
</wsdl:message>
<wsdl:portType name="ConfigPortType">
<wsdl:operation name="getLVPlanFromUser">
<wsdl:input message="tns:GetLVPlanFromUserRequest"/>
<wsdl:output message="tns:GetLVPlanFromUserResponse"/>
</wsdl:operation>
<wsdl:operation name="getLVPlanFromLV">
<wsdl:input message="tns:GetLVPlanFromLVRequest"/>
<wsdl:output message="tns:GetLVPlanFromLVResponse"/>
</wsdl:operation>
<wsdl:operation name="getLVPlanFromStg">
<wsdl:input message="tns:GetLVPlanFromStgRequest"/>
<wsdl:output message="tns:GetLVPlanFromStgResponse"/>
</wsdl:operation>
<wsdl:operation name="getLVPlanFromOrt">
<wsdl:input message="tns:GetLVPlanFromOrtRequest"/>
<wsdl:output message="tns:GetLVPlanFromOrtResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ConfigBinding" type="tns:ConfigPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="getLVPlanFromUser">
<soap:operation soapAction="<?php echo APP_ROOT."soap/getLVPlanFromUser";?>" />
<wsdl:input>
<soap:body use="encoded" namespace="http://technikum-wien.at" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="http://technikum-wien.at" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getLVPlanFromLV">
<soap:operation soapAction="<?php echo APP_ROOT."soap/getLVPlanFromLV";?>" />
<wsdl:input>
<soap:body use="encoded" namespace="http://technikum-wien.at" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="http://technikum-wien.at" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getLVPlanFromStg">
<soap:operation soapAction="<?php echo APP_ROOT."soap/getLVPlanFromStg";?>" />
<wsdl:input>
<soap:body use="encoded" namespace="http://technikum-wien.at" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="http://technikum-wien.at" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getLVPlanFromOrt">
<soap:operation soapAction="<?php echo APP_ROOT."soap/getLVPlanFromOrt";?>" />
<wsdl:input>
<soap:body use="encoded" namespace="http://technikum-wien.at" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="http://technikum-wien.at" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="LVPlan">
<wsdl:port name="ConfigWebservicePort" binding="tns:ConfigBinding">
<soap:address location="<?php echo APP_ROOT."soap/lvplan.soap.php?".microtime();?>"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
+524
View File
@@ -0,0 +1,524 @@
<?php
/* Copyright (C) 2012 FH Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
/**
* Test Client fuer LVPlan Webservice
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/basis_db.class.php');
$method = (isset($_GET['method'])?$_GET['method']:'getLVPlanFromUser');
$getuid = get_uid();
if(!check_lektor($getuid))
die('Sie haben keine Berechtigung für diese Seite');
$db = new basis_db();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="../include/js/jquery.js"></script>
<script type="text/javascript" src="../include/js/jqXMLUtils.js"></script>
<script type="text/javascript" src="../include/js/jqSOAPClient.js"></script>
<title>SOAP TestClient für LVPlan</title>
</head>
<body>
<h1>LVPlan WebService</h1>
Webservice für die Abfrage des LVPlans
<h2>Funktionen</h2>
<ul>
<li><a href ="<?php echo $_SERVER['PHP_SELF'].'?method=getLVPlanFromUser'?>">getLVPlanFromUser</a> - Laedt den persönlichen LVPlan eines Benutzers</li>
<li><a href ="<?php echo $_SERVER['PHP_SELF'].'?method=getLVPlanFromLV'?>">getLVPlanFromLV</a> - Laedt den LVPlan einer Lehrveranstaltung</li>
<li><a href ="<?php echo $_SERVER['PHP_SELF'].'?method=getLVPlanFromStg'?>">getLVPlanFromStg</a> - Laedt den LVPlan eines Studiengangs</li>
<li><a href ="<?php echo $_SERVER['PHP_SELF'].'?method=getLVPlanFromOrt'?>">getLVPlanFromOrt</a> - Laedt den LVPlan eines Orts/Raumes</li>
</ul>
<a href ="<?php echo APP_ROOT.'soap/lvplan.wsdl.php'?>">Show WSDL</a></li>
<br>
<h2>Testformular</h2>
<?php
if($method=='getLVPlanFromUser')
{
echo'
<form action="'.$_SERVER["PHP_SELF"].'?method=getLVPlanFromUser" method="post">
<table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
<tr>
<td align="right">Username* :</td>
<td><input id="username" name="username" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['username']) ? $_REQUEST['username'] : "")).'"></td>
</tr>
<tr>
<td align="right">Passwort* :</td>
<td><input id="passwort" name="passwort" type="password" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['passwort']) ? $_REQUEST['passwort'] : "")).'"></td>
</tr>
<tr>
<td align="right">UID* :</td>
<td><input id="uid" name="uid" type="text" size="30" maxlength="10" value="'.$db->convert_html_chars((isset($_REQUEST['uid']) ? $_REQUEST['uid'] : "")).'"></td>
</tr>
<tr>
<td align="right">Von* :</td>
<td><input id="von" name="von" type="text" size="30" maxlength="10" value="'.$db->convert_html_chars((isset($_REQUEST['von']) ? $_REQUEST['von'] : "")).'"></td>
</tr>
<tr>
<td align="right">Bis* :</td>
<td><input id="bis" name="bis" type="text" size="30" maxlength="10" value="'.$db->convert_html_chars((isset($_REQUEST['bis']) ? $_REQUEST['bis'] : "")).'"></td>
</tr>
<tr>
<td align="right"></td>
<td>
<input type="submit" value="Absenden (PHP)" name="submit">
<input type="button" onclick="sendSoap();" value="Absenden (JS)">
</td>
</tr>
</table>
</form>';
echo '
<script type="text/javascript">
function gettimestamp()
{
var now = new Date();
var ret = now.getHours()*60*60*60;
ret = ret + now.getMinutes()*60*60;
ret = ret + now.getSeconds()*60;
ret = ret + now.getMilliseconds();
return ret;
}
function sendSoap()
{
user = document.getElementById("username").value;
passwort = document.getElementById("passwort").value;
uid = document.getElementById("uid").value;
von = document.getElementById("von").value;
bis = document.getElementById("bis").value;
var soapBody = new SOAPObject("getLVPlanFromUser");
var authentifizierung = new SOAPObject("authentifizierung");
authentifizierung.appendChild(new SOAPObject("username")).val(user);
authentifizierung.appendChild(new SOAPObject("passwort")).val(passwort);
soapBody.appendChild(new SOAPObject("uid")).val(uid);
soapBody.appendChild(new SOAPObject("von")).val(von);
soapBody.appendChild(new SOAPObject("bis")).val(bis);
soapBody.appendChild(authentifizierung);
var sr = new SOAPRequest("getLVPlanFromUser",soapBody);
SOAPClient.Proxy="'.APP_ROOT.'/soap/lvplan.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_save);
}
function clb_save(respObj)
{
try
{
data = JSON.stringify(respObj.Body[0]);
document.getElementById("output").innerHTML="<pre>"+data+"<pre";
alert("ok");
}
catch(e)
{
alert(e);
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
alert("Fehler: "+fehler);
}
}
</script>
';
}
elseif($method=='getLVPlanFromLV')
{
echo'
<form action="'.$_SERVER["PHP_SELF"].'?method=getLVPlanFromLV" method="post">
<table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
<tr>
<td align="right">Username* :</td>
<td><input id="username" name="username" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['username']) ? $_REQUEST['username'] : "")).'"></td>
</tr>
<tr>
<td align="right">Passwort* :</td>
<td><input id="passwort" name="passwort" type="password" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['passwort']) ? $_REQUEST['passwort'] : "")).'"></td>
</tr>
<tr>
<td align="right">LehrveranstaltungID*:</td>
<td><input id="lehrveranstaltung_id" name="lehrveranstaltung_id" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['lehrveranstaltung_id']) ? $_REQUEST['lehrveranstaltung_id'] : "")).'"></td>
</tr>
<tr>
<td align="right">StudiensemesterKurzbz* :</td>
<td><input id="stsem" name="stsem" type="text" size="30" maxlength="10" value="'.$db->convert_html_chars((isset($_REQUEST['stsem']) ? $_REQUEST['stsem'] : "")).'"></td>
</tr>
<tr>
<td align="right"></td>
<td>
<input type="submit" value="Absenden (PHP)" name="submit">
<input type="button" onclick="sendSoap();" value="Absenden (JS)">
</td>
</tr>
</table>
</form>';
echo '
<script type="text/javascript">
function gettimestamp()
{
var now = new Date();
var ret = now.getHours()*60*60*60;
ret = ret + now.getMinutes()*60*60;
ret = ret + now.getSeconds()*60;
ret = ret + now.getMilliseconds();
return ret;
}
function sendSoap()
{
user = document.getElementById("username").value;
passwort = document.getElementById("passwort").value;
lehrveranstaltung_id = document.getElementById("lehrveranstaltung_id").value;
stsem = document.getElementById("stsem").value;
var soapBody = new SOAPObject("getLVPlanFromLV");
var authentifizierung = new SOAPObject("authentifizierung");
authentifizierung.appendChild(new SOAPObject("username")).val(user);
authentifizierung.appendChild(new SOAPObject("passwort")).val(passwort);
soapBody.appendChild(new SOAPObject("lehrveranstaltung_id")).val(lehrveranstaltung_id);
soapBody.appendChild(new SOAPObject("studiensemester_kurzbz")).val(stsem);
soapBody.appendChild(authentifizierung);
var sr = new SOAPRequest("getLVPlanFromLV",soapBody);
SOAPClient.Proxy="'.APP_ROOT.'/soap/lvplan.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_save);
}
function clb_save(respObj)
{
try
{
data = JSON.stringify(respObj.Body[0]);
document.getElementById("output").innerHTML="<pre>"+data+"<pre";
alert("ok");
}
catch(e)
{
alert(e);
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
alert("Fehler: "+fehler);
}
}
</script>
';
}
elseif($method=='getLVPlanFromStg')
{
echo'
<form action="'.$_SERVER["PHP_SELF"].'?method=getLVPlanFromStg" method="post">
<table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
<tr>
<td align="right">Username* :</td>
<td><input id="username" name="username" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['username']) ? $_REQUEST['username'] : "")).'"></td>
</tr>
<tr>
<td align="right">Passwort* :</td>
<td><input id="passwort" name="passwort" type="password" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['passwort']) ? $_REQUEST['passwort'] : "")).'"></td>
</tr>
<tr>
<td align="right">StudiengangKZ :</td>
<td><input id="studiengang_kz" name="studiengang_kz" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['studiengang_kz']) ? $_REQUEST['studiengang_kz'] : "")).'"></td>
</tr>
<tr>
<td align="right">Semester :</td>
<td><input id="semester" name="semester" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['semester']) ? $_REQUEST['semester'] : "")).'"></td>
</tr>
<tr>
<td align="right">Verband :</td>
<td><input id="verband" name="verband" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['verband']) ? $_REQUEST['verband'] : "")).'"></td>
</tr>
<tr>
<td align="right">Gruppe :</td>
<td><input id="gruppe" name="gruppe" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['gruppe']) ? $_REQUEST['gruppe'] : "")).'"></td>
</tr>
<tr>
<td align="right">Gruppe_kurzbz :</td>
<td><input id="gruppe_kurzbz" name="gruppe_kurzbz" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['gruppe_kurzbz']) ? $_REQUEST['gruppe_kurzbz'] : "")).'"></td>
</tr>
<tr>
<td align="right">Von* :</td>
<td><input id="von" name="von" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['von']) ? $_REQUEST['von'] : "")).'"></td>
</tr>
<tr>
<td align="right">Bis* :</td>
<td><input id="bis" name="bis" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['bis']) ? $_REQUEST['bis'] : "")).'"></td>
</tr>
<tr>
<td align="right"></td>
<td>
<input type="submit" value="Absenden (PHP)" name="submit">
<input type="button" onclick="sendSoap();" value="Absenden (JS)">
</td>
</tr>
</table>
</form>';
echo '
<script type="text/javascript">
function gettimestamp()
{
var now = new Date();
var ret = now.getHours()*60*60*60;
ret = ret + now.getMinutes()*60*60;
ret = ret + now.getSeconds()*60;
ret = ret + now.getMilliseconds();
return ret;
}
function sendSoap()
{
user = document.getElementById("username").value;
passwort = document.getElementById("passwort").value;
studiengang_kz = document.getElementById("studiengang_kz").value;
semester = document.getElementById("semester").value;
verband = document.getElementById("verband").value;
gruppe = document.getElementById("gruppe").value;
gruppe_kurzbz = document.getElementById("gruppe_kurzbz").value;
von = document.getElementById("von").value;
bis = document.getElementById("bis").value;
var soapBody = new SOAPObject("getLVPlanFromStg");
var authentifizierung = new SOAPObject("authentifizierung");
authentifizierung.appendChild(new SOAPObject("username")).val(user);
authentifizierung.appendChild(new SOAPObject("passwort")).val(passwort);
soapBody.appendChild(new SOAPObject("studiengang_kz")).val(studiengang_kz);
soapBody.appendChild(new SOAPObject("semester")).val(semester);
soapBody.appendChild(new SOAPObject("verband")).val(verband);
soapBody.appendChild(new SOAPObject("gruppe")).val(gruppe);
soapBody.appendChild(new SOAPObject("gruppe_kurzbz")).val(gruppe_kurzbz);
soapBody.appendChild(new SOAPObject("von")).val(von);
soapBody.appendChild(new SOAPObject("bis")).val(bis);
soapBody.appendChild(authentifizierung);
var sr = new SOAPRequest("getLVPlanFromStg",soapBody);
SOAPClient.Proxy="'.APP_ROOT.'/soap/lvplan.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_save);
}
function clb_save(respObj)
{
try
{
data = JSON.stringify(respObj.Body[0]);
document.getElementById("output").innerHTML="<pre>"+data+"<pre";
alert("ok");
}
catch(e)
{
alert(e);
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
alert("Fehler: "+fehler);
}
}
</script>
';
}
elseif($method=='getLVPlanFromOrt')
{
echo'
<form action="'.$_SERVER["PHP_SELF"].'?method=getLVPlanFromOrt" method="post">
<table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
<tr>
<td align="right">Username* :</td>
<td><input id="username" name="username" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['username']) ? $_REQUEST['username'] : "")).'"></td>
</tr>
<tr>
<td align="right">Passwort* :</td>
<td><input id="passwort" name="passwort" type="password" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['passwort']) ? $_REQUEST['passwort'] : "")).'"></td>
</tr>
<tr>
<td align="right">Ort_kurzbz*:</td>
<td><input id="ort_kurzbz" name="ort_kurzbz" type="text" size="30" maxlength="255" value="'.$db->convert_html_chars((isset($_REQUEST['ort_kurzbz']) ? $_REQUEST['ort_kurzbz'] : "")).'"></td>
</tr>
<tr>
<td align="right">Von* :</td>
<td><input id="von" name="von" type="text" size="30" maxlength="10" value="'.$db->convert_html_chars((isset($_REQUEST['von']) ? $_REQUEST['von'] : "")).'"></td>
</tr>
<tr>
<td align="right">Bis* :</td>
<td><input id="bis" name="bis" type="text" size="30" maxlength="10" value="'.$db->convert_html_chars((isset($_REQUEST['bis']) ? $_REQUEST['bis'] : "")).'"></td>
</tr>
<tr>
<td align="right"></td>
<td>
<input type="submit" value="Absenden (PHP)" name="submit">
<input type="button" onclick="sendSoap();" value="Absenden (JS)">
</td>
</tr>
</table>
</form>';
echo '
<script type="text/javascript">
function gettimestamp()
{
var now = new Date();
var ret = now.getHours()*60*60*60;
ret = ret + now.getMinutes()*60*60;
ret = ret + now.getSeconds()*60;
ret = ret + now.getMilliseconds();
return ret;
}
function sendSoap()
{
user = document.getElementById("username").value;
passwort = document.getElementById("passwort").value;
ort_kurzbz = document.getElementById("ort_kurzbz").value;
von = document.getElementById("von").value;
bis = document.getElementById("bis").value;
var soapBody = new SOAPObject("getLVPlanFromOrt");
var authentifizierung = new SOAPObject("authentifizierung");
authentifizierung.appendChild(new SOAPObject("username")).val(user);
authentifizierung.appendChild(new SOAPObject("passwort")).val(passwort);
soapBody.appendChild(new SOAPObject("ort_kurzbz")).val(ort_kurzbz);
soapBody.appendChild(new SOAPObject("von")).val(von);
soapBody.appendChild(new SOAPObject("bis")).val(bis);
soapBody.appendChild(authentifizierung);
var sr = new SOAPRequest("getLVPlanFromOrt",soapBody);
SOAPClient.Proxy="'.APP_ROOT.'/soap/lvplan.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_save);
}
function clb_save(respObj)
{
try
{
data = JSON.stringify(respObj.Body[0]);
document.getElementById("output").innerHTML="<pre>"+data+"<pre";
alert("ok");
}
catch(e)
{
alert(e);
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
alert("Fehler: "+fehler);
}
}
</script>
';
}
echo '<div id="output">';
class foo {};
if(isset($_REQUEST['submit']) && $_GET['method']=='getLVPlanFromUser')
{
$client = new SoapClient(APP_ROOT."/soap/lvplan.wsdl.php?".microtime(true));
try
{
$authentifizierung = new foo();
$authentifizierung->username=$_REQUEST['username'];
$authentifizierung->passwort=$_REQUEST['passwort'];
$response = $client->getLVPlanFromUser($_REQUEST['uid'], $_REQUEST['von'], $_REQUEST['bis'], $authentifizierung);
var_dump($response);
}
catch(SoapFault $fault)
{
echo "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR;
}
}
if(isset($_REQUEST['submit']) && $_GET['method']=='getLVPlanFromLV')
{
$client = new SoapClient(APP_ROOT."/soap/lvplan.wsdl.php?".microtime(true));
try
{
$authentifizierung = new foo();
$authentifizierung->username=$_REQUEST['username'];
$authentifizierung->passwort=$_REQUEST['passwort'];
$response = $client->getLVPLanFromLV($_REQUEST['lehrveranstaltung_id'], $_REQUEST['stsem'], $authentifizierung);
var_dump($response);
}
catch(SoapFault $fault)
{
echo "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR;
}
}
if(isset($_REQUEST['submit']) && $_GET['method']=='getLVPlanFromStg')
{
$client = new SoapClient(APP_ROOT."/soap/lvplan.wsdl.php?".microtime(true));
try
{
$authentifizierung = new foo();
$authentifizierung->username=$_REQUEST['username'];
$authentifizierung->passwort=$_REQUEST['passwort'];
$studiengang_kz = $_REQUEST['studiengang_kz'];
$semester = $_REQUEST['semester'];
$verband = $_REQUEST['verband'];
$gruppe = $_REQUEST['gruppe'];
$gruppe_kurzbz = $_REQUEST['gruppe_kurzbz'];
$von = $_REQUEST['von'];
$bis = $_REQUEST['bis'];
$response = $client->getLVPlanFromStg($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz, $von, $bis,$authentifizierung);
var_dump($response);
}
catch(SoapFault $fault)
{
echo "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR;
}
}
if(isset($_REQUEST['submit']) && $_GET['method']=='getLVPlanFromOrt')
{
$client = new SoapClient(APP_ROOT."/soap/lvplan.wsdl.php?".microtime(true));
try
{
$authentifizierung = new foo();
$authentifizierung->username=$_REQUEST['username'];
$authentifizierung->passwort=$_REQUEST['passwort'];
$response = $client->getLVPLanFromOrt($_REQUEST['ort_kurzbz'], $_REQUEST['von'], $_REQUEST['bis'], $authentifizierung);
var_dump($response);
}
catch(SoapFault $fault)
{
echo "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR;
}
}
echo '</div>';
?>