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"
- );
-?>
-
Your account :
-Email : = $A_view["EMAIL"] ?>
-Name : = $A_view["USERNAME"] ?>
-Admin status : = $A_view["ADMIN"] ? "yes" : "no" ?>
- -