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 @@ "> - +