From eb1681f79dff771174d8e4e2a389b1318090159d Mon Sep 17 00:00:00 2001
From: Demian Katz <demian.katz@villanova.edu>
Date: Tue, 8 Apr 2014 15:55:44 -0400
Subject: [PATCH] Add support for custom LibGuides limits.

---
 config/vufind/LibGuides.ini                           | 11 ++++++++++-
 module/VuFind/src/VuFind/Search/LibGuides/Options.php |  8 ++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/config/vufind/LibGuides.ini b/config/vufind/LibGuides.ini
index 595fe679c0b..2811589b415 100644
--- a/config/vufind/LibGuides.ini
+++ b/config/vufind/LibGuides.ini
@@ -4,4 +4,13 @@
 timeout = 30
 
 ; Your institution id
-iid = my-id
\ No newline at end of file
+iid = my-id
+
+; This section controls the result limit options for search results. default_limit
+; sets the default number of results per page. limit_options is a comma-separated
+; list of numbers to be presented to the end-user. If only one limit is required,
+; set default_limit and leave limit_options commented out.
+; WARNING: using large limits may require you to raise your PHP memory limits to
+; avoid errors.
+default_limit        = 20
+;limit_options        = 10,20,40,60,80,100
diff --git a/module/VuFind/src/VuFind/Search/LibGuides/Options.php b/module/VuFind/src/VuFind/Search/LibGuides/Options.php
index 34a821e906e..2781fbb92a4 100644
--- a/module/VuFind/src/VuFind/Search/LibGuides/Options.php
+++ b/module/VuFind/src/VuFind/Search/LibGuides/Options.php
@@ -47,6 +47,14 @@ class Options extends \VuFind\Search\Base\Options
     {
         $this->searchIni = $this->facetsIni = 'LibGuides';
         parent::__construct($configLoader);
+        $searchSettings = $configLoader->get($this->searchIni);
+        if (isset($searchSettings->General->default_limit)) {
+            $this->defaultLimit = $searchSettings->General->default_limit;
+        }
+        if (isset($searchSettings->General->limit_options)) {
+            $this->limitOptions
+                = explode(",", $searchSettings->General->limit_options);
+        }
     }
 
     /**
-- 
GitLab