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

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.     public static function getSubscribedEvents()
  27.     {
  28.         return [
  29.             KernelEvents::REQUEST => 'onKernelRequest',
  30.         ];
  31.     }
  32.     /**
  33.      * Checks for request params cmfa + cmfc and tracks activity if needed
  34.      *
  35.      * @param RequestEvent $event
  36.      */
  37.     public function onKernelRequest(RequestEvent $event)
  38.     {
  39.         if (!\Pimcore::getContainer()->getParameter('pimcore_customer_management_framework.url_activity_tracker.enabled')) {
  40.             return;
  41.         }
  42.         if ($this->allreadyTracked) {
  43.             return;
  44.         }
  45.         $request $event->getRequest();
  46.         if (!$request->get('cmfa') || !$request->get('cmfc')) {
  47.             return;
  48.         }
  49.         \Pimcore::getContainer()->get('cmf.activity_url_tracker')->trackActivity(
  50.             $request->get('cmfc'),
  51.             $request->get('cmfa'),
  52.             $request->request->all()
  53.         );
  54.         $this->allreadyTracked true;
  55.     }
  56. }