Avoid showing any errors if error reporting is disabled

This commit is contained in:
ruan 2016-09-09 19:45:00 +02:00
parent 3e7c7f8163
commit 24936479f9

View File

@ -66,7 +66,7 @@ final class Settings {
date_default_timezone_set("UTC"); date_default_timezone_set("UTC");
// Enable PHP error reporting. // Enable PHP error reporting.
$error_reporting = true; $this->error_reporting = true;
// Enable error pages. // Enable error pages.
$this->error_pages = true; $this->error_pages = true;
@ -76,7 +76,7 @@ final class Settings {
/** Don't modify anything here unless you know what you're doing **/ /** Don't modify anything here unless you know what you're doing **/
if ($error_reporting) { if ($this->error_reporting) {
error_reporting(E_ALL); error_reporting(E_ALL);
ini_set("display_errors", 1); ini_set("display_errors", 1);
} }
@ -141,7 +141,11 @@ final class Settings {
$message = $e->getMessage(); $message = $e->getMessage();
if ($settings->error_pages) { if ($settings->error_pages) {
if (strstr($message, "Access denied for user")) { if (strstr($message, "Access denied for user")) {
if ($settings->error_reporting) {
$settings->redirect("error/access-denied.php?error=" . base64_encode($message)); $settings->redirect("error/access-denied.php?error=" . base64_encode($message));
} else {
$settings->redirect("error/access-denied.php");
}
} }
if (strstr($message, "Base table or view not found:")) { if (strstr($message, "Base table or view not found:")) {
$settings->redirect("error/tables-not-found.php"); $settings->redirect("error/tables-not-found.php");
@ -150,6 +154,9 @@ final class Settings {
$settings->redirect("error/outdated-plugin.php"); $settings->redirect("error/outdated-plugin.php");
} }
} }
if ($settings->error_reporting === false) {
die("Database error");
}
die('Database error: ' . $message); die('Database error: ' . $message);
} }