minor fix - don't declare variables in a conditional
[koha.git] / catalogue / search.pl
index 13b137b..0fff659 100755 (executable)
@@ -208,8 +208,13 @@ if (C4::Context->preference("marcflavour") eq "UNIMARC" ) {
 my $branches = GetBranches();
 my @branch_loop;
 
+# we need to know the borrower branch code to set a default branch
+my $borrowerbranchcode = C4::Context->userenv->{'branch'};
+
 for my $branch_hash (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
-    push @branch_loop, {value => "$branch_hash" , branchname => $branches->{$branch_hash}->{'branchname'}, };
+    # if independantbranches is activated, set the default branch to the borrower branch
+    my $selected = (C4::Context->preference("independantbranches") and ($borrowerbranchcode eq $branch_hash)) ? 1 : undef;
+    push @branch_loop, {value => "$branch_hash" , branchname => $branches->{$branch_hash}->{'branchname'}, selected => $selected};
 }
 
 my $categories = GetBranchCategories(undef,'searchdomain');
@@ -265,7 +270,12 @@ if ( $template_type eq 'advsearch' ) {
     
     my $secondary_servers_loop;# = displaySecondaryServers();
     $template->param(outer_sup_servers_loop => $secondary_servers_loop,);
-    
+
+    # set the default sorting
+    my $default_sort_by = C4::Context->preference('defaultSortField')."_".C4::Context->preference('defaultSortOrder')
+        if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder'));
+    $template->param($default_sort_by => 1);
+
     # determine what to display next to the search boxes (ie, boolean option
     # shouldn't appear on the first one, scan indexes should, adding a new
     # box should only appear on the last, etc.
@@ -476,37 +486,6 @@ if ($@ || $error) {
     exit;
 }
 
-# FIXME: This belongs in tools/ not in the primary search results page
-my $op=$cgi->param("operation");
-if ($op eq "bulkedit"){
-    my ($countchanged,$listunchanged)=
-    ModBiblios($results_hashref->{'biblioserver'}->{"RECORDS"},
-                      $params->{"tagsubfield"},
-                      $params->{"inputvalue"},
-                      $params->{"targetvalue"},
-                      $params->{"test"}
-                      );
-    $template->param(bulkeditresults=>1,
-                      tagsubfield=>$params->{"tagsubfield"},
-                      inputvalue=>$params->{"inputvalue"},
-                      targetvalue=>$params->{"targetvalue"},
-                      countchanged=>$countchanged,
-                      countunchanged=>scalar(@$listunchanged),
-                      listunchanged=>$listunchanged);
-
-    if (C4::Context->userenv->{'flags'}==1 ||(C4::Context->userenv->{'flags'} & ( 2**9 ) )){
-    #Edit Catalogue Permissions
-        my $editable_subfields = GetManagedTagSubfields();
-        # change '--' to '—' to avoid escaping issues
-        for (my $i = 0; $i <= $#{$editable_subfields}; $i++) {
-            $editable_subfields->[$i]->{subfielddesc} =~ s/--/&mdash;/g;
-            $editable_subfields->[$i]->{tagdesc} =~ s/--/&mdash;/g;
-        }
-        $template->param(bulkedit => 1);
-        $template->param(tagsubfields=>$editable_subfields);
-    }
-}
-
 # At this point, each server has given us a result set
 # now we build that set for template display
 my @sup_results_array;
@@ -529,6 +508,9 @@ for (my $i=0;$i<@servers;$i++) {
             } 
             exit;
         }
+
+
+
         if ($hits) {
             $template->param(total => $hits);
             my $limit_cgi_not_availablity = $limit_cgi;
@@ -575,6 +557,9 @@ for (my $i=0;$i<@servers;$i++) {
                 }
                         
             }
+
+
+
             # now, show twenty pages, with the current one smack in the middle
             else {
                 for (my $i=$current_page_number; $i<=($current_page_number + 20 );$i++) {
@@ -592,10 +577,20 @@ for (my $i=0;$i<@servers;$i++) {
                                 previous_page_offset => $previous_page_offset) unless $pages < 2;
             $template->param(   next_page_offset => $next_page_offset) unless $pages eq $current_page_number;
         }
+
+
+
+
+
         # no hits
         else {
             $template->param(searchdesc => 1,query_desc => $query_desc,limit_desc => $limit_desc);
         }
+
+
+
+
+
     } # end of the if local
 
     # asynchronously search the authority server