MDL-9559 setup_lang_from_browser should respect $CFG->langlist; merged from MOODLE_18_STABLE

This commit is contained in:
skodak 2007-04-24 14:24:03 +00:00
parent f130a9d810
commit 14fba1729f

View file

@ -6914,9 +6914,14 @@ function setup_lang_from_browser() {
} }
krsort($langs, SORT_NUMERIC); krsort($langs, SORT_NUMERIC);
$langlist = get_list_of_languages();
/// Look for such langs under standard locations /// Look for such langs under standard locations
foreach ($langs as $lang) { foreach ($langs as $lang) {
$lang = clean_param($lang.'_utf8', PARAM_SAFEDIR); // clean it properly for include $lang = strtolower(clean_param($lang.'_utf8', PARAM_SAFEDIR)); // clean it properly for include
if (!array_key_exists($lang, $langlist)) {
continue; // language not allowed, try next one
}
if (file_exists($CFG->dataroot .'/lang/'. $lang) or file_exists($CFG->dirroot .'/lang/'. $lang)) { if (file_exists($CFG->dataroot .'/lang/'. $lang) or file_exists($CFG->dirroot .'/lang/'. $lang)) {
$SESSION->lang = $lang; /// Lang exists, set it in session $SESSION->lang = $lang; /// Lang exists, set it in session
break; /// We have finished. Go out break; /// We have finished. Go out