From 14bb4c1ad9823a034e8b91df98f77ba4c1147ae9 Mon Sep 17 00:00:00 2001 From: tjhunt Date: Wed, 23 Apr 2008 10:38:10 +0000 Subject: [PATCH] MDL-11978 - Backport admin notification from MDL-11061 about bogus $CFG->wwwroot from 1.9 to 1.8 and 1.7. --- admin/index.php | 9 ++++++++- lang/en_utf8/admin.php | 2 ++ lib/weblib.php | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/admin/index.php b/admin/index.php index e740c722b6b..0579cab612a 100644 --- a/admin/index.php +++ b/admin/index.php @@ -555,7 +555,14 @@ print_box(get_string('datarootsecuritywarning', 'admin', $CFG->dataroot), 'generalbox adminwarning'); } -/// If no recently cron run + if (substr($CFG->wwwroot, -1) == '/') { + print_box(get_string('cfgwwwrootslashwarning', 'admin'), 'generalbox adminwarning'); + } + if (strpos($ME, $CFG->httpswwwroot.'/') === false) { + print_box(get_string('cfgwwwrootwarning', 'admin'), 'generalbox adminwarning'); + } + + /// If no recently cron run $lastcron = get_field_sql('SELECT max(lastcron) FROM ' . $CFG->prefix . 'modules'); if (time() - $lastcron > 3600 * 24) { $strinstallation = get_string('installation', 'install'); diff --git a/lang/en_utf8/admin.php b/lang/en_utf8/admin.php index b89df4f4130..d27726dd768 100644 --- a/lang/en_utf8/admin.php +++ b/lang/en_utf8/admin.php @@ -37,6 +37,8 @@ $string['cachetext'] = 'Text cache lifetime'; $string['cachetype'] = 'Cache Type'; $string['calendar_weekend'] = 'Weekend Days'; $string['calendarsettings'] = 'Calendar'; +$string['cfgwwwrootwarning'] = 'You have defined $CFG->wwwroot incorrectly in your config.php file. It does not match the URL you are using to access this page. Please correct it, or you will experience strange bugs like MDL-11061.'; +$string['cfgwwwrootslashwarning'] = 'You have defined $CFG->wwwroot incorrectly in your config.php file. You have included a \'/\' character at the end. Please remove it, or you will experience strange bugs like MDL-11061.'; $string['change'] = 'change'; $string['changesitelang'] = 'Change site language'; $string['choosefiletoedit'] = 'Choose file to edit from the box above'; diff --git a/lib/weblib.php b/lib/weblib.php index b83871ae3c5..f4c6f03eca1 100644 --- a/lib/weblib.php +++ b/lib/weblib.php @@ -270,6 +270,9 @@ function qualified_me() { } } + // TODO, this does not work in the situation described in MDL-11061, but + // I don't know how to fix it. Possibly believe $CFG->wwwroot ahead of what + // the server reports. if (isset($_SERVER['HTTPS'])) { $protocol = ($_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://'; } else if (isset($_SERVER['SERVER_PORT'])) { # Apache2 does not export $_SERVER['HTTPS']