Skip to content

Commit

Permalink
debugging and error reporting level fixes and improvements MDL-6671
Browse files Browse the repository at this point in the history
  • Loading branch information
skodak committed Sep 23, 2006
1 parent b854748 commit 7eb0b60
Show file tree
Hide file tree
Showing 16 changed files with 69 additions and 41 deletions.
4 changes: 2 additions & 2 deletions admin/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@
if (! $maintables) {
/// hide errors from headers in case debug enabled in config.php
$origdebug = $CFG->debug;
$CFG->debug = 5;
$CFG->debug = DEBUG_MINIMAL;
error_reporting($CFG->debug);
if (empty($agreelicence)) {
$strlicense = get_string("license");
Expand Down Expand Up @@ -208,7 +208,7 @@

// hide errors from headers in case debug is enabled
$origdebug = $CFG->debug;
$CFG->debug = 5;
$CFG->debug = DEBUG_MINIMAL;
error_reporting($CFG->debug);

// logout in case we are upgrading from pre 1.7 version - prevention of weird session problems
Expand Down
2 changes: 1 addition & 1 deletion enrol/ldap/enrol_ldap_sync.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
require_once($CFG->dirroot . "/enrol/ldap/enrol.php");

// ensure errors are well explained
$CFG->debug = E_NOTICE;
$CFG->debug = DEBUG_NORMAL;

// update enrolments -- these handlers should autocreate courses if required
$enrol = new enrolment_plugin_ldap();
Expand Down
6 changes: 2 additions & 4 deletions file.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@
$lifetime = $CFG->filelifetime;
}

// remove moodle specific debug messages by switching the sign bit in error level bitmask
if ($CFG->debug > 0) {
$CFG->debug = $CFG->debug | 0x80000000;
}
// disable moodle specific debug messages
disable_debugging();

$relativepath = get_file_argument('file.php');
$forcedownload = optional_param('forcedownload', 0, PARAM_BOOL);
Expand Down
3 changes: 3 additions & 0 deletions filter/algebra/pix.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
}
}

// disable moodle specific debug messages
disable_debugging();

require_once($CFG->libdir.'/filelib.php');

$CFG->texfilterdir = 'filter/tex';
Expand Down
3 changes: 3 additions & 0 deletions filter/tex/pix.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
}
}

// disable moodle specific debug messages
disable_debugging();

