<?php
namespace App\EventListener;
use Symfony\Component\HttpKernel\Event\RequestEvent;
class UtmEventListener
{
public function onKernelRequest(RequestEvent $event)
{
if (!$event->isMainRequest()) {
return;
}
if (strpos($event->getRequest()->getQueryString(), 'utm') !== false) {
$event->getRequest()->getSession()->set('utm', $event->getRequest()->getQueryString());
}
$campaign = $event->getRequest()->query->get('utm_source', null);
$channel = trim($event->getRequest()->query->get('utm_medium', null));
if(isset($campaign)) {
$event->getRequest()->getSession()->set('utm_campaign', $campaign);
}
if(isset($channel)) {
$event->getRequest()->getSession()->set('utm_channel', $channel);
}
}
}