Lines 316-332
sub setlanguagecookie {
Link Here
|
316 |
); |
316 |
); |
317 |
} |
317 |
} |
318 |
|
318 |
|
|
|
319 |
=head2 getlanguagecookie |
320 |
|
321 |
my $cookie = getlanguagecookie($query,$language); |
322 |
|
323 |
Returns a cookie object containing the calculated language to be used. |
324 |
|
325 |
=cut |
326 |
|
327 |
sub getlanguagecookie { |
328 |
my ( $query, $language ) = @_; |
329 |
my $cookie = $query->cookie( |
330 |
-name => 'KohaOpacLanguage', |
331 |
-value => $language, |
332 |
-HttpOnly => 1, |
333 |
-expires => '+3y' |
334 |
); |
335 |
|
336 |
return $cookie; |
337 |
} |
338 |
|
339 |
=head2 getlanguage |
340 |
|
341 |
Select a language based on the URL parameter 'language', a cookie, |
342 |
syspref available languages & browser |
343 |
|
344 |
=cut |
319 |
|
345 |
|
320 |
sub getlanguage { |
346 |
sub getlanguage { |
321 |
my ($query, $interface) = @_; |
347 |
my ($query, $interface) = @_; |
322 |
|
348 |
|
323 |
# Select a language based on cookie, syspref available languages & browser |
|
|
324 |
my $preference_to_check = |
349 |
my $preference_to_check = |
325 |
$interface eq 'intranet' ? 'language' : 'opaclanguages'; |
350 |
$interface eq 'intranet' ? 'language' : 'opaclanguages'; |
|
|
351 |
# Get the available/valid languages list |
326 |
my @languages = split /,/, C4::Context->preference($preference_to_check); |
352 |
my @languages = split /,/, C4::Context->preference($preference_to_check); |
327 |
|
353 |
|
328 |
my $lang; |
354 |
my $lang; |
329 |
|
355 |
|
|
|
356 |
# Chose language from the URL |
357 |
$lang = $query->param( 'language' ); |
358 |
if ( defined $lang && any { $_ eq $lang } @languages) { |
359 |
return $lang; |
360 |
} |
361 |
|
330 |
# cookie |
362 |
# cookie |
331 |
if ( $query->cookie('KohaOpacLanguage') ) { |
363 |
if ( $query->cookie('KohaOpacLanguage') ) { |
332 |
$lang = $query->cookie('KohaOpacLanguage'); |
364 |
$lang = $query->cookie('KohaOpacLanguage'); |
333 |
- |
|
|