/** * checkLogInData() * * Die Anmeldedaten (Name und Passwort) des Benutzers werden überprüft * * @static * @access public * @param string $usr * @param integer $pwd * @return boolean true|false */ public static function checkLogInData($usr, $pwd) { // die Variablen für die Prüfung $pruef_usr = ''; // Benutzername $pruef_pwd = ''; // Passwort // Benutzername und zugehöriges Passwort auslesen $sql = sprintf(' SELECT `benutzer`.*, `mitglieder`.`nachname`, `mitglieder`.`vorname` FROM `benutzer` INNER JOIN `mitglieder` ON `mitglieder`.`acb_nr` = `benutzer`.`id` WHERE `username` = "%s" AND `gesperrt` = "N" LIMIT 1 ', $usr); // SQL-Anweisung ausführen und Datensatz laden $data = Database::getInstance()->Select($sql); // es wird geprüft, ob das Ergebnis der Abfrage mindestens // einen gültigen Datensatz hervorgebracht hat foreach ($data as $record) { // Ergebnisse der Abfrage als Datensatz speichern $pruef_usr = $record->username; $pruef_pwd = $record->password; self::$_lastLogin = $record->last_log; // Name kürzen falls nötig if (substr($record->nachname, strlen($record->nachname) - 2, 1) == ' ' || substr($record->nachname, strlen($record->nachname) - 3, 1) == ' ') { // Name einkürzen, bsp: aus Koch C wird Koch $record->nachname = substr($record->nachname, 0, strlen($record->nachname) - 2); // führende und endende Leerzeichen entfernen falls vorhanden $record->nachname = trim($record->nachname); } // Benutzer-ID und -Name in die Member-Variable schreiben self::$_userId = $record->id; self::$_userName = sprintf('%s %s', $record->vorname, $record->nachname); // Benutzer-Rechte in die Member-Variable schreiben self::$_userRole = $record->rolle; } // die ermittelten Werte für Benutzer und Passwort werden verglichen if ($usr == $pruef_usr && md5($pwd) == $pruef_pwd) { // aktuelle Anmeldedaten speichern self::_saveLogInData(self::$_userId); // stimmt überein -> Zugang gewährt return true; } else { // stimmt nicht -> Zugang verweigert return false; } }