]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-8777 Failing setup_lang_from_browser if lang contains dash
authorskodak <skodak>
Tue, 6 Mar 2007 22:33:03 +0000 (22:33 +0000)
committerskodak <skodak>
Tue, 6 Mar 2007 22:33:03 +0000 (22:33 +0000)
lib/moodlelib.php

index 5b653e44fdaed49b8f78ab890bb84f89d0e9b472..1aaeab884caad0293f02e176af05ea30093ebe7c 100644 (file)
@@ -6787,13 +6787,14 @@ function setup_lang_from_browser() {
     }
 
 /// Extract and clean langs from headers
-    $langs = strtolower(clean_param($_SERVER['HTTP_ACCEPT_LANGUAGE'], PARAM_CLEAN)); /// Get String with basic clean
+    $langs = strtolower(clean_param($_SERVER['HTTP_ACCEPT_LANGUAGE'], PARAM_SAFEDIR)); /// Get String with basic clean
+    $langs = str_replace('-', '_', $langs); // we are using underscores
     $langs = explode(',', $langs); /// Convert to array
-    $langs = preg_replace('/([a-z]{2,3}).*/','$1_utf8', $langs); ///Convert to Moodle langs
     $langs = array_unique($langs); /// Avoid duplicates
 
 /// Look for such langs under standard locations
     foreach ($langs as $lang) {
+        $lang = $lang.'_utf8';
         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