|
Lines 43-51
BEGIN {
Link Here
|
| 43 |
@EXPORT = qw( |
43 |
@EXPORT = qw( |
| 44 |
&getFrameworkLanguages |
44 |
&getFrameworkLanguages |
| 45 |
&getTranslatedLanguages |
45 |
&getTranslatedLanguages |
|
|
46 |
&getLanguages |
| 46 |
&getAllLanguages |
47 |
&getAllLanguages |
| 47 |
); |
48 |
); |
| 48 |
@EXPORT_OK = qw(getFrameworkLanguages getTranslatedLanguages getAllLanguages get_bidi regex_lang_subtags language_get_description accept_language); |
49 |
@EXPORT_OK = qw(getFrameworkLanguages getTranslatedLanguages getAllLanguages getLanguages get_bidi regex_lang_subtags language_get_description accept_language); |
| 49 |
$DEBUG = 0; |
50 |
$DEBUG = 0; |
| 50 |
} |
51 |
} |
| 51 |
|
52 |
|
|
Lines 178-191
Returns a reference to an array of hashes:
Link Here
|
| 178 |
=cut |
179 |
=cut |
| 179 |
|
180 |
|
| 180 |
sub getAllLanguages { |
181 |
sub getAllLanguages { |
|
|
182 |
return getLanguages(shift); |
| 183 |
} |
| 184 |
|
| 185 |
=head2 getLanguages |
| 186 |
|
| 187 |
Returns a reference to an array of hashes. |
| 188 |
Extracted from getAllLanguages to limit effect on the code base. |
| 189 |
This new function (name) will allow for more arguments to customize the values returned. |
| 190 |
|
| 191 |
- If no parameter is passed to the function, it returns english languages names |
| 192 |
- If a $lang parameter conforming to RFC4646 syntax is passed, the function returns languages names translated in $lang |
| 193 |
If a language name is not translated in $lang in database, the function returns english language name |
| 194 |
- If $isFiltered is set to true, only the detail of the languages selected in system preferences AdvanceSearchLanguages is returned. |
| 195 |
|
| 196 |
=cut |
| 197 |
|
| 198 |
sub getLanguages { |
| 181 |
my $lang = shift; |
199 |
my $lang = shift; |
| 182 |
# if no parameter is passed to the function, it returns english languages names |
200 |
my $isFiltered = shift; |
| 183 |
# if a $lang parameter conforming to RFC4646 syntax is passed, the function returns languages names translated in $lang |
201 |
|
| 184 |
# if a language name is not translated in $lang in database, the function returns english language name |
|
|
| 185 |
my @languages_loop; |
202 |
my @languages_loop; |
| 186 |
my $dbh=C4::Context->dbh; |
203 |
my $dbh=C4::Context->dbh; |
| 187 |
my $default_language = 'en'; |
204 |
my $default_language = 'en'; |
| 188 |
my $current_language = $default_language; |
205 |
my $current_language = $default_language; |
|
|
206 |
my $language_list=C4::Context->preference("AdvancedSearchLanguages") if $isFiltered; |
| 189 |
if ($lang) { |
207 |
if ($lang) { |
| 190 |
$current_language = regex_lang_subtags($lang)->{'language'}; |
208 |
$current_language = regex_lang_subtags($lang)->{'language'}; |
| 191 |
} |
209 |
} |
|
Lines 226-232
sub getAllLanguages {
Link Here
|
| 226 |
$language_subtag_registry->{language_description} = $language_descriptions->{description}; |
244 |
$language_subtag_registry->{language_description} = $language_descriptions->{description}; |
| 227 |
} |
245 |
} |
| 228 |
} |
246 |
} |
| 229 |
push @languages_loop, $language_subtag_registry; |
247 |
if ( !$language_list || index ( $language_list, $language_subtag_registry->{ iso639_2_code } ) >= 0) { |
|
|
248 |
push @languages_loop, $language_subtag_registry; |
| 249 |
} |
| 230 |
} |
250 |
} |
| 231 |
return \@languages_loop; |
251 |
return \@languages_loop; |
| 232 |
} |
252 |
} |