@@ -, +, @@ access the language --- C4/Languages.pm | 12 ++++-------- catalogue/search.pl | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-) --- a/C4/Languages.pm +++ a/C4/Languages.pm @@ -26,6 +26,7 @@ use Carp; use CGI; use List::MoreUtils qw( any ); use C4::Context; +use Koha::CGI; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG); eval { @@ -570,7 +571,6 @@ sub accept_language { sub getlanguage { my ($cgi) = @_; - $cgi //= new CGI; my $interface = C4::Context->interface; my $theme = C4::Context->preference( ( $interface eq 'opac' ) ? 'opacthemes' : 'template' ); my $language; @@ -584,17 +584,13 @@ sub getlanguage { @languages = split /,/, $preference_value; } - # Chose language from the URL - $language = $cgi->param( 'language' ); + # Chose language from the URL or the cookie + $language = $cgi ? $cgi->param( 'language' ) || $cgi->cookie('KohaOpacLanguage') : Koha::CGI->language; + $language =~ s/[^a-zA-Z_-]*//; # sanitize cookie if ( defined $language && any { $_ eq $language } @languages) { return $language; } - # cookie - if ($language = $cgi->cookie('KohaOpacLanguage') ) { - $language =~ s/[^a-zA-Z_-]*//; # sanitize cookie - } - # HTTP_ACCEPT_LANGUAGE if ( !$language && $ENV{HTTP_ACCEPT_LANGUAGE} ) { $language = accept_language( $ENV{HTTP_ACCEPT_LANGUAGE}, --- a/catalogue/search.pl +++ a/catalogue/search.pl @@ -160,8 +160,8 @@ use URI::Escape; my $DisplayMultiPlaceHold = C4::Context->preference("DisplayMultiPlaceHold"); # create a new CGI object # FIXME: no_undef_params needs to be tested -use CGI qw('-no_undef_params' -utf8 ); -my $cgi = new CGI; +use Koha::CGI qw('-no_undef_params' -utf8 ); +my $cgi = Koha::CGI->new; # decide which template to use my $template_name; --