Skip to content
Snippets Groups Projects
Commit a779e520 authored by Elise's avatar Elise
Browse files

add template to modify an user

parent 3ecce541
No related branches found
No related tags found
No related merge requests found
<?php
declare(strict_types=1);
namespace App\Application\Actions\User;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use App\Domain\User\User ;
use DateTime;
class ModifyUserAction extends UserAction
{
/**
* {@inheritdoc}
*/
protected function action(): Response
{
$parsedRequestBody = (array)$this->request->getParsedBody();
$id = $this->checkvalue($parsedRequestBody['id']);
$username = $this->checkvalue($parsedRequestBody['username']);
$firstname = $this->checkvalue($parsedRequestBody['firstname']);
$lastname = $this->checkvalue($parsedRequestBody['lastname']);
$mail = $this->checkvalue($parsedRequestBody['mail']);
$password = $this->checkvalue($parsedRequestBody['password']);
$confirmPassword = $this->checkvalue($parsedRequestBody['confirmpassword']);
if ($password != $confirmPassword) {
return $this->twig->render(
$this->response, "/user/modify_user.twig",
array(
"username" => $username,
"firstname" => $firstname,
"lastname" => $lastname,
"mail" => $mail,
"password" => null,
"confirmpassword" => null,
"password_message" => "Passwords don't match",
"password_formstatus" => true,
"formstatus" => "error"
)
);
}
$password = password_hash($password, PASSWORD_DEFAULT);
$user = new User(null, $username, $firstname, $lastname, $mail, 0, null, $password, null);
$this->em->find('User', $id);
$this->em->flush();
$this->logger->info("Your account has been changed.");
return $this->twig->render(
$this->response, "/user/user_profile.twig",
["user" => $user, "id" => $user->getId()]
);
}
/**
* Remove html chars
* @return string
*/
protected function checkValue($value): string
{
$value = strip_tags($value);
$value = htmlspecialchars_decode($value);
return $value;
}
}
{% extends 'common/layout.twig' %}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment