Prior to this patch, XSL and scan indexes conflicted.
authorJoshua Ferraro <jmf@liblime.com>
Tue, 8 Jul 2008 20:59:09 +0000 (15:59 -0500)
committerJoshua Ferraro <jmf@liblime.com>
Tue, 8 Jul 2008 20:59:09 +0000 (15:59 -0500)
This patch resolves the issue by passing $scan to the
searchResults function to toggle XSL for scan results

C4/Search.pm
catalogue/search.pl
cataloguing/addbooks.pl
opac/opac-search.pl

index d138594..a252e1d 100755 (executable)
@@ -1179,7 +1179,7 @@ Format results in a form suitable for passing to the template
 # IMO this subroutine is pretty messy still -- it's responsible for
 # building the HTML output for the template
 sub searchResults {
-    my ( $searchdesc, $hits, $results_per_page, $offset, @marcresults ) = @_;
+    my ( $searchdesc, $hits, $results_per_page, $offset, $scan, @marcresults ) = @_;
     my $dbh = C4::Context->dbh;
     my $even = 1;
     my @newresults;
@@ -1500,7 +1500,7 @@ s/\[(.?.?.?.?)$tagsubf(.*?)]/$1$subfieldvalue$2\[$1$tagsubf$2]/g;
         }
 
         # XSLT processing of some stuff
-        if (C4::Context->preference("XSLTResultsDisplay") ) {
+        if (C4::Context->preference("XSLTResultsDisplay") && !$scan) {
             my $newxmlrecord = XSLTParse4Display($oldbiblio->{biblionumber},C4::Context->config('opachtdocs')."/prog/en/xslt/MARC21slim2OPACResults.xsl");
             $oldbiblio->{XSLTResultsRecord} = $newxmlrecord;
         }
index 75aab08..ad3d6a4 100755 (executable)
@@ -509,7 +509,7 @@ for (my $i=0;$i<@servers;$i++) {
     if ($server =~/biblioserver/) { # this is the local bibliographic server
         $hits = $results_hashref->{$server}->{"hits"};
         my $page = $cgi->param('page') || 0;
-        my @newresults = searchResults( $query_desc,$hits,$results_per_page,$offset,@{$results_hashref->{$server}->{"RECORDS"}});
+        my @newresults = searchResults( $query_desc,$hits,$results_per_page,$offset,$scan,@{$results_hashref->{$server}->{"RECORDS"}});
         $total = $total + $results_hashref->{$server}->{"hits"};
         ## If there's just one result, redirect to the detail page
         if ($total == 1) {         
index 1876133..91d5d6e 100755 (executable)
@@ -79,7 +79,7 @@ if ($query) {
     
     # format output
     my $total = scalar @$marcresults;
-    my @newresults = searchResults( $query, $total, $results_per_page, $page-1, @$marcresults );
+    my @newresults = searchResults( $query, $total, $results_per_page, $page-1, 0, @$marcresults );
     $template->param(
         total       => $total,
         query       => $query,
index b03554e..3a177af 100755 (executable)
@@ -411,12 +411,12 @@ for (my $i=0;$i<=@servers;$i++) {
                 # because pazGetRecords handles retieving only the records
                 # we want as specified by $offset and $results_per_page,
                 # we need to set the offset parameter of searchResults to 0
-                my @group_results = searchResults( $query_desc, $group->{'group_count'},$results_per_page, 0,
+                my @group_results = searchResults( $query_desc, $group->{'group_count'},$results_per_page, 0, $scan,
                                                    @{ $group->{"RECORDS"} });
                 push @newresults, { group_label => $group->{'group_label'}, GROUP_RESULTS => \@group_results };
             }
         } else {
-            @newresults = searchResults( $query_desc,$hits,$results_per_page,$offset,@{$results_hashref->{$server}->{"RECORDS"}});
+            @newresults = searchResults( $query_desc,$hits,$results_per_page,$offset,$scan,@{$results_hashref->{$server}->{"RECORDS"}});
         }
                my $tag_quantity;
                if (C4::Context->preference('TagsEnabled') and