koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] koha/opac opac-search.pl [rel_3_0]


From: Antoine Farnault
Subject: [Koha-cvs] koha/opac opac-search.pl [rel_3_0]
Date: Mon, 09 Oct 2006 16:47:31 +0000

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<address@hidden;$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 => address@hidden);
 
+                       ## 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 " ",@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 " ",@sort_by };
+                }
+       
+                       }
+
                        $template->param(PAGE_NUMBERS => address@hidden,
                                                        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"}} ) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]