src/EventListener/UserActivityListener.php line 32

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Repository\UserActivityRepository;
  4. use Symfony\Component\HttpKernel\Event\RequestEvent;
  5. use Symfony\Component\Security\Core\Security;
  6. use Kematjaya\UserBundle\Entity\KmjUser;
  7. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  8. /**
  9.  * Description of UserActivityListener
  10.  *
  11.  * @author apple
  12.  */
  13. class UserActivityListener 
  14. {
  15.     
  16.     private Security $security;
  17.     
  18.     private UserActivityRepository $userActivityRepository;
  19.     
  20.     private ParameterBagInterface $parameterBag;
  21.     
  22.     public function __construct(Security $securityParameterBagInterface $parameterBagUserActivityRepository $userActivityRepository
  23.     {
  24.         $this->parameterBag $parameterBag;
  25.         $this->security $security;
  26.         $this->userActivityRepository $userActivityRepository;
  27.     }
  28.     
  29.     public function onKernelRequest(RequestEvent $event):void
  30.     {
  31.         if (false === $event->isMainRequest()) {
  32.             return;
  33.         }
  34.         
  35.         if (in_array($event->getRequest()->attributes->get("_route"), $this->parameterBag->get("log_exclude_path"))) {
  36.             return;
  37.         }
  38.         
  39.         if (!$this->security->getUser() instanceof KmjUser) {
  40.             return;
  41.         }
  42.         
  43.         $this->userActivityRepository->createFromRequest($event->getRequest(), $this->security->getUser());
  44.     }
  45. }