[Koha-patches] [PATCH] Bug 8954: Languages list in advanced search always in english

Fridolyn SOMERS fridolyn.somers at biblibre.com
Wed Oct 31 09:22:01 CET 2012


---
 C4/Languages.pm     |    6 +++++-
 catalogue/search.pl |    5 ++---
 opac/opac-search.pl |    5 ++---
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/C4/Languages.pm b/C4/Languages.pm
index d0eed69..b289a3d 100644
--- a/C4/Languages.pm
+++ b/C4/Languages.pm
@@ -179,9 +179,13 @@ Returns a reference to an array of hashes:
 =cut
 
 sub getAllLanguages {
+    my $lang = shift;
     my @languages_loop;
     my $dbh=C4::Context->dbh;
-    my $current_language = shift || 'en';
+    my $current_language = 'en';
+    if ($lang) {
+        $current_language = lc(substr($lang, 0, 2));
+    }
     my $sth = $dbh->prepare('SELECT * FROM language_subtag_registry WHERE type=\'language\'');
     $sth->execute();
     while (my $language_subtag_registry = $sth->fetchrow_hashref) {
diff --git a/catalogue/search.pl b/catalogue/search.pl
index 8b1234b..d1a3ca2 100755
--- a/catalogue/search.pl
+++ b/catalogue/search.pl
@@ -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
diff --git a/opac/opac-search.pl b/opac/opac-search.pl
index 7677d86..73d2c53 100755
--- a/opac/opac-search.pl
+++ b/opac/opac-search.pl
@@ -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 {
-- 
1.7.9.5



More information about the Koha-patches mailing list