diff --git a/soap/kartenverlaengerung.soap.php b/soap/kartenverlaengerung.soap.php new file mode 100755 index 000000000..10a6873ca --- /dev/null +++ b/soap/kartenverlaengerung.soap.php @@ -0,0 +1,80 @@ + + */ + +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'); + +ini_set("soap.wsdl_cache_enabled", "0"); + +$SOAPServer = new SoapServer(APP_ROOT.'soap/kartenverlaengerung.wsdl.php?'.microtime()); +$SOAPServer->addFunction('getNumber'); +$SOAPServer->handle(); + +function getNumber($cardNr) +{ + // Fehler wenn keine Kartennummer übergeben wurde + if($cardNr == '') + { + $objArray = array('datum'=>'', 'errorMessage'=>'keine gültige Nummer übergeben.'); + return $objArray; + } + + // Karte ist noch nicht ausgegeben + $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; + } + + // User zur Karte konnte nicht geladen werden + $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; + } + + // aktuelles Semester konnte nicht geladen werden + // lädt das aktuelle semester und nach 60 Tagen nach Anfang des Semesters das nächste + $studSemester = new studiensemester(); + if(!$aktSemester= $studSemester->getNextOrAktSemester()) + { + $objArray = array('datum'=>'', 'errorMessage'=>'Konnte Semester nicht laden. Bitte wenden Sie sich an den Service Desk.'); + return $objArray; + } + + $konto = new konto(); + if(!$konto->checkStudienbeitrag($cardPerson->uid, $aktSemester)) + { + $objArray = array('datum'=>'', 'errorMessage'=>'Studienbeitrag noch nicht gezahlt.'); + return $objArray; + } + + $objArray = array('datum'=>'bezahlt', 'errorMessage'=>''); + return $objArray; + +} +?> \ No newline at end of file diff --git a/soap/kartenverlaengerung.test.php b/soap/kartenverlaengerung.test.php new file mode 100755 index 000000000..df7d7684e --- /dev/null +++ b/soap/kartenverlaengerung.test.php @@ -0,0 +1,61 @@ + + */ +require_once('../config/cis.config.inc.php'); + +if(isset($_REQUEST['sub_card'])) +{ + $cardNumber = $_REQUEST['cardNumber']; + $client = new SoapClient(APP_ROOT."soap/kartenverlaengerung.wsdl.php?".microtime(true)); + + try + { + $response = $client->getNumber($cardNr = $cardNumber); + + var_dump($response); + } + catch(SoapFault $fault) + { + echo "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR; + } +} + +?> + + + + Webservice Kartenverlaengerung + + + +

Webservice Kartenverlängerung

+
+ + + + + + + + +
Kartennummer:
+
+ + diff --git a/soap/kartenverlaengerung.wsdl.php b/soap/kartenverlaengerung.wsdl.php new file mode 100755 index 000000000..0247704db --- /dev/null +++ b/soap/kartenverlaengerung.wsdl.php @@ -0,0 +1,49 @@ +"; +?> + + + + + + + + + + + + + + + + + + + + + + + " /> + + + + + + + + + + + + "/> + + +