From 4dd46fc55fde62f9fca52ca3e9f0920127c93833 Mon Sep 17 00:00:00 2001 From: Andreas Oesterreicher Date: Mon, 3 Jul 2017 18:31:48 +0200 Subject: [PATCH] Fixed incorrect handling of microtime --- soap/kartenverlaengerung.soap.php | 44 +++---- soap/lehrveranstaltung.soap.php | 154 +++++++++++----------- soap/notiz.soap.php | 4 +- soap/projekt.soap.php | 4 +- soap/projektphase.soap.php | 4 +- soap/ressource.soap.php | 4 +- soap/ressource_projekt.soap.php | 4 +- soap/semesterticket.soap.php | 156 +++++++++++----------- soap/semesterticket_client.php | 28 ++-- soap/stip.soap.php | 206 +++++++++++++++--------------- soap/stip_client.php | 34 ++--- soap/stip_client_error.php | 26 ++-- soap/student.soap.php | 136 ++++++++++---------- soap/test.soap.php | 4 +- 14 files changed, 398 insertions(+), 410 deletions(-) diff --git a/soap/kartenverlaengerung.soap.php b/soap/kartenverlaengerung.soap.php index e5cc5bb1f..6a6f089cd 100755 --- a/soap/kartenverlaengerung.soap.php +++ b/soap/kartenverlaengerung.soap.php @@ -19,20 +19,20 @@ * Authors: Karl Burkhart */ -require_once('../config/cis.config.inc.php'); -require_once('../include/konto.class.php'); -require_once('../include/betriebsmittelperson.class.php'); -require_once('../include/studiensemester.class.php'); -require_once('../include/benutzer.class.php'); -require_once('../include/webservicelog.class.php'); -require_once('../include/datum.class.php'); +require_once('../config/cis.config.inc.php'); +require_once('../include/konto.class.php'); +require_once('../include/betriebsmittelperson.class.php'); +require_once('../include/studiensemester.class.php'); +require_once('../include/benutzer.class.php'); +require_once('../include/webservicelog.class.php'); +require_once('../include/datum.class.php'); require_once('../include/addon.class.php'); require_once('../include/'.EXT_FKT_PATH.'/serviceterminal.inc.php'); ini_set("soap.wsdl_cache_enabled", "0"); -$SOAPServer = new SoapServer(APP_ROOT.'soap/kartenverlaengerung.wsdl.php?'.microtime()); -$SOAPServer->addFunction('getNumber'); +$SOAPServer = new SoapServer(APP_ROOT.'soap/kartenverlaengerung.wsdl.php?'.microtime(true)); +$SOAPServer->addFunction('getNumber'); $SOAPServer->handle(); function getNumber($cardNr) @@ -40,10 +40,10 @@ function getNumber($cardNr) // Fehler wenn keine Kartennummer übergeben wurde if($cardNr == '') { - $objArray = array('datum'=>'', 'errorMessage'=>'keine gültige Nummer übergeben.'); - return $objArray; + $objArray = array('datum'=>'', 'errorMessage'=>'keine gültige Nummer übergeben.'); + return $objArray; } - + $addon_externeAusweise = false; $addon = new addon(); $addon->loadAddons(); @@ -62,26 +62,26 @@ function getNumber($cardNr) if($idCard->loadByCardnumber($cardNr)) { return ServiceTerminalGetDrucktext($cardNr, $cardNr); - } + } } - + // Karte ist noch nicht ausgegeben - $cardUser = new betriebsmittelperson(); + $cardUser = new betriebsmittelperson(); if(!$cardUser->getKartenzuordnung($cardNr)) { - $objArray = array('datum'=>'', 'errorMessage'=>'Konnte Karte keiner Person zuweisen. Bitte wenden Sie sich an den Service Desk.'); - return $objArray; + $objArray = array('datum'=>'', 'errorMessage'=>'Konnte Karte keiner Person zuweisen. Bitte wenden Sie sich an den Service Desk.'); + return $objArray; } - + // User zur Karte konnte nicht geladen werden - $cardPerson = new benutzer(); + $cardPerson = new benutzer(); if(!$cardPerson->load($cardUser->uid)) { - $objArray = array('datum'=>'', 'errorMessage'=>'Die Person kann nicht geladen werden. Bitte wenden Sie sich an den Service Desk.'); - return $objArray; + $objArray = array('datum'=>'', 'errorMessage'=>'Die Person kann nicht geladen werden. Bitte wenden Sie sich an den Service Desk.'); + return $objArray; } return ServiceTerminalGetDrucktext($cardUser->uid); - + } ?> diff --git a/soap/lehrveranstaltung.soap.php b/soap/lehrveranstaltung.soap.php index e552e6b83..074ab569b 100755 --- a/soap/lehrveranstaltung.soap.php +++ b/soap/lehrveranstaltung.soap.php @@ -19,7 +19,7 @@ * Authors: Karl Burkhart . */ -require_once('../config/vilesci.config.inc.php'); +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'); @@ -31,52 +31,52 @@ require_once('../include/studiengang.class.php'); ini_set("soap.wsdl_cache_enabled", "0"); -$SOAPServer = new SoapServer(APP_ROOT."/soap/lehrveranstaltung.wsdl.php?".microtime()); +$SOAPServer = new SoapServer(APP_ROOT."/soap/lehrveranstaltung.wsdl.php?".microtime(true)); $SOAPServer->addFunction("getLehrveranstaltungFromId"); $SOAPServer->addFunction("getLehrveranstaltungFromStudiengang"); $SOAPServer->handle(); /* - * + * * Funktion getLehrveranstaltungFromId liefert eine LV zurück * @param lehrveranstaltung_id - Lehrveranstaltungs ID -> Pflichtfeld * @param semester - SemesterKurzbz -> Optional - * @param authentifizierung - Array mit Username und Passwort -> Pflichtfeld - * + * @param authentifizierung - Array mit Username und Passwort -> Pflichtfeld + * */ function getLehrveranstaltungFromId($lehrveranstaltung_id, $semester, $authentifizierung) { if($lehrveranstaltung_id == '') return new SOAPFault("Server", "lehrveranstaltungs_id must be set"); - - $user = $authentifizierung->username; + + $user = $authentifizierung->username; $passwort = $authentifizierung->passwort; - $lv_id = $lehrveranstaltung_id; + $lv_id = $lehrveranstaltung_id; // User authentifizieren if(!check_user($user, $passwort)) - return new SoapFault("Server", "Invalid Credentials"); - + return new SoapFault("Server", "Invalid Credentials"); + // darf user überhaupt was von Methode sehen - $recht = new webservicerecht(); + $recht = new webservicerecht(); if(!$recht->isUserAuthorized($user, 'getLehrveranstaltungFromId')) return new SoapFault("Server", "No permission"); - + // Daten für Lehrveranstaltung - $lv = new lehrveranstaltung(); + $lv = new lehrveranstaltung(); if(!$lv->load($lv_id)) - return new SoapFault("Server", "Error loading Lv"); - - class foo{}; + return new SoapFault("Server", "Error loading Lv"); + + class foo{}; $mitarbeiterlehreinheit = array(); // uids aller mitarbeiter $gruppelehreinheit = array(); // objekte aller gruppen $moodleArray = array(); // ids aller moodle kurse - + // wenn semester nicht übergeben wurde, gib nur bezeichnung und lehreverzeichnis aus if($semester != '') { // hole alle Lehreinheiten von Lehrveranstaltung - $lehreinheit = new lehreinheit(); + $lehreinheit = new lehreinheit(); if(!$lehreinheit->load_lehreinheiten($lv_id, $semester)) return new SoapFault("Server", $lehreinheit->errormsg); @@ -86,39 +86,39 @@ function getLehrveranstaltungFromId($lehrveranstaltung_id, $semester, $authentif $mitarbeiter = new lehreinheitmitarbeiter(); $mitarbeiter->getLehreinheitmitarbeiter($l->lehreinheit_id); foreach($mitarbeiter->lehreinheitmitarbeiter as $m) - $mitarbeiterlehreinheit[]=$m->mitarbeiter_uid; + $mitarbeiterlehreinheit[]=$m->mitarbeiter_uid; // alle gruppen einer lehreinheit - $gruppe = new lehreinheitgruppe(); + $gruppe = new lehreinheitgruppe(); $gruppe->getLehreinheitgruppe($l->lehreinheit_id); foreach($gruppe->lehreinheitgruppe as $g) { - $grp = new foo(); - $grp->studiengang_kz = $g->studiengang_kz; - $grp->semester=$g->semester; - $grp->verband=$g->verband; - $grp->gruppe=$g->gruppe; - $grp->grupppe_kurzbz=$g->gruppe_kurzbz; - $gruppelehreinheit[] = $grp; + $grp = new foo(); + $grp->studiengang_kz = $g->studiengang_kz; + $grp->semester=$g->semester; + $grp->verband=$g->verband; + $grp->gruppe=$g->gruppe; + $grp->grupppe_kurzbz=$g->gruppe_kurzbz; + $gruppelehreinheit[] = $grp; } } - + // alle moodle kurse einer lv $moodleArray = $lv->getMoodleKurse($lehrveranstaltung_id, $semester); } - - $LvObject = new foo(); - $LvObject->bezeichnung = $lv->bezeichnung; - $LvObject->lehreverzeichnis = $lv->lehreverzeichnis; - $LvObject->moodle_id = $moodleArray; - $LvObject->lektoren = $mitarbeiterlehreinheit; - $LvObject->gruppen= $gruppelehreinheit; - - // lösche alle Attribute für die user keine Berechtigung hat + + $LvObject = new foo(); + $LvObject->bezeichnung = $lv->bezeichnung; + $LvObject->lehreverzeichnis = $lv->lehreverzeichnis; + $LvObject->moodle_id = $moodleArray; + $LvObject->lektoren = $mitarbeiterlehreinheit; + $LvObject->gruppen= $gruppelehreinheit; + + // lösche alle Attribute für die user keine Berechtigung hat $LvObject = $recht->clearResponse($user, 'getLehrveranstaltungFromId', $LvObject); - return $LvObject; + return $LvObject; } /* @@ -127,90 +127,90 @@ function getLehrveranstaltungFromId($lehrveranstaltung_id, $semester, $authentif * @param semester - Semester_kurzbz -> Pflichtfeld * @param ausbildungssemester - Ausbildungssemester -> Optional * @param authentifizierung - Array mit Username und Passwort -> Pflichtfeld - * + * */ function getLehrveranstaltungFromStudiengang($studiengang, $semester, $ausbildungssemester, $authentifizierung) { - $user = $authentifizierung->username; + $user = $authentifizierung->username; $passwort = $authentifizierung->passwort; - + if($studiengang == '' || $semester == '') return new SOAPFault("Server", "studiengang | semester must be set"); - + // User authentifizieren if(!check_user($user, $passwort)) - return new SoapFault("Server", "Invalid Credentials"); - + return new SoapFault("Server", "Invalid Credentials"); + // darf user überhaupt was von Methode sehen - $recht = new webservicerecht(); + $recht = new webservicerecht(); if(!$recht->isUserAuthorized($user, 'getLehrveranstaltungFromStudiengang')) return new SoapFault("Server", "No permission"); - + // Daten für Lehrveranstaltung - $lehrveranstaltung = new lehrveranstaltung(); - $stud = new studiengang(); - + $lehrveranstaltung = new lehrveranstaltung(); + $stud = new studiengang(); + if(!$stud->load($studiengang)) return new SoapFault ("Server", "Error loading Studiengang"); - + if(!$lehrveranstaltung->load_lva_le($stud->studiengang_kz, $semester, $ausbildungssemester)) - return new SoapFault("Server", "Error loading Lv"); - + return new SoapFault("Server", "Error loading Lv"); + class bar{}; - $lvFromStudiengang= array(); + $lvFromStudiengang= array(); foreach($lehrveranstaltung->lehrveranstaltungen as $lv) { $mitarbeiterlehreinheit = array(); // uids aller mitarbeiter der lehreinheit $gruppelehreinheit = array(); // ids aller grupper der lehreinheit $moodleArray = array(); - + // hole alle Lehreinheiten von Lehrveranstaltung - $lehreinheit = new lehreinheit(); + $lehreinheit = new lehreinheit(); if(!$lehreinheit->load_lehreinheiten($lv->lehrveranstaltung_id, $semester)) return new SoapFault("Server", $lehreinheit->errormsg); - - + + foreach($lehreinheit->lehreinheiten as $l) - { + { // alle mitarbeiter der lehreinheit $mitarbeiter = new lehreinheitmitarbeiter(); $mitarbeiter->getLehreinheitmitarbeiter($l->lehreinheit_id); foreach($mitarbeiter->lehreinheitmitarbeiter as $m) - $mitarbeiterlehreinheit[]=$m->mitarbeiter_uid; + $mitarbeiterlehreinheit[]=$m->mitarbeiter_uid; // alle gruppen der lehreinheit - $gruppe = new lehreinheitgruppe(); + $gruppe = new lehreinheitgruppe(); $gruppe->getLehreinheitgruppe($l->lehreinheit_id); foreach($gruppe->lehreinheitgruppe as $g) { - $grp = new bar(); - $grp->studiengang_kz = $g->studiengang_kz; - $grp->semester=$g->semester; - $grp->verband=$g->verband; - $grp->gruppe=$g->gruppe; - $grp->grupppe_kurzbz=$g->gruppe_kurzbz; - $gruppelehreinheit[] = $grp; + $grp = new bar(); + $grp->studiengang_kz = $g->studiengang_kz; + $grp->semester=$g->semester; + $grp->verband=$g->verband; + $grp->gruppe=$g->gruppe; + $grp->grupppe_kurzbz=$g->gruppe_kurzbz; + $gruppelehreinheit[] = $grp; } } // alle moodlekurse der lehrveranstaltung $moodleArray = $lv->getMoodleKurse($lv->lehrveranstaltung_id, $semester); - + // LV Object für Rückgabe - $lehrveranstaltungen = new bar(); - $lehrveranstaltungen->bezeichnung = $lv->bezeichnung; - $lehrveranstaltungen->lehreverzeichnis = $lv->lehreverzeichnis; - $lehrveranstaltungen->moodle_id = $moodleArray; + $lehrveranstaltungen = new bar(); + $lehrveranstaltungen->bezeichnung = $lv->bezeichnung; + $lehrveranstaltungen->lehreverzeichnis = $lv->lehreverzeichnis; + $lehrveranstaltungen->moodle_id = $moodleArray; $lehrveranstaltungen->lektoren = $mitarbeiterlehreinheit; - $lehrveranstaltungen->gruppen = $gruppelehreinheit; - + $lehrveranstaltungen->gruppen = $gruppelehreinheit; + $lehrveranstaltungen = $recht->clearResponse($user, 'getLehrveranstaltungFromStudiengang', $lehrveranstaltungen); - - $lvFromStudiengang[] = $lehrveranstaltungen; + + $lvFromStudiengang[] = $lehrveranstaltungen; } - return ($lvFromStudiengang); + return ($lvFromStudiengang); } ?> diff --git a/soap/notiz.soap.php b/soap/notiz.soap.php index 47d119f7e..56c1f5498 100755 --- a/soap/notiz.soap.php +++ b/soap/notiz.soap.php @@ -32,7 +32,7 @@ require_once('../include/functions.inc.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/dms.class.php'); -$SOAPServer = new SoapServer(APP_ROOT."/soap/notiz.wsdl.php?".microtime()); +$SOAPServer = new SoapServer(APP_ROOT."/soap/notiz.wsdl.php?".microtime(true)); $SOAPServer->addFunction("saveNotiz"); $SOAPServer->addFunction("deleteNotiz"); $SOAPServer->addFunction("deleteDokument"); @@ -190,5 +190,3 @@ function setErledigt($notiz_id, $erledigt) return new SoapFault("Server", "Fehler beim Laden"); } ?> - - diff --git a/soap/projekt.soap.php b/soap/projekt.soap.php index 0eaf142dc..6dcfce420 100755 --- a/soap/projekt.soap.php +++ b/soap/projekt.soap.php @@ -32,7 +32,7 @@ require_once('../include/dms.class.php'); require_once('../include/functions.inc.php'); require_once('../include/benutzerberechtigung.class.php'); -$SOAPServer = new SoapServer(APP_ROOT."/soap/projekt.wsdl.php?".microtime()); +$SOAPServer = new SoapServer(APP_ROOT."/soap/projekt.wsdl.php?".microtime(true)); $SOAPServer->addFunction("saveProjekt"); $SOAPServer->addFunction("saveProjektdokumentZuordnung"); $SOAPServer->handle(); @@ -111,5 +111,3 @@ function saveProjektdokumentZuordnung($username, $passwort, $projekt_kurzbz, $pr return new SoapFault("Server", $dms->errormsg); } ?> - - diff --git a/soap/projektphase.soap.php b/soap/projektphase.soap.php index 1083eb94b..20fc0afe4 100755 --- a/soap/projektphase.soap.php +++ b/soap/projektphase.soap.php @@ -31,7 +31,7 @@ require_once('../include/datum.class.php'); require_once('../include/functions.inc.php'); require_once('../include/benutzerberechtigung.class.php'); -$SOAPServer = new SoapServer(APP_ROOT."/soap/projektphase.wsdl.php?".microtime()); +$SOAPServer = new SoapServer(APP_ROOT."/soap/projektphase.wsdl.php?".microtime(true)); $SOAPServer->addFunction("saveProjektphase"); $SOAPServer->addFunction("deleteProjektphase"); $SOAPServer->handle(); @@ -117,4 +117,4 @@ function deleteProjektphase($username, $passwort, $projektphase_id) else return new SoapFault("Server", $phase->errormsg); } -?> \ No newline at end of file +?> diff --git a/soap/ressource.soap.php b/soap/ressource.soap.php index 8f820f30f..de7c568b1 100644 --- a/soap/ressource.soap.php +++ b/soap/ressource.soap.php @@ -31,7 +31,7 @@ require_once('../include/datum.class.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/functions.inc.php'); -$SOAPServer = new SoapServer(APP_ROOT."/soap/ressource.wsdl.php?".microtime()); +$SOAPServer = new SoapServer(APP_ROOT."/soap/ressource.wsdl.php?".microtime(true)); $SOAPServer->addFunction("saveRessource"); $SOAPServer->handle(); @@ -82,5 +82,3 @@ function saveRessource($username, $passwort, $ressource) return new SoapFault("Server", $ressourceNew->errormsg); } ?> - - diff --git a/soap/ressource_projekt.soap.php b/soap/ressource_projekt.soap.php index fb9f0aa96..4c1e13dec 100755 --- a/soap/ressource_projekt.soap.php +++ b/soap/ressource_projekt.soap.php @@ -31,7 +31,7 @@ require_once('../include/datum.class.php'); require_once('../include/functions.inc.php'); require_once('../include/benutzerberechtigung.class.php'); -$SOAPServer = new SoapServer(APP_ROOT."/soap/ressource_projekt.wsdl.php?".microtime()); +$SOAPServer = new SoapServer(APP_ROOT."/soap/ressource_projekt.wsdl.php?".microtime(true)); $SOAPServer->addFunction("saveProjektRessource"); $SOAPServer->addFunction("deleteProjektRessource"); $SOAPServer->handle(); @@ -123,5 +123,3 @@ function deleteProjektRessource($username, $passwort, $projektRessource) } ?> - - diff --git a/soap/semesterticket.soap.php b/soap/semesterticket.soap.php index 2ef02c219..2783abfb2 100644 --- a/soap/semesterticket.soap.php +++ b/soap/semesterticket.soap.php @@ -17,144 +17,144 @@ * * Authors: Karl Burkhart . */ - -require_once('../config/vilesci.config.inc.php'); -require_once('../include/student.class.php'); + +require_once('../config/vilesci.config.inc.php'); +require_once('../include/student.class.php'); require_once('../include/benutzer.class.php'); -require_once('../include/adresse.class.php'); -require_once('../include/person.class.php'); -require_once('../include/webservicelog.class.php'); +require_once('../include/adresse.class.php'); +require_once('../include/person.class.php'); +require_once('../include/webservicelog.class.php'); ini_set("soap.wsdl_cache_enabled", "0"); - -$SOAPServer = new SoapServer(APP_ROOT."/soap/semesterticket.wsdl.php?".microtime()); + +$SOAPServer = new SoapServer(APP_ROOT."/soap/semesterticket.wsdl.php?".microtime(true)); $SOAPServer->addFunction("verifyData"); $SOAPServer->handle(); -$fehler = ''; +$fehler = ''; + - /** - * - * Nimmt Anfrage entgegen und überprüft ob Student auch wirklich Student ist (anhand Matrikelnummer) + * + * Nimmt Anfrage entgegen und überprüft ob Student auch wirklich Student ist (anhand Matrikelnummer) * @param $parameters */ function verifyData($parameters) -{ - global $fehler; +{ + global $fehler; class foo{}; - - $obj = new foo(); - + + $obj = new foo(); + if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - + // Eintrag in der LogTabelle anlegen - $log = new webservicelog(); - $log->request_data = file_get_contents('php://input'); - $log->webservicetyp_kurzbz = 'wienerlinien'; - $log->request_id = $parameters->token; - $log->beschreibung = "Semesterticketanfrage"; + $log = new webservicelog(); + $log->request_data = file_get_contents('php://input'); + $log->webservicetyp_kurzbz = 'wienerlinien'; + $log->request_id = $parameters->token; + $log->beschreibung = "Semesterticketanfrage"; $log->save(true); if(!validateRequest($parameters)) { $obj->result = 'false'; - $obj->fehler = $fehler; + $obj->fehler = $fehler; } else { - $student = new student(); - $student_uid = $student->getUidFromMatrikelnummer($parameters->Matrikelnummer); - + $student = new student(); + $student_uid = $student->getUidFromMatrikelnummer($parameters->Matrikelnummer); + // überprüfe ob Benutzer aktiv ist - $benutzer = new benutzer(); - $benutzer->load($student_uid); + $benutzer = new benutzer(); + $benutzer->load($student_uid); if(!$benutzer->bnaktiv) { $obj->result = 'false'; $obj->fehler ='1'; - return $obj; - } - + return $obj; + } + // überprüfe vorname if($benutzer->vorname != $parameters->Vorname) { // es wurde keine übereinstimmung gefunden $obj->result = 'false'; - $obj->fehler = '6'; - return $obj; + $obj->fehler = '6'; + return $obj; } - + if($benutzer->nachname != $parameters->Name) { // es wurde keine übereinstimmung gefunden $obj->result = 'false'; - $obj->fehler = '7'; - return $obj; + $obj->fehler = '7'; + return $obj; } - + // Überprüfe PLZ - $adresse = new adresse(); - $adresse->load_pers($benutzer->person_id); - - $foundAdr = false; + $adresse = new adresse(); + $adresse->load_pers($benutzer->person_id); + + $foundAdr = false; foreach($adresse->result as $adr) { if($adr->plz == $parameters->Postleitzahl && $adr->typ == 'h') - $foundAdr = true; + $foundAdr = true; } if($foundAdr == false) { // es wurde keine übereinstimmung gefunden $obj->result = 'false'; - $obj->fehler = '5'; - return $obj; + $obj->fehler = '5'; + return $obj; } - + // Überprüfe Geburtsdatum - $person = new person(); - $person->load($benutzer->person_id); + $person = new person(); + $person->load($benutzer->person_id); if($person->gebdatum != $parameters->Geburtsdatum) { - $obj->result = 'false'; + $obj->result = 'false'; $obj->fehler = '4'; - return $obj; - } - + return $obj; + } + // hole prestudentID - $student->load($student_uid); + $student->load($student_uid); if($student->prestudent_id == '') { // es wurde kein student gefunden $obj->result = 'false'; - $obj->fehler = '3'; - return $obj; + $obj->fehler = '3'; + return $obj; } - + // Übergabe von studiensemester -> z.b 11W, 12S auf WS2011, SS2012 - $year = mb_substr($parameters->Semesterkuerzel, 0,2); - $semester = mb_substr($parameters->Semesterkuerzel,2,1); + $year = mb_substr($parameters->Semesterkuerzel, 0,2); + $semester = mb_substr($parameters->Semesterkuerzel,2,1); if($semester == 'S') { - $semester = 'SS'; + $semester = 'SS'; } else if($semester == 'W') { - $semester= 'WS'; + $semester= 'WS'; } else { // ungültiges Semester $obj->result = 'false'; - $obj->fehler = '8'; - return $obj; + $obj->fehler = '8'; + return $obj; } - $studiensemester = $semester.'20'.$year; - + $studiensemester = $semester.'20'.$year; + // letzten Status holen - $qry = "Select public.get_rolle_prestudent ('".$student->prestudent_id."', '".$studiensemester."')"; - + $qry = "Select public.get_rolle_prestudent ('".$student->prestudent_id."', '".$studiensemester."')"; + if($db->db_query($qry)) { if($row = $db->db_fetch_object()) @@ -165,20 +165,20 @@ function verifyData($parameters) // Status Student und Diplomand gültig if($status == 'Student' || $status == 'Diplomand') { - $obj->result = 'true'; + $obj->result = 'true'; $obj->fehler = ''; } else { $obj->result = 'false'; $obj->fehler ='1'; - } + } } return $obj; } /** - * + * * Prüft die übergebenen Parameter auf Richtigkeit * @param $parameter */ @@ -196,34 +196,32 @@ function validateRequest($parameter) * 8: Fehler Semester * 9: Fehler Matrikelnummer */ - - global $fehler; - + + global $fehler; + if(mb_strlen($parameter->Postleitzahl) > 10) { $fehler = '5'; - return false; + return false; } if(mb_strlen($parameter->Vorname) > 255) { $fehler = '6'; - return false; + return false; } if(mb_strlen($parameter->Name) > 255) { $fehler = '7'; - return false; + return false; } - + if(mb_strlen($parameter->Matrikelnummer) >15 || $parameter->Matrikelnummer == '') { $fehler = '9'; - return false; + return false; } return true; } ?> - - diff --git a/soap/semesterticket_client.php b/soap/semesterticket_client.php index ba4e309c8..0ae81cb8f 100644 --- a/soap/semesterticket_client.php +++ b/soap/semesterticket_client.php @@ -1,19 +1,19 @@ - - - + + Semesterticket-Client @@ -61,16 +61,16 @@ $db = new basis_db(); -Token = $_REQUEST['token']; $obj->Matrikelnummer = $_REQUEST['matrikelnummer']; $obj->Name = $_REQUEST['name']; @@ -78,16 +78,16 @@ if(isset($_REQUEST['submit'])) $obj->Geburtsdatum = $_REQUEST['geburtsdatum']; $obj->Postleitzahl = $_REQUEST['postleitzahl']; $obj->Semesterkuerzel = $_REQUEST['semesterkuerzel']; - + $response = $client->verifyData($obj); //$response = $client->verifyData(array('token'=>$_REQUEST['token'], 'matrikelnummer'=>$_REQUEST['matrikelnummer'], 'name'=>$_REQUEST['name'], 'vorname'=>$_REQUEST['vorname'], 'geburtsdatum'=>$_REQUEST['geburtsdatum'], 'postleitzahl'=>$_REQUEST['postleitzahl'], 'semesterkuerzel'=>$_REQUEST['semesterkuerzel'])); var_dump($response); } - catch(SoapFault $fault) + catch(SoapFault $fault) { echo "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR; } - + } ?> diff --git a/soap/stip.soap.php b/soap/stip.soap.php index 8ce88298f..f6074a877 100644 --- a/soap/stip.soap.php +++ b/soap/stip.soap.php @@ -17,47 +17,47 @@ * * Authors: Karl Burkhart . */ - + require_once('../config/vilesci.config.inc.php'); -require_once('../config/global.config.inc.php'); +require_once('../config/global.config.inc.php'); require_once('../include/basis_db.class.php'); require_once('../include/prestudent.class.php'); -require_once('../include/student.class.php'); +require_once('../include/student.class.php'); require_once('../include/konto.class.php'); require_once('../include/datum.class.php'); require_once('../include/benutzer.class.php'); -require_once('../include/webservicelog.class.php'); +require_once('../include/webservicelog.class.php'); require_once('../include/mail.class.php'); require_once('../include/abschlusspruefung.class.php'); require_once('../include/note.class.php'); -require_once('stip.class.php'); +require_once('stip.class.php'); ini_set("soap.wsdl_cache_enabled", "0"); -$SOAPServer = new SoapServer(APP_ROOT."/soap/stip.wsdl.php?".microtime()); +$SOAPServer = new SoapServer(APP_ROOT."/soap/stip.wsdl.php?".microtime(true)); $SOAPServer->addFunction("GetStipendienbezieherStip"); $SOAPServer->addFunction("SendStipendienbezieherStipError"); $SOAPServer->handle(); /** - * + * * Funktion nimmt Anfragen entgegen und bearbeitet diese * @param $parameters -> XML SOAP File */ function GetStipendienbezieherStip($parameters) -{ - $anfrageDaten = $parameters->anfrageDaten; - $Stipendiumsbezieher = $anfrageDaten->Stipendiumsbezieher; - - $ErhalterKz = $anfrageDaten->ErhKz; - $AnfrageDatenID = $anfrageDaten->AnfragedatenID; - +{ + $anfrageDaten = $parameters->anfrageDaten; + $Stipendiumsbezieher = $anfrageDaten->Stipendiumsbezieher; + + $ErhalterKz = $anfrageDaten->ErhKz; + $AnfrageDatenID = $anfrageDaten->AnfragedatenID; + // Eintrag in der LogTabelle anlegen - $log = new webservicelog(); - $log->request_data = file_get_contents('php://input'); - $log->webservicetyp_kurzbz = 'stip'; - $log->request_id = $AnfrageDatenID; - $log->beschreibung = "Anfrage von Stip"; + $log = new webservicelog(); + $log->request_data = file_get_contents('php://input'); + $log->webservicetyp_kurzbz = 'stip'; + $log->request_id = $AnfrageDatenID; + $log->beschreibung = "Anfrage von Stip"; $log->save(true); $username = $parameters->userName; @@ -66,17 +66,17 @@ function GetStipendienbezieherStip($parameters) if(!($username==STIP_USER_NAME && $passwort==STIP_USER_PASSWORD)) { // Eintrag in der LogTabelle anlegen - $log = new webservicelog(); + $log = new webservicelog(); $log->request_data = 'SOAP FAULT - Invalid Credentials'; - $log->webservicetyp_kurzbz = 'stip'; - $log->request_id = $AnfrageDatenID; - $log->beschreibung = "Antwort an Stip"; + $log->webservicetyp_kurzbz = 'stip'; + $log->request_id = $AnfrageDatenID; + $log->beschreibung = "Antwort an Stip"; $log->save(true); - return new SoapFault("Server", 'Invalid Credentials'); + return new SoapFault("Server", 'Invalid Credentials'); } - $StipBezieherAntwort = array(); + $StipBezieherAntwort = array(); $i=0; if(!is_array($Stipendiumsbezieher->StipendiumsbezieherAnfrage)) @@ -85,33 +85,33 @@ function GetStipendienbezieherStip($parameters) // läuft alle Anfragedaten durch foreach($Stipendiumsbezieher->StipendiumsbezieherAnfrage as $BezieherStip) { - $prestudentID; - $studentUID; - $studSemester; + $prestudentID; + $studentUID; + $studSemester; $StipBezieher = new stip(); - $datum_obj = new datum(); + $datum_obj = new datum(); if($StipBezieher->validateStipDaten($anfrageDaten->ErhKz, $anfrageDaten->AnfragedatenID, $BezieherStip)) { - $StipBezieher->Semester = $BezieherStip->Semester; - $StipBezieher->Studienjahr = $BezieherStip->Studienjahr; - $StipBezieher->PersKz = $BezieherStip->PersKz; - $StipBezieher->SVNR = $BezieherStip->SVNR; - $StipBezieher->Familienname = $BezieherStip->Familienname; - $StipBezieher->Vorname = $BezieherStip->Vorname; - $StipBezieher->Typ = $BezieherStip->Typ; - + $StipBezieher->Semester = $BezieherStip->Semester; + $StipBezieher->Studienjahr = $BezieherStip->Studienjahr; + $StipBezieher->PersKz = $BezieherStip->PersKz; + $StipBezieher->SVNR = $BezieherStip->SVNR; + $StipBezieher->Familienname = $BezieherStip->Familienname; + $StipBezieher->Vorname = $BezieherStip->Vorname; + $StipBezieher->Typ = $BezieherStip->Typ; + // Studiensemester_kurzbz auslesen if($BezieherStip->Semester == "WS" || $BezieherStip->Semester == "ws") { - $year = mb_substr($BezieherStip->Studienjahr, 0,4); - $studSemester = "WS".$year; + $year = mb_substr($BezieherStip->Studienjahr, 0,4); + $studSemester = "WS".$year; }elseif ($BezieherStip->Semester == "SS" || $BezieherStip->Semester == "ss") { - $year = mb_substr($BezieherStip->Studienjahr, 0,2).mb_substr($BezieherStip->Studienjahr, 5,7); - $studSemester = "SS".$year; + $year = mb_substr($BezieherStip->Studienjahr, 0,2).mb_substr($BezieherStip->Studienjahr, 5,7); + $studSemester = "SS".$year; } - + if(!$prestudentID = $StipBezieher->searchPersonKz($BezieherStip->PersKz)) if(!$prestudentID = $StipBezieher->searchSvnr($BezieherStip->SVNR)) $prestudentID = $StipBezieher->searchVorNachname($BezieherStip->Vorname, $BezieherStip->Familienname); @@ -119,29 +119,29 @@ function GetStipendienbezieherStip($parameters) // Student wurde gefunden if($StipBezieher->AntwortStatusCode == 1) { - $prestudent = new prestudent(); - $prestudent->load($prestudentID); - $prestudent->getLastStatus($prestudentID); + $prestudent = new prestudent(); + $prestudent->load($prestudentID); + $prestudent->getLastStatus($prestudentID); $prestudentStatus = new prestudent(); - $student = new student(); - $studentUID = $student->getUID($prestudentID); + $student = new student(); + $studentUID = $student->getUID($prestudentID); $abschlusspruefung = new abschlusspruefung(); $abschlusspruefung->getLastAbschlusspruefung($studentUID); - - $student->load($studentUID); - $studiengang_kz = $student->studiengang_kz; - - $konto = new konto(); + + $student->load($studentUID); + $studiengang_kz = $student->studiengang_kz; + + $konto = new konto(); $studGebuehr = $konto->getStudiengebuehrGesamt($studentUID, $studSemester, $studiengang_kz); // , als Dezimaltrennzeichen - $studGebuehr = str_replace('.', ',', $studGebuehr); - + $studGebuehr = str_replace('.', ',', $studGebuehr); + // wenn nicht bezahlt if($studGebuehr == "") $studGebuehr = "0,00"; - + if(!$prestudentStatus->getLastStatus($prestudentID,$studSemester)) $StipBezieher->Inskribiert = 'n'; else @@ -150,61 +150,61 @@ function GetStipendienbezieherStip($parameters) if($prestudentStatus->status_kurzbz == 'Interessent') $StipBezieher->Inskribiert = 'n'; else - $StipBezieher->Inskribiert = 'j'; + $StipBezieher->Inskribiert = 'j'; } - + if($BezieherStip->Typ == "as" || $BezieherStip->Typ == "AS") { $StipBezieher->getOrgFormTeilCode($studentUID, $studSemester, $prestudentID); - $StipBezieher->Studienbeitrag = $studGebuehr; - + $StipBezieher->Studienbeitrag = $studGebuehr; + // Wenn letzter Status von Semester Interessent ist -> Semester = null if($prestudentStatus->status_kurzbz != 'Interessent') - $StipBezieher->Ausbildungssemester = $StipBezieher->getSemester($prestudentID, $studSemester); + $StipBezieher->Ausbildungssemester = $StipBezieher->getSemester($prestudentID, $studSemester); else - $StipBezieher->Ausbildungssemester = null; - + $StipBezieher->Ausbildungssemester = null; + $StipBezieher->StudStatusCode = $StipBezieher->getStudStatusCode($prestudentID, $studSemester); - + // Ausgeschieden ohne Abschluss if($StipBezieher->StudStatusCode==4) $StipBezieher->BeendigungsDatum = $datum_obj->formatDatum($prestudent->datum,'dmY'); else if($StipBezieher->StudStatusCode==3) // Absolvent -> letzte Prüfung nehmen $StipBezieher->BeendigungsDatum = $datum_obj->formatDatum($abschlusspruefung->datum,'dmY'); else - $StipBezieher->BeendigungsDatum = null; - + $StipBezieher->BeendigungsDatum = null; + $StipBezieher->Erfolg = $StipBezieher->getErfolg($prestudentID, $studSemester); } elseif($BezieherStip->Typ =="ag" || $BezieherStip->Typ == "AG") { $StipBezieher->Ausbildungssemester = null; - $StipBezieher->StudStatusCode = null; - $StipBezieher->BeendigungsDatum = null; - $StipBezieher->Studienbeitrag = null; - $StipBezieher->OrgFormTeilCode = null; + $StipBezieher->StudStatusCode = null; + $StipBezieher->BeendigungsDatum = null; + $StipBezieher->Studienbeitrag = null; + $StipBezieher->OrgFormTeilCode = null; } - - $StipBezieherAntwort[$i] = $StipBezieher; + + $StipBezieherAntwort[$i] = $StipBezieher; $i++; } else if($StipBezieher->AntwortStatusCode == 2) { // Student wurde nicht gefunden - $StipBezieher->PersKz_Antwort = null; - $StipBezieher->SVNR_Antwort = null; - $StipBezieher->Familienname_Antwort = null; - $StipBezieher->Vorname_Antwort = null; - $StipBezieher->Ausbildungssemester = null; - $StipBezieher->StudStatusCode = null; - $StipBezieher->BeendigungsDatum = null; - $StipBezieher->VonNachPersKz = null; - $StipBezieher->Studienbeitrag = null; - $StipBezieher->Inskribiert = null; - $StipBezieher->Erfolg = null; - $StipBezieher->OrgFormTeilCode = null; - $StipBezieherAntwort[$i] = $StipBezieher; + $StipBezieher->PersKz_Antwort = null; + $StipBezieher->SVNR_Antwort = null; + $StipBezieher->Familienname_Antwort = null; + $StipBezieher->Vorname_Antwort = null; + $StipBezieher->Ausbildungssemester = null; + $StipBezieher->StudStatusCode = null; + $StipBezieher->BeendigungsDatum = null; + $StipBezieher->VonNachPersKz = null; + $StipBezieher->Studienbeitrag = null; + $StipBezieher->Inskribiert = null; + $StipBezieher->Erfolg = null; + $StipBezieher->OrgFormTeilCode = null; + $StipBezieherAntwort[$i] = $StipBezieher; $i++; } @@ -212,46 +212,46 @@ function GetStipendienbezieherStip($parameters) else { // Eintrag in der LogTabelle anlegen - $log = new webservicelog(); + $log = new webservicelog(); $log->request_data = 'SOAP FAULT - ValidationError: '.$StipBezieher->errormsg; - $log->webservicetyp_kurzbz = 'stip'; - $log->request_id = $AnfrageDatenID; - $log->beschreibung = "Antwort an Stip"; + $log->webservicetyp_kurzbz = 'stip'; + $log->request_id = $AnfrageDatenID; + $log->beschreibung = "Antwort an Stip"; $log->save(true); - return new SoapFault("Server", $StipBezieher->errormsg); + return new SoapFault("Server", $StipBezieher->errormsg); } } $ret = array("GetStipendienbezieherStipResult" =>array("ErhKz"=>$ErhalterKz,"AnfragedatenID"=>$AnfrageDatenID, "Stipendiumsbezieher"=>$StipBezieherAntwort)); // Eintrag in der LogTabelle anlegen - $log = new webservicelog(); + $log = new webservicelog(); $log->request_data = print_r($ret,true); - $log->webservicetyp_kurzbz = 'stip'; - $log->request_id = $AnfrageDatenID; - $log->beschreibung = "Antwort an Stip"; + $log->webservicetyp_kurzbz = 'stip'; + $log->request_id = $AnfrageDatenID; + $log->beschreibung = "Antwort an Stip"; $log->save(true); - return $ret; + return $ret; } /** - * + * * Funktion nimmt Fehler entgegen und sendet sie an Admin * @param $parameters -> XML SOAP File */ function SendStipendienbezieherStipError($parameters) { - $xmlData = file_get_contents('php://input'); - - $log = new webservicelog(); - $log->request_data = file_get_contents('php://input'); - $log->webservicetyp_kurzbz = 'stip'; - //$log->request_id = $AnfrageDatenID; - $log->beschreibung = "Stip Error"; + $xmlData = file_get_contents('php://input'); + + $log = new webservicelog(); + $log->request_data = file_get_contents('php://input'); + $log->webservicetyp_kurzbz = 'stip'; + //$log->request_id = $AnfrageDatenID; + $log->beschreibung = "Stip Error"; $log->save(true); - + //1=successful; 2=incomplete xml document; 3=incomplete processing; 4=system-error if($parameters->errorReport->ErrorStatusCode!=1) { diff --git a/soap/stip_client.php b/soap/stip_client.php index 7de745e51..dd9a905b9 100644 --- a/soap/stip_client.php +++ b/soap/stip_client.php @@ -1,4 +1,4 @@ - - + STIP-Client @@ -93,37 +93,37 @@ $db = new basis_db(); -Semester = $_REQUEST['Semester']; $bezieher->Studienjahr = $_REQUEST['Studienjahr']; $bezieher->PersKz= $_REQUEST['PersKz']; - $bezieher->SVNR= $_REQUEST['Svnr']; + $bezieher->SVNR= $_REQUEST['Svnr']; $bezieher->Familienname= $_REQUEST['Familienname']; $bezieher->Vorname= $_REQUEST['Vorname']; $bezieher->Typ = $_REQUEST['Typ']; - $bezieher1 = new stip(); + $bezieher1 = new stip(); $bezieher1->Semester = $_REQUEST['Semester']; $bezieher1->Studienjahr = $_REQUEST['Studienjahr']; $bezieher1->PersKz= $_REQUEST['PersKz']; - $bezieher1->SVNR= $_REQUEST['Svnr']; + $bezieher1->SVNR= $_REQUEST['Svnr']; $bezieher1->Familienname= $_REQUEST['Familienname']; $bezieher1->Vorname= $_REQUEST['Vorname']; $bezieher1->Typ = $_REQUEST['Typ']; - + try - { + { $response_stip = $client->GetStipendienbezieherStip(array("userName"=>$username,"passWord"=>$passwort,"anfrageDaten"=>array("ErhKz"=>$ErhKz, "AnfragedatenID"=>$AnfragedatenID,"Stipendiumsbezieher"=>array($bezieher)))); echo '

