refactoring changelanguage, better var names, etc.
authorJoshua Ferraro <jmf@liblime.com>
Sun, 11 Nov 2007 05:58:46 +0000 (23:58 -0600)
committerJoshua Ferraro <jmf@liblime.com>
Sat, 5 Jan 2008 08:59:38 +0000 (02:59 -0600)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
C4/Languages.pm
C4/Output.pm
koha-tmpl/intranet-tmpl/prog/en/includes/intranet-bottom.inc

index c90f615..7a2d00b 100644 (file)
@@ -74,7 +74,7 @@ sub getFrameworkLanguages {
                 push @languages, {
                                        'language_code'=>$dirname, 
                                        'language_description'=>$language_set->{language_description}, 
-                                       'language_native_descrition'=>$language_set->{language_native_description} }
+                                       'native_descrition'=>$language_set->{language_native_description} }
             }
         }
     }
@@ -260,11 +260,11 @@ sub _build_languages_arrayref {
             unless ($seen_languages{$language}) {
                 for my $language_code (@$all_languages) {
                     if ($language_subtags_hashref->{language} eq $language_code->{'subtag'}) {
-                                               $language_code->{'language'} = $language;
-                                               $language_code->{'language_code'} = $language;
-                                               $language_code->{'language_script'} = $language_subtags_hashref->{'script'};
-                                               $language_code->{'language_region'} = $language_subtags_hashref->{'region'};
-                                               $language_code->{'language_variant'} = $language_subtags_hashref->{'variant'};
+                                               $language_code->{'language_lang'} = $language;
+                                               $language_code->{'language_code'} = $language_subtags_hashref->{'language'};
+                                               $language_code->{'script_code'} = $language_subtags_hashref->{'script'};
+                                               $language_code->{'region_code'} = $language_subtags_hashref->{'region'};
+                                               $language_code->{'variant_code'} = $language_subtags_hashref->{'variant'};
                         push @final_languages, $language_code;
                                                $found_languages{$language}++;
                     }
@@ -274,7 +274,7 @@ sub _build_languages_arrayref {
                                # Handle languages not in our database with their code
                                unless ($found_languages{$language}) {
                                        my $language_code;
-                                       $language_code->{'language'} = $language;
+                                       $language_code->{'language_lang'} = $language;
                                        $language_code->{'language_code'} = $language;
                                        push @final_languages, $language_code;
                                }
@@ -284,11 +284,11 @@ sub _build_languages_arrayref {
 }
 
 sub language_get_description {
-       my ($script,$lang) = @_;
+       my ($script,$lang,$type) = @_;
        my $dbh = C4::Context->dbh;
        my $desc;
-       my $sth = $dbh->prepare('SELECT description FROM language_descriptions WHERE subtag=? AND lang=?');
-       $sth->execute($script,$lang);
+       my $sth = $dbh->prepare('SELECT description FROM language_descriptions WHERE subtag=? AND lang=? AND type=?');
+       $sth->execute($script,$lang,$type);
        while (my $descriptions = $sth->fetchrow_hashref) {
                $desc = $descriptions->{'description'};
        }
index 26f7887..2873c64 100644 (file)
@@ -107,18 +107,26 @@ sub gettemplate {
         lang                => $lang
     );
 
-       # Language, Script, and Locale
+       # Bidirectionality
        my $language_subtags_hashref = regex_lang_subtags($lang);
        my $bidi;
        $bidi = get_bidi($language_subtags_hashref->{script}) if $language_subtags_hashref->{script};
+
+       # Languages
+       my $current_lang = regex_lang_subtags($lang);
        my @template_languages;
        my $languages_loop = getTranslatedLanguages($interface,$theme);
        for my $language_hashref (@$languages_loop) {
-                       $language_hashref->{'language_script_description'} = language_get_description($language_hashref->{'language_script'},$lang);
-                       $language_hashref->{'language_region_description'} = language_get_description($language_hashref->{'language_region'},$lang);
-                       $language_hashref->{'language_variant_description'} = language_get_description($language_hashref->{'language_variant'},$lang);
-
-               if ($language_hashref->{'language_code'} eq $lang) {
+                       $language_hashref->{'current_lang'} = $current_lang->{'language'};
+                       $language_hashref->{'native_description'} = language_get_description($language_hashref->{'language_code'},$language_hashref->{'language_code'},'language');
+                       warn "($language_hashref->{'language_code'},$language_hashref->{'current_lang'},$language_hashref->{'script_code'}";
+                       $language_hashref->{'locale_description'} = language_get_description($language_hashref->{'language_code'},$language_hashref->{'current_lang'},'language');
+                       $language_hashref->{'language_description'} = language_get_description($language_hashref->{'language_code'},$language_hashref->{'current_lang'},'language');
+                       $language_hashref->{'script_description'} = language_get_description($language_hashref->{'script_code'},$language_hashref->{'current_lang'},'script');
+                       $language_hashref->{'region_description'} = language_get_description($language_hashref->{'region_code'},$language_hashref->{'current_lang'},'region');
+                       $language_hashref->{'variant_description'} = language_get_description($language_hashref->{'variant_code'},$language_hashref->{'current_lang'},'variant');
+
+               if ($language_hashref->{'language_lang'} eq $lang) {
                        $language_hashref->{current}++;
                }
                push @template_languages, $language_hashref;
index 7435153..5a3835e 100644 (file)
@@ -5,9 +5,9 @@
                <ul>
                <!-- TMPL_LOOP NAME="languages_loop" -->
                <!-- TMPL_IF NAME="current" -->
-               <li><!-- TMPL_IF NAME="language_native_description" --><!-- TMPL_VAR NAME="language_native_description" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="language_code" --><!-- /TMPL_IF --></li>
+               <li><!-- TMPL_IF NAME="native_description" --><!-- TMPL_VAR NAME="native_description" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="language_code" --><!-- /TMPL_IF --></li>
                <!-- TMPL_ELSE -->
-               <li><a title="<!-- TMPL_IF NAME="language_description" --><!-- TMPL_VAR NAME="language_description" --> <!-- TMPL_IF NAME="language_script_description" -->, <!-- TMPL_VAR NAME="language_script_description" --> (Script)<!-- /TMPL_IF --> <!-- TMPL_IF NAME="language_region_description" -->, <!-- TMPL_VAR NAME="language_region_description" --> (Region)<!-- /TMPL_IF --> <!-- TMPL_IF NAME="language_variant_description" -->, <!-- TMPL_VAR NAME="language_variant_description" --> (Vartiant)<!-- /TMPL_IF --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="language_code" --><!-- /TMPL_IF -->" href="/cgi-bin/koha/changelanguage.pl?language=<!-- TMPL_VAR NAME="language" -->"><!-- TMPL_IF NAME="language_native_description" --><!-- TMPL_VAR NAME="language_native_description" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="language_code" --><!-- /TMPL_IF --></a></li>
+               <li><a title="<!-- TMPL_IF NAME="locale_description" --><!-- TMPL_VAR NAME="locale_description" --> <!-- TMPL_IF NAME="script_description" -->, <!-- TMPL_VAR NAME="script_description" --> (Script)<!-- /TMPL_IF --> <!-- TMPL_IF NAME="region_description" -->, <!-- TMPL_VAR NAME="region_description" --> (Region)<!-- /TMPL_IF --> <!-- TMPL_IF NAME="variant_description" -->, <!-- TMPL_VAR NAME="variant_description" --> (Vartiant)<!-- /TMPL_IF --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="language_lang" --><!-- /TMPL_IF -->" href="/cgi-bin/koha/changelanguage.pl?language=<!-- TMPL_VAR NAME="language_lang" -->"><!-- TMPL_IF NAME="native_description" --><!-- TMPL_VAR NAME="native_description" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="language_lang" --><!-- /TMPL_IF --></a></li>
                <!-- /TMPL_IF -->
                <!-- /TMPL_LOOP -->
                </ul>