summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorMichael Foster <savetheinternet@tinyboard.org>2013-08-03 02:01:52 -0400
committerMichael Foster <savetheinternet@tinyboard.org>2013-08-03 02:01:52 -0400
commit056a6001aceddcf707974577d3566b1a166f01ec (patch)
treedd24ee7ffb19289f4d743d25cf41bc039d16c519 /inc
parent784c3ffadbc28b7f6d6a1808a1f1d71e957cb089 (diff)
Erorr handling update
Diffstat (limited to 'inc')
-rw-r--r--inc/database.php12
-rw-r--r--inc/display.php6
-rw-r--r--inc/functions.php25
3 files changed, 24 insertions, 19 deletions
diff --git a/inc/database.php b/inc/database.php
index 95dfc775..24959d0c 100644
--- a/inc/database.php
+++ b/inc/database.php
@@ -121,14 +121,14 @@ function query($query) {
return $pdo->query($query);
}
-function db_error($PDOStatement=null) {
- global $pdo;
+function db_error($PDOStatement = null) {
+ global $pdo, $db_error;
if (isset($PDOStatement)) {
- $err = $PDOStatement->errorInfo();
- return $err[2];
+ $db_error = $PDOStatement->errorInfo();
+ return $db_error[2];
}
- $err = $pdo->errorInfo();
- return $err[2];
+ $db_error = $pdo->errorInfo();
+ return $db_error[2];
}
diff --git a/inc/display.php b/inc/display.php
index 4972d563..dddb6559 100644
--- a/inc/display.php
+++ b/inc/display.php
@@ -58,7 +58,7 @@ function createBoardlist($mod=false) {
}
function error($message, $priority = true, $debug_stuff = false) {
- global $board, $mod, $config;
+ global $board, $mod, $config, $db_error;
if ($config['syslog'] && $priority !== false) {
// Use LOG_NOTICE instead of LOG_ERR or LOG_WARNING because most error message are not significant.
@@ -70,6 +70,10 @@ function error($message, $priority = true, $debug_stuff = false) {
die('Error: ' . $message . "\n");
}
+ if ($config['debug'] && isset($db_error)) {
+ $debug_stuff = array_combine(array('SQLSTATE', 'Error code', 'Error message'), $db_error);
+ }
+
die(Element('page.html', array(
'config' => $config,
'title' => _('Error'),
diff --git a/inc/functions.php b/inc/functions.php
index b6bdd809..6c903663 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -155,19 +155,9 @@ function loadConfig() {
}
if ($config['verbose_errors']) {
- set_error_handler(function($errno, $errstr, $errfile, $errline) {
- if (error_reporting() == 0)
- return false; // Looks like this warning was suppressed by the @ operator.
- error(utf8tohtml($errstr), true, array(
- 'file' => $errfile,
- 'line' => $errline,
- 'errno' => $errno,
- 'error' => $errstr,
- 'backtrace' => array_slice(debug_backtrace(), 1)
- ));
- });
+ set_error_handler('verbose_error_handler');
error_reporting(E_ALL);
- ini_set('display_errors', true);
+ ini_set('display_errors', false);
ini_set('html_errors', false);
}
@@ -244,6 +234,17 @@ function _syslog($priority, $message) {
}
}
+function verbose_error_handler($errno, $errstr, $errfile, $errline) {
+ if (error_reporting() == 0)
+ return false; // Looks like this warning was suppressed by the @ operator.
+ error(utf8tohtml($errstr), true, array(
+ 'file' => $errfile . ':' . $errline,
+ 'errno' => $errno,
+ 'error' => $errstr,
+ 'backtrace' => array_slice(debug_backtrace(), 1)
+ ));
+}
+
function create_antibot($board, $thread = null) {
require_once dirname(__FILE__) . '/anti-bot.php';