-sub themelanguage_lite {
- my ( $htdocs, $tmpl, $interface ) = @_;
- my $query = new CGI;
-
- # Set some defaults for language and theme
- # First, check the user's preferences
- my $lang;
-
- # But, if there's a cookie set, obey it
- $lang = $query->cookie('KohaOpacLanguage')
- if ( defined $query and $query->cookie('KohaOpacLanguage') );
-
- # Fall back to English
- my @languages;
- if ( $interface eq 'intranet' ) {
- @languages = split ",", C4::Context->preference("language");
- }
- else {
- @languages = split ",", C4::Context->preference("opaclanguages");
- }
- if ($lang) {
- @languages = ( $lang, @languages );
- }
- else {
- $lang = $languages[0] || 'en';
- }
- my $theme = 'prog'; # in the event of theme failure default to 'prog' -fbcit
- my @themes;
- if ( $interface eq "intranet" ) {
- @themes = split " ", C4::Context->preference("template");
- }
- else {
- @themes = split " ", C4::Context->preference("opacthemes");
- }
-
- # searches through the themes and languages. First template it find it returns.
- # Priority is for getting the theme right.
- THEME:
- foreach my $th (@themes) {
- foreach my $la (@languages) {
- if ( -e "$htdocs/$th/$la/modules/$tmpl" ) {
- $theme = $th;
- $lang = $la;
- last THEME;
- }
- last unless $la =~ /[-_]/;
- }
- }
- $_current_language = $lang; # FIXME part of bad hack to paper over bug 4403
- return ( $theme, $lang );
-}