From fc9cadff38d62afad7fbb4a607e44c14f09dcb8f Mon Sep 17 00:00:00 2001
From: Oliver Goldschmidt <o.goldschmidt@tuhh.de>
Date: Fri, 1 Apr 2016 09:56:42 +0200
Subject: [PATCH] Escaping bug getting PrimoCentral records

---
 .../src/VuFindSearch/Backend/Primo/Connector.php            | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/module/VuFindSearch/src/VuFindSearch/Backend/Primo/Connector.php b/module/VuFindSearch/src/VuFindSearch/Backend/Primo/Connector.php
index 029d9633885..45e573fe201 100644
--- a/module/VuFindSearch/src/VuFindSearch/Backend/Primo/Connector.php
+++ b/module/VuFindSearch/src/VuFindSearch/Backend/Primo/Connector.php
@@ -612,8 +612,10 @@ class Connector implements \Zend\Log\LoggerAwareInterface
             // doaj_xmloai:doaj.org/article:94935655971c4917aab4fcaeafeb67b9).
             // According to Ex Libris support we must use contains search without
             // quotes for the time being.
+            // Escaping the - character causes problems getting records like
+            // wj10.1111/j.1475-679X.2011.00421.x
             $qs[] = 'query=rid,contains,'
-                . urlencode(addcslashes($recordId, '":-()'));
+                . urlencode(addcslashes($recordId, '":()'));
             $qs[] = "institution=$inst_code";
             $qs[] = 'onCampus=' . ($onCampus ? 'true' : 'false');
             $qs[] = "indx=1";
@@ -649,7 +651,7 @@ class Connector implements \Zend\Log\LoggerAwareInterface
     {
         // Callback function for formatting IDs:
         $formatIds = function ($id) {
-            return addcslashes($id, '":-()');
+            return addcslashes($id, '":()');
         };
 
         // Query String Parameters
-- 
GitLab