aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/functions.php')
-rw-r--r--phpBB/includes/functions.php15
1 files changed, 13 insertions, 2 deletions
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index d4be3ec65e..bdf44d31d0 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -2142,6 +2142,13 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
global $cache, $db, $auth, $template, $config, $user;
global $phpEx, $phpbb_root_path, $starttime, $msg_title, $msg_long_text;
+ // Check the error reporting level and return if the error level does not match
+ // This also fixes the displayed notices even if we suppress them via @
+ if (($errno & error_reporting()) == 0)
+ {
+ return;
+ }
+
// Message handler is stripping text. In case we need it, we are possible to define long text...
if (isset($msg_long_text) && $msg_long_text && !$msg_text)
{
@@ -2153,7 +2160,10 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
case E_NOTICE:
case E_WARNING:
- if (defined('DEBUG_EXTRA'))
+ /**
+ * @todo Think about removing the if-condition within the final product, since we no longer enable DEBUG by default and we will maybe adjust the error reporting level
+ */
+ if (defined('DEBUG'))
{
if (strpos($errfile, 'cache') === false && strpos($errfile, 'template.php') === false)
{
@@ -2214,6 +2224,7 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
exit;
break;
+ case E_USER_WARNING:
case E_USER_NOTICE:
define('IN_ERROR_HANDLER', true);
@@ -2597,7 +2608,7 @@ function page_footer()
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
- if (!empty($_REQUEST['explain']) && $auth->acl_get('a_') && method_exists($db, 'sql_report'))
+ if (!empty($_REQUEST['explain']) && $auth->acl_get('a_') && defined('DEBUG_EXTRA') && method_exists($db, 'sql_report'))
{
$db->sql_report('display');
}