From 292c520e2ad8262c89274a09c1c223725bb293d2 Mon Sep 17 00:00:00 2001
From: Igor Melnikov <imelnikov@ebay.com>
Date: Tue, 12 Jul 2016 22:58:32 -0500
Subject: [PATCH] MAGETWO-54849: Refactor \Magento\Framework\Url::escape to use
 \Magento\Framework\Escaper::escapeUrl

Refactoring Url class
---
 .../Framework/Test/Unit/EscaperTest.php       |  2 +-
 lib/internal/Magento/Framework/Url.php        | 50 +++++++------------
 .../Framework/Url/RouteParamsResolver.php     | 17 +++----
 3 files changed, 24 insertions(+), 45 deletions(-)

diff --git a/lib/internal/Magento/Framework/Test/Unit/EscaperTest.php b/lib/internal/Magento/Framework/Test/Unit/EscaperTest.php
index 915d3dffe4e..7348537c326 100644
--- a/lib/internal/Magento/Framework/Test/Unit/EscaperTest.php
+++ b/lib/internal/Magento/Framework/Test/Unit/EscaperTest.php
@@ -5,8 +5,8 @@
  */
 namespace Magento\Framework\Test\Unit;
 
-use \Magento\Framework\Escaper;
 use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
+use Magento\Framework\Escaper;
 
 /**
  * \Magento\Framework\Escaper test case
diff --git a/lib/internal/Magento/Framework/Url.php b/lib/internal/Magento/Framework/Url.php
index f1edf827ed5..a4bd3dd2ecc 100644
--- a/lib/internal/Magento/Framework/Url.php
+++ b/lib/internal/Magento/Framework/Url.php
@@ -221,20 +221,6 @@ class Url extends \Magento\Framework\DataObject implements \Magento\Framework\Ur
         parent::__construct($data);
     }
 
-    /**
-     * @param void
-     * @return Escaper
-     */
-    private function getEscaper()
-    {
-        if ($this->escaper === null) {
-            $this->escaper =
-                \Magento\Framework\App\ObjectManager::getInstance()
-                    ->get(\Magento\Framework\ZendEscaper::class);
-        }
-        return $this->escaper;
-    }
-
     /**
      * Initialize object data from retrieved url
      *
@@ -918,27 +904,8 @@ class Url extends \Magento\Framework\DataObject implements \Magento\Framework\Ur
          */
         if ($query !== null) {
             if (is_string($query)) {
-                /*
-                if (!empty($query)) {
-                    $parts = explode('=', $query);
-                    $query = implode(
-                        '=',
-                        [
-                            $this->getEscaper()->escapeUrl($parts[0]),
-                            $this->getEscaper()->escapeUrl($parts[1])
-                        ]
-                    );
-                }*/
                 $this->_setQuery($query);
             } elseif (is_array($query)) {
-                /*
-                if (count($query)) {
-                    foreach ($query as $key => $value) {
-                        unset($query[$key]);
-                        $query[$this->getEscaper()->escapeUrl($key)] = $this->getEscaper()->escapeUrl($value);
-                    }
-                }
-                */
                 $this->addQueryParams($query, !empty($routeParams['_current']));
             }
             if ($query === false) {
@@ -1024,6 +991,7 @@ class Url extends \Magento\Framework\DataObject implements \Magento\Framework\Ur
      *
      * @param string $value
      * @return string
+     * @deprecated
      */
     public function escape($value)
     {
@@ -1194,4 +1162,20 @@ class Url extends \Magento\Framework\DataObject implements \Magento\Framework\Ur
 
         return $this->urlModifier;
     }
+
+    /**
+     * Get escaper
+     *
+     * @param void
+     * @return Escaper
+     * @deprecated
+     */
+    private function getEscaper()
+    {
+        if ($this->escaper == null) {
+            $this->escaper = \Magento\Framework\App\ObjectManager::getInstance()
+                    ->get(\Magento\Framework\ZendEscaper::class);
+        }
+        return $this->escaper;
+    }
 }
diff --git a/lib/internal/Magento/Framework/Url/RouteParamsResolver.php b/lib/internal/Magento/Framework/Url/RouteParamsResolver.php
index d3493f19c2e..61dec6f4a18 100644
--- a/lib/internal/Magento/Framework/Url/RouteParamsResolver.php
+++ b/lib/internal/Magento/Framework/Url/RouteParamsResolver.php
@@ -96,14 +96,7 @@ class RouteParamsResolver extends \Magento\Framework\DataObject implements Route
                     $data[$this->getEscaper()->escapeUrl($key)] = $this->getEscaper()->escapeUrl($value);
                 }
                 foreach ($this->request->getQuery() as $key => $value) {
-//                    $this->queryParamsResolver->setQueryParam(
-//                        $this->getEscaper()->escapeUrl($key),
-//                        $this->getEscaper()->escapeUrl($value)
-//                    );
-                    $this->queryParamsResolver->setQueryParam(
-                        $key,
-                        $value
-                    );
+                    $this->queryParamsResolver->setQueryParam($key, $value);
                 }
             }
             unset($data['_current']);
@@ -155,14 +148,16 @@ class RouteParamsResolver extends \Magento\Framework\DataObject implements Route
     }
 
     /**
+     * Get escaper
+     *
      * @param void
      * @return \Magento\Framework\ZendEscaper
+     * @deprecated
      */
     private function getEscaper()
     {
-        if ($this->escaper === null) {
-            $this->escaper =
-                \Magento\Framework\App\ObjectManager::getInstance()
+        if ($this->escaper == null) {
+            $this->escaper = \Magento\Framework\App\ObjectManager::getInstance()
                     ->get(\Magento\Framework\ZendEscaper::class);
         }
         return $this->escaper;
-- 
GitLab