From 0a45ab2fb2d733fd73cf17b3ffb9fe9bf4831748 Mon Sep 17 00:00:00 2001 From: skodak Date: Tue, 24 Apr 2007 14:21:48 +0000 Subject: [PATCH] MDL-9559 setup_lang_from_browser should respect $CFG->langlist --- lib/moodlelib.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 63f1fb76e5f..17bfaf06c27 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -6881,9 +6881,14 @@ function setup_lang_from_browser() { } krsort($langs, SORT_NUMERIC); + $langlist = get_list_of_languages(); + /// Look for such langs under standard locations 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)) { $SESSION->lang = $lang; /// Lang exists, set it in session break; /// We have finished. Go out