![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/plugins/MauticFocusBundle/Controller/ |
<?php namespace MauticPlugin\MauticFocusBundle\Controller; use Mautic\CoreBundle\Controller\CommonController; use Mautic\CoreBundle\Helper\TrackingPixelHelper; use Mautic\LeadBundle\Tracker\ContactTracker; use MauticPlugin\MauticFocusBundle\Entity\Stat; use MauticPlugin\MauticFocusBundle\Event\FocusViewEvent; use MauticPlugin\MauticFocusBundle\FocusEvents; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; class PublicController extends CommonController { /** * @return array|\Symfony\Component\HttpFoundation\JsonResponse|\Symfony\Component\HttpFoundation\RedirectResponse|Response */ public function generateAction($id) { // Don't store a visitor with this request defined('MAUTIC_NON_TRACKABLE_REQUEST') || define('MAUTIC_NON_TRACKABLE_REQUEST', 1); /** @var \MauticPlugin\MauticFocusBundle\Model\FocusModel $model */ $model = $this->getModel('focus'); $focus = $model->getEntity($id); if ($focus) { if (!$focus->isPublished()) { return new Response('', 200, ['Content-Type' => 'application/javascript']); } $content = $model->generateJavascript($focus, false, MAUTIC_ENV == 'dev'); return new Response($content, 200, ['Content-Type' => 'application/javascript']); } else { return new Response('', 200, ['Content-Type' => 'application/javascript']); } } /** * @return Response */ public function viewPixelAction(Request $request, ContactTracker $contactTracker) { $id = $request->get('id', false); if ($id) { /** @var \MauticPlugin\MauticFocusBundle\Model\FocusModel $model */ $model = $this->getModel('focus'); $focus = $model->getEntity($id); $lead = $contactTracker->getContact(); if ($focus && $focus->isPublished() && $lead) { $stat = $model->addStat($focus, Stat::TYPE_NOTIFICATION, $request, $lead); if ($stat && $this->dispatcher->hasListeners(FocusEvents::FOCUS_ON_VIEW)) { $event = new FocusViewEvent($stat); $this->dispatcher->dispatch($event, FocusEvents::FOCUS_ON_VIEW); unset($event); } } } return TrackingPixelHelper::getResponse($request); } }