From 1466f33449fc91620f53428dc5fea081be90c9ed Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 31 Jan 2018 14:51:22 -0300 Subject: [PATCH] Bug 20116: Cache language list --- C4/Languages.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/C4/Languages.pm b/C4/Languages.pm index 3693abdc96..407b207528 100644 --- a/C4/Languages.pm +++ b/C4/Languages.pm @@ -26,6 +26,7 @@ use 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); @@ -117,13 +118,19 @@ sub getTranslatedLanguages { ? split ",", C4::Context->preference('language') : split ",", C4::Context->preference('opaclanguage'); + my $cache = Koha::Caches->get_instance; if ($interface && $interface eq 'opac' ) { my $htdocs = C4::Context->config('opachtdocs'); @languages = _get_opac_language_dirs( $htdocs, $theme ); + my $cached = $cache->get_from_cache('languages_opac_'.$theme); + @languages = $cached ? @{$cached} : _get_opac_language_dirs( $htdocs, $theme ); + $cache->set_in_cache('languages_opac_'.$theme, \@languages ); } elsif ($interface && $interface eq 'intranet' ) { my $htdocs = C4::Context->config('intrahtdocs'); - @languages = _get_intranet_language_dirs( $htdocs, $theme ); + my $cached = $cache->get_from_cache('languages_intranet_'.$theme); + @languages = $cached ? @{$cached} : _get_intranet_language_dirs( $htdocs, $theme ); + $cache->set_in_cache('languages_intranet_'.$theme, \@languages ); } else { my $htdocs = C4::Context->config('intrahtdocs'); -- 2.11.0