<?php
namespace App\EventListener;
use App\Entity\AccessControl\AccessUser;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Security\Http\Event\LogoutEvent;
class LogoutListener
{
private EntityManagerInterface $entityManager;
public function __construct(EntityManagerInterface $entityManager)
{
$this->entityManager = $entityManager;
}
public function onLogout(LogoutEvent $event): void
{
$token = $event->getToken();
if ($token) {
$user = $token->getUser();
if ($user instanceof AccessUser && $user->isVerified()) {
$user->setIsVerified(false);
$this->entityManager->flush();
}
}
}
}