|
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 |
- |
|
|