diff --git a/include/lehreinheit.class.php b/include/lehreinheit.class.php
index 14825be70..17b03ace1 100644
--- a/include/lehreinheit.class.php
+++ b/include/lehreinheit.class.php
@@ -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;
+ }
+ }
}
?>
diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php
index 9cef694b3..45ea80356 100644
--- a/include/lehrstunde.class.php
+++ b/include/lehrstunde.class.php
@@ -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;
+ }
}
?>
diff --git a/soap/index.html b/soap/index.html
index b619fd5ad..3e666c038 100644
--- a/soap/index.html
+++ b/soap/index.html
@@ -7,6 +7,7 @@
Mitarbeiter
Ort / Raum
Studierendendaten
+ LV-Plan
Sonstiges
diff --git a/soap/lvplan.soap.php b/soap/lvplan.soap.php
new file mode 100755
index 000000000..1e149a9d6
--- /dev/null
+++ b/soap/lvplan.soap.php
@@ -0,0 +1,375 @@
+.
+ */
+/**
+ * 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;
+}
+?>
diff --git a/soap/lvplan.wsdl.php b/soap/lvplan.wsdl.php
new file mode 100755
index 000000000..644f27fb4
--- /dev/null
+++ b/soap/lvplan.wsdl.php
@@ -0,0 +1,184 @@
+";
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ " />
+
+
+
+
+
+
+
+
+ " />
+
+
+
+
+
+
+
+
+ " />
+
+
+
+
+
+
+
+
+ " />
+
+
+
+
+
+
+
+
+
+
+
+ "/>
+
+
+
diff --git a/soap/soap_test_lvplan.php b/soap/soap_test_lvplan.php
new file mode 100755
index 000000000..7e34af8a0
--- /dev/null
+++ b/soap/soap_test_lvplan.php
@@ -0,0 +1,524 @@
+
+ */
+/**
+ * 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();
+?>
+
+
+
+
+
+
+
+ SOAP TestClient für LVPlan
+
+
+ LVPlan WebService
+ Webservice für die Abfrage des LVPlans
+ Funktionen
+
+ Show WSDL
+
+ Testformular
+
+
+ ';
+ echo '
+
+ ';
+ }
+ elseif($method=='getLVPlanFromLV')
+ {
+ echo'
+
';
+ echo '
+
+ ';
+ }
+ elseif($method=='getLVPlanFromStg')
+ {
+ echo'
+ ';
+ echo '
+
+ ';
+ }
+ elseif($method=='getLVPlanFromOrt')
+ {
+ echo'
+ ';
+ echo '
+
+ ';
+ }
+
+echo '';
+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 '
';
+?>