/** * Set the value in the event. * * @param GetOperationButtonEvent $event The event being emitted. * * @param string $value The value returned by the callback. * * @return void */ public function update($event, $value) { if (is_null($value)) { return; } $event->setHtml($value); $event->stopPropagation(); }
/** * Check if we have to add the "Create variant" button. * * @param GetOperationButtonEvent $event The event. * * @return void */ public function createButton(GetOperationButtonEvent $event) { if ($event->getCommand()->getName() != 'createvariant') { return; } /** @var Model $model */ $model = $event->getModel(); $metamodel = $model->getItem()->getMetaModel(); if (!$metamodel->hasVariants() || $model->getProperty('varbase') === '0') { $event->setHtml(''); } }
/** * @param GetOperationButtonEvent $event */ public function prepareButton(GetOperationButtonEvent $event) { if ($event->getCommand()->getName() != 'ga_enabled') { return; } /** @var \Pimple $container */ global $container; /** @var SuperglobalsService $superGlobals */ $superGlobals = $container['avisota.superglobals']; /** @var EntityModel $model */ $model = $event->getModel(); /** @var Message $message */ $message = $model->getEntity(); if ($message->getGaEnable()) { $title = $message->getGaCampaign() ? $message->getGaCampaign() : $message->getSubject(); $title = sprintf($superGlobals->getLanguage('orm_avisota_message/ga_campain_title'), $title); $generateHtmlEvent = new GenerateHtmlEvent('assets/avisota/message-analytics-ga/images/analytics_icon.png', $title, sprintf('title="%s"', htmlentities($title, ENT_QUOTES, 'UTF-8'))); $event->getEnvironment()->getEventDispatcher()->dispatch(ContaoEvents::IMAGE_GET_HTML, $generateHtmlEvent); $event->setHtml($generateHtmlEvent->getHtml()); } else { $event->setHtml(''); } }