Commit 95b726c9 authored by Alan Sherry's avatar Alan Sherry
Browse files

Issue #3254261: HTML text filtered out twice

parent e87f8697
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3,4 +3,4 @@ services:
    class: Drupal\nodeify\MessageHandler
    calls:
      - [setContainer, ['@service_container']]
    arguments: ['@token', '@entity_type.manager', '@messenger']
    arguments: ['@token', '@entity_type.manager', '@messenger', '@renderer']
+13 −5
Original line number Diff line number Diff line
@@ -2,10 +2,12 @@

namespace Drupal\nodeify;

use Drupal\Component\Render\FormattableMarkup;
use Drupal\Core\DependencyInjection\DependencySerializationTrait;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Messenger\MessengerInterface;
use Drupal\Core\Render\RendererInterface;
use Drupal\Core\Utility\Token;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerAwareTrait;
@@ -22,22 +24,28 @@ class MessageHandler implements ContainerAwareInterface {
  protected $tokenUtility;

  /**
   * @var EntityTypeManagerInterface
   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
   */
  protected $entityTypeManager;

  /**
   * @var MessengerInterface
   * @var \Drupal\Core\Messenger\MessengerInterface
   */
  protected $messenger;

  /**
   * @var \Drupal\Core\Render\RendererInterface
   */
  protected $renderer;

  /**
   * {@inheritdoc}
   */
  public function __construct(Token $token_utility, EntityTypeManagerInterface $entity_type_manager, MessengerInterface $messenger) {
  public function __construct(Token $token_utility, EntityTypeManagerInterface $entity_type_manager, MessengerInterface $messenger, RendererInterface $renderer) {
    $this->tokenUtility = $token_utility;
    $this->entityTypeManager = $entity_type_manager;
    $this->messenger = $messenger;
    $this->renderer = $renderer;
  }

  /**
@@ -90,7 +98,7 @@ class MessageHandler implements ContainerAwareInterface {
    }

    if ($replacement) {
      $this->messenger->addStatus($replacement);
      $this->messenger->addStatus(new FormattableMarkup($replacement, []));
    }
  }

@@ -179,7 +187,7 @@ class MessageHandler implements ContainerAwareInterface {
      '#template' => $text,
      '#context' => $data,
    ];
    $text = \Drupal::service('renderer')->renderPlain($element);
    $text = $this->renderer->render($element);
    return $this->tokenUtility->replace($text->__toString(), $data);
  }
}