|
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 |
- |
|
|