From 4ad91e1e81826e2cb1944191516940dbdd81b9a0 Mon Sep 17 00:00:00 2001
From: Ere Maijala <ere.maijala@helsinki.fi>
Date: Wed, 6 Nov 2019 23:14:11 +0200
Subject: [PATCH] Add getRawFilters method to the Params class. Deprecate
 getFilters. (#1489)

---
 module/VuFind/src/VuFind/AjaxHandler/GetVisData.php |  2 +-
 .../VuFind/src/VuFind/Controller/AbstractSearch.php |  2 +-
 module/VuFind/src/VuFind/Recommend/DPLATerms.php    |  2 +-
 module/VuFind/src/VuFind/Recommend/MapSelection.php |  2 +-
 .../src/VuFind/Recommend/OpenLibrarySubjects.php    |  2 +-
 .../VuFind/src/VuFind/Recommend/PubDateVisAjax.php  |  2 +-
 module/VuFind/src/VuFind/Recommend/SideFacets.php   |  2 +-
 module/VuFind/src/VuFind/Search/Base/Params.php     | 13 ++++++++++++-
 module/VuFind/src/VuFind/Search/EDS/Results.php     |  2 +-
 .../VuFind/Search/Factory/UrlQueryHelperFactory.php |  2 +-
 .../VuFind/src/VuFind/Search/Favorites/Results.php  |  4 ++--
 module/VuFind/src/VuFind/Search/Minified.php        |  2 +-
 module/VuFind/src/VuFind/Search/Summon/Results.php  |  2 +-
 .../src/VuFindTest/Recommend/SideFacetsTest.php     |  2 +-
 14 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/module/VuFind/src/VuFind/AjaxHandler/GetVisData.php b/module/VuFind/src/VuFind/AjaxHandler/GetVisData.php
index 79dc5421816..410a44ad803 100644
--- a/module/VuFind/src/VuFind/AjaxHandler/GetVisData.php
+++ b/module/VuFind/src/VuFind/AjaxHandler/GetVisData.php
@@ -148,7 +148,7 @@ class GetVisData extends AbstractBase
         }
         $paramsObj->getOptions()->disableHighlighting();
         $paramsObj->getOptions()->spellcheckEnabled(false);
-        $filters = $paramsObj->getFilters();
+        $filters = $paramsObj->getRawFilters();
         $rawDateFacets = $params->fromQuery('facetFields');
         $dateFacets = empty($rawDateFacets) ? [] : explode(':', $rawDateFacets);
         $fields = $this->processDateFacets($filters, $dateFacets);
