Bug 20639: (follow-up) Fix population of backends
[koha.git] / opac / opac-search-history.pl
index 0364960..3ae4aad 100755 (executable)
@@ -40,12 +40,16 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user(
         template_name => "opac-search-history.tt",
         query => $cgi,
         type => "opac",
-        authnotrequired => 1,
-        flagsrequired => {borrowers => 1},
+        authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ),
         debug => 1,
     }
 );
 
+unless ( C4::Context->preference("EnableOpacSearchHistory") ) {
+    print $cgi->redirect("/cgi-bin/koha/errors/404.pl"); # escape early
+    exit;
+}
+
 my $type = $cgi->param('type');
 my $action = $cgi->param('action') || q{};
 my $previous = $cgi->param('previous');
@@ -55,7 +59,7 @@ unless ( $loggedinuser ) {
     # Deleting search history
     if ( $action eq 'delete') {
         # Deleting session's search history
-        my @id = $cgi->param('id');
+        my @id = $cgi->multi_param('id');
         my $all = not scalar( @id );
 
         my $type = $cgi->param('type');
@@ -99,11 +103,12 @@ unless ( $loggedinuser ) {
 
     # Deleting search history
     if ( $action eq 'delete' ) {
-        my @id = $cgi->param('id');
+        my @id = $cgi->multi_param('id');
         if ( @id ) {
             C4::Search::History::delete(
                 {
-                    id => [ $cgi->param('id') ],
+                    userid => $loggedinuser,
+                    id     => [ $cgi->param('id') ],
                 }
             );
         } else {