Single Request Result

'; echo '
'.print_r($response_stip->GetStipendienbezieherStipResult,true).'
'; @@ -131,11 +131,11 @@ if(isset($_REQUEST['submit'])) $response_stip = $client->GetStipendienbezieherStip(array("userName"=>$username,"passWord"=>$passwort,"anfrageDaten"=>array("ErhKz"=>$ErhKz, "AnfragedatenID"=>$AnfragedatenID,"Stipendiumsbezieher"=>array($bezieher, $bezieher1)))); echo '
'.print_r($response_stip->GetStipendienbezieherStipResult, true).'
'; } - catch(SoapFault $fault) + catch(SoapFault $fault) { echo "SOAP Fault: (faultcode: ".$fault->faultcode.", faultstring: ".$fault->faultstring.")", E_USER_ERROR; } - + } ?> diff --git a/soap/stip_client_error.php b/soap/stip_client_error.php index 4d2052b1d..5887d6357 100644 --- a/soap/stip_client_error.php +++ b/soap/stip_client_error.php @@ -1,4 +1,4 @@ - - + STIP-Client @@ -81,7 +81,7 @@ $db = new basis_db(); JobID: "> - + @@ -91,31 +91,31 @@ $db = new basis_db(); -SendStipendienbezieherStipError(array("userName"=>$username,"passWord"=>$passwort,"errorReport"=>array("ErhKz"=>$ErhKz, "StateCode"=>$statecode,"StateMessage"=>$statemessage,"ErrorStatusCode"=>$errorstatuscode,"JobID"=>$jobid))); echo '

