chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
<?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);
}
}