X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Ferrors.inc;h=83ccb6c0dae506594e377036eb08e1c268dd97d5;hb=869e336c7335d984c9ae87d0b810f5c1b3744798;hp=eb06ff127dd84060e6469bdee5b44d16db3f0593;hpb=214715ef27ce057ee063ad53a13cc72e9984d0fa;p=fa-stable.git diff --git a/includes/errors.inc b/includes/errors.inc index eb06ff12..83ccb6c0 100644 --- a/includes/errors.inc +++ b/includes/errors.inc @@ -22,22 +22,15 @@ $msg_colors = array( // display in message box. function error_handler($errno, $errstr, $file, $line) { - global $messages; + global $messages, $go_debug; // error_reporting==0 when messages are set off with @ - if ($errno) { - if(error_reporting()) + if ($errno & error_reporting()) $messages[] = array($errno, $errstr, $file, $line); - - $ignored = E_USER_WARNING|E_USER_ERROR|E_USER_NOTICE; - // don't log notices hidden with @ unless in debug mode - if (!$go_debug) $ignored |= E_NOTICE; - - if (!($errno & $ignored)) - error_log( - user_company().':'.$_SESSION["wa_current_user"]->loginname.':'. - basename($file).":$line: $errstr"); - } + else if($errno&~E_NOTICE)// log all not displayed messages + error_log(user_company() . ':' . $_SESSION["wa_current_user"]->loginname.':' + . basename($file) .":$line: $errstr"); + return true; } //------------------------------------------------------------------------------ @@ -89,12 +82,18 @@ function error_box() { global $before_box; echo "
"; - $before_box = ob_get_clean(); // save html content before error box + $before_box = ob_get_clean(); // save html content before error box // Necessary restart instead of get_contents/clean calls due to a bug in php 4.3.2 - register_shutdown_function('ob_end_flush'); + register_shutdown_function('end_flush'); ob_start('output_html'); echo "
"; } +/* + Helper to avoid sparse log notices. +*/ +function end_flush () { + if (ob_get_level()) ob_end_flush(); +} function display_db_error($msg, $sql_statement=null, $exit=true) {