[Koha-cvs] koha/opac opac-search.pl [rel_3_0]
Antoine Farnault
antoine at koha-fr.org
Mon Oct 9 18:47:31 CEST 2006
CVSROOT: /sources/koha
Module name: koha
Branch: rel_3_0
Changes by: Antoine Farnault <toins> 06/10/09 16:47:31
Modified files:
opac : opac-search.pl
Log message:
sync with dev_week.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/opac/opac-search.pl?cvsroot=koha&only_with_tag=rel_3_0&r1=1.38.2.2&r2=1.38.2.3
Patches:
Index: opac-search.pl
===================================================================
RCS file: /sources/koha/koha/opac/opac-search.pl,v
retrieving revision 1.38.2.2
retrieving revision 1.38.2.3
diff -u -b -r1.38.2.2 -r1.38.2.3
--- opac-search.pl 6 Oct 2006 13:36:36 -0000 1.38.2.2
+++ opac-search.pl 9 Oct 2006 16:47:31 -0000 1.38.2.3
@@ -3,7 +3,7 @@
# Script to perform searching
# For documentation try 'perldoc /path/to/search'
#
-# $Header: /sources/koha/koha/opac/opac-search.pl,v 1.38.2.2 2006/10/06 13:36:36 toins Exp $
+# $Header: /sources/koha/koha/opac/opac-search.pl,v 1.38.2.3 2006/10/09 16:47:31 toins Exp $
#
# Copyright 2006 LibLime
#
@@ -154,8 +154,6 @@
use C4::Koha;
use POSIX qw(ceil floor);
-use Data::Dumper; # FIXME :: don't forget to delete it before release.
-
# create a new CGI object
# not sure undef_params option is working, need to test
use CGI qw('-no_undef_params');
@@ -330,7 +328,8 @@
my @servers;
@servers = split("\0",$params->{'server'}) if $params->{'server'};
unless (@servers) {
- @servers = C4::Context->config("biblioserver");
+ #FIXME: this should be handled using Context.pm
+ @servers = ("biblioserver");
}
# operators include boolean and proximity operators and are used
@@ -398,7 +397,7 @@
# now we build that set for template display
my @sup_results_array;
-for (my $i=0;$i<@servers;$i++) {
+for (my $i=0;$i<=@servers;$i++) {
my $server = $servers[$i];
if ($server =~/biblio/) { # this is the local bibliographic server
@@ -414,18 +413,36 @@
$template->param(results_per_page => $results_per_page);
$template->param(SEARCH_RESULTS => \@newresults);
+ ## Build the page numbers on the bottom of the page
my @page_numbers;
+ # total number of pages there will be
my $pages = ceil($hits / $results_per_page);
+ # default page number
my $current_page_number = 1;
$current_page_number = ($offset / $results_per_page + 1) if $offset;
my $previous_page_offset = $offset - $results_per_page unless ($offset - $results_per_page <0);
my $next_page_offset = $offset + $results_per_page;
- for ($i=1; $i<=$pages;$i++) {
+ # If we're within the first 10 pages, keep it simple
+ if ($current_page_number < 10) {
+ # just show the first 10 pages
+ for ($i=1; $i<=10;$i++) {
my $this_offset = (($i*$results_per_page)-$results_per_page);
my $this_page_number = $i;
my $highlight = 1 if ($this_page_number == $current_page_number);
push @page_numbers, { offset => $this_offset, pg => $this_page_number, highlight => $highlight, sort_by => join " ", at sort_by };
}
+ }
+ # now, show twenty pages, with the current one smack in the middle
+ else {
+ for ($i=$current_page_number; $i<=($current_page_number + 20);$i++) {
+ my $this_offset = ((($i-9)*$results_per_page)-$results_per_page);
+ my $this_page_number = $i-9;
+ my $highlight = 1 if ($this_page_number == $current_page_number);
+ push @page_numbers, { offset => $this_offset, pg => $this_page_number, highlight => $highlight, sort_by => join " ", at sort_by };
+ }
+
+ }
+
$template->param(PAGE_NUMBERS => \@page_numbers,
previous_page_offset => $previous_page_offset,
next_page_offset => $next_page_offset) unless $pages < 2;
@@ -433,7 +450,7 @@
} # end of the if local
else {
# check if it's a z3950 or opensearch source
- my $zed3950 = 0; # FIXME this value is hardcoded !
+ my $zed3950 = 1; # FIXME this value is hardcoded !
if ($zed3950) {
my @inner_sup_results_array;
for my $sup_record ( @{$results_hashref->{$server}->{"RECORDS"}} ) {
More information about the Koha-cvs
mailing list