/**
  * Render add the css rules as inline styles.
  *
  * @param RenderMessageEvent $event
  *
  * @return PreRenderedMessageTemplateInterface
  * @SuppressWarnings(PHPMD.LongVariable)
  */
 public function renderMessage(RenderMessageEvent $event)
 {
     if (!$event->getLayout()->getCssToInline()) {
         return;
     }
     $content = $event->getPreRenderedMessageTemplate()->getContent();
     $libxmlUseInternalErrors = libxml_use_internal_errors(true);
     $document = new \DOMDocument('1.0', 'UTF-8');
     $document->formatOutput = true;
     $document->loadHTML($content);
     $xpath = new \DOMXPath($document);
     $styles = $xpath->query('/html/head/style');
     for ($i = 0; $i < $styles->length; $i++) {
         if ($i != 0) {
             $style = $styles->item($i);
             $inlineStyle = $style;
             $style->parentNode->removeChild($style);
         }
     }
     $content = $document->saveHTML();
     $htmlInStyle = new CssToInlineStyles($content, $inlineStyle->textContent);
     $content = $htmlInStyle->convert();
     $content = str_replace(array('%5B', '%5D', '%7B', '%7D', '%20'), array('[', ']', '{', '}', ' '), $content);
     $content = preg_replace_callback('~\\{%.*%\\}~U', function ($matches) {
         return html_entity_decode($matches[0], ENT_QUOTES, 'UTF-8');
     }, $content);
     $content = preg_replace_callback('~##.*##~U', function ($matches) {
         return html_entity_decode($matches[0], ENT_QUOTES, 'UTF-8');
     }, $content);
     $event->getPreRenderedMessageTemplate()->setContent($content);
     libxml_use_internal_errors($libxmlUseInternalErrors);
     return;
 }
 /**
  * @param RenderMessageEvent $event
  *
  * @throws \Exception
  * @SuppressWarnings(PHPMD.LongVariables)
  */
 public function renderMessage(RenderMessageEvent $event)
 {
     if ($event->getPreRenderedMessageTemplate()) {
         return;
     }
     $message = $event->getMessage();
     $layout = $event->getLayout();
     if ($layout->getType() != 'mailChimp') {
         return;
     }
     $blueprintRenderer = new BlueprintRenderer();
     $preRenderedMessageTemplate = $blueprintRenderer->renderMessage($message, $layout);
     $event->setPreRenderedMessageTemplate($preRenderedMessageTemplate);
 }
 /**
  * @param RenderMessageEvent $event
  * @SuppressWarnings(PHPMD.LongVariable)
  */
 public function renderMessage(RenderMessageEvent $event)
 {
     if ($event->getPreRenderedMessageTemplate()) {
         return;
     }
     global $container;
     /** @var \Avisota\Contao\Message\Core\Renderer\MessageRendererInterface $renderer */
     $renderer = $container['avisota.message.renderer'];
     $content = $renderer->renderCell($event->getMessage(), 'center', $event->getLayout());
     $preRenderedMessageTemplate = new MutablePreRenderedMessageTemplate($event->getMessage(), implode(PHP_EOL, $content));
     $event->setPreRenderedMessageTemplate($preRenderedMessageTemplate);
 }