diff options
Diffstat (limited to 'program/include/bugs.inc')
-rw-r--r-- | program/include/bugs.inc | 101 |
1 files changed, 48 insertions, 53 deletions
diff --git a/program/include/bugs.inc b/program/include/bugs.inc index 8b926e0d6..cf5855e8e 100644 --- a/program/include/bugs.inc +++ b/program/include/bugs.inc @@ -5,7 +5,7 @@ | program/include/bugs.inc | | | | This file is part of the RoudCube Webmail client | - | Copyright (C) 2005-2009, RoudCube Dev - Switzerland | + | Copyright (C) 2005-2010, RoudCube Dev - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -40,22 +40,21 @@ * @param boolean Terminate script execution */ function raise_error($arg=array(), $log=false, $terminate=false) - { - global $__page_content, $CONFIG, $OUTPUT, $ERROR_CODE, $ERROR_MESSAGE; +{ + global $__page_content, $CONFIG, $OUTPUT, $ERROR_CODE, $ERROR_MESSAGE; - // report bug (if not incompatible browser) - if ($log && $arg['type'] && $arg['message']) - log_bug($arg); - - // display error page and terminate script - if ($terminate) - { - $ERROR_CODE = $arg['code']; - $ERROR_MESSAGE = $arg['message']; - include("program/steps/error.inc"); - exit; + // report bug (if not incompatible browser) + if ($log && $arg['type'] && $arg['message']) + log_bug($arg); + + // display error page and terminate script + if ($terminate) { + $ERROR_CODE = $arg['code']; + $ERROR_MESSAGE = $arg['message']; + include("program/steps/error.inc"); + exit; } - } +} /** @@ -66,46 +65,42 @@ function raise_error($arg=array(), $log=false, $terminate=false) */ function log_bug($arg_arr) { - global $CONFIG; - $program = strtoupper($arg_arr['type']); - - // write error to local log file - if ($CONFIG['debug_level'] & 1) - { - $post_query = ($_SERVER['REQUEST_METHOD'] == 'POST' ? '?_task='.urlencode($_POST['_task']).'&_action='.urlencode($_POST['_action']) : ''); - $log_entry = sprintf("%s Error: %s%s (%s %s)", - $program, - $arg_arr['message'], - $arg_arr['file'] ? sprintf(' in %s on line %d', $arg_arr['file'], $arg_arr['line']) : '', - $_SERVER['REQUEST_METHOD'], - $_SERVER['REQUEST_URI'] . $post_query); + global $CONFIG; + $program = strtoupper($arg_arr['type']); + + // write error to local log file + if ($CONFIG['debug_level'] & 1) { + $post_query = ($_SERVER['REQUEST_METHOD'] == 'POST' ? '?_task='.urlencode($_POST['_task']).'&_action='.urlencode($_POST['_action']) : ''); + $log_entry = sprintf("%s Error: %s%s (%s %s)", + $program, + $arg_arr['message'], + $arg_arr['file'] ? sprintf(' in %s on line %d', $arg_arr['file'], $arg_arr['line']) : '', + $_SERVER['REQUEST_METHOD'], + $_SERVER['REQUEST_URI'] . $post_query); - if (!write_log('errors', $log_entry)) - { - // send error to PHPs error handler if write_log didn't succeed - trigger_error($arg_arr['message']); + if (!write_log('errors', $log_entry)) { + // send error to PHPs error handler if write_log didn't succeed + trigger_error($arg_arr['message']); + } + } + + // resport the bug to the global bug reporting system + if ($CONFIG['debug_level'] & 2) { + // TODO: Send error via HTTP + } + + // show error if debug_mode is on + if ($CONFIG['debug_level'] & 4) { + print "<b>$program Error"; + + if (!empty($arg_arr['file']) && !empty($arg_arr['line'])) + print " in $arg_arr[file] ($arg_arr[line])"; + + print ':</b> '; + print nl2br($arg_arr['message']); + print '<br />'; + flush(); } - } - - // resport the bug to the global bug reporting system - if ($CONFIG['debug_level'] & 2) - { - // TODO: Send error via HTTP - } - - // show error if debug_mode is on - if ($CONFIG['debug_level'] & 4) - { - print "<b>$program Error"; - - if (!empty($arg_arr['file']) && !empty($arg_arr['line'])) - print " in $arg_arr[file] ($arg_arr[line])"; - - print ":</b> "; - print nl2br($arg_arr['message']); - print '<br />'; - flush(); - } } ?> |