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
# 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) {
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}";
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;
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;
}
$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$/;
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
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);