From 2469823f9de1eb8496ac849fa4ab94c81515f85d Mon Sep 17 00:00:00 2001 From: Capelier-Marla Date: Tue, 17 Jan 2023 12:05:30 +0100 Subject: [PATCH 1/3] moved edit page to user view, to replace view.php, and edited Controller to show the right page --- Controllers/UserController.php | 2 +- Views/{account => user}/edit.php | 20 ++++++++------------ Views/user/view.php | 8 -------- 3 files changed, 9 insertions(+), 21 deletions(-) rename Views/{account => user}/edit.php (58%) delete mode 100644 Views/user/view.php diff --git a/Controllers/UserController.php b/Controllers/UserController.php index a959e80..4ea81b0 100644 --- a/Controllers/UserController.php +++ b/Controllers/UserController.php @@ -108,6 +108,6 @@ 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); } } diff --git a/Views/account/edit.php b/Views/user/edit.php similarity index 58% rename from Views/account/edit.php rename to Views/user/edit.php index 41fb170..f4c50ff 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 :

- -
- -
From 69417ff760fda7a96d9997e0ce941fecf1f4cf78 Mon Sep 17 00:00:00 2001 From: Capelier-Marla Date: Tue, 17 Jan 2023 15:20:11 +0100 Subject: [PATCH 2/3] form action redirected to /user/update --- Views/user/edit.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Views/user/edit.php b/Views/user/edit.php index f4c50ff..3f3579c 100644 --- a/Views/user/edit.php +++ b/Views/user/edit.php @@ -4,7 +4,7 @@ Se déconnecter -
+ From 19cf44bc0011340161d0ed05eb29a44975a02d31 Mon Sep 17 00:00:00 2001 From: Thomas Rubini <74205383+ThomasRubini@users.noreply.github.com> Date: Tue, 17 Jan 2023 15:53:15 +0100 Subject: [PATCH 3/3] Create /user/update route --- Controllers/UserController.php | 22 ++++++++++++++++++++++ Models/UserModel.php | 16 ++++++++++++++++ Views/user/edit.php | 2 +- 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/Controllers/UserController.php b/Controllers/UserController.php index 4ea81b0..d6a494b 100644 --- a/Controllers/UserController.php +++ b/Controllers/UserController.php @@ -110,4 +110,26 @@ final class UserController 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/user/edit.php b/Views/user/edit.php index 3f3579c..e025d0c 100644 --- a/Views/user/edit.php +++ b/Views/user/edit.php @@ -14,7 +14,7 @@ "> - +