Potential Produkt Increment #83

Merged
mg8220s merged 40 commits from dev into main 2024-12-11 14:16:27 +01:00
Showing only changes of commit 50813b1a0d - Show all commits

View File

@@ -99,6 +99,51 @@ class User
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
* @param string $password Zu prüfendes Passwort