Profildaten bearbeiten

This commit is contained in:
2026-06-02 22:42:47 +02:00
parent ade73f3105
commit 92574a0f76
4 changed files with 128 additions and 19 deletions
+23
View File
@@ -56,6 +56,29 @@ class LocalUserDAO implements UserDAOInterface {
$this->saveUsers($users);
}
public function updateUser($oldEmail, $newEmail, $vorname, $nachname, $password = null) {
$users = $this->loadUsers();
foreach ($users as $i => $user) {
if ($user["email"] === $oldEmail) {
$users[$i]["email"] = $newEmail;
$users[$i]["vorname"] = $vorname;
$users[$i]["nachname"] = $nachname;
unset($users[$i]["username"]);
if (!empty($password)) {
$users[$i]["password"] = password_hash($password, PASSWORD_DEFAULT);
}
$this->saveUsers($users);
return true;
}
}
return false;
}
public function deleteUser($email) {
$users = $this->loadUsers();
+12
View File
@@ -27,6 +27,18 @@ interface UserDAOInterface {
*/
public function addUser($email, $vorname, $nachname, $password);
/**
* Aktualisiert einen bestehenden Benutzer.
*
* @param string $oldEmail Alte E-Mail-Adresse
* @param string $newEmail Neue E-Mail-Adresse
* @param string $vorname Neuer Vorname
* @param string $nachname Neuer Nachname
* @param string|null $password Neues Passwort oder null
* @return bool true, wenn der Benutzer aktualisiert wurde, sonst false
*/
public function updateUser($oldEmail, $newEmail, $vorname, $nachname, $password = null);
/**
* Löscht einen Benutzer anhand seiner E-Mail-Adresse.
*