Lines 207-215
if ( $template_type && $template_type eq 'advsearch' ) {
Link Here
|
207 |
$template->param(outer_sup_servers_loop => $secondary_servers_loop,); |
207 |
$template->param(outer_sup_servers_loop => $secondary_servers_loop,); |
208 |
|
208 |
|
209 |
# set the default sorting |
209 |
# set the default sorting |
210 |
my $default_sort_by = C4::Context->preference('OPACdefaultSortField')."_".C4::Context->preference('OPACdefaultSortOrder') |
210 |
if ( C4::Context->preference('OPACdefaultSortField') |
211 |
if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder')); |
211 |
&& C4::Context->preference('OPACdefaultSortOrder') ) { |
212 |
$template->param($default_sort_by => 1); |
212 |
my $default_sort_by = |
|
|
213 |
C4::Context->preference('OPACdefaultSortField') . '_' |
214 |
. C4::Context->preference('OPACdefaultSortOrder'); |
215 |
$template->param( $default_sort_by => 1 ); |
216 |
} |
213 |
|
217 |
|
214 |
# determine what to display next to the search boxes (ie, boolean option |
218 |
# determine what to display next to the search boxes (ie, boolean option |
215 |
# shouldn't appear on the first one, scan indexes should, adding a new |
219 |
# shouldn't appear on the first one, scan indexes should, adding a new |
Lines 273-280
$tag = $params->{tag} if $params->{tag};
Link Here
|
273 |
# sort by is used to sort the query |
277 |
# sort by is used to sort the query |
274 |
# in theory can have more than one but generally there's just one |
278 |
# in theory can have more than one but generally there's just one |
275 |
my @sort_by; |
279 |
my @sort_by; |
276 |
my $default_sort_by = C4::Context->preference('OPACdefaultSortField')."_".C4::Context->preference('OPACdefaultSortOrder') |
280 |
my $default_sort_by; |
277 |
if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder')); |
281 |
if ( C4::Context->preference('OPACdefaultSortField') |
|
|
282 |
&& C4::Context->preference('OPACdefaultSortOrder') ) { |
283 |
$default_sort_by = |
284 |
C4::Context->preference('OPACdefaultSortField') . '_' |
285 |
. C4::Context->preference('OPACdefaultSortOrder'); |
286 |
} |
278 |
|
287 |
|
279 |
@sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'}; |
288 |
@sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'}; |
280 |
$sort_by[0] = $default_sort_by if !$sort_by[0] && defined($default_sort_by); |
289 |
$sort_by[0] = $default_sort_by if !$sort_by[0] && defined($default_sort_by); |
Lines 568-575
for (my $i=0;$i<@servers;$i++) {
Link Here
|
568 |
my $pages = ceil($hits / $results_per_page); |
577 |
my $pages = ceil($hits / $results_per_page); |
569 |
# default page number |
578 |
# default page number |
570 |
my $current_page_number = 1; |
579 |
my $current_page_number = 1; |
571 |
$current_page_number = ($offset / $results_per_page + 1) if $offset; |
580 |
if ($offset) { |
572 |
my $previous_page_offset = $offset - $results_per_page unless ($offset - $results_per_page <0); |
581 |
$current_page_number = ( $offset / $results_per_page + 1 ); |
|
|
582 |
} |
583 |
my $previous_page_offset; |
584 |
if ( $offset >= $results_per_page ) { |
585 |
$previous_page_offset = $offset - $results_per_page; |
586 |
} |
573 |
my $next_page_offset = $offset + $results_per_page; |
587 |
my $next_page_offset = $offset + $results_per_page; |
574 |
# If we're within the first 10 pages, keep it simple |
588 |
# If we're within the first 10 pages, keep it simple |
575 |
#warn "current page:".$current_page_number; |
589 |
#warn "current page:".$current_page_number; |
Lines 583-593
for (my $i=0;$i<@servers;$i++) {
Link Here
|
583 |
my $this_offset = (($i*$results_per_page)-$results_per_page); |
597 |
my $this_offset = (($i*$results_per_page)-$results_per_page); |
584 |
# the page number for this page |
598 |
# the page number for this page |
585 |
my $this_page_number = $i; |
599 |
my $this_page_number = $i; |
586 |
# it should only be highlighted if it's the current page |
|
|
587 |
my $highlight = 1 if ($this_page_number == $current_page_number); |
588 |
# put it in the array |
600 |
# put it in the array |
589 |
push @page_numbers, { offset => $this_offset, pg => $this_page_number, highlight => $highlight, sort_by => join " ",@sort_by }; |
601 |
push @page_numbers, |
590 |
|
602 |
{ offset => $this_offset, |
|
|
603 |
pg => $this_page_number, |
604 |
highlight => $this_page_number == $current_page_number, |
605 |
sort_by => join ' ', @sort_by |
606 |
}; |
607 |
|
591 |
} |
608 |
} |
592 |
|
609 |
|
593 |
} |
610 |
} |
Lines 596-604
for (my $i=0;$i<@servers;$i++) {
Link Here
|
596 |
for ($i=$current_page_number; $i<=($current_page_number + 20 );$i++) { |
613 |
for ($i=$current_page_number; $i<=($current_page_number + 20 );$i++) { |
597 |
my $this_offset = ((($i-9)*$results_per_page)-$results_per_page); |
614 |
my $this_offset = ((($i-9)*$results_per_page)-$results_per_page); |
598 |
my $this_page_number = $i-9; |
615 |
my $this_page_number = $i-9; |
599 |
my $highlight = 1 if ($this_page_number == $current_page_number); |
616 |
if ( $this_page_number <= $pages ) { |
600 |
if ($this_page_number <= $pages) { |
617 |
push @page_numbers, |
601 |
push @page_numbers, { offset => $this_offset, pg => $this_page_number, highlight => $highlight, sort_by => join " ",@sort_by }; |
618 |
{ offset => $this_offset, |
|
|
619 |
pg => $this_page_number, |
620 |
highlight => $this_page_number == $current_page_number, |
621 |
sort_by => join ' ', @sort_by |
622 |
}; |
602 |
} |
623 |
} |
603 |
} |
624 |
} |
604 |
|
625 |
|