<?php
namespace App\Controller;
use App\Entity\User;
use Doctrine\Persistence\ManagerRegistry;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Security;
class PageController extends BaseController
{
/**
* @Route("/", name="index")
*/
public function index(Security $security)
{
$user = $security->getUser();
if($user == null){
return $this->redirectToRoute('app_login');
}else{
return $this->redirectToRoute('account_dashboard');
}
}
/**
* @Route("/mot-de-passe-oublie", name="forgot_password")
* @param Request $request
*/
public function forgot_password(Request $request, Security $security)
{
$user = $security->getUser();
if($user != null){
return $this->redirectToRoute('account_dashboard');
}
$seo = [
'title' => 'Mot de passe oublié ? - Emys Sodiclair',
'description' => '',
'keywords' => ''
];
return $this->generateTemplate('forgot_password', [
'seo' => $seo
]);
}
/**
* @Route("/reinitialisation-mot-de-passe/{token}", name="forgot_password_reset")
* @param Request $request
*/
public function forgot_password_reset(Request $request, Security $security, $token,ManagerRegistry $doctrine)
{
$user = $doctrine->getManager()->getRepository(User::class)->findOneBy([
'forgot_token' => $token
]);
if($user == null){
return $this->redirectToRoute('forgot_password');
}
$datetime_forget = $user->getForgotTime();
$datetime_now = new \DateTime('NOW');
if($datetime_now > $datetime_forget){
return $this->redirectToRoute('forgot_password');
}
$seo = [
'title' => 'Réinitialisation de votre de passe - Emys Sodiclair',
'description' => '',
'keywords' => ''
];
return $this->generateTemplate('reset_password', [
'seo' => $seo,
'reset_token' => $token
]);
}
}