/** * Gets language of the requested type for the current user. Types are : * user_profil_lang : profile language of current user * user_select_lang : language selected by user at login * course_lang : language of the current course * platform_lang : default platform language * @param string $lang_type * @return string **/ function api_get_language_from_type($lang_type) { $return = false; $language = false; switch ($lang_type) { case 'platform_lang': $platformLanguage = api_get_setting('language.platform_language'); if (!empty($platformLanguage)) { $language = $platformLanguage; } break; case 'user_profil_lang': $_user = Session::read('_user'); if (isset($_user['language']) && !empty($_user['language'])) { $language = $_user['language']; } break; case 'user_selected_lang': $language = api_get_language_selected_in_login(); break; case 'course_lang': $_course = api_get_course_info(); if (isset($_course['language']) && !empty($_course['language'])) { $language = $_course['language']; } break; default: $language = false; break; } return $language; }
function api_get_language_interface() { $valid_languages = api_get_languages(); $user_language = api_get_user_language(); $courseInfo = api_get_course_info(); $language_interface = 'english'; $languageFromLogin = api_get_language_selected_in_login(); if (!empty($languageFromLogin)) { $language_interface = $languageFromLogin; } if (!empty($valid_languages)) { // User language or platform lang //platformLanguage //if (!empty($user_language)) { $language_interface = $user_language; //} // Course language if (!empty($courseInfo) && isset($courseInfo['language'])) { $language_interface = $courseInfo['language']; } //error_log('$language_interface: '.$language_interface); // Lang priorities could be: course_lang, user_profil_lang, user_selected_lang , platform_lang $language_priority1 = api_get_setting('languagePriority1'); $language_priority2 = api_get_setting('languagePriority2'); $language_priority3 = api_get_setting('languagePriority3'); $language_priority4 = api_get_setting('languagePriority4'); /*error_log('$language_interface1: '.$language_priority1); error_log('$language_interface2: '.$language_priority2); error_log('$language_interface3: '.$language_priority3); error_log('$language_interface4: '.$language_priority4);*/ if (!empty($language_priority4) && api_get_language_from_type($language_priority4) !== false) { $language_interface = api_get_language_from_type($language_priority4); } if (!empty($language_priority3) && api_get_language_from_type($language_priority3) !== false) { $language_interface = api_get_language_from_type($language_priority3); } if (!empty($language_priority2) && api_get_language_from_type($language_priority2) !== false) { $language_interface = api_get_language_from_type($language_priority2); } if (!empty($language_priority1) && api_get_language_from_type($language_priority1) !== false) { $language_interface = api_get_language_from_type($language_priority1); } // If user lang is not valid get the default platform lang if (empty($language_interface) || !in_array($language_interface, $valid_languages['folder'])) { $language_interface = api_get_setting('platformLanguage'); } } return $language_interface; }