First Implementation
This commit is contained in:
+35
-12
@@ -2,39 +2,62 @@
|
||||
|
||||
class UserDAO {
|
||||
|
||||
private static array $users = [
|
||||
[
|
||||
"email" => "test@test.de",
|
||||
"username" => "test",
|
||||
"password" => "1234"
|
||||
]
|
||||
];
|
||||
private string $file = "data/users.json";
|
||||
|
||||
private function loadUsers() {
|
||||
if (!file_exists($this->file)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$json = file_get_contents($this->file);
|
||||
$users = json_decode($json, true);
|
||||
|
||||
return is_array($users) ? $users : [];
|
||||
}
|
||||
|
||||
private function saveUsers($users) {
|
||||
file_put_contents(
|
||||
$this->file,
|
||||
json_encode($users, JSON_PRETTY_PRINT)
|
||||
);
|
||||
}
|
||||
|
||||
public function findUser($email) {
|
||||
foreach (self::$users as $user) {
|
||||
$users = $this->loadUsers();
|
||||
|
||||
foreach ($users as $user) {
|
||||
if ($user["email"] === $email) {
|
||||
return $user;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public function addUser($email, $username, $password) {
|
||||
self::$users[] = [
|
||||
$users = $this->loadUsers();
|
||||
|
||||
$users[] = [
|
||||
"email" => $email,
|
||||
"username" => $username,
|
||||
"password" => $password
|
||||
];
|
||||
|
||||
$this->saveUsers($users);
|
||||
}
|
||||
|
||||
public function deleteUser($email) {
|
||||
foreach (self::$users as $i => $user) {
|
||||
$users = $this->loadUsers();
|
||||
|
||||
foreach ($users as $i => $user) {
|
||||
if ($user["email"] === $email) {
|
||||
unset(self::$users[$i]);
|
||||
self::$users = array_values(self::$users);
|
||||
unset($users[$i]);
|
||||
$users = array_values($users);
|
||||
$this->saveUsers($users);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user