![]() 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/app/bundles/CampaignBundle/EventListener/ |
<?php namespace Mautic\CampaignBundle\EventListener; use Mautic\CampaignBundle\Model\CampaignModel; use Mautic\CampaignBundle\Model\EventModel; use Mautic\DashboardBundle\Event\WidgetDetailEvent; use Mautic\DashboardBundle\EventListener\DashboardSubscriber as MainDashboardSubscriber; class DashboardSubscriber extends MainDashboardSubscriber { /** * Define the name of the bundle/category of the widget(s). * * @var string */ protected $bundle = 'campaign'; /** * Define the widget(s). * * @var string */ protected $types = [ 'events.in.time' => [], 'leads.added.in.time' => [], ]; /** * Define permissions to see those widgets. * * @var array */ protected $permissions = [ 'campaign:campaigns:viewown', 'campaign:campaigns:viewother', ]; public function __construct( protected CampaignModel $campaignModel, protected EventModel $campaignEventModel ) { } /** * Set a widget detail when needed. */ public function onWidgetDetailGenerate(WidgetDetailEvent $event): void { $this->checkPermissions($event); $canViewOthers = $event->hasPermission('campaign:campaigns:viewother'); if ('events.in.time' == $event->getType()) { $widget = $event->getWidget(); $params = $widget->getParams(); if (!$event->isCached()) { $event->setTemplateData([ 'chartType' => 'line', 'chartHeight' => $widget->getHeight() - 80, 'chartData' => $this->campaignEventModel->getEventLineChartData( $params['timeUnit'], $params['dateFrom'], $params['dateTo'], $params['dateFormat'], [], $canViewOthers ), ]); } $event->setTemplate('@MauticCore/Helper/chart.html.twig'); $event->stopPropagation(); } if ('leads.added.in.time' == $event->getType()) { $widget = $event->getWidget(); $params = $widget->getParams(); if (!$event->isCached()) { $event->setTemplateData([ 'chartType' => 'line', 'chartHeight' => $widget->getHeight() - 80, 'chartData' => $this->campaignModel->getLeadsAddedLineChartData( $params['timeUnit'], $params['dateFrom'], $params['dateTo'], $params['dateFormat'], [], $canViewOthers ), ]); } $event->setTemplate('@MauticCore/Helper/chart.html.twig'); $event->stopPropagation(); } } }