Loginsystem Backend #75

Merged
mg8220s merged 6 commits from feature/loginsystem-backend into dev 2024-12-03 10:34:32 +01:00
Showing only changes of commit f4601e1840 - Show all commits

View File

@@ -99,6 +99,51 @@ class User
return false; return false;
} }
/**
* Löscht einen Benutzer
* @param string $password Richtiges Passwort zu diesem Nutzer
* @return bool true, wenn erfolgreich gelöscht, sonst false
*/
public function delete(string $password): bool
{
if(!$this->isPasswordCorrect($password)) {
return false;
}
if(!$this->logout()) {
return false;
}
$file = fopen(self::$userdataDirectory . self::$userdataFile, "r");
if(!$file) {
return false;
}
$newCsv = array();
while (($data = fgetcsv($file, 300)) !== false) {
if (count($data) != 2) {
continue;
}
if ($data[0] !== $this->username) {
$newCsv[] = $data;
}
}
fclose($file);
$file = fopen(self::$userdataDirectory . self::$userdataFile, "w");
if(!$file) {
return false;
}
foreach ($newCsv as $newCsvData) {
fputcsv($file, $newCsvData);
}
fclose($file);
return true;
}
/** /**
* Prüft, ob ein Passwort für diesen Benutzer korrekt ist * Prüft, ob ein Passwort für diesen Benutzer korrekt ist
* @param string $password Zu prüfendes Passwort * @param string $password Zu prüfendes Passwort