src/EventSubscriber/LoginSubscriber.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Symfony\Component\Security\Http\Event\LoginSuccessEvent;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use App\Entity\Connexion;
  7. class LoginSubscriber implements EventSubscriberInterface
  8. {
  9.     private $em;
  10.     public function __construct(EntityManagerInterface $em)
  11.     {
  12.         $this->em $em;
  13.     }
  14.     public function onLoginSuccessEvent(LoginSuccessEvent $event)
  15.     {
  16.         if (($event->getRequest()->getPathInfo() == "/api/login_check") || ($event->getRequest()->getPathInfo() == "/login")) {
  17.             $connexion = new Connexion;
  18.             $connexion->setUser($event->getUser());
  19.             $connexion->setDtConnexion(new \DateTime());
  20.             $this->em->persist($connexion);
  21.             $this->em->flush();
  22.         }
  23.     }
  24.     public static function getSubscribedEvents()
  25.     {
  26.         return [
  27.             LoginSuccessEvent::class => 'onLoginSuccessEvent',
  28.         ];
  29.     }
  30. }