Advertisement
CompelX

Untitled

Dec 8th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. <?php
  2.  
  3. namespace PMB\UserBundle\Listener;
  4. use PMB\UserBundle\Entity\UserLogs;
  5.  
  6.  
  7. class ListenerLogs
  8. {
  9. protected $doctrine;
  10.  
  11. public function __construct(\Doctrine\ORM\EntityManager $doctrine)
  12. {
  13. $this->doctrine = $doctrine;
  14. }
  15.  
  16. /**
  17. * Record login actions to LogsLogin
  18. * @param InteractiveLoginEvent $event
  19. */
  20. public function onLogin(\Symfony\Component\Security\Http\Event\InteractiveLoginEvent $event)
  21. {
  22. $user = $event->getAuthenticationToken()->getUser();
  23.  
  24. if($user instanceof Partner)
  25. {
  26. $userLogs = new UserLogs();
  27. $userLogs->setDateConnexion(new \DateTime('now'));
  28. $userLogs->setIpAddress($event->getRequest()->getClientIp());
  29. $em = $this->doctrine->getManager();
  30. $em->persist($userLogs);
  31. $em->flush();
  32. }
  33. }
  34. }
  35.  
  36.  
  37.  
  38.  
  39.  
  40. SERVICE :
  41.  
  42.  
  43. pmb.numeric.listener_logs:
  44. class: PMB\UserBundle\Listener\ListenerLogs
  45. arguments: ['@doctrine.orm.entity_manager']
  46. tags:
  47. - { name: kernel.event_listener, event: security.interactive_login, method: onLogin }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement