diff --git a/Controllers/UserController.php b/Controllers/UserController.php index a959e80..d6a494b 100644 --- a/Controllers/UserController.php +++ b/Controllers/UserController.php @@ -108,6 +108,28 @@ final class UserController $O_userModel = new UserModel(); $A_user = $O_userModel->getUserByID($_SESSION["ID"]); - return View::show("user/view", $A_user); + return View::show("user/edit", $A_user); + } + + public function updateAction(Array $A_urlParams = null, Array $A_postParams = null) + { + Session::login_or_die(); + + $O_userModel = new UserModel(); + + if (isset($_POST["email"])) { + $S_email = $_POST["email"]; + if (!empty($S_email) && filter_var($S_email, FILTER_VALIDATE_EMAIL)) { + $O_userModel->updateEmailByID($_SESSION["ID"], $_POST["email"]); + } + } + if (isset($_POST["username"])) { + $S_username = $_POST["username"]; + if (!empty($S_username)) { + $O_userModel->updateUsernameByID($_SESSION["ID"], $_POST["username"]); + } + } + + header("Location: /user"); } } diff --git a/Models/UserModel.php b/Models/UserModel.php index 1918045..e7a0d00 100644 --- a/Models/UserModel.php +++ b/Models/UserModel.php @@ -69,4 +69,20 @@ final class UserModel if ($row === false) return false; return $row["DISABLED"] !== 1; } + + public function updateEmailByID($I_id, $S_newEmail){ + $O_model = Model::get(); + $stmt = $O_model->prepare("UPDATE USER SET EMAIL=:new_email WHERE ID=:id"); + $stmt->bindParam("id", $I_id); + $stmt->bindParam("new_email", $S_newEmail); + $stmt->execute(); + } + + public function updateUsernameByID($I_id, $S_newUsername){ + $O_model = Model::get(); + $stmt = $O_model->prepare("UPDATE USER SET USERNAME=:new_username WHERE ID=:id"); + $stmt->bindParam("id", $I_id); + $stmt->bindParam("new_username", $S_newUsername); + $stmt->execute(); + } } diff --git a/Views/account/edit.php b/Views/user/edit.php similarity index 52% rename from Views/account/edit.php rename to Views/user/edit.php index 41fb170..e025d0c 100644 --- a/Views/account/edit.php +++ b/Views/user/edit.php @@ -1,28 +1,24 @@ - "Jean_Michel_du_13", - "email" => "jeanmicheldu13@gmail.com" - ); -?> -
- Se déconnecter -
+ Compte administrateur

"; ?> + + Se déconnecter + + - "> + "> - "> + "> - +

- Supprimer le compte ⚠️ + Supprimer le compte ⚠️
diff --git a/Views/user/view.php b/Views/user/view.php deleted file mode 100644 index d5412b5..0000000 --- a/Views/user/view.php +++ /dev/null @@ -1,8 +0,0 @@ -

Your account :

-

Email :

-

Name :

-

Admin status :

- -
- -