コード例 #1
0
/**
 * Lädt alle Studenten eines gewissen Kriteriums 
 * @param $studiengang
 * @param $semester
 * @param $verband
 * @param $gruppe
 * @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");
    }
    // darf User überhaupt Methode verwenden
    $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();
    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;
}