- #verify if opac language exists in staff (bug 5660)
- #conditions are 1) dir exists and 2) enabled in prefs
- my ($opaclang)= @_;
- return 'en' unless $opaclang;
- my $path= C4::Context->config('intrahtdocs')."/prog/$opaclang";
- my $pref= ','.C4::Context->preference('language').',';
- if(-d $path) {
- if($pref =~ /,$opaclang,/ ) {
- return $opaclang;
- }
- }
- return 'en';
+
+ #verify if opac language exists in staff (bug 5660)
+ #conditions are 1) dir exists and 2) enabled in prefs
+ my ($opaclang) = @_;
+ return 'en' unless $opaclang;
+ $opaclang =~ s/[^a-zA-Z_-]*//g;
+ my $path = C4::Context->config('intrahtdocs') . "/prog/$opaclang";
+ -d $path ? $opaclang : 'en';