Browse Source

Erorr handling update

pull/40/head
Michael Foster 11 years ago
parent
commit
056a6001ac
  1. 12
      inc/database.php
  2. 6
      inc/display.php
  3. 25
      inc/functions.php
  4. 2
      mod.php

12
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];
}

6
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'),

25
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';

2
mod.php

@ -23,7 +23,7 @@ $query = isset($_SERVER['QUERY_STRING']) ? urldecode($_SERVER['QUERY_STRING']) :
$pages = array(
'' => ':?/', // redirect to dashboard
'/' => 'dashboard', // dashboard
'/confirm/(.+)' => 'confirm', // confirm action (if javascript didn't work)
'/confir(m/(.+)' => 'confirm', // confirm action (if javascript didn't work)
'/logout' => 'logout', // logout
'/users' => 'users', // manage users

Loading…
Cancel
Save