[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