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; }
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(); } } }
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; } }