Spaces:
No application file
No application file
Download plugins/MauticFocusBundle/Controller/PublicController.php from chrisbryan17/mautic: direct link, hf CLI and curl.
- Browser
- Download file 2.43 kB
-
https://huggingface.co/spaces/chrisbryan17/mautic/resolve/main/plugins/MauticFocusBundle/Controller/PublicController.php
- Command line
-
hf download hf://spaces/chrisbryan17/mautic/plugins/MauticFocusBundle/Controller/PublicController.php
-
curl -L -o PublicController.php https://huggingface.co/spaces/chrisbryan17/mautic/resolve/main/plugins/MauticFocusBundle/Controller/PublicController.php
2.43 kB
| 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); | |
| } | |
| } | |