Merge branch 'bug_8954' into 3.12-master
This commit is contained in:
commit
be19f11e97
3 changed files with 26 additions and 12 deletions
|
@ -178,19 +178,35 @@ Returns a reference to an array of hashes:
|
|||
=cut
|
||||
|
||||
sub getAllLanguages {
|
||||
my $lang = shift;
|
||||
# if no parameter is passed to the function, it returns english languages names
|
||||
# if a $lang parameter conforming to RFC4646 syntax is passed, the function returns languages names translated in $lang
|
||||
# if a language name is not translated in $lang in database, the function returns english language name
|
||||
my @languages_loop;
|
||||
my $dbh=C4::Context->dbh;
|
||||
my $current_language = shift || 'en';
|
||||
my $default_language = 'en';
|
||||
my $current_language = $default_language;
|
||||
if ($lang) {
|
||||
$current_language = regex_lang_subtags($lang)->{'language'};
|
||||
}
|
||||
my $sth = $dbh->prepare('SELECT * FROM language_subtag_registry WHERE type=\'language\'');
|
||||
$sth->execute();
|
||||
while (my $language_subtag_registry = $sth->fetchrow_hashref) {
|
||||
|
||||
# pull out all the script descriptions for each language
|
||||
my $desc;
|
||||
# check if language name is stored in current language
|
||||
my $sth4= $dbh->prepare("SELECT description FROM language_descriptions WHERE type='language' AND subtag =? AND lang = ?");
|
||||
$sth4->execute($language_subtag_registry->{subtag},$current_language);
|
||||
while (my $language_desc = $sth4->fetchrow_hashref) {
|
||||
$desc=$language_desc->{description};
|
||||
}
|
||||
my $sth2= $dbh->prepare("SELECT * FROM language_descriptions LEFT JOIN language_rfc4646_to_iso639 on language_rfc4646_to_iso639.rfc4646_subtag = language_descriptions.subtag WHERE type='language' AND subtag =? AND language_descriptions.lang = ?");
|
||||
$sth2->execute($language_subtag_registry->{subtag},$current_language);
|
||||
|
||||
if ($desc) {
|
||||
$sth2->execute($language_subtag_registry->{subtag},$current_language);
|
||||
}
|
||||
else {
|
||||
$sth2->execute($language_subtag_registry->{subtag},$default_language);
|
||||
}
|
||||
my $sth3 = $dbh->prepare("SELECT description FROM language_descriptions WHERE type='language' AND subtag=? AND lang=?");
|
||||
|
||||
# add the correct description info
|
||||
while (my $language_descriptions = $sth2->fetchrow_hashref) {
|
||||
$sth3->execute($language_subtag_registry->{subtag},$language_subtag_registry->{subtag});
|
||||
|
|
|
@ -158,7 +158,7 @@ use CGI qw('-no_undef_params');
|
|||
my $cgi = new CGI;
|
||||
|
||||
my ($template,$borrowernumber,$cookie);
|
||||
|
||||
my $lang = C4::Templates::getlanguage($cgi, 'intranet');
|
||||
# decide which template to use
|
||||
my $template_name;
|
||||
my $template_type;
|
||||
|
@ -334,7 +334,7 @@ if ( $template_type eq 'advsearch' ) {
|
|||
search_boxes_loop => \@search_boxes_array);
|
||||
|
||||
# load the language limits (for search)
|
||||
my $languages_limit_loop = getAllLanguages();
|
||||
my $languages_limit_loop = getAllLanguages($lang);
|
||||
$template->param(search_languages_loop => $languages_limit_loop,);
|
||||
|
||||
# Expanded search options in advanced search:
|
||||
|
@ -472,7 +472,6 @@ my ( $error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit
|
|||
my @results;
|
||||
|
||||
## I. BUILD THE QUERY
|
||||
my $lang = C4::Templates::getlanguage($cgi, 'intranet');
|
||||
( $error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_desc,$stopwords_removed,$query_type) = buildQuery(\@operators,\@operands,\@indexes,\@limits,\@sort_by,$scan,$lang);
|
||||
|
||||
## parse the query_cgi string and put it into a form suitable for <input>s
|
||||
|
|
|
@ -71,7 +71,7 @@ BEGIN {
|
|||
}
|
||||
|
||||
my ($template,$borrowernumber,$cookie);
|
||||
|
||||
my $lang = C4::Templates::getlanguage($cgi, 'opac');
|
||||
# decide which template to use
|
||||
my $template_name;
|
||||
my $template_type = 'basic';
|
||||
|
@ -178,7 +178,7 @@ $template->param(
|
|||
);
|
||||
|
||||
# load the language limits (for search)
|
||||
my $languages_limit_loop = getAllLanguages();
|
||||
my $languages_limit_loop = getAllLanguages($lang);
|
||||
$template->param(search_languages_loop => $languages_limit_loop,);
|
||||
|
||||
# load the Type stuff
|
||||
|
@ -418,7 +418,6 @@ my ($error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_
|
|||
my @results;
|
||||
|
||||
## I. BUILD THE QUERY
|
||||
my $lang = C4::Templates::getlanguage($cgi, 'opac');
|
||||
( $error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_desc,$stopwords_removed,$query_type) = buildQuery(\@operators,\@operands,\@indexes,\@limits,\@sort_by, 0, $lang);
|
||||
|
||||
sub _input_cgi_parse {
|
||||
|
|
Loading…
Reference in a new issue