diff --git a/module/VuFind/src/VuFind/Controller/AbstractSearch.php b/module/VuFind/src/VuFind/Controller/AbstractSearch.php
index 5c9c50099eb..0c3348d9f03 100644
--- a/module/VuFind/src/VuFind/Controller/AbstractSearch.php
+++ b/module/VuFind/src/VuFind/Controller/AbstractSearch.php
@@ -474,7 +474,7 @@ class AbstractSearch extends AbstractBase
 
             // Check to see if there is an existing range in the search object:
             if ($savedSearch) {
-                $filters = $savedSearch->getParams()->getFilters();
+                $filters = $savedSearch->getParams()->getRawFilters();
                 if (isset($filters[$field])) {
                     foreach ($filters[$field] as $current) {
                         if ($range = SolrUtils::parseRange($current)) {
diff --git a/module/VuFind/src/VuFind/Recommend/DPLATerms.php b/module/VuFind/src/VuFind/Recommend/DPLATerms.php
index 34404018ee6..7fb045d285b 100644
--- a/module/VuFind/src/VuFind/Recommend/DPLATerms.php
+++ b/module/VuFind/src/VuFind/Recommend/DPLATerms.php
@@ -183,7 +183,7 @@ class DPLATerms implements RecommendInterface
     {
         // Extract the first search term from the search object:
         $search = $this->searchObject->getParams()->getQuery();
-        $filters = $this->searchObject->getParams()->getFilters();
+        $filters = $this->searchObject->getParams()->getRawFilters();
         $lookfor = ($search instanceof \VuFindSearch\Query\Query)
             ? $search->getString()
             : '';
diff --git a/module/VuFind/src/VuFind/Recommend/MapSelection.php b/module/VuFind/src/VuFind/Recommend/MapSelection.php
index 219907c3b44..e9578445b78 100644
--- a/module/VuFind/src/VuFind/Recommend/MapSelection.php
+++ b/module/VuFind/src/VuFind/Recommend/MapSelection.php
@@ -218,7 +218,7 @@ class MapSelection implements \VuFind\Recommend\RecommendInterface,
     public function process($results)
     {
         $reorder_coords = [];
-        $filters = $results->getParams()->getFilters();
+        $filters = $results->getParams()->getRawFilters();
         foreach ($filters as $key => $value) {
             if ($key == $this->geoField) {
                 $match = [];
diff --git a/module/VuFind/src/VuFind/Recommend/OpenLibrarySubjects.php b/module/VuFind/src/VuFind/Recommend/OpenLibrarySubjects.php
index 12b144da023..afcdd42b54c 100644
--- a/module/VuFind/src/VuFind/Recommend/OpenLibrarySubjects.php
+++ b/module/VuFind/src/VuFind/Recommend/OpenLibrarySubjects.php
@@ -205,7 +205,7 @@ class OpenLibrarySubjects implements RecommendInterface,
         if (null !== $from && null !== $to) {
             $range = ['from' => $from, 'to' => $to];
         } elseif (is_object($params)) {
-            $currentFilters = $params->getFilters();
+            $currentFilters = $params->getRawFilters();
             if (isset($currentFilters[$field][0])) {
                 $range = SolrUtils::parseRange($currentFilters[$field][0]);
             }
diff --git a/module/VuFind/src/VuFind/Recommend/PubDateVisAjax.php b/module/VuFind/src/VuFind/Recommend/PubDateVisAjax.php
index bf4c1da89a8..894939a2e7f 100644
--- a/module/VuFind/src/VuFind/Recommend/PubDateVisAjax.php
+++ b/module/VuFind/src/VuFind/Recommend/PubDateVisAjax.php
@@ -134,7 +134,7 @@ class PubDateVisAjax implements RecommendInterface
             return [];
         }
         return $this->processDateFacets(
-            $this->searchObject->getParams()->getFilters()
+            $this->searchObject->getParams()->getRawFilters()
         );
     }
 
diff --git a/module/VuFind/src/VuFind/Recommend/SideFacets.php b/module/VuFind/src/VuFind/Recommend/SideFacets.php
index 63649bc5335..a0f63f664af 100644
--- a/module/VuFind/src/VuFind/Recommend/SideFacets.php
+++ b/module/VuFind/src/VuFind/Recommend/SideFacets.php
@@ -421,7 +421,7 @@ class SideFacets extends AbstractFacets
      */
     protected function getRangeFacets($property)
     {
-        $filters = $this->results->getParams()->getFilters();
+        $filters = $this->results->getParams()->getRawFilters();
         $result = [];
         if (isset($this->$property) && is_array($this->$property)) {
             foreach ($this->$property as $current) {
diff --git a/module/VuFind/src/VuFind/Search/Base/Params.php b/module/VuFind/src/VuFind/Search/Base/Params.php
index 7057d2ceb4f..8c848b62654 100644
--- a/module/VuFind/src/VuFind/Search/Base/Params.php
+++ b/module/VuFind/src/VuFind/Search/Base/Params.php
@@ -1013,11 +1013,22 @@ class Params
      *
      * @return array
      */
-    public function getFilters()
+    public function getRawFilters()
     {
         return $this->filterList;
     }
 
+    /**
+     * Get the raw filter list.
+     *
+     * @return     array
+     * @deprecated Obsolete since VuFind 6.1. Use getRawFilters() instead.
+     */
+    public function getFilters()
+    {
+        return $this->getRawFilters();
+    }
+
     /**
      * Return an array structure containing information about all current filters.
      *
diff --git a/module/VuFind/src/VuFind/Search/EDS/Results.php b/module/VuFind/src/VuFind/Search/EDS/Results.php
index 2207f8773a7..5e1cc555b68 100644
--- a/module/VuFind/src/VuFind/Search/EDS/Results.php
+++ b/module/VuFind/src/VuFind/Search/EDS/Results.php
@@ -90,7 +90,7 @@ class Results extends \VuFind\Search\Base\Results
         $facetResult = [];
         if (is_array($this->responseFacets)) {
             // Get the filter list -- we'll need to check it below:
-            $filterList = $this->getParams()->getFilters();
+            $filterList = $this->getParams()->getRawFilters();
             $translatedFacets = $this->getOptions()->getTranslatedFacets();
             foreach ($this->responseFacets as $current) {
                 // The "displayName" value is actually the name of the field on
diff --git a/module/VuFind/src/VuFind/Search/Factory/UrlQueryHelperFactory.php b/module/VuFind/src/VuFind/Search/Factory/UrlQueryHelperFactory.php
index 5888fae74ef..edb9aaf2efc 100644
--- a/module/VuFind/src/VuFind/Search/Factory/UrlQueryHelperFactory.php
+++ b/module/VuFind/src/VuFind/Search/Factory/UrlQueryHelperFactory.php
@@ -115,7 +115,7 @@ class UrlQueryHelperFactory
         if ($params->getPage() != 1) {
             $urlParams['page'] = $params->getPage();
         }
-        $filters = $params->getFilters();
+        $filters = $params->getRawFilters();
         if (!empty($filters)) {
             $urlParams['filter'] = [];
             foreach ($filters as $field => $values) {
diff --git a/module/VuFind/src/VuFind/Search/Favorites/Results.php b/module/VuFind/src/VuFind/Search/Favorites/Results.php
index e5159778756..1d53a02c99e 100644
--- a/module/VuFind/src/VuFind/Search/Favorites/Results.php
+++ b/module/VuFind/src/VuFind/Search/Favorites/Results.php
@@ -222,7 +222,7 @@ class Results extends BaseResults
      */
     protected function getTagFilters()
     {
-        $filters = $this->getParams()->getFilters();
+        $filters = $this->getParams()->getRawFilters();
         return $filters['tags'] ?? [];
     }
 
@@ -238,7 +238,7 @@ class Results extends BaseResults
         if ($this->list === false) {
             // Check the filters for a list ID, and load the corresponding object
             // if one is found:
-            $filters = $this->getParams()->getFilters();
+            $filters = $this->getParams()->getRawFilters();
             $listId = $filters['lists'][0] ?? null;
             $this->list = (null === $listId)
                 ? null : $this->listTable->getExisting($listId);
diff --git a/module/VuFind/src/VuFind/Search/Minified.php b/module/VuFind/src/VuFind/Search/Minified.php
index f4c5f77ff0d..695cc3da72a 100644
--- a/module/VuFind/src/VuFind/Search/Minified.php
+++ b/module/VuFind/src/VuFind/Search/Minified.php
@@ -107,7 +107,7 @@ class Minified
 
         // It would be nice to shorten filter fields too, but
         //      it would be a nightmare to maintain.
-        $this->f = $searchObject->getParams()->getFilters();
+        $this->f = $searchObject->getParams()->getRawFilters();
         $this->hf = $searchObject->getParams()->getHiddenFilters();
     }
 
diff --git a/module/VuFind/src/VuFind/Search/Summon/Results.php b/module/VuFind/src/VuFind/Search/Summon/Results.php
index 78f1fea1434..24ca9fa5d32 100644
--- a/module/VuFind/src/VuFind/Search/Summon/Results.php
+++ b/module/VuFind/src/VuFind/Search/Summon/Results.php
@@ -202,7 +202,7 @@ class Results extends \VuFind\Search\Base\Results
     protected function formatFacetData($current)
     {
         // We'll need this in the loop below:
-        $filterList = $this->getParams()->getFilters();
+        $filterList = $this->getParams()->getRawFilters();
 
         // Should we translate values for the current facet?
         $field = $current['displayName'];
diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Recommend/SideFacetsTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Recommend/SideFacetsTest.php
index 015b9a4861d..f8427d2b950 100644
--- a/module/VuFind/tests/unit-tests/src/VuFindTest/Recommend/SideFacetsTest.php
+++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Recommend/SideFacetsTest.php
@@ -194,7 +194,7 @@ class SideFacetsTest extends \VuFindTest\Unit\TestCase
             'numeric' => ['[1 TO 9]'],
         ];
         $results = $this->getMockResults();
-        $results->getParams()->expects($this->any())->method('getFilters')
+        $results->getParams()->expects($this->any())->method('getRawFilters')
             ->will($this->returnValue($filters));
         $sf = $this->getSideFacets($this->getMockConfigLoader($config), $results);
         $expected = [
-- 
GitLab