Bug 14266: Trim the email address in the pl script
[srvgit] / opac / opac-authorities-home.pl
index 115012e..54c1444 100755 (executable)
@@ -5,23 +5,23 @@
 #
 # This file is part of Koha.
 #
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
 #
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 use strict;
 use warnings;
 
-use CGI;
+use CGI qw ( -utf8 );
 use C4::Auth;
 
 use C4::Context;
@@ -29,6 +29,7 @@ use C4::Auth;
 use C4::Output;
 use C4::AuthoritiesMarc;
 use C4::Koha;    # XXX subfield_is_koha_internal_p
+use C4::Search::History;
 
 my $query        = new CGI;
 my $op           = $query->param('op') || '';
@@ -74,7 +75,7 @@ if ( $op eq "do_search" ) {
         $resultsperpage, $authtypecode, $orderby );
     ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         {
-            template_name   => "opac-authoritiessearchresultlist.tmpl",
+            template_name   => "opac-authoritiessearchresultlist.tt",
             query           => $query,
             type            => 'opac',
             authnotrequired => 1,
@@ -129,6 +130,37 @@ if ( $op eq "do_search" ) {
         my @usedauths = grep { $_->{used} > 0 } @$results;
         $results = \@usedauths;
     }
+
+    # Opac search history
+    if (C4::Context->preference('EnableOpacSearchHistory')) {
+        unless ( $startfrom ) {
+            my $path_info = $query->url(-path_info=>1);
+            my $query_cgi_history = $query->url(-query=>1);
+            $query_cgi_history =~ s/^$path_info\?//;
+            $query_cgi_history =~ s/;/&/g;
+
+            unless ( $loggedinuser ) {
+                my $new_search = C4::Search::History::add_to_session({
+                        cgi => $query,
+                        query_desc => $value[0],
+                        query_cgi => $query_cgi_history,
+                        total => $total,
+                        type => "authority",
+                });
+            } else {
+                # To the session (the user is logged in)
+                C4::Search::History::add({
+                    userid => $loggedinuser,
+                    sessionid => $query->cookie("CGISESSID"),
+                    query_desc => $value[0],
+                    query_cgi => $query_cgi_history,
+                    total => $total,
+                    type => "authority",
+                });
+            }
+        }
+    }
+
     $template->param( result => $results ) if $results;
     $template->param( FIELDS => \@fields );
     $template->param( orderby => $orderby );
@@ -155,7 +187,7 @@ if ( $op eq "do_search" ) {
 else {
     ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         {
-            template_name   => "opac-authorities-home.tmpl",
+            template_name   => "opac-authorities-home.tt",
             query           => $query,
             type            => 'opac',
             authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ),