diff --git a/admin/settings/development.php b/admin/settings/development.php index 4d9cd84ab5200a74ff687ca902d43a3d66deccd4..d7326fc72ae950c26c1276ec2c35c329846bdf50 100644 --- a/admin/settings/development.php +++ b/admin/settings/development.php @@ -24,7 +24,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page // "debugging" settingpage $temp = new admin_settingpage('debugging', new lang_string('debugging', 'admin')); $temp->add(new admin_setting_special_debug()); - $temp->add(new admin_setting_configcheckbox('debugdisplay', new lang_string('debugdisplay', 'admin'), new lang_string('configdebugdisplay', 'admin'), ini_get_bool('display_errors'))); + $temp->add(new admin_setting_configcheckbox('debugdisplay', new lang_string('debugdisplay', 'admin'), new lang_string('configdebugdisplay', 'admin'), (defined('WARN_DISPLAY_ERRORS_ENABLED') or !empty($CFG->debug)))); $temp->add(new admin_setting_configcheckbox('debugsmtp', new lang_string('debugsmtp', 'admin'), new lang_string('configdebugsmtp', 'admin'), 0)); $temp->add(new admin_setting_configcheckbox('perfdebug', new lang_string('perfdebug', 'admin'), new lang_string('configperfdebug', 'admin'), '7', '15', '7')); $temp->add(new admin_setting_configcheckbox('debugstringids', new lang_string('debugstringids', 'admin'), new lang_string('debugstringids_desc', 'admin'), 0)); diff --git a/lib/outputrenderers.php b/lib/outputrenderers.php index 17cd590268a0eeceae7e007640bcb81593f6249a..58e7af1a3dc581d1a6fdffa2c5ed7ff5a56e31a7 100644 --- a/lib/outputrenderers.php +++ b/lib/outputrenderers.php @@ -2197,7 +2197,7 @@ EOD; } $output .= $this->box($message, 'errorbox'); - if (debugging('', DEBUG_DEVELOPER)) { + if (debugging('', DEBUG_DEVELOPER) and !empty($CFG->debugdisplay)) { if (!empty($debuginfo)) { $debuginfo = s($debuginfo); // removes all nasty JS $debuginfo = str_replace("\n", '
', $debuginfo); // keep newlines diff --git a/lib/setup.php b/lib/setup.php index 6f73e0f756dee4249c7a11a5db89712387c98a84..9520f946fda2b7e54c2fc54a3d9674da0b7a711a 100644 --- a/lib/setup.php +++ b/lib/setup.php @@ -563,7 +563,8 @@ if (ini_get_bool('display_errors')) { } // If we want to display Moodle errors, then try and set PHP errors to match if (!isset($CFG->debugdisplay)) { - // keep it "as is" during installation + // Keep it "as is" during installation. + $CFG->debugdisplay = (int)ini_get_bool('display_errors'); } else if (NO_DEBUG_DISPLAY) { // some parts of Moodle cannot display errors and debug at all. ini_set('display_errors', '0'); diff --git a/lib/setuplib.php b/lib/setuplib.php index 51f8d827f42b98855d49dd08f505899d1b6c4345..dc0981cfbde1bca2ad4d506e3f9220172bfd2aed 100644 --- a/lib/setuplib.php +++ b/lib/setuplib.php @@ -1473,7 +1473,7 @@ border-color:black; background-color:#ffffee; border-style:solid; border-radius: width: 80%; -moz-border-radius: 20px; padding: 15px"> ' . $message . ' '; - if (!empty($CFG->debug) && $CFG->debug >= DEBUG_DEVELOPER) { + if (!empty($CFG->debugdisplay) && !empty($CFG->debug) && $CFG->debug >= DEBUG_DEVELOPER) { if (!empty($debuginfo)) { $debuginfo = s($debuginfo); // removes all nasty JS $debuginfo = str_replace("\n", '
', $debuginfo); // keep newlines diff --git a/lib/weblib.php b/lib/weblib.php index 8384f373871636159635af8a89fc18c5e66bf73f..3921968ddffa3fabffcc6ddd5345c564991bf25a 100644 --- a/lib/weblib.php +++ b/lib/weblib.php @@ -2826,10 +2826,6 @@ function debugging($message = '', $level = DEBUG_NORMAL, $backtrace = null) { return false; } - if (!isset($CFG->debugdisplay)) { - $CFG->debugdisplay = ini_get_bool('display_errors'); - } - if ($message) { if (!$backtrace) { $backtrace = debug_backtrace();