@@ -, +, @@ --- catalogue/search.pl | 9 ++++++++- opac/opac-search.pl | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) --- a/catalogue/search.pl +++ a/catalogue/search.pl @@ -151,7 +151,7 @@ use URI::Escape; use POSIX qw(ceil floor); use C4::Branch; # GetBranches use C4::Search::History; - +use String::Random; use Koha::LibraryCategories; use Koha::Virtualshelves; use Koha::SearchEngine::Search; @@ -465,6 +465,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; --- a/opac/opac-search.pl +++ a/opac/opac-search.pl @@ -523,6 +523,13 @@ if ($params->{'limit-yr'}) { my $scan = $params->{'scan'}; my $count = C4::Context->preference('OPACnumSearchResults') || 20; my $countRSS = C4::Context->preference('numSearchRSSResults') || 50; +my @results_per_page_options = grep /^\d+$/, + map {s/\s+//g;$_;} + split /,/, C4::Context->preference('OPACnumSearchResultsPerPage'); +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; --