Lines 23-41
use strict;
Link Here
|
23 |
#use warnings; FIXME - Bug 2505 |
23 |
#use warnings; FIXME - Bug 2505 |
24 |
use Carp; |
24 |
use Carp; |
25 |
use C4::Context; |
25 |
use C4::Context; |
|
|
26 |
use Koha::Cache; |
26 |
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG); |
27 |
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG); |
27 |
|
28 |
|
28 |
eval { |
|
|
29 |
if (C4::Context->ismemcached) { |
30 |
require Memoize::Memcached; |
31 |
import Memoize::Memcached qw(memoize_memcached); |
32 |
|
33 |
memoize_memcached('getTranslatedLanguages', memcached => C4::Context->memcached); |
34 |
memoize_memcached('getFrameworkLanguages' , memcached => C4::Context->memcached); |
35 |
memoize_memcached('getAllLanguages', memcached => C4::Context->memcached); |
36 |
} |
37 |
}; |
38 |
|
39 |
BEGIN { |
29 |
BEGIN { |
40 |
$VERSION = 3.00; |
30 |
$VERSION = 3.00; |
41 |
require Exporter; |
31 |
require Exporter; |
Lines 77-82
Returns a reference to an array of hashes:
Link Here
|
77 |
=cut |
67 |
=cut |
78 |
|
68 |
|
79 |
sub getFrameworkLanguages { |
69 |
sub getFrameworkLanguages { |
|
|
70 |
|
71 |
my $cache = Koha::Cache->new(); |
72 |
if ($cache) { |
73 |
my $cached = $cache->get_from_cache("getFrameworkLanguages"); |
74 |
return $cached if $cached; |
75 |
} |
80 |
# get a hash with all language codes, names, and locale names |
76 |
# get a hash with all language codes, names, and locale names |
81 |
my $all_languages = getAllLanguages(); |
77 |
my $all_languages = getAllLanguages(); |
82 |
my @languages; |
78 |
my @languages; |
Lines 99-104
sub getFrameworkLanguages {
Link Here
|
99 |
} |
95 |
} |
100 |
} |
96 |
} |
101 |
} |
97 |
} |
|
|
98 |
if ($cache) { |
99 |
$cache->set_in_cache("getFrameworkLanguages",\@languages,10000) |
100 |
} |
102 |
return \@languages; |
101 |
return \@languages; |
103 |
} |
102 |
} |
104 |
|
103 |
|
Lines 179-184
Returns a reference to an array of hashes:
Link Here
|
179 |
=cut |
178 |
=cut |
180 |
|
179 |
|
181 |
sub getAllLanguages { |
180 |
sub getAllLanguages { |
|
|
181 |
# retrieve from cache if applicable |
182 |
my $cache = Koha::Cache->new(); |
183 |
if ($cache) { |
184 |
my $cached = $cache->get_from_cache("getAllLanguages"); |
185 |
if ($cached) { |
186 |
return $cached; |
187 |
} |
188 |
} |
182 |
my @languages_loop; |
189 |
my @languages_loop; |
183 |
my $dbh=C4::Context->dbh; |
190 |
my $dbh=C4::Context->dbh; |
184 |
my $current_language = shift || 'en'; |
191 |
my $current_language = shift || 'en'; |
Lines 213-218
sub getAllLanguages {
Link Here
|
213 |
} |
220 |
} |
214 |
push @languages_loop, $language_subtag_registry; |
221 |
push @languages_loop, $language_subtag_registry; |
215 |
} |
222 |
} |
|
|
223 |
if ($cache) { |
224 |
$cache->set_in_cache("getAllLanguages",\@languages_loop,1000); |
225 |
} |
216 |
return \@languages_loop; |
226 |
return \@languages_loop; |
217 |
} |
227 |
} |
218 |
|
228 |
|