From f4fc974f641920a58665eb7b585cd0c271cdf4dd Mon Sep 17 00:00:00 2001
From: Demian Katz <demian.katz@villanova.edu>
Date: Wed, 17 Oct 2018 16:39:48 -0400
Subject: [PATCH] Use rawurlencode for compatibility with Discovery 3.0.

---
 module/VuFind/src/VuFind/Controller/RelaisController.php | 2 +-
 module/VuFind/src/VuFind/View/Helper/Root/Relais.php     | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/module/VuFind/src/VuFind/Controller/RelaisController.php b/module/VuFind/src/VuFind/Controller/RelaisController.php
index 7975838a6bc..d66afb60c23 100644
--- a/module/VuFind/src/VuFind/Controller/RelaisController.php
+++ b/module/VuFind/src/VuFind/Controller/RelaisController.php
@@ -64,7 +64,7 @@ class RelaisController extends AbstractBase
             . '&dest=discovery&group=patron&PI='
             . urlencode($patron['cat_username']);
         if (!empty($q)) {
-            $url .= '&query=' . urlencode($q);
+            $url .= '&query=' . rawurlencode($q);
         }
         return $this->redirect()->toUrl($url);
     }
diff --git a/module/VuFind/src/VuFind/View/Helper/Root/Relais.php b/module/VuFind/src/VuFind/View/Helper/Root/Relais.php
index f7c062aa925..a79d6db6145 100644
--- a/module/VuFind/src/VuFind/View/Helper/Root/Relais.php
+++ b/module/VuFind/src/VuFind/View/Helper/Root/Relais.php
@@ -86,9 +86,10 @@ class Relais extends \Zend\View\Helper\AbstractHelper
         // Assemble and return URL:
         $separator = strstr($this->loginUrl, '?') === false ? '?' : '&';
         $url = $this->loginUrl . $separator . 'query='
-            . ($isbn ? 'isbn%3D' . urlencode($isbn) : 'ti%3D' . urlencode($title));
+            . ($isbn ? 'isbn%3D' . rawurlencode($isbn) : 'ti%3D'
+            . rawurlencode($title));
         if ($mainAuthor) {
-            $url .= '%20and%20au%3D' . urlencode($mainAuthor);
+            $url .= '%20and%20au%3D' . rawurlencode($mainAuthor);
         }
         return $url;
     }
-- 
GitLab