src/ProPneu/Service/MetierManagerBundle/EventListener/PpLoginListener.php line 31

Open in your IDE?
  1. <?php
  2. namespace App\ProPneu\Service\MetierManagerBundle\EventListener;
  3. use App\ProPneu\Service\MetierManagerBundle\Utils\ServiceName;
  4. use Symfony\Component\DependencyInjection\ContainerInterface;
  5. use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
  6. /**
  7.  * Class PpLoginListener
  8.  * @package App\ProPneu\Service\MetierManagerBundle\EventListener
  9.  */
  10. class PpLoginListener
  11. {
  12.     private $_container;
  13.     /**
  14.      * PpLoginListener constructor.
  15.      * @param ContainerInterface $_container
  16.      */
  17.     public function __construct(ContainerInterface $_container)
  18.     {
  19.         $this->_container $_container;
  20.     }
  21.     /**
  22.      * @param InteractiveLoginEvent $_event
  23.      * @throws \Exception
  24.      */
  25.     public function onSecurityInteractiveLogin(InteractiveLoginEvent $_event)
  26.     {
  27.         $_timezone      $_event->getRequest()->request->get('_timezone') ?? 0;
  28.         $_event->getAuthenticationToken()->setAttribute('_timezone',$_timezone);
  29.         $_user          $_event->getAuthenticationToken()->getUser();
  30.         $_utils_manager $this->_container->get(ServiceName::SRV_METIER_UTILS);
  31.         $_user_agent    $_event->getRequest()->headers->get('user-agent');
  32.         $_browser       $_utils_manager->getBrowser($_user_agent);
  33.         $_os            $_utils_manager->getOS($_user_agent);
  34.         $this->_container->get(ServiceName::SRV_METIER_USER)->saveConnexionHistory($_user$_browser$_os$_timezone);
  35.     }
  36. }