src/Aqarmap/Bundle/ListingBundle/EventListener/ListingSearchTriggerListener.php line 48
<?phpnamespace Aqarmap\Bundle\ListingBundle\EventListener;use Aqarmap\Bundle\ListingBundle\Event\SearchTriggerEvent;use Aqarmap\Bundle\ListingBundle\Event\SearchTriggerInterface;use Aqarmap\Bundle\UserBundle\Entity\User;use FOS\UserBundle\Event\UserEvent;use Symfony\Component\EventDispatcher\EventDispatcherInterface;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;use Symfony\Component\Security\Core\User\UserInterface;/*** Listing Search Trigger Listener.*/class ListingSearchTriggerListener implements EventSubscriberInterface{/** @var UserInterface */protected $user;/** @var TokenStorageInterface */private $tokenStorage;/** @var EventDispatcherInterface */protected $dispatcher;public function __construct(private readonly EventDispatcherInterface $eventDispatcher,TokenStorageInterface $tokenStorage,) {$this->dispatcher = $tokenStorage;$this->tokenStorage = $tokenStorage;$this->user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;}public function listingSearchEvent(SearchTriggerInterface $event): void{$this->updateUserImperssion();}/*** Update User Impression.*/protected function updateUserImperssion(): void{if ($this->user instanceof User) {try {$this->eventDispatcher->dispatch(new UserEvent($this->user), 'aqarmap.listing.user.search');} catch (\Exception $e) {/** @var UserInterface $this- >user */if ($this->user && $this->user->hasRole('ROLE_ADMIN')) {$this->logger->error('Search Listener: '.$e->getMessage());}}}}public static function getSubscribedEvents(): array{return [SearchTriggerEvent::EVENT_NAME => 'listingSearchEvent',];}}