Пример #1
0
 function CreateMemberData($nr, $login, $pass, $firstName, $name, $email, $rights)
 {
     $data = new stdClass();
     $data->Nr = $nr;
     $data->Login = $login;
     $data->Passwort = Mitglied::PasswordHash($pass);
     $data->Vorname = $firstName;
     $data->Nachname = $name;
     $data->Email = $email;
     $data->Rechte = $rights;
     return $data;
 }
Пример #2
0
 function Login($benutzer = "", $passwort = "")
 {
     global $db_config, $sqldb;
     @session_start();
     $this->Level = 0;
     $this->Nr = 0;
     // Neue Session starten?
     if (empty($benutzer) === false && empty($passwort) === false) {
         session_register("login_benutzer");
         session_register("login_passwort");
         session_register("ip");
         $_SESSION["login_benutzer"] = $benutzer;
         $_SESSION["login_passwort"] = Mitglied::PasswordHash($passwort);
         $_SESSION["ip"] = $_SERVER['REMOTE_ADDR'];
     }
     // Korrekt eingeloggt?
     if (isset($_SESSION["ip"]) && $_SESSION["ip"] == $_SERVER['REMOTE_ADDR'] && !empty($_SESSION["login_benutzer"]) && !empty($_SESSION["login_passwort"])) {
         // Hole, Nr, Passwort und Rechte zu Loginnamen
         $sql = "SELECT Mitglieds_Nr AS Nr, Passwort AS passwort, Rechte\n\t\t\t\t\tFROM " . $db_config['prefix'] . "Mitglieder AS members\n\t\t\t\t\tWHERE members.Login = '******'\n\t\t\t\t\tLIMIT 1";
         $sqldb->Query($sql);
         // Existiert das Mitglied?
         if ($line = $sqldb->Fetch()) {
             // Hat er das richtige Passwort?
             if ($line->passwort === $_SESSION["login_passwort"]) {
                 $this->Nr = $line->Nr;
                 // Setze Benuterrechte nach Rechtename
                 switch ($line->Rechte) {
                     case "Administrator":
                         $this->Level = 2;
                         break;
                     case "Benutzer":
                         $this->Level = 1;
                         break;
                     default:
                         $this->Level = 0;
                 }
             } else {
                 // Falsche Passwort
                 $this->Logout();
             }
         } else {
             // Benutzername nicht gefunden
             $this->Logout();
         }
     }
 }
Пример #3
0
 function Update($nr, $loginname, $passwort, $rechte, $vorname, $nachname, $email)
 {
     global $db_config, $sqldb, $login;
     // Nur wenn wir als Administrator angemeldet sind
     if ($login->IsAdministrator() === true || $nr == $login->Nr) {
         // Erlaube nicht, dass einfache Mitglieder ihre
         // Rechte erhöhen
         if ($login->IsAdministrator() === false) {
             $rechte = "Benutzer";
         }
         $sql = "";
         // Wurde neues Passwort angegeben?
         if (empty($passwort) === true) {
             // wenn nicht, aktualisiere nur die anderen Daten
             $sql = "UPDATE " . $db_config['prefix'] . "Mitglieder\n\t\t\t\t\t\t\tSET Login='******', Rechte='{$rechte}', Vorname='{$vorname}', Name='{$nachname}', Email='{$email}'\n\t\t\t\t\t\t\tWHERE Mitglieds_Nr='{$nr}'\n\t\t\t\t\t\t\tLIMIT 1";
         } else {
             // wenn ja, erzeuge neuen Hash und aktualisiere
             // ihn mit den anderen Daten
             $passworthash = Mitglied::PasswordHash($passwort);
             $sql = "UPDATE " . $db_config['prefix'] . "Mitglieder\n\t\t\t\t\t\t\tSET Login='******', Passwort='{$passworthash}', Rechte='{$rechte}', Vorname='{$vorname}', Name='{$nachname}', Email='{$email}'\n\t\t\t\t\t\t\tWHERE Mitglieds_Nr='{$nr}'\n\t\t\t\t\t\t\tLIMIT 1";
         }
         // Ändere Daten des Mitglieds
         if ($sqldb->Query($sql) !== false) {
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }