Lines 4-10
use strict;
Link Here
|
4 |
use warnings; |
4 |
use warnings; |
5 |
use Carp; |
5 |
use Carp; |
6 |
use CGI; |
6 |
use CGI; |
7 |
use List::Util qw/first/; |
7 |
use List::MoreUtils qw/any/; |
8 |
|
8 |
|
9 |
# Copyright 2009 Chris Cormack and The Koha Dev Team |
9 |
# Copyright 2009 Chris Cormack and The Koha Dev Team |
10 |
# |
10 |
# |
Lines 313-321
sub getlanguage {
Link Here
|
313 |
my ($query, $interface) = @_; |
313 |
my ($query, $interface) = @_; |
314 |
|
314 |
|
315 |
# Select a language based on cookie, syspref available languages & browser |
315 |
# Select a language based on cookie, syspref available languages & browser |
316 |
my $is_intranet = $interface eq 'intranet'; |
316 |
my $preference_to_check = |
317 |
my @languages = split(",", C4::Context->preference( |
317 |
$interface eq 'intranet' ? 'language' : 'opaclanguages'; |
318 |
$is_intranet ? 'language' : 'opaclanguages')); |
318 |
my @languages = split /,/, C4::Context->preference($preference_to_check); |
319 |
|
319 |
|
320 |
my $lang; |
320 |
my $lang; |
321 |
|
321 |
|
Lines 326-345
sub getlanguage {
Link Here
|
326 |
} |
326 |
} |
327 |
|
327 |
|
328 |
# HTTP_ACCEPT_LANGUAGE |
328 |
# HTTP_ACCEPT_LANGUAGE |
329 |
unless ($lang) { |
329 |
if ( !$lang && $ENV{HTTP_ACCEPT_LANGUAGE} ) { |
330 |
my $http_accept_language = $ENV{ HTTP_ACCEPT_LANGUAGE }; |
330 |
$lang = accept_language( $ENV{HTTP_ACCEPT_LANGUAGE}, |
331 |
$lang = accept_language( $http_accept_language, |
331 |
getTranslatedLanguages( $interface, 'prog' ) ); |
332 |
getTranslatedLanguages($interface,'prog') ); |
|
|
333 |
} |
332 |
} |
334 |
|
333 |
|
335 |
# Ignore a lang not selected in sysprefs |
334 |
# Ignore a lang not selected in sysprefs |
336 |
$lang = undef unless first { $_ eq $lang } @languages; |
335 |
if ( $lang && any { $_ eq $lang } @languages ) { |
|
|
336 |
return $lang; |
337 |
} |
337 |
|
338 |
|
338 |
# Fall back to English if necessary |
339 |
# Fall back to English if necessary |
339 |
$lang = 'en' unless $lang; |
340 |
return 'en'; |
340 |
|
|
|
341 |
return $lang; |
342 |
} |
341 |
} |
343 |
|
342 |
|
344 |
1; |
343 |
1; |
345 |
|
|
|
346 |
- |