Löschen von User eingefügt
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user