Error Request Result sent

'; } - catch(SoapFault $fault) + catch(SoapFault $fault) { echo "SOAP Fault: (faultcode: ".$fault->faultcode.", faultstring: ".$fault->faultstring.")", E_USER_ERROR; } - + } ?> diff --git a/soap/student.soap.php b/soap/student.soap.php index c5ebea49a..d21939b47 100755 --- a/soap/student.soap.php +++ b/soap/student.soap.php @@ -26,7 +26,7 @@ require_once('../include/webservicerecht.class.php'); require_once('../include/studiensemester.class.php'); ini_set("soap.wsdl_cache_enabled", "0"); -$SOAPServer = new SoapServer(APP_ROOT."/soap/student.wsdl.php?".microtime()); +$SOAPServer = new SoapServer(APP_ROOT."/soap/student.wsdl.php?".microtime(true)); $SOAPServer->addFunction("getStudentFromUid"); $SOAPServer->addFunction("getStudentFromMatrikelnummer"); $SOAPServer->addFunction("getStudentFromStudiengang"); @@ -39,43 +39,43 @@ $SOAPServer->handle(); */ function getStudentFromUid($student_uid, $authentifizierung) { - $recht = new webservicerecht(); + $recht = new webservicerecht(); $user = $authentifizierung->username; - $passwort = $authentifizierung->passwort; - + $passwort = $authentifizierung->passwort; + // User authentifizieren if(!check_user($user, $passwort)) - return new SoapFault("Server", "Invalid Credentials"); - + return new SoapFault("Server", "Invalid Credentials"); + // darf User überhaupt Methode verwenden - $recht = new webservicerecht(); + $recht = new webservicerecht(); if(!$recht->isUserAuthorized($user, 'getStudentFromUid')) return new SoapFault("Server", "No permission"); - + $studentObj = new student(); // Studentendaten $student = new foo(); // Rückgabeobjekt $preStudent = new prestudent(); // StudentenStatus if(!$studentObj->load($student_uid)) - return new SoapFault("Server", "Kein Student mit übergebener Uid gefunden"); - + return new SoapFault("Server", "Kein Student mit übergebener Uid gefunden"); + $preStudent->getLastStatus($studentObj->prestudent_id); - + $student->studiengang_kz = $studentObj->studiengang_kz; - $student->person_id = $studentObj->person_id; - $student->semester = $studentObj->semester; - $student->verband = $studentObj->verband; - $student->gruppe = $studentObj->gruppe; - $student->vorname = $studentObj->vorname; - $student->nachname = $studentObj->nachname; - $student->uid = $studentObj->uid; + $student->person_id = $studentObj->person_id; + $student->semester = $studentObj->semester; + $student->verband = $studentObj->verband; + $student->gruppe = $studentObj->gruppe; + $student->vorname = $studentObj->vorname; + $student->nachname = $studentObj->nachname; + $student->uid = $studentObj->uid; $student->status = $preStudent->status_kurzbz; $student->personenkennzeichen = $studentObj->matrikelnr; $student->email = $student->uid.'@'.DOMAIN; - + $student = $recht->clearResponse($user, 'getStudentFromUid', $student); - - return $student; + + return $student; } /** @@ -85,48 +85,48 @@ function getStudentFromUid($student_uid, $authentifizierung) */ function getStudentFromMatrikelnummer($matrikelnummer, $authentifizierung) { - $recht = new webservicerecht(); + $recht = new webservicerecht(); $user = $authentifizierung->username; - $passwort = $authentifizierung->passwort; - + $passwort = $authentifizierung->passwort; + // User authentifizieren if(!check_user($user, $passwort)) - return new SoapFault("Server", "Invalid Credentials"); - + return new SoapFault("Server", "Invalid Credentials"); + // darf User überhaupt Methode verwenden - $recht = new webservicerecht(); + $recht = new webservicerecht(); if(!$recht->isUserAuthorized($user, 'getStudentFromMatrikelnummer')) return new SoapFault("Server", "No permission"); - + $studentObj = new student(); // Studentendaten $student = new foo(); // Rückgabeobjekt $preStudent = new prestudent(); // StudentenStatus - + $student_uid = $studentObj->getUidFromMatrikelnummer($matrikelnummer); if(!$studentObj->load($student_uid)) - return new SoapFault("Server", "Kein Student mit übergebener Matrikelnummer gefunden"); - + return new SoapFault("Server", "Kein Student mit übergebener Matrikelnummer gefunden"); + $preStudent->getLastStatus($studentObj->prestudent_id); - + $student->studiengang_kz = $studentObj->studiengang_kz; - $student->person_id = $studentObj->person_id; - $student->semester = $studentObj->semester; - $student->verband = $studentObj->verband; - $student->gruppe = $studentObj->gruppe; - $student->vorname = $studentObj->vorname; - $student->nachname = $studentObj->nachname; - $student->uid = $studentObj->uid; + $student->person_id = $studentObj->person_id; + $student->semester = $studentObj->semester; + $student->verband = $studentObj->verband; + $student->gruppe = $studentObj->gruppe; + $student->vorname = $studentObj->vorname; + $student->nachname = $studentObj->nachname; + $student->uid = $studentObj->uid; $student->status = $preStudent->status_kurzbz; $student->personenkennzeichen = $studentObj->matrikelnr; $student->email = $student->uid.'@'.DOMAIN; - + $student = $recht->clearResponse($user, 'getStudentFromMatrikelnummer', $student); - - return $student; + + return $student; } /** - * Lädt alle Studenten eines gewissen Kriteriums + * Lädt alle Studenten eines gewissen Kriteriums * @param $studiengang * @param $semester * @param $verband @@ -134,51 +134,51 @@ function getStudentFromMatrikelnummer($matrikelnummer, $authentifizierung) * @param $authentifizierung */ function getStudentFromStudiengang($studiengang, $semester = null, $verband = null, $gruppe = null, $authentifizierung) -{ - $recht = new webservicerecht(); +{ + $recht = new webservicerecht(); $user = $authentifizierung->username; - $passwort = $authentifizierung->passwort; - + $passwort = $authentifizierung->passwort; + // User authentifizieren if(!check_user($user, $passwort)) - return new SoapFault("Server", "Invalid Credentials"); + return new SoapFault("Server", "Invalid Credentials"); // darf User überhaupt Methode verwenden - $recht = new webservicerecht(); + $recht = new webservicerecht(); if(!$recht->isUserAuthorized($user, 'getStudentFromStudiengang')) return new SoapFault("Server", "No permission"); $studentObj = new student(); // Studentendaten $preStudent = new prestudent(); // StudentenStatus - + $studiensemester = new studiensemester(); // aktuelles Studiensemester $studSemester = $studiensemester->getakt(); - + $studentObj->result = $studentObj->getStudents($studiengang, $semester, $verband, $gruppe, null, $studSemester); - - $studentArray = array(); - + + $studentArray = array(); + foreach($studentObj->result as $stud) - { + { $student = new foo(); // Rückgabeobjekt $preStudent->getLastStatus($stud->prestudent_id); - + $student->studiengang_kz = $stud->studiengang_kz; - $student->person_id = $stud->person_id; - $student->semester = $stud->semester; - $student->verband = $stud->verband; - $student->gruppe = $stud->gruppe; - $student->vorname = $stud->vorname; - $student->nachname = $stud->nachname; - $student->uid = $stud->uid; - $student->status = $preStudent->status_kurzbz; + $student->person_id = $stud->person_id; + $student->semester = $stud->semester; + $student->verband = $stud->verband; + $student->gruppe = $stud->gruppe; + $student->vorname = $stud->vorname; + $student->nachname = $stud->nachname; + $student->uid = $stud->uid; + $student->status = $preStudent->status_kurzbz; $student->personenkennzeichen = $stud->matrikelnr; $student->email = $stud->uid.'@'.DOMAIN; - + $student = $recht->clearResponse($user, 'getStudentFromStudiengang', $student); - $studentArray[] = $student; + $studentArray[] = $student; } - return $studentArray; + return $studentArray; } -class foo{} \ No newline at end of file +class foo{} diff --git a/soap/test.soap.php b/soap/test.soap.php index eb7ffe4aa..36a4d5395 100644 --- a/soap/test.soap.php +++ b/soap/test.soap.php @@ -27,7 +27,7 @@ header("Pragma: no-cache"); require_once('../config/vilesci.config.inc.php'); -$SOAPServer = new SoapServer(APP_ROOT."soap/test.wsdl.php?".microtime()); +$SOAPServer = new SoapServer(APP_ROOT."soap/test.wsdl.php?".microtime(true)); $SOAPServer->addFunction("myTest"); $SOAPServer->handle(); @@ -44,5 +44,3 @@ function myTest($foo) } ?> - -