From 0f0bcd37bd79944643d406eb3872fbf0b4e75628 Mon Sep 17 00:00:00 2001
From: Caspar Dunant
Date: Tue, 23 May 2017 13:41:07 +0200
Subject: Issue #2880617 by SpadXIII: Menu items are double escaped

---
 src/Controller/DomainTraversal.php                | 6 +++---
 src/Plugin/Derivative/DomainTraversalMenuLink.php | 3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/Controller/DomainTraversal.php b/src/Controller/DomainTraversal.php
index 60d42c7..c8bbfe4 100644
--- a/src/Controller/DomainTraversal.php
+++ b/src/Controller/DomainTraversal.php
@@ -247,13 +247,13 @@ class DomainTraversal extends ControllerBase {
    * Create a secret string.
    *
    * @param \Drupal\user\Entity\User $account
-   * @param string $domain_name
+   * @param string $domain_id
    * @param int $timestamp
    *
    * @return string
    */
-  protected function secretKey($account, $domain_name, $timestamp) {
-    return Crypt::hmacBase64($timestamp . $account->id(), Settings::getHashSalt() . $domain_name . $account->getPassword());
+  protected function secretKey($account, $domain_id, $timestamp) {
+    return Crypt::hmacBase64($timestamp . $account->id(), Settings::getHashSalt() . $domain_id . $account->getPassword());
   }
 
   /**
diff --git a/src/Plugin/Derivative/DomainTraversalMenuLink.php b/src/Plugin/Derivative/DomainTraversalMenuLink.php
index 1f16573..b6c6406 100644
--- a/src/Plugin/Derivative/DomainTraversalMenuLink.php
+++ b/src/Plugin/Derivative/DomainTraversalMenuLink.php
@@ -5,6 +5,7 @@ namespace Drupal\domain_traversal\Plugin\Derivative;
 use Drupal\Component\Plugin\Derivative\DeriverBase;
 use Drupal\Core\Entity\EntityStorageInterface;
 use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
+use Drupal\Core\Render\Markup;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -48,7 +49,7 @@ class DomainTraversalMenuLink extends DeriverBase implements ContainerDeriverInt
       }
 
       $args = [
-        '@domain_name' => $domain->get('name'),
+        '@domain_name' => Markup::create($domain->get('name')),
         '@domain_hostname' => $domain->getPath(),
       ];
 
-- 
cgit v1.1

