- $l = array_search_value($dflt_lang, $installed_languages, 'code');
- $_SESSION['language'] = new language($l['name'], $l['code'], $l['encoding'],
- (isset($l['rtl']) && $l['rtl'] === true) ? 'rtl' : 'ltr');
-}
-
-$_SESSION['language']->set_language($_SESSION['language']->code);
+ if (!isset($_SESSION['wa_current_user']) || !$_SESSION['wa_current_user']->logged_in()
+ || !isset($_SESSION['language']) || !method_exists($_SESSION['language'], 'set_language'))
+ {
+ $l = array_search_value($dflt_lang, $installed_languages, 'code');
+ $_SESSION['language'] = new language($l['name'], $l['code'], $l['encoding'],
+ (isset($l['rtl']) && $l['rtl'] === true) ? 'rtl' : 'ltr');
+ }