MDL-37061 always validate lang when setting session user
authorPetr Škoda <commits@skodak.org>
Sun, 9 Dec 2012 10:28:36 +0000 (11:28 +0100)
committerPetr Škoda <commits@skodak.org>
Sun, 9 Dec 2012 10:28:36 +0000 (11:28 +0100)
This should resolve problems with TinyMCE langs and some unknown MUCH caching issue.

lib/sessionlib.php

index 123c70e..2fb6f32 100644 (file)
@@ -1122,6 +1122,10 @@ function get_moodle_cookie() {
 function session_set_user($user) {
     $_SESSION['USER'] = $user;
     unset($_SESSION['USER']->description); // conserve memory
+    if (isset($_SESSION['USER']->lang)) {
+        // Make sure it is a valid lang pack name.
+        $_SESSION['USER']->lang = clean_param($_SESSION['USER']->lang, PARAM_LANG);
+    }
     sesskey(); // init session key
 
     if (PHPUNIT_TEST) {