<?php
namespace App\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Security\Http\Event\LoginSuccessEvent;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\Connexion;
class LoginSubscriber implements EventSubscriberInterface
{
private $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
public function onLoginSuccessEvent(LoginSuccessEvent $event)
{
if (($event->getRequest()->getPathInfo() == "/api/login_check") || ($event->getRequest()->getPathInfo() == "/login")) {
$connexion = new Connexion;
$connexion->setUser($event->getUser());
$connexion->setDtConnexion(new \DateTime());
$this->em->persist($connexion);
$this->em->flush();
}
}
public static function getSubscribedEvents()
{
return [
LoginSuccessEvent::class => 'onLoginSuccessEvent',
];
}
}