Lines 111-154
Returns a reference to an array of hashes:
Link Here
|
111 |
|
111 |
|
112 |
sub getTranslatedLanguages { |
112 |
sub getTranslatedLanguages { |
113 |
my ($interface, $theme, $current_language, $which) = @_; |
113 |
my ($interface, $theme, $current_language, $which) = @_; |
114 |
my $htdocs; |
|
|
115 |
my @languages; |
114 |
my @languages; |
116 |
my @enabled_languages; |
115 |
my @enabled_languages = |
117 |
|
116 |
( $interface && $interface eq 'intranet' ) |
|
|
117 |
? split ",", C4::Context->preference('language') |
118 |
: split ",", C4::Context->preference('opaclanguage'); |
119 |
|
118 |
if ($interface && $interface eq 'opac' ) { |
120 |
if ($interface && $interface eq 'opac' ) { |
119 |
@enabled_languages = split ",", C4::Context->preference('opaclanguages'); |
121 |
my $htdocs = C4::Context->config('opachtdocs'); |
120 |
$htdocs = C4::Context->config('opachtdocs'); |
122 |
@languages = _get_opac_language_dirs( $htdocs, $theme ); |
121 |
if ( $theme and -d "$htdocs/$theme" ) { |
|
|
122 |
(@languages) = _get_language_dirs($htdocs,$theme); |
123 |
} |
124 |
else { |
125 |
for my $theme ( _get_themes('opac') ) { |
126 |
push @languages, _get_language_dirs($htdocs,$theme); |
127 |
} |
128 |
} |
129 |
} |
123 |
} |
130 |
elsif ($interface && $interface eq 'intranet' ) { |
124 |
elsif ($interface && $interface eq 'intranet' ) { |
131 |
@enabled_languages = split ",", C4::Context->preference('language'); |
125 |
my $htdocs = C4::Context->config('intrahtdocs'); |
132 |
$htdocs = C4::Context->config('intrahtdocs'); |
126 |
@languages = _get_intranet_language_dirs( $htdocs, $theme ); |
133 |
if ( $theme and -d "$htdocs/$theme" ) { |
|
|
134 |
@languages = _get_language_dirs($htdocs,$theme); |
135 |
} |
136 |
else { |
137 |
foreach my $theme ( _get_themes('intranet') ) { |
138 |
push @languages, _get_language_dirs($htdocs,$theme); |
139 |
} |
140 |
} |
141 |
} |
127 |
} |
142 |
else { |
128 |
else { |
143 |
@enabled_languages = split ",", C4::Context->preference('opaclanguages'); |
|
|
144 |
my $htdocs = C4::Context->config('intrahtdocs'); |
129 |
my $htdocs = C4::Context->config('intrahtdocs'); |
145 |
foreach my $theme ( _get_themes('intranet') ) { |
130 |
push @languages, _get_intranet_language_dirs( $htdocs ); |
146 |
push @languages, _get_language_dirs($htdocs,$theme); |
131 |
|
147 |
} |
|
|
148 |
$htdocs = C4::Context->config('opachtdocs'); |
132 |
$htdocs = C4::Context->config('opachtdocs'); |
149 |
foreach my $theme ( _get_themes('opac') ) { |
133 |
push @languages, _get_opac_language_dirs( $htdocs ); |
150 |
push @languages, _get_language_dirs($htdocs,$theme); |
134 |
|
151 |
} |
|
|
152 |
my %seen; |
135 |
my %seen; |
153 |
$seen{$_}++ for @languages; |
136 |
$seen{$_}++ for @languages; |
154 |
@languages = keys %seen; |
137 |
@languages = keys %seen; |
Lines 246-251
sub getLanguages {
Link Here
|
246 |
return \@languages_loop; |
229 |
return \@languages_loop; |
247 |
} |
230 |
} |
248 |
|
231 |
|
|
|
232 |
sub _get_opac_language_dirs { |
233 |
my ( $htdocs, $theme ) = @_; |
234 |
|
235 |
my @languages; |
236 |
if ( $theme and -d "$htdocs/$theme" ) { |
237 |
(@languages) = _get_language_dirs($htdocs,$theme); |
238 |
} |
239 |
else { |
240 |
for my $theme ( _get_themes('opac') ) { |
241 |
push @languages, _get_language_dirs($htdocs,$theme); |
242 |
} |
243 |
} |
244 |
return @languages; |
245 |
} |
246 |
|
247 |
|
248 |
sub _get_intranet_language_dirs { |
249 |
my ( $htdocs, $theme ) = @_; |
250 |
|
251 |
my @languages; |
252 |
if ( $theme and -d "$htdocs/$theme" ) { |
253 |
@languages = _get_language_dirs($htdocs,$theme); |
254 |
} |
255 |
else { |
256 |
foreach my $theme ( _get_themes('intranet') ) { |
257 |
push @languages, _get_language_dirs($htdocs,$theme); |
258 |
} |
259 |
} |
260 |
return @languages; |
261 |
} |
262 |
|
249 |
=head2 _get_themes |
263 |
=head2 _get_themes |
250 |
|
264 |
|
251 |
Internal function, returns an array of all available themes. |
265 |
Internal function, returns an array of all available themes. |
252 |
- |
|
|