From 65f3acb0e02df87291020d94c2da71cc2cca9253 Mon Sep 17 00:00:00 2001
From: Martin Stenberg <martin@xinxidi.net>
Date: Mon, 21 Sep 2015 18:45:52 +0200
Subject: [PATCH] Bug 14715: syspref for results per page options

Remove the "all" option.

Add syspref [OPAC]numSearchResultsPerPage for specifying options for numbers of
results per page including [OPAC]numSearchResults.
---
 catalogue/search.pl | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/catalogue/search.pl b/catalogue/search.pl
index 57924c3..4ea81f0 100755
--- a/catalogue/search.pl
+++ b/catalogue/search.pl
@@ -150,7 +150,7 @@ use C4::Members qw(GetMember);
 use URI::Escape;
 use POSIX qw(ceil floor);
 use C4::Search::History;
-
+use String::Random;
 use Koha::LibraryCategories;
 use Koha::Virtualshelves;
 use Koha::SearchEngine::Search;
@@ -451,6 +451,13 @@ for (my $ii = 0; $ii < @operands; ++$ii)
 # Params that can only have one value
 my $scan = $params->{'scan'};
 my $count = C4::Context->preference('numSearchResults') || 20;
+my @results_per_page_options = grep /^\d+$/,
+                               map {s/\s+//g;$_;}
+                               split /,/, C4::Context->preference('numSearchResultsPerPage');
+push(@results_per_page_options, $count);
+@results_per_page_options = do { my %seen; grep { !$seen{$_}++ } @results_per_page_options };
+@results_per_page_options = sort {$a <=> $b} @results_per_page_options;
+
 my $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page") || $count;
 my $page = $cgi->param('page') || 1;
 my $offset = $results_per_page != 'all' ? ($page-1)*$results_per_page : 0;
-- 
2.1.4