require_once($CFG->libdir.'/filelib.php');
require_once('defaultsettings.php' );
require_once('latex.php');
Expand Down
14 changes: 6 additions & 8 deletions lang/en_utf8/admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@
$string['sessioncookie'] = 'Cookie prefix';
$string['sessioncookiepath'] = 'Cookie path';
$string['enablerssfeeds'] = 'Enable RSS feeds';
$string['debug'] = 'Debug notices';
$string['debug'] = 'Debug messages';
$string['perfdebug'] = 'Performance info';
$string['enablestats'] = 'Enable statistics';
$string['statsfirstrun'] = 'Maximum processing interval';
Expand Down Expand Up @@ -304,13 +304,11 @@
$string['dbmigrateconnecerror'] = 'Could not connect to the database specified.';
$string['dbmigrateencodingerror'] = 'The database specified has encoding $a rather than required UNICODE/UTF8.<br />Please specify another.';
$string['dbmigratepostgres'] = 'It seems that you are using PostgreSQL as the database server. To continue the migration process you need to manually create a new database with encoding \"UNICODE\"(PostgreSQL 7) or \"UTF8\" (PostgreSQL 8) to store the migrated data. Please enter your new database connection settings below to continue:';
$string['debugnone'] = 'Do not show any debugging notices';
$string['debugerror'] = 'E_ERROR: Show only fatal errors';
$string['debugwarning'] = 'E_WARNING: show only serious warnings';
$string['debugparse'] = 'E_PARSE: show parsing errors';
$string['debugnotice'] = 'E_NOTICE: show informational notices';
$string['debugall'] = 'E_ALL: show all reasonable feedback';
$string['debugstrict'] = 'E_STRICT: show absolutely everything, even very minor errors';
$string['debugnone'] = 'NONE: Do not show any errors or warnings';
$string['debugminimal'] = 'MINIMAL: Show only fatal errors';
$string['debugnormal'] = 'NORMAL: Show errors, warnings and notices';
$string['debugall'] = 'ALL: Show all reasonable PHP debug messages';
$string['debugdeveloper'] = 'DEVELOPER: extra Moodle debug messages for developers';
$string['density'] = 'Density';
$string['download'] = 'Download';
$string['edithelpdocs'] = 'Edit help documents';
Expand Down
8 changes: 4 additions & 4 deletions lib/accesslib.php
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ function capability_search($capability, $context, $capabilities) {
global $USER, $CFG;

if (isset($capabilities[$context->id][$capability])) {
debugging("Found $capability in context $context->id at level $context->contextlevel: ".$capabilities[$context->id][$capability], E_ALL);
debugging("Found $capability in context $context->id at level $context->contextlevel: ".$capabilities[$context->id][$capability], DEBUG_DEVELOPER);
return ($capabilities[$context->id][$capability]);
}

Expand Down Expand Up @@ -481,7 +481,7 @@ function capability_search($capability, $context, $capabilities) {
error ('This is an unknown context!');
return false;
}
debugging("Found $capability recursively from context $context->id at level $context->contextlevel: $permission", E_ALL);
debugging("Found $capability recursively from context $context->id at level $context->contextlevel: $permission", DEBUG_DEVELOPER);

return $permission;
}
Expand Down Expand Up @@ -1361,7 +1361,7 @@ function get_roles_with_capability($capability, $permission=NULL, $context='') {
function role_assign($roleid, $userid, $groupid, $contextid, $timestart=0, $timeend=0, $hidden=0, $enrol='manual') {
global $USER, $CFG;

debugging("Assign roleid $roleid userid $userid contextid $contextid", E_ALL);
debugging("Assign roleid $roleid userid $userid contextid $contextid", DEBUG_DEVELOPER);

/// Do some data validation

Expand Down Expand Up @@ -2765,4 +2765,4 @@ function get_users_from_role_on_context($role, $context) {
AND roleid = $role->id");
}

?>
?>
18 changes: 5 additions & 13 deletions lib/adminlib.php
Original file line number Diff line number Diff line change
Expand Up @@ -2137,26 +2137,18 @@ function admin_setting_special_debug() {
$name = 'debug';
$visiblename = get_string('debug', 'admin');
$description = get_string('configdebug', 'admin');
$choices = array( 0 => get_string('debugnone', 'admin'),
E_ERROR => get_string('debugerror', 'admin'),
E_WARNING => get_string('debugwarning', 'admin'),
E_PARSE => get_string('debugparse', 'admin'),
E_NOTICE => get_string('debugnotice', 'admin'),
E_ALL => get_string('debugall', 'admin'),
2048 => get_string('debugstrict', 'admin') // E_STRICT is php5 only
$choices = array( DEBUG_NONE => get_string('debugnone', 'admin'),
DEBUG_MINIMAL => get_string('debugminimal', 'admin'),
DEBUG_NORMAL => get_string('debugnormal', 'admin'),
DEBUG_ALL => get_string('debugall', 'admin'),
DEBUG_DEVELOPER => get_string('debugdeveloper', 'admin')
);
parent::admin_setting_configselect($name, $visiblename, $description, '', $choices);
}

function get_setting() {
global $CFG;
if (isset($CFG->debug)) {
if ($CFG->debug == 7) { // Old values
return 1;
}
if ($CFG->debug == 15) { // Old values
return 16;
}
return $CFG->debug;
} else {
return NULL;
Expand Down
13 changes: 12 additions & 1 deletion lib/moodlelib.php
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,17 @@
*/
define('PAGE_COURSE_VIEW', 'course-view');

/// Debug levels ///
/** no warnings at all */
define ('DEBUG_NONE', 0);
/** E_ERROR | E_PARSE */
define ('DEBUG_MINIMAL', 5);
/** E_ERROR | E_PARSE | E_WARNING | E_NOTICE */
define ('DEBUG_NORMAL', 15);
/** E_ALL without E_STRICT and E_RECOVERABLE_ERROR for now */
define ('DEBUG_ALL', 2047);
/** DEBUG_ALL with extra Moodle debug messages - (DEBUG_ALL | 32768) */
define ('DEBUG_DEVELOPER', 34815);

/// PARAMETER HANDLING ////////////////////////////////////////////////////

Expand Down Expand Up @@ -6698,4 +6709,4 @@ function loadeditor($args) {


// vim:autoindent:expandtab:shiftwidth=4:tabstop=4:tw=140:
?>
?>
2 changes: 1 addition & 1 deletion lib/setup.php
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@

/// Set error reporting back to normal
if ($originaldatabasedebug == -1) {
$CFG->debug = E_PARSE;
$CFG->debug = DEBUG_MINIMAL;
} else {
$CFG->debug = $originaldatabasedebug;
}
Expand Down
20 changes: 14 additions & 6 deletions lib/weblib.php
Original file line number Diff line number Diff line change
Expand Up @@ -5341,19 +5341,19 @@ function page_doc_link($text='', $iconpath='') {
}

/**
* Returns true if the current site debugging settings are equal
* to the specified level: E_NOTICE, E_ALL, E_STRICT etc
* Returns true if the current site debugging settings are equal or above specified level.
* eg use like this:
*
* 1) debugging('a normal notice');
* 2) debugging('something really picky', E_STRICT);
* 3) if (debugging()) { echo "a bunch of commands could be here" }
* 1) debugging('a normal debug notice');
* 2) debugging('something really picky', DEBUG_ALL);
* 3) debugging('annoying debug message only for develpers', DEBUG_DEVELOPER);
* 4) if (debugging()) { echo "a bunch of commands could be here" }
*
* @param string $message a message to print
* @param int $level the level at which this debugging statement should show
* @return bool
*/
function debugging($message='', $level=E_NOTICE) {
function debugging($message='', $level=DEBUG_NORMAL) {

global $CFG;

Expand All @@ -5370,5 +5370,13 @@ function debugging($message='', $level=E_NOTICE) {
return false;
}

/**
* Disable debug messages from debugging(), while keeping PHP error reporting level as is.
*/
function disable_debugging() {
global $CFG;
$CFG->debug = $CFG->debug | 0x80000000; // switch the sign bit in integer number ;-)
}

// vim:autoindent:expandtab:shiftwidth=4:tabstop=4:tw=140:
?>
3 changes: 3 additions & 0 deletions mod/glossary/exportfile.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
require_once("../../config.php");
require_once("lib.php");

// disable moodle specific debug messages
disable_debugging();

$id = required_param('id', PARAM_INT); // Course Module ID

$l = optional_param('l','', PARAM_ALPHANUM);
Expand Down
5 changes: 4 additions & 1 deletion mod/quiz/quizfile.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@
} else {
$lifetime = $CFG->filelifetime;
}


// disable moodle specific debug messages
disable_debugging();

$relativepath = get_file_argument('quizfile.php');

if (!$relativepath) {
Expand Down
3 changes: 3 additions & 0 deletions rss/file.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@

$lifetime = 3600; // Seconds for files to remain in caches - 1 hour

// disable moodle specific debug messages
disable_debugging();

$relativepath = get_file_argument('file.php');


Expand Down
3 changes: 3 additions & 0 deletions user/pix.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
require_once('../config.php');
require_once($CFG->libdir.'/filelib.php');

// disable moodle specific debug messages
disable_debugging();

$relativepath = get_file_argument('pix.php');

$args = explode('/', trim($relativepath, '/'));
Expand Down
3 changes: 3 additions & 0 deletions user/pixgroup.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
require_once('../config.php');
require_once($CFG->libdir.'/filelib.php');

// disable moodle specific debug messages
disable_debugging();

$relativepath = get_file_argument('pixgroup.php');

$args = explode('/', trim($relativepath, '/'));
Expand Down

0 comments on commit 7eb0b60

Please sign in to comment.