From 4cb139b9cecf33e10fb2fdc0ea6839dabd683d55 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Wed, 5 Jun 2013 14:56:38 -0300 Subject: [PATCH] Bug 9735 - Build the cookie array correctly MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The current implementation didn't build the cookie array correctly, yielding login problems in some scenarios. Sponsored-by: Universidad Nacional de Córdoba Signed-off-by: Julian Maurice Signed-off-by: Katrin Fischer Signed-off-by: Galen Charlton --- C4/Auth.pm | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/C4/Auth.pm b/C4/Auth.pm index 9a64fe1420..156be9d7ae 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -136,10 +136,17 @@ VALUES ( ?, ?, ?, ?, ?, EOQ sub get_template_and_user { + my $in = shift; - my $template = - C4::Templates::gettemplate( $in->{'template_name'}, $in->{'type'}, $in->{'query'}, $in->{'is_plugin'} ); my ( $user, $cookie, $sessionID, $flags ); + + my $template = C4::Templates::gettemplate( + $in->{'template_name'}, + $in->{'type'}, + $in->{'query'}, + $in->{'is_plugin'} + ); + if ( $in->{'template_name'} !~m/maintenance/ ) { ( $user, $cookie, $sessionID, $flags ) = checkauth( $in->{'query'}, @@ -283,10 +290,10 @@ sub get_template_and_user { $template->param( sessionID => $sessionID ); my ($total, $pubshelves) = C4::VirtualShelves::GetSomeShelfNames(undef, 'MASTHEAD'); - $template->param( - pubshelves => $total->{pubtotal}, - pubshelvesloop => $pubshelves, - ); + $template->param( + pubshelves => $total->{pubtotal}, + pubshelvesloop => $pubshelves, + ); } # Anonymous opac search history # If opac search history is enabled and at least one search has already been performed @@ -468,7 +475,11 @@ sub get_template_and_user { # what to do my $language = C4::Templates::getlanguage($in->{'query'},$in->{'type'}); my $languagecookie = C4::Templates::getlanguagecookie($in->{'query'},$language); - $cookie = [$cookie, $languagecookie]; + if ( ref $cookie eq 'ARRAY' ) { + push @{ $cookie }, $languagecookie; + } else { + $cookie = [$cookie, $languagecookie]; + } } return ( $template, $borrowernumber, $cookie, $flags); -- 2.39.5