Loginsystem Backend #75
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user