#use warnings; FIXME - Bug 2505
use Carp;
use C4::Context;
+use Koha::Cache;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG);
-eval {
- my $servers = C4::Context->config('memcached_servers');
- if ($servers) {
- require Memoize::Memcached;
- import Memoize::Memcached qw(memoize_memcached);
-
- my $memcached = {
- servers => [ $servers ],
- key_prefix => C4::Context->config('memcached_namespace') || 'koha',
- };
-
- memoize_memcached('getTranslatedLanguages', memcached => $memcached, expire_time => 600); #cache for 10 minutes
- memoize_memcached('getFrameworkLanguages' , memcached => $memcached, expire_time => 600);
- memoize_memcached('getAllLanguages', memcached => $memcached, expire_time => 600);
- }
-};
-
BEGIN {
- $VERSION = 3.00;
+ $VERSION = 3.07.00.049;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(
=cut
sub getFrameworkLanguages {
+
+ my $cache;
+ if (Koha::Cache->is_cache_active()) {
+ $cache = Koha::Cache->new();
+ if (defined $cache) {
+ my $cached = $cache->get_from_cache("getFrameworkLanguages");
+ return $cached if $cached;
+ }
+ }
# get a hash with all language codes, names, and locale names
my $all_languages = getAllLanguages();
my @languages;
}
}
}
+ if (Koha::Cache->is_cache_active() && defined $cache) {
+ $cache->set_in_cache("getFrameworkLanguages",\@languages,1000)
+ }
return \@languages;
}
=cut
sub getAllLanguages {
+ # retrieve from cache if applicable
+ my $cache;
+ if (Koha::Cache->is_cache_active()) {
+ $cache = Koha::Cache->new();
+ if (defined $cache) {
+ my $cached = $cache->get_from_cache("getAllLanguages");
+ if ($cached) {
+ return $cached;
+ }
+ }
+ }
my @languages_loop;
my $dbh=C4::Context->dbh;
my $current_language = shift || 'en';
}
push @languages_loop, $language_subtag_registry;
}
+ if (Koha::Cache->is_cache_active() && defined $cache) {
+ $cache->set_in_cache("getAllLanguages",\@languages_loop,1000);
+ }
return \@languages_loop;
}