/** * $lng initialisation */ protected static function initLanguage() { global $ilUser, $ilSetting, $rbacsystem; if (!ilSession::get("lang")) { if ($_GET['lang']) { $_GET['lang'] = $_GET['lang']; } else { if (is_object($ilUser)) { $_GET['lang'] = $ilUser->getPref('language'); } } } if (isset($_POST['change_lang_to']) && $_POST['change_lang_to'] != "") { $_GET['lang'] = ilUtil::stripSlashes($_POST['change_lang_to']); } // prefer personal setting when coming from login screen // Added check for ilUser->getId > 0 because it is 0 when the language is changed and the terms of service should be displayes (Helmut Schottm��ller, 2006-10-14) if (is_object($ilUser) && $ilUser->getId() != ANONYMOUS_USER_ID && $ilUser->getId() > 0) { ilSession::set('lang', $ilUser->getPref('language')); } ilSession::set('lang', isset($_GET['lang']) && $_GET['lang'] ? $_GET['lang'] : ilSession::get('lang')); // check whether lang selection is valid require_once "./Services/Language/classes/class.ilLanguage.php"; $langs = ilLanguage::getInstalledLanguages(); if (!in_array(ilSession::get('lang'), $langs)) { if (is_object($ilSetting) && $ilSetting->get('language') != '') { ilSession::set('lang', $ilSetting->get('language')); } else { ilSession::set('lang', $langs[0]); } } $_GET['lang'] = ilSession::get('lang'); $lng = new ilLanguage(ilSession::get('lang')); self::initGlobal('lng', $lng); if (is_object($rbacsystem)) { $rbacsystem->initMemberView(); } }