MDL-29862 incorrect wwwroot must be detected before session start
[moodle.git] / lib / setuplib.php
index 9b300c2..f06f6b5 100644 (file)
@@ -661,7 +661,7 @@ function initialise_cfg() {
  * setup.php.
  */
 function initialise_fullme() {
-    global $CFG, $FULLME, $ME, $SCRIPT, $FULLSCRIPT;
+    global $CFG, $FULLME, $ME, $SCRIPT, $FULLSCRIPT, $USER;
 
     // Detect common config error.
     if (substr($CFG->wwwroot, -1) == '/') {
@@ -715,6 +715,11 @@ function initialise_fullme() {
             if (!defined('NO_MOODLE_COOKIES')) {
                 define('NO_MOODLE_COOKIES', true);
             }
+            if (!isset($USER->id)) {
+                // MDL-27899 workaround
+                $USER = new stdClass();
+                $USER->id = 0;
+            }
             redirect($CFG->wwwroot, get_string('wwwrootmismatch', 'error', $CFG->wwwroot), 3);
         }
     }