<?php
namespace App\EventListener;
use Twig\Environment;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\RouterInterface;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
class MaintenanceListener
{
private $twig;
private $maintenanceMode;
private $authorizationChecker;
private $tokenStorage;
public function __construct(Environment $twig,AuthorizationCheckerInterface $authorizationChecker, TokenStorageInterface $tokenStorage,bool $maintenanceMode = false,)
{
$this->twig = $twig;
$this->tokenStorage = $tokenStorage;
$this->maintenanceMode = $maintenanceMode;
$this->authorizationChecker = $authorizationChecker;
}
public function onKernelRequest(RequestEvent $event)
{
// if ($this->authorizationChecker->isGranted('ROLE_CLIENT')) {
// $this->tokenStorage->setToken(null);
// $template = $this->renderMaintenanceTemplate();
// $event->setResponse(new Response($template));
// }
}
private function renderMaintenanceTemplate(): string
{
return $this->twig->render('maintenance/maintenance.html.twig');
}
}