koha-cvs
[Top][All Lists]
Advanced

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

[Koha-cvs] koha/opac opac-zoomsearch.pl [dev_week]


From: Tumer Garip
Subject: [Koha-cvs] koha/opac opac-zoomsearch.pl [dev_week]
Date: Wed, 07 Jun 2006 18:58:19 +0000

CVSROOT:        /sources/koha
Module name:    koha
Branch:         dev_week
Changes by:     Tumer Garip <tgarip1957>        06/06/07 18:58:19

Modified files:
        opac           : opac-zoomsearch.pl 

Log message:
        Allows resort after search. Only retrieves the required marc records 
for one page

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/opac/opac-zoomsearch.pl?cvsroot=koha&only_with_tag=dev_week&r1=1.1.2.2&r2=1.1.2.3

Patches:
Index: opac-zoomsearch.pl
===================================================================
RCS file: /sources/koha/koha/opac/Attic/opac-zoomsearch.pl,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -b -r1.1.2.2 -r1.1.2.3
--- opac-zoomsearch.pl  7 Jun 2006 16:52:06 -0000       1.1.2.2
+++ opac-zoomsearch.pl  7 Jun 2006 18:58:19 -0000       1.1.2.3
@@ -14,7 +14,7 @@
 my @newresults;
 my ($template,$borrowernumber,$cookie);
 my @forminputs;                #this is for the links to navigate among the 
results when they are more than the maximum number of results per page
-my @searchdesc;
+my $searchdesc;
 ## Check if we're searching
 if ($op eq 'get_results') { # Yea, we're searching, load the results template
        ($template, $borrowernumber, $cookie)
@@ -39,19 +39,20 @@
 push @forminputs, {field => 'pqf_prox_ops', value => $pqf_prox_ops};
 push @forminputs, { field => 'pqf_bool_ops' , value => $pqf_bool_ops};
 push @forminputs, { field => 'pqf_query' , value => $pqf_query };
-
+$searchdesc=$cql_query.$pqf_query;
 # STEP 2. OK, now we have PQF, so we can pass off the query to
 # the API
+my $reorder=$query->param('reorder_query');
 my ($count, @results);
 if ($query->param('cql_query')) {
-       ($count,@results) = searchZOOM('cql',$cql_query);
+       ($count,@results) = 
searchZOOM('cql',$cql_query,$reorder,$number_of_results,$startfrom);
 } else {
-       ($count,@results) = searchZOOM('pqf',"$pqf_sort_by $pqf_prox_ops 
$pqf_bool_ops $pqf_query");
+       ($count,@results) = searchZOOM('pqf',"$pqf_sort_by $pqf_prox_ops 
$pqf_bool_ops $pqf_query",$reorder,$number_of_results,$startfrom);
 }
 
 
 
address@hidden( $number_of_results,$count,$startfrom,@results) ;
address@hidden( $number_of_results,@results) ;
        my $num = scalar(@newresults);
        # sorting out which results to display.
        # the result number to start to show
@@ -62,8 +63,8 @@
        # the total results searched
        $template->param(total => $count);
        $template->param(FORMINPUTS => address@hidden);
-#      $template->param(searchdesc => address@hidden );
-       
+       $template->param(searchdesc => $searchdesc );
+       $template->param(reorder => $reorder );
        $template->param(results_per_page =>  $number_of_results );
        $template->param(SEARCH_RESULTS => address@hidden);
 
@@ -145,13 +146,14 @@
 }
 output_html_with_http_headers $query, $cookie, $template->output;
 
+
 ###Move these subs to a proper Search.pm
 sub searchZOOM {
        use C4::Biblio;
-       my ($type,$query) = @_;
+       my ($type,$query,$reorder,$num,$startfrom) = @_;
        my $dbh = C4::Context->dbh;
        my $zconn=C4::Context->Zconn("biblioserver");
-
+warn ($type,$query,$reorder,$num,$startfrom) ;
        if ($zconn eq "error") {
                return("error with connection",undef); #FIXME: better error 
handling
        }
@@ -177,9 +179,17 @@
        if ($@) {
                return("error with search",undef); #FIXME: better error handling
        }
+if ($reorder){
+warn $reorder;
+if($result->sort("yaz","$reorder")<0){
+warn "sort did not work";
+}
+}
+       my $i;
        my $numresults = $result->size() if  ($result);
        my @results;
-       for (my $i=0; $i<$numresults;$i++) {
+       for ( $i=$startfrom; $i<(($startfrom+$num<=$numresults) ? 
($startfrom+$num):$numresults) ; $i++){
+       
                my $rec = $result->record($i);
                push(@results,$rec->raw()) if $rec;
        }
@@ -282,7 +292,7 @@
 
 
 sub searchResults {
-my ($num,$numresults,$startfrom,@marcresults)address@hidden;   
+my ($num,@marcresults)address@hidden;  
 use C4::Date;
 
 my $dbh= C4::Context->dbh;
@@ -318,7 +328,7 @@
 $subfieldstosearch{$column}=$tagsubfield;
 }
 
-               for ( my $i=$startfrom; $i<(($startfrom+$num<=$numresults) ? 
($startfrom+$num):$numresults) ; $i++){
+               for ( my $i=0; $i<$num ; $i++){
        
                my $marcrecord;                                 
        $marcrecord = MARC::File::USMARC::decode($marcresults[$i]);




reply via email to

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