diff options
author | thomascube <thomas@roundcube.net> | 2007-08-07 21:02:12 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2007-08-07 21:02:12 +0000 |
commit | 6d969b4d9020560d3491d19a5b0487e325e9bce4 (patch) | |
tree | 030bc9d63bf4dc40b8bbf1cefd00e5ad6b460439 /program/include/bugs.inc | |
parent | 93be5b7606ed7a85323732b074ce380ac06875b7 (diff) |
Documentation, code style and cleanup
Diffstat (limited to 'program/include/bugs.inc')
-rw-r--r-- | program/include/bugs.inc | 90 |
1 files changed, 46 insertions, 44 deletions
diff --git a/program/include/bugs.inc b/program/include/bugs.inc index 946a910be..9d98ef45b 100644 --- a/program/include/bugs.inc +++ b/program/include/bugs.inc @@ -4,8 +4,8 @@ +-----------------------------------------------------------------------+ | program/include/bugs.inc | | | - | This file is part of the BQube Webmail client | - | Copyright (C) 2005, BQube Dev - Switzerland | + | This file is part of the RoudCube Webmail client | + | Copyright (C) 2005-2007, RoudCube Dev - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -20,19 +20,29 @@ */ -// throw system error and show error page -function raise_error($arg=array(), $log=FALSE, $terminate=FALSE) +/** + * Error handling and logging functions + * + * @package Core + */ + + +/** + * Throw system error and show error page + * + * @param array Named parameters + * - code: Error code (required) + * - type: Error type [php|db|imap|javascript] (required) + * - message: Error message + * - file: File where error occured + * - line: Line where error occured + * @param boolean True to log the error + * @param boolean Terminate script execution + */ +function raise_error($arg=array(), $log=false, $terminate=false) { global $__page_content, $CONFIG, $OUTPUT, $ERROR_CODE, $ERROR_MESSAGE; - /* $arg keys: - int code - string type (php, xpath, db, imap, javascript) - string message - sring file - int line - */ - // report bug (if not incompatible browser) if ($log && $arg['type'] && $arg['message']) log_bug($arg); @@ -48,61 +58,53 @@ function raise_error($arg=array(), $log=FALSE, $terminate=FALSE) } -// report error +/** + * Report error according to configured debug_level + * + * @param array Named parameters + * @see raise_error() + */ function log_bug($arg_arr) - { +{ global $CONFIG, $INSTALL_PATH; $program = $arg_arr['type']=='xpath' ? 'XPath' : strtoupper($arg_arr['type']); // write error to local log file if ($CONFIG['debug_level'] & 1) - { - $log_entry = sprintf("[%s] %s Error: %s in %s on line %d\n", - date("d-M-Y H:i:s O", mktime()), - $program, - $arg_arr['message'], - $arg_arr['file'], - $arg_arr['line']); + { + $log_entry = sprintf( + "[%s] %s Error: %s in %s on line %d\n", + date("d-M-Y H:i:s O", mktime()), + $program, + $arg_arr['message'], + $arg_arr['file'], + $arg_arr['line']); if (empty($CONFIG['log_dir'])) $CONFIG['log_dir'] = $INSTALL_PATH.'logs'; // try to open specific log file for writing if ($fp = @fopen($CONFIG['log_dir'].'/errors', 'a')) - - { + { fwrite($fp, $log_entry); fclose($fp); - } + } else - { + { // send error to PHPs error handler trigger_error($arg_arr['message']); - } } + } -/* // resport the bug to the global bug reporting system if ($CONFIG['debug_level'] & 2) - { - $delm = '%AC'; - http_request(sprintf('http://roundcube.net/log/bug.php?_type=%s&_domain=%s&_server_ip=%s&_client_ip=%s&_useragent=%s&_url=%s%%3A//%s&_errors=%s%s%s%s%s', - $arg_arr['type'], - $GLOBALS['HTTP_HOST'], - $GLOBALS['SERVER_ADDR'], - $GLOBALS['REMOTE_ADDR'], - rawurlencode($GLOBALS['HTTP_USER_AGENT']), - $GLOBALS['SERVER_PORT']==43 ? 'https' : 'http', - $GLOBALS['HTTP_HOST'].$GLOBALS['REQUEST_URI'], - $arg_arr['file'], $delm, - $arg_arr['line'], $delm, - rawurlencode($arg_arr['message']))); - } -*/ + { + // 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'])) @@ -112,7 +114,7 @@ function log_bug($arg_arr) print nl2br($arg_arr['message']); print '<br />'; flush(); - } } +} ?> |