Bug 5305: CCL query, then resort, loses reults.
[koha_gimpoz] / catalogue / search.pl
index b22837a..17cbdcc 100755 (executable)
@@ -383,7 +383,7 @@ my @indexes;
 @indexes = split("\0",$params->{'idx'});
 
 # if a simple index (only one)  display the index used in the top search box
-if ($indexes[0] && !$indexes[1]) {
+if ($indexes[0] && (!$indexes[1] || $params->{'scan'})) {
     $template->param("ms_".$indexes[0] => 1);}
 
 
@@ -396,7 +396,7 @@ my @limits;
 @limits = split("\0",$params->{'limit'}) if $params->{'limit'};
 
 if($params->{'multibranchlimit'}) {
-push @limits, join(" or ", map { "branch: $_ "}  @{GetBranchesInCategory($params->{'multibranchlimit'})}) ;
+    push @limits, '('.join( " or ", map { "branch: $_ " } @{ GetBranchesInCategory( $params->{'multibranchlimit'} ) } ).')';
 }
 
 my $available;
@@ -468,10 +468,9 @@ my $scan_index_to_use;
 
 for my $this_cgi ( split('&',$query_cgi) ) {
     next unless $this_cgi;
-    $this_cgi =~ m/(.*=)(.*)/;
+    $this_cgi =~ m/(.?)=(.*)/;
     my $input_name = $1;
     my $input_value = $2;
-    $input_name =~ s/=$//;
     push @query_inputs, { input_name => $input_name, input_value => $input_value };
        if ($input_name eq 'idx') {
        $scan_index_to_use = $input_value; # unless $scan_index_to_use;