X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FLanguages.pm;h=1d45bd2d71ccc6b9820e5823be76c639ce6897cb;hb=db2a8a416a36d2eee3ecf6040f81037e06ab28cb;hp=2dc838a35390414aaf729e84987bc1a83f22a5e9;hpb=96cc447045f3f1d3702a3c69b36f596d88f38eda;p=srvgit diff --git a/C4/Languages.pm b/C4/Languages.pm index 2dc838a353..1d45bd2d71 100644 --- a/C4/Languages.pm +++ b/C4/Languages.pm @@ -22,25 +22,24 @@ package C4::Languages; use strict; use warnings; -use Carp; +use Carp qw( carp ); use CGI; use List::MoreUtils qw( any ); use C4::Context; use Koha::Caches; use Koha::Cache::Memory::Lite; -use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG); +our (@ISA, @EXPORT_OK); BEGIN { require Exporter; @ISA = qw(Exporter); - @EXPORT = qw( - &getFrameworkLanguages - &getTranslatedLanguages - &getLanguages - &getAllLanguages + @EXPORT_OK = qw( + getFrameworkLanguages + getTranslatedLanguages + getLanguages + getAllLanguages ); - @EXPORT_OK = qw(getFrameworkLanguages getTranslatedLanguages getAllLanguages getLanguages get_bidi regex_lang_subtags language_get_description accept_language getlanguage); - $DEBUG = 0; + push @EXPORT_OK, qw(getFrameworkLanguages getTranslatedLanguages getAllLanguages getLanguages get_bidi regex_lang_subtags language_get_description accept_language getlanguage get_rfc4646_from_iso639); } =head1 NAME @@ -77,9 +76,10 @@ sub getFrameworkLanguages { # find the available directory names my $dir=C4::Context->config('intranetdir')."/installer/data/"; - opendir (MYDIR,$dir); - my @listdir= grep { !/^\.|CVS/ && -d "$dir/$_"} readdir(MYDIR); - closedir MYDIR; + my $dir_h; + opendir ($dir_h,$dir); + my @listdir= grep { !/^\.|CVS/ && -d "$dir/$_"} readdir($dir_h); + closedir $dir_h; # pull out all data for the dir names that exist for my $dirname (@listdir) { @@ -116,7 +116,7 @@ sub getTranslatedLanguages { my @enabled_languages = ( $interface && $interface eq 'intranet' ) ? split ",", C4::Context->preference('language') - : split ",", C4::Context->preference('opaclanguages'); + : split ",", C4::Context->preference('OPACLanguages'); my $cache = Koha::Caches->get_instance; my $cache_key = "languages_${interface}_${theme}"; @@ -199,7 +199,7 @@ sub getLanguages { if ($lang) { $current_language = regex_lang_subtags($lang)->{'language'}; } - my $sth = $dbh->prepare('SELECT * FROM language_subtag_registry WHERE type=\'language\''); + my $sth = $dbh->prepare('SELECT * FROM language_subtag_registry WHERE type=\'language\' ORDER BY description'); $sth->execute(); while (my $language_subtag_registry = $sth->fetchrow_hashref) { my $desc; @@ -294,12 +294,14 @@ sub _get_themes { else { $htdocs = C4::Context->config('opachtdocs'); } - opendir D, "$htdocs"; - my @dirlist = readdir D; + my $dir_h; + opendir $dir_h, "$htdocs"; + my @dirlist = readdir $dir_h; foreach my $directory (@dirlist) { # if there's an en dir, it's a valid theme -d "$htdocs/$directory/en" and push @themes, $directory; } + close $dir_h; return @themes; } @@ -314,8 +316,9 @@ sub _get_language_dirs { $htdocs //= ''; $theme //= ''; my @lang_strings; - opendir D, "$htdocs/$theme"; - for my $lang_string ( readdir D ) { + my $dir_h; + opendir $dir_h, "$htdocs/$theme"; + for my $lang_string ( readdir $dir_h ) { next if $lang_string =~/^\./; next if $lang_string eq 'all'; next if $lang_string =~/png$/; @@ -326,7 +329,8 @@ sub _get_language_dirs { next if $lang_string =~/img|images|famfam|js|less|lib|sound|pdf/; push @lang_strings, $lang_string; } - return (@lang_strings); + close $dir_h; + return (@lang_strings); } =head2 _build_languages_arrayref @@ -609,7 +613,7 @@ sub getlanguage { my $language; my $preference_to_check = - $interface eq 'intranet' ? 'language' : 'opaclanguages'; + $interface eq 'intranet' ? 'language' : 'OPACLanguages'; # Get the available/valid languages list my @languages; my $preference_value = C4::Context->preference($preference_to_check);