vendor/pimcore/customer-management-framework-bundle/src/Event/Frontend/UrlActivityTracker.php line 46

Open in your IDE?
  1. <?php
  2. /**
  3.  * Pimcore
  4.  *
  5.  * This source file is available under two different licenses:
  6.  * - GNU General Public License version 3 (GPLv3)
  7.  * - Pimcore Commercial License (PCL)
  8.  * Full copyright and license information is available in
  9.  * LICENSE.md which is distributed with this source code.
  10.  *
  11.  *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.org)
  12.  *  @license    http://www.pimcore.org/license     GPLv3 and PCL
  13.  */
  14. namespace CustomerManagementFrameworkBundle\Event\Frontend;
  15. use Pimcore\Bundle\CoreBundle\EventListener\Traits\PimcoreContextAwareTrait;
  16. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  17. use Symfony\Component\HttpKernel\Event\RequestEvent;
  18. use Symfony\Component\HttpKernel\KernelEvents;
  19. class UrlActivityTracker implements EventSubscriberInterface
  20. {
  21.     use PimcoreContextAwareTrait;
  22.     protected $allreadyTracked false;
  23.     /**
  24.      * @inheritDoc
  25.      *
  26.      * @return array<string, string>
  27.      */
  28.     public static function getSubscribedEvents()//: array
  29.     {
  30.         return [
  31.             KernelEvents::REQUEST => 'onKernelRequest',
  32.         ];
  33.     }
  34.     /**
  35.      * Checks for request params cmfa + cmfc and tracks activity if needed
  36.      *
  37.      * @param RequestEvent $event
  38.      */
  39.     public function onKernelRequest(RequestEvent $event)
  40.     {
  41.         if (!\Pimcore::getContainer()->getParameter('pimcore_customer_management_framework.url_activity_tracker.enabled')) {
  42.             return;
  43.         }
  44.         if ($this->allreadyTracked) {
  45.             return;
  46.         }
  47.         $request $event->getRequest();
  48.         if (!$request->get('cmfa') || !$request->get('cmfc')) {
  49.             return;
  50.         }
  51.         \Pimcore::getContainer()->get('cmf.activity_url_tracker')->trackActivity(
  52.             $request->get('cmfc'),
  53.             $request->get('cmfa'),
  54.             $request->request->all()
  55.         );
  56.         $this->allreadyTracked true;
  57.     }
  58. }