/**
 * Lädt einen Studenten anhand übergebener Matrikelnummer
 * @param $matrikelnummer
 * @param $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;
}