From 20af37aa48f9ab42de6e0bd2bccbeb6fccb06904 Mon Sep 17 00:00:00 2001 From: Aleisha Amohia Date: Mon, 11 Sep 2023 20:47:34 +0000 Subject: [PATCH] Bug 34760: Confirm session ID is set to save OPAC search history to logged in user This patch confirms that a session ID has been set before trying to save search history to a logged in user on the OPAC. This depends on EnableOpacSearchHistory system preference being enabled. Apply the patch and test that you don't see an Error 500 page at any point through this plan: 1. Do an OPAC search, ensure you are not logged in 2. Confirm your search was saved to search history 3. Do another search, then log in 4. Confirm you are brought back to the search results after logging in 5. Confirm all search history from the session is visible Sponsored-by: Toi Ohomai Institute of Technology Signed-off-by: Salah Ghedda --- opac/opac-search.pl | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/opac/opac-search.pl b/opac/opac-search.pl index 0d940e5717..febfc107e5 100755 --- a/opac/opac-search.pl +++ b/opac/opac-search.pl @@ -717,24 +717,29 @@ for (my $i=0;$i<@servers;$i++) { $query_cgi_history =~ s/;/&/g; my $query_desc_history = join ", ", grep { defined $_ } $query_desc, $limit_desc; - unless ( $borrowernumber ) { - my $new_searches = C4::Search::History::add_to_session({ - cgi => $cgi, + if ( $borrowernumber and $cgi->cookie("CGISESSID") ) { + + # To the session (the user is logged in) + C4::Search::History::add( + { + userid => $borrowernumber, + sessionid => $cgi->cookie("CGISESSID"), query_desc => $query_desc_history, - query_cgi => $query_cgi_history, - total => $total, - type => "biblio", - }); + query_cgi => $query_cgi_history, + total => $total, + type => "biblio", + } + ); } else { - # To the session (the user is logged in) - C4::Search::History::add({ - userid => $borrowernumber, - sessionid => $cgi->cookie("CGISESSID"), - query_desc => $query_desc_history, - query_cgi => $query_cgi_history, - total => $total, - type => "biblio", - }); + my $new_searches = C4::Search::History::add_to_session( + { + cgi => $cgi, + query_desc => $query_desc_history, + query_cgi => $query_cgi_history, + total => $total, + type => "biblio", + } + ); } } $template->param( EnableOpacSearchHistory => 1 ); -- 2.34.1