X-Git-Url: https://git.rapsys.eu/userbundle/blobdiff_plain/d3c0403000560ca0fd1b08fced1e043584bf4e54..830512510b2cc0d7d6aeab793bf63a250f00df9b:/Handler/AuthenticationFailureHandler.php?ds=sidebyside diff --git a/Handler/AuthenticationFailureHandler.php b/Handler/AuthenticationFailureHandler.php index d1c2a34..14d4dec 100644 --- a/Handler/AuthenticationFailureHandler.php +++ b/Handler/AuthenticationFailureHandler.php @@ -12,7 +12,14 @@ namespace Rapsys\UserBundle\Handler; use Doctrine\Persistence\ManagerRegistry; + use Psr\Log\LoggerInterface; + +use Rapsys\PackBundle\Util\SluggerUtil; + +use Rapsys\UserBundle\Exception\UnactivatedException; +use Rapsys\UserBundle\RapsysUserBundle; + use Symfony\Bridge\Twig\Mime\TemplatedEmail; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\RedirectResponse; @@ -35,19 +42,19 @@ use Symfony\Component\Security\Http\Authentication\DefaultAuthenticationFailureH use Symfony\Component\Security\Http\HttpUtils; use Symfony\Contracts\Translation\TranslatorInterface; -use Rapsys\PackBundle\Util\SluggerUtil; -use Rapsys\UserBundle\Exception\UnactivatedException; -use Rapsys\UserBundle\RapsysUserBundle; - /** * {@inheritdoc} */ class AuthenticationFailureHandler extends DefaultAuthenticationFailureHandler { + /** + * Alias string + */ + protected string $alias; + /** * Config array */ protected array $config; - protected array $options; protected array $defaultOptions = [ 'failure_path' => null, 'failure_forward' => false, @@ -56,36 +63,8 @@ class AuthenticationFailureHandler extends DefaultAuthenticationFailureHandler { ]; /** - * Doctrine instance - */ - protected ManagerRegistry $doctrine; - - /** - * MailerInterface - */ - protected MailerInterface $mailer; - - /** - * Router instance - */ - protected RouterInterface $router; - - /** - * Slugger instance - */ - protected SluggerUtil $slugger; - - /** - * RequestStack instance - */ - protected RequestStack $stack; - - /** - * Translator instance - */ - protected TranslatorInterface $translator; - - /** + * {@inheritdoc} + * * @xxx Second argument will be replaced by security.firewalls.main.logout.target * @see vendor/symfony/security-bundle/DependencyInjection/SecurityExtension.php +360 * @@ -100,33 +79,13 @@ class AuthenticationFailureHandler extends DefaultAuthenticationFailureHandler { * @param SluggerUtil $slugger The slugger instance * @param RequestStack $stack The stack instance * @param TranslatorInterface $translator The translator instance - * - * {@inheritdoc} */ - public function __construct(HttpKernelInterface $httpKernel, HttpUtils $httpUtils, array $options, LoggerInterface $logger, ContainerInterface $container, ManagerRegistry $doctrine, MailerInterface $mailer, RouterInterface $router, SluggerUtil $slugger, RequestStack $stack, TranslatorInterface $translator) { - //Set config - $this->config = $container->getParameter(self::getAlias()); - - //Set doctrine - $this->doctrine = $doctrine; - - //Set mailer - $this->mailer = $mailer; - - //Set router - $this->router = $router; - - //Set slugger - $this->slugger = $slugger; - - //Set stack - $this->stack = $stack; - - //Set translator - $this->translator = $translator; - + public function __construct(protected HttpKernelInterface $httpKernel, protected HttpUtils $httpUtils, protected array $options, protected ?LoggerInterface $logger, protected ContainerInterface $container, protected ManagerRegistry $doctrine, protected MailerInterface $mailer, protected RouterInterface $router, protected SluggerUtil $slugger, protected RequestStack $stack, protected TranslatorInterface $translator) { //Call parent constructor parent::__construct($httpKernel, $httpUtils, $options, $logger); + + //Set config + $this->config = $container->getParameter($this->alias = RapsysUserBundle::getAlias()); } /** @@ -149,9 +108,9 @@ class AuthenticationFailureHandler extends DefaultAuthenticationFailureHandler { } /** - * This is called when an interactive authentication attempt fails - * * {@inheritdoc} + * + * This is called when an interactive authentication attempt fails */ public function onAuthenticationFailure(Request $request, AuthenticationException $exception): Response { //With bad credential exception @@ -233,7 +192,7 @@ class AuthenticationFailureHandler extends DefaultAuthenticationFailureHandler { //With not enabled user } elseif ($parent instanceof DisabledException) { //Add error message account is not enabled - $this->addFlash('error', $this->translator->trans('Your account is not enabled')); + $this->addFlash('error', $this->translator->trans('Account not enabled', [], $this->alias)); //Redirect on the same route with sent=1 to cleanup form return new RedirectResponse($this->router->generate($request->get('_route'), $request->get('_route_params')), 302); @@ -292,7 +251,7 @@ class AuthenticationFailureHandler extends DefaultAuthenticationFailureHandler { } while(next($keys)); //Set translation - $current = $this->translator->trans($current); + $current = $this->translator->trans($current, [], $this->alias); //Remove reference unset($current); @@ -302,7 +261,8 @@ class AuthenticationFailureHandler extends DefaultAuthenticationFailureHandler { $context['subject'] = $subject = ucfirst( $this->translator->trans( $this->config['register']['mail']['subject'], - $this->slugger->flatten($context, null, '.', '%', '%') + $this->slugger->flatten($context, null, '.', '%', '%'), + $this->alias ) ); @@ -331,14 +291,14 @@ class AuthenticationFailureHandler extends DefaultAuthenticationFailureHandler { //Catch obvious transport exception } catch(TransportExceptionInterface $e) { //Add error message mail unreachable - $this->addFlash('error', $this->translator->trans('Unable to reach account')); + $this->addFlash('error', $this->translator->trans('Unable to reach account', [], $this->alias)); } //Add notice - $this->addFlash('notice', $this->translator->trans('Your verification mail has been sent, to activate your account you must follow the confirmation link inside')); + $this->addFlash('notice', $this->translator->trans('Your verification mail has been sent, to activate your account follow the confirmation link inside', [], $this->alias)); //Add junk warning - $this->addFlash('warning', $this->translator->trans('If you did not receive a verification mail, check your Spam or Junk mail folders')); + $this->addFlash('warning', $this->translator->trans('If you did not receive a verification mail, check your Spam or Junk mail folder', [], $this->alias)); //Redirect on the same route with sent=1 to cleanup form return new RedirectResponse($this->router->generate($request->get('_route'), $request->get('_route_params')), 302); @@ -348,11 +308,4 @@ class AuthenticationFailureHandler extends DefaultAuthenticationFailureHandler { //Call parent function return parent::onAuthenticationFailure($request, $exception); } - - /** - * {@inheritdoc} - */ - public function getAlias(): string { - return RapsysUserBundle::getAlias(); - } }