/**
  * 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();
 }
Esempio n. 2
0
 /**
  * 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('');
     }
 }