|
Lines 149-155
use C4::Koha;
Link Here
|
| 149 |
use URI::Escape; |
149 |
use URI::Escape; |
| 150 |
use POSIX qw(ceil floor); |
150 |
use POSIX qw(ceil floor); |
| 151 |
use C4::Search::History; |
151 |
use C4::Search::History; |
| 152 |
|
152 |
use String::Random; |
| 153 |
use Koha::ItemTypes; |
153 |
use Koha::ItemTypes; |
| 154 |
use Koha::LibraryCategories; |
154 |
use Koha::LibraryCategories; |
| 155 |
use Koha::Patrons; |
155 |
use Koha::Patrons; |
|
Lines 447-457
for (my $ii = 0; $ii < @operands; ++$ii)
Link Here
|
| 447 |
# Params that can only have one value |
447 |
# Params that can only have one value |
| 448 |
my $scan = $params->{'scan'}; |
448 |
my $scan = $params->{'scan'}; |
| 449 |
my $count = C4::Context->preference('numSearchResults') || 20; |
449 |
my $count = C4::Context->preference('numSearchResults') || 20; |
| 450 |
my $results_per_page = $params->{'count'} || $count; |
450 |
my @results_per_page_options = grep /^\d+$/, |
|
|
451 |
map {s/\s+//g;$_;} |
| 452 |
split /,/, C4::Context->preference('numSearchResultsPerPage'); |
| 453 |
push(@results_per_page_options, $count); |
| 454 |
@results_per_page_options = do { my %seen; grep { !$seen{$_}++ } @results_per_page_options }; |
| 455 |
@results_per_page_options = sort {$a <=> $b} @results_per_page_options; |
| 456 |
|
| 457 |
my $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page") || $count; |
| 458 |
my $page = $cgi->param('page') || 1; |
| 451 |
my $offset = $params->{'offset'} || 0; |
459 |
my $offset = $params->{'offset'} || 0; |
| 452 |
$offset = 0 if $offset < 0; |
460 |
$offset = 0 if $offset < 0; |
| 453 |
my $page = $cgi->param('page') || 1; |
|
|
| 454 |
#my $offset = ($page-1)*$results_per_page; |
| 455 |
my $hits; |
461 |
my $hits; |
| 456 |
my $expanded_facet = $params->{'expand'}; |
462 |
my $expanded_facet = $params->{'expand'}; |
| 457 |
|
463 |
|
|
Lines 538-543
for (my $i=0;$i<@servers;$i++) {
Link Here
|
| 538 |
my $server = $servers[$i]; |
544 |
my $server = $servers[$i]; |
| 539 |
if ($server =~/biblioserver/) { # this is the local bibliographic server |
545 |
if ($server =~/biblioserver/) { # this is the local bibliographic server |
| 540 |
$hits = $results_hashref->{$server}->{"hits"}; |
546 |
$hits = $results_hashref->{$server}->{"hits"}; |
|
|
547 |
$results_per_page = $hits if $results_per_page == 'all'; |
| 541 |
my $page = $cgi->param('page') || 0; |
548 |
my $page = $cgi->param('page') || 0; |
| 542 |
my @newresults = searchResults('intranet', $query_desc, $hits, $results_per_page, $offset, $scan, |
549 |
my @newresults = searchResults('intranet', $query_desc, $hits, $results_per_page, $offset, $scan, |
| 543 |
$results_hashref->{$server}->{"RECORDS"}); |
550 |
$results_hashref->{$server}->{"RECORDS"}); |
|
Lines 601-607
for (my $i=0;$i<@servers;$i++) {
Link Here
|
| 601 |
if ($query_desc || $limit_desc) { |
608 |
if ($query_desc || $limit_desc) { |
| 602 |
$template->param(searchdesc => 1); |
609 |
$template->param(searchdesc => 1); |
| 603 |
} |
610 |
} |
| 604 |
$template->param(results_per_page => $results_per_page); |
611 |
$template->param(results_per_page => $results_per_page == $hits ? 'all' : $results_per_page); |
| 605 |
# must define a value for size if not present in DB |
612 |
# must define a value for size if not present in DB |
| 606 |
# in order to avoid problems generated by the default size value in TT |
613 |
# in order to avoid problems generated by the default size value in TT |
| 607 |
foreach my $line (@newresults) { |
614 |
foreach my $line (@newresults) { |