From 084bff910694f04eb0158c41ad14f69a7fb059e5 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 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/C4/Languages.pm b/C4/Languages.pm index 388d479ca0..a71b82b03f 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,18 @@ 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