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;
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
*/
];
/**
+ * {@inheritdoc}
+ *
* @xxx Second argument will be replaced by security.firewalls.main.logout.target
* @see vendor/symfony/security-bundle/DependencyInjection/SecurityExtension.php +360
*
* @param SluggerUtil $slugger The slugger instance
* @param RequestStack $stack The stack instance
* @param TranslatorInterface $translator The translator instance
- *
- * {@inheritdoc}
*/
- 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) {
+ 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(self::getAlias());
+ $this->config = $container->getParameter($this->alias = RapsysUserBundle::getAlias());
}
/**
}
/**
- * 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
//With not enabled user
} elseif ($parent instanceof DisabledException) {
//Add error message account is not enabled
- $this->addFlash('error', $this->translator->trans('Account 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);
} while(next($keys));
//Set translation
- $current = $this->translator->trans($current);
+ $current = $this->translator->trans($current, [], $this->alias);
//Remove reference
unset($current);
$context['subject'] = $subject = ucfirst(
$this->translator->trans(
$this->config['register']['mail']['subject'],
- $this->slugger->flatten($context, null, '.', '%', '%')
+ $this->slugger->flatten($context, null, '.', '%', '%'),
+ $this->alias
)
);
//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 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 folder'));
+ $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);
//Call parent function
return parent::onAuthenticationFailure($request, $exception);
}
-
- /**
- * {@inheritdoc}
- */
- public function getAlias(): string {
- return RapsysUserBundle::getAlias();
- }
}