Create /user/update route

This commit is contained in:
Thomas Rubini 2023-01-17 15:53:15 +01:00
parent 69417ff760
commit 19cf44bc00
No known key found for this signature in database
GPG Key ID: C7D287C8C1CAC373
3 changed files with 39 additions and 1 deletions

View File

@ -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");
}
}

View File

@ -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();
}
}

View File

@ -14,7 +14,7 @@
<label for="email">Changer d'e-mail&nbsp;</label>
<input type="email" name="email" id="email" placeholder="<?= $A_view["EMAIL"] ?>">
<button type="button">Enregistrer</button>
<input type="submit" value="Enregistrer">
</form>
<hr>