From d8e21108c73efc34f8d5e18e67e7de779b1377b6 Mon Sep 17 00:00:00 2001
From: llaffont <llaffont@afi-sa.fr>
Date: Thu, 29 Oct 2015 11:33:18 +0100
Subject: [PATCH] hotline #31887 fix gallica url in search extension

---
 VERSIONS_HOTLINE/31887                              |  1 +
 library/Class/AdminVar.php                          |  2 +-
 .../admin/controllers/AdminIndexControllerTest.php  |  4 ++--
 .../RechercheControllerSearchExtensionTest.php      | 13 +++++++++++--
 tests/library/Class/AdminVarTest.php                | 11 -----------
 5 files changed, 15 insertions(+), 16 deletions(-)
 create mode 100644 VERSIONS_HOTLINE/31887

diff --git a/VERSIONS_HOTLINE/31887 b/VERSIONS_HOTLINE/31887
new file mode 100644
index 00000000000..0539b4f2a15
--- /dev/null
+++ b/VERSIONS_HOTLINE/31887
@@ -0,0 +1 @@
+ - ticket #31887 : L'extension de recherche vers Gallica fonctionne pas
\ No newline at end of file
diff --git a/library/Class/AdminVar.php b/library/Class/AdminVar.php
index 0e65be08ad7..45b1adc2ad9 100644
--- a/library/Class/AdminVar.php
+++ b/library/Class/AdminVar.php
@@ -715,7 +715,7 @@ class Class_AdminVar extends Storm_Model_Abstract {
 
 
   public function getValeur() {
-    return stripslashes($this->_get('valeur'));
+    return $this->_get('valeur');
   }
 
 
diff --git a/tests/application/modules/admin/controllers/AdminIndexControllerTest.php b/tests/application/modules/admin/controllers/AdminIndexControllerTest.php
index eed12ee577f..7e6e0931556 100644
--- a/tests/application/modules/admin/controllers/AdminIndexControllerTest.php
+++ b/tests/application/modules/admin/controllers/AdminIndexControllerTest.php
@@ -796,7 +796,7 @@ class AdminIndexControllerAdminVarEditSearchAlsoInPostTest
 
   /** @test */
   public function varShouldContainsUrl() {
-    $this->assertContains('http://jumelles.fr/?q=%s',
-                          Class_AdminVar::find('SEARCH_ALSO_IN')->getValeur());
+    $this->assertEquals('http://jumelles.fr/?q=%s',
+                        json_decode(Class_AdminVar::find('SEARCH_ALSO_IN')->getValeur())->site_url[0]);
   }
 }
diff --git a/tests/application/modules/opac/controllers/RechercheControllerSearchExtensionTest.php b/tests/application/modules/opac/controllers/RechercheControllerSearchExtensionTest.php
index 73425ea2d23..2d82cfd57e1 100644
--- a/tests/application/modules/opac/controllers/RechercheControllerSearchExtensionTest.php
+++ b/tests/application/modules/opac/controllers/RechercheControllerSearchExtensionTest.php
@@ -111,10 +111,12 @@ class RechercheControllerSearchExtensionEnabledTest
   protected function _extensionSites() {
     return ['site_label' => ['Jumel',
                              'Incomplete',
-                             'Trouvons.org',],
+                             'Trouvons.org',
+                             'Gallica'],
             'site_url' => ['http://www.jumel39.fr/rechercher?search_api_views_fulltext=%s',
                            '',
-                           'http://trouvons.org/#q=%s']];
+                           'http://trouvons.org/#q=%s',
+                           'http://gallica.bnf.fr/services/engine/search/sru?operation=searchRetrieve&version=1.2&query=(gallica all "%s")']];
   }
 
 
@@ -142,6 +144,13 @@ class RechercheControllerSearchExtensionEnabledTest
     $this->assertXPathContentContains('//a[contains(@href, "#q=sport")]',
                                       'Trouvons.org');
   }
+
+
+  /** @test */
+  public function gallicaLinkShouldBeRendered() {
+    $this->assertXPathContentContains('//a[contains(@href, "gallica all ")]',
+                                      'Gallica');
+  }
 }
 
 
diff --git a/tests/library/Class/AdminVarTest.php b/tests/library/Class/AdminVarTest.php
index ddbceaeda93..824bfdf2cac 100644
--- a/tests/library/Class/AdminVarTest.php
+++ b/tests/library/Class/AdminVarTest.php
@@ -83,17 +83,6 @@ class AdminVarTestGet extends AdminVarTestCase {
   }
 
 
-  /** @test */
-  public function getVarShouldStripSlashes() {
-    $this->fixture('Class_AdminVar',
-                   ['id' => 'JS_STAT',
-                    'valeur' => addslashes('<script type="text/javascript">\'test\'')]);
-
-    $this->assertEquals('<script type="text/javascript">\'test\'',
-                        Class_AdminVar::get('JS_STAT'));
-  }
-
-
   /** @test */
   public function unleashFacetDescriptionShouldContainsLinkToRemoteFiles() {
     $this->fixture('Class_AdminVar',
-- 
GitLab