From 1e6ea37f9e40b294c6d86a62710426fe0b75aa1e Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 18 Mar 2016 15:52:06 +0000 Subject: [PATCH] Bug 16088: [POC] Koha::CGI - Do no create a new CGI object to access the language --- C4/Languages.pm | 12 ++++-------- catalogue/search.pl | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/C4/Languages.pm b/C4/Languages.pm index 95bc114..141314f 100644 --- a/C4/Languages.pm +++ b/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}, diff --git a/catalogue/search.pl b/catalogue/search.pl index fe5d45d..8e4d5d6 100755 --- a/catalogue/search.pl +++ b/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; -- 2.7.0