src/EventListener/LogoutListener.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Entity\AccessControl\AccessUser;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use Symfony\Component\Security\Http\Event\LogoutEvent;
  6. class LogoutListener
  7. {
  8.     private EntityManagerInterface $entityManager;
  9.     public function __construct(EntityManagerInterface $entityManager)
  10.     {
  11.         $this->entityManager $entityManager;
  12.     }
  13.     public function onLogout(LogoutEvent $event): void
  14.     {
  15.         $token $event->getToken();
  16.         if ($token) {
  17.             $user $token->getUser();
  18.             if ($user instanceof AccessUser && $user->isVerified()) {
  19.                 $user->setIsVerified(false);
  20.                 $this->entityManager->flush();
  21.             }
  22.         }
  23.     }
  24. }