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