more new student -> prestudent changes

ported student->getTab to prestudent->getTab
ported student->getStudents to prestudent->getPrestudents
This commit is contained in:
Andreas Moik
2016-06-22 11:25:08 +02:00
parent 6e157bd746
commit cfa4439c00
24 changed files with 3721 additions and 4065 deletions
+28 -41
View File
@@ -15,11 +15,12 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Karl Burkhart <burkhart@technikum-wien.at>.
* Authors: Karl Burkhart <burkhart@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/student.class.php');
require_once('../config/vilesci.config.inc.php');
require_once('../include/prestudent.class.php');
require_once('../include/benutzer.class.php');
require_once('../include/adresse.class.php');
require_once('../include/person.class.php');
@@ -64,21 +65,18 @@ function verifyData($parameters)
}
else
{
$student = new student();
$student_uid = $student->getUidFromMatrikelnummer($parameters->Matrikelnummer);
// überprüfe ob Benutzer aktiv ist
$benutzer = new benutzer();
$benutzer->load($student_uid);
if(!$benutzer->bnaktiv)
$prestudent = new prestudent();
if(!$prestudent->loadFromPerskz($parameters->Matrikelnummer))
{
// es wurde kein student gefunden
$obj->result = 'false';
$obj->fehler ='1';
return $obj;
}
$obj->fehler = '3';
return $obj;
}
// überprüfe vorname
if($benutzer->vorname != $parameters->Vorname)
if($prestudent->vorname != $parameters->Vorname)
{
// es wurde keine übereinstimmung gefunden
$obj->result = 'false';
@@ -86,7 +84,7 @@ function verifyData($parameters)
return $obj;
}
if($benutzer->nachname != $parameters->Name)
if($prestudent->nachname != $parameters->Name)
{
// es wurde keine übereinstimmung gefunden
$obj->result = 'false';
@@ -96,7 +94,7 @@ function verifyData($parameters)
// Überprüfe PLZ
$adresse = new adresse();
$adresse->load_pers($benutzer->person_id);
$adresse->load_pers($prestudent->person_id);
$foundAdr = false;
foreach($adresse->result as $adr)
@@ -113,47 +111,36 @@ function verifyData($parameters)
}
// Überprüfe Geburtsdatum
$person = new person();
$person->load($benutzer->person_id);
if($person->gebdatum != $parameters->Geburtsdatum)
if($prestudent->gebdatum != $parameters->Geburtsdatum)
{
$obj->result = 'false';
$obj->fehler = '4';
return $obj;
}
// hole prestudentID
$student->load($student_uid);
if($student->prestudent_id == '')
{
// es wurde kein student gefunden
$obj->result = 'false';
$obj->fehler = '3';
return $obj;
}
$obj->fehler = '4';
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;
return $obj;
}
$studiensemester = $semester.'20'.$year;
// letzten Status holen
$qry = "Select public.get_rolle_prestudent ('".$student->prestudent_id."', '".$studiensemester."')";
$qry = "Select public.get_rolle_prestudent ('".$prestudent->prestudent_id."', '".$studiensemester."')";
if($db->db_query($qry))
{
+9 -12
View File
@@ -295,7 +295,7 @@ if(isset($_REQUEST['submit_matrikelnummer']))
try
{
$authentifizierung = new foo();
$authentifizierung = new stdClass();
$authentifizierung->username=$_REQUEST['username'];
$authentifizierung->passwort=$_REQUEST['passwort'];
$response = $client->getStudentFromMatrikelnummer($matrikelnummer = $_REQUEST['matrikelnummer'], $authentifizierung);
@@ -314,7 +314,7 @@ if(isset($_REQUEST['submit_uid']))
try
{
$authentifizierung = new foo();
$authentifizierung = new stdClass();
$authentifizierung->username=$_REQUEST['username'];
$authentifizierung->passwort=$_REQUEST['passwort'];
$response = $client->getStudentFromUid($student_uid = $_REQUEST['student_uid'], $authentifizierung);
@@ -325,29 +325,26 @@ if(isset($_REQUEST['submit_uid']))
{
echo "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR;
}
}
if(isset($_REQUEST['submit_studiengang']))
{
$client = new SoapClient(APP_ROOT."soap/student.wsdl.php?".microtime(true));
$client = new SoapClient(APP_ROOT."soap/student.wsdl.php?".microtime(true));
try
{
$authentifizierung = new foo();
$authentifizierung->username=$_REQUEST['username'];
$authentifizierung->passwort=$_REQUEST['passwort'];
$authentifizierung = new stdClass();
$authentifizierung->username=$_REQUEST['username'];
$authentifizierung->passwort=$_REQUEST['passwort'];
$response = $client->getStudentFromStudiengang($studiengang = $_REQUEST['studiengang'], $semester=$_REQUEST['semester'], $verband=$_REQUEST['verband'], $gruppe=$_REQUEST['gruppe'], $authentifizierung);
var_dump($response);
}
catch(SoapFault $fault)
{
echo "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR;
echo "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR;
}
}
class foo{}
?>
?>
</body>
</html>
+117 -120
View File
@@ -16,11 +16,11 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Karl Burkhart <burkhart@technikum-wien.at>.
* Authors: Karl Burkhart <burkhart@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/student.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/webservicerecht.class.php');
require_once('../include/studiensemester.class.php');
@@ -39,43 +39,44 @@ $SOAPServer->handle();
*/
function getStudentFromUid($student_uid, $authentifizierung)
{
$recht = new webservicerecht();
$user = $authentifizierung->username;
$passwort = $authentifizierung->passwort;
// User authentifizieren
if(!check_user($user, $passwort))
return new SoapFault("Server", "Invalid Credentials");
// darf User überhaupt Methode verwenden
$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
$recht = new webservicerecht();
$user = $authentifizierung->username;
$passwort = $authentifizierung->passwort;
if(!$studentObj->load($student_uid))
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->status = $preStudent->status_kurzbz;
$student->personenkennzeichen = $studentObj->matrikelnr;
$student->email = $student->uid.'@'.DOMAIN;
$student = $recht->clearResponse($user, 'getStudentFromUid', $student);
return $student;
// User authentifizieren
if(!check_user($user, $passwort))
return new SoapFault("Server", "Invalid Credentials");
// darf User überhaupt Methode verwenden
$recht = new webservicerecht();
if(!$recht->isUserAuthorized($user, 'getStudentFromUid'))
return new SoapFault("Server", "No permission");
$obj = new stdClass(); // Rückgabeobjekt
$prestudent = new prestudent();
if(!$prestudent->getPrestudentsFromUid($student_uid) || count($prestudent->result) < 1)
return new SoapFault("Server", "Kein Student mit übergebener Uid gefunden");
$ps = $prestudent->result[count($prestudent->result)-1]; // TODO EINE hier wird nur der letzte prestudent zurückgegeben(muss noch abgeklärt werden, wer diese schnittstelle verwendet)
$prestudent->getLastStatus($ps->prestudent_id);
$obj->studiengang_kz = $ps->studiengang_kz;
$obj->person_id = $ps->person_id;
$obj->semester = $ps->semester;
$obj->verband = $ps->verband;
$obj->gruppe = $ps->gruppe;
$obj->vorname = $ps->vorname;
$obj->nachname = $ps->nachname;
$obj->uid = $ps->uid;
$obj->status = $prestudent->status_kurzbz;
$obj->personenkennzeichen = $ps->perskz;
$obj->email = $obj->uid.'@'.DOMAIN;
$obj = $recht->clearResponse($user, 'getStudentFromUid', $obj);
return $obj;
}
/**
@@ -85,44 +86,42 @@ function getStudentFromUid($student_uid, $authentifizierung)
*/
function getStudentFromMatrikelnummer($matrikelnummer, $authentifizierung)
{
$recht = new webservicerecht();
$user = $authentifizierung->username;
$passwort = $authentifizierung->passwort;
// User authentifizieren
if(!check_user($user, $passwort))
return new SoapFault("Server", "Invalid Credentials");
// darf User überhaupt Methode verwenden
$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");
$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->status = $preStudent->status_kurzbz;
$student->personenkennzeichen = $studentObj->matrikelnr;
$student->email = $student->uid.'@'.DOMAIN;
$student = $recht->clearResponse($user, 'getStudentFromMatrikelnummer', $student);
return $student;
$recht = new webservicerecht();
$user = $authentifizierung->username;
$passwort = $authentifizierung->passwort;
// User authentifizieren
if(!check_user($user, $passwort))
return new SoapFault("Server", "Invalid Credentials");
// darf User überhaupt Methode verwenden
$recht = new webservicerecht();
if(!$recht->isUserAuthorized($user, 'getStudentFromMatrikelnummer'))
return new SoapFault("Server", "No permission");
$student = new stdClass(); // Rückgabeobjekt
$prestudent = new prestudent(); // Studentendaten
if(!$prestudent->loadFromPerskz($matrikelnummer))
return new SoapFault("Server", "Kein Student mit übergebener Matrikelnummer gefunden");
$prestudent->getLastStatus($prestudent->prestudent_id);
$student->studiengang_kz = $prestudent->studiengang_kz;
$student->person_id = $prestudent->person_id;
$student->semester = $prestudent->semester;
$student->verband = $prestudent->verband;
$student->gruppe = $prestudent->gruppe;
$student->vorname = $prestudent->vorname;
$student->nachname = $prestudent->nachname;
$student->uid = $prestudent->uid;
$student->status = $prestudent->status_kurzbz;
$student->personenkennzeichen = $prestudent->perskz;
$student->email = $student->uid.'@'.DOMAIN;
$student = $recht->clearResponse($user, 'getStudentFromMatrikelnummer', $student);
return $student;
}
/**
@@ -134,51 +133,49 @@ function getStudentFromMatrikelnummer($matrikelnummer, $authentifizierung)
* @param $authentifizierung
*/
function getStudentFromStudiengang($studiengang, $semester = null, $verband = null, $gruppe = null, $authentifizierung)
{
$recht = new webservicerecht();
$user = $authentifizierung->username;
$passwort = $authentifizierung->passwort;
// User authentifizieren
if(!check_user($user, $passwort))
return new SoapFault("Server", "Invalid Credentials");
{
$recht = new webservicerecht();
$user = $authentifizierung->username;
$passwort = $authentifizierung->passwort;
// darf User überhaupt Methode verwenden
$recht = new webservicerecht();
if(!$recht->isUserAuthorized($user, 'getStudentFromStudiengang'))
return new SoapFault("Server", "No permission");
// User authentifizieren
if(!check_user($user, $passwort))
return new SoapFault("Server", "Invalid Credentials");
$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();
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->personenkennzeichen = $stud->matrikelnr;
$student->email = $stud->uid.'@'.DOMAIN;
$student = $recht->clearResponse($user, 'getStudentFromStudiengang', $student);
$studentArray[] = $student;
}
return $studentArray;
// darf User überhaupt Methode verwenden
$recht = new webservicerecht();
if(!$recht->isUserAuthorized($user, 'getStudentFromStudiengang'))
return new SoapFault("Server", "No permission");
$prestudent = new prestudent();
$studiensemester = new studiensemester(); // aktuelles Studiensemester
$studSemester = $studiensemester->getakt();
$prestudent->result = $prestudent->getPrestudents($studiengang, $semester, $verband, $gruppe, null, $studSemester);
$ret = array();
foreach($prestudent->result as $ps)
{
$obj = new stdClass(); // Rückgabeobjekt
$prestudent->getLastStatus($ps->prestudent_id);
$obj->studiengang_kz = $ps->studiengang_kz;
$obj->person_id = $ps->person_id;
$obj->semester = $ps->semester;
$obj->verband = $ps->verband;
$obj->gruppe = $ps->gruppe;
$obj->vorname = $ps->vorname;
$obj->nachname = $ps->nachname;
$obj->uid = $ps->uid;
$obj->status = $prestudent->status_kurzbz;
$obj->personenkennzeichen = $ps->matrikelnr;
$obj->email = $ps->uid.'@'.DOMAIN;
$obj = $recht->clearResponse($user, 'getStudentFromStudiengang', $obj);
$ret[] = $obj;
}
return $ret;
}
class foo{}