View | Details | Raw Unified | Return to bug 20116
Collapse All | Expand All

(-)a/C4/Languages.pm (-3 / +16 lines)
Lines 26-31 use Carp; Link Here
26
use CGI;
26
use CGI;
27
use List::MoreUtils qw( any );
27
use List::MoreUtils qw( any );
28
use C4::Context;
28
use C4::Context;
29
use Koha::Caches;
29
use Koha::Cache::Memory::Lite;
30
use Koha::Cache::Memory::Lite;
30
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG);
31
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG);
31
32
Lines 117-129 sub getTranslatedLanguages { Link Here
117
      ? split ",", C4::Context->preference('language')
118
      ? split ",", C4::Context->preference('language')
118
      : split ",", C4::Context->preference('opaclanguage');
119
      : split ",", C4::Context->preference('opaclanguage');
119
120
121
    my $cache = Koha::Caches->get_instance;
122
    my $cache_key = "languages_${interface}_${theme}";
120
    if ($interface && $interface eq 'opac' ) {
123
    if ($interface && $interface eq 'opac' ) {
121
        my $htdocs = C4::Context->config('opachtdocs');
124
        my $htdocs = C4::Context->config('opachtdocs');
122
        @languages = _get_opac_language_dirs( $htdocs, $theme );
125
        if ( $cached ) {
126
            @languages = @{$cached};
127
        } else {
128
            @languages = _get_opac_language_dirs( $htdocs, $theme );
129
            $cache->set_in_cache($cache_key, \@languages );
130
        }
123
    }
131
    }
124
    elsif ($interface && $interface eq 'intranet' ) {
132
    elsif ($interface && $interface eq 'intranet' ) {
125
        my $htdocs = C4::Context->config('intrahtdocs');
133
        my $htdocs = C4::Context->config('intrahtdocs');
126
        @languages = _get_intranet_language_dirs( $htdocs, $theme );
134
        my $cached = $cache->get_from_cache($cache_key);
135
        if ( $cached ) {
136
            @languages = @{$cached};
137
        } else {
138
            @languages = _get_intranet_language_dirs( $htdocs, $theme );
139
            $cache->set_in_cache($cache_key, \@languages );
140
        }
127
    }
141
    }
128
    else {
142
    else {
129
        my $htdocs = C4::Context->config('intrahtdocs');
143
        my $htdocs = C4::Context->config('intrahtdocs');
130
- 

Return to bug 20116