From f41cd5b8f1845ab43279f68b00588b4e02c23d9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20Schro=CC=88der?= Date: Fri, 9 May 2014 13:13:29 +0200 Subject: [PATCH] improved error messages & quit --- application/core/Database/Database.php | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/application/core/Database/Database.php b/application/core/Database/Database.php index b8aafd97..96c96361 100644 --- a/application/core/Database/Database.php +++ b/application/core/Database/Database.php @@ -32,21 +32,24 @@ class Database implements TimerListener { // Get mysql server information $host = $this->maniaControl->config->database->xpath('host'); - $port = $this->maniaControl->config->database->xpath('port'); - $user = $this->maniaControl->config->database->xpath('user'); - $pass = $this->maniaControl->config->database->xpath('pass'); - if (!$host) { - trigger_error("Invalid database configuration (host).", E_USER_ERROR); + $message = "Invalid database configuration (host)."; + $this->maniaControl->quit($message); } + $port = $this->maniaControl->config->database->xpath('port'); if (!$port) { - trigger_error("Invalid database configuration (port).", E_USER_ERROR); + $message = "Invalid database configuration (port)."; + $this->maniaControl->quit($message); } + $user = $this->maniaControl->config->database->xpath('user'); if (!$user) { - trigger_error("Invalid database configuration (user).", E_USER_ERROR); + $message = "Invalid database configuration (user)."; + $this->maniaControl->quit($message); } + $pass = $this->maniaControl->config->database->xpath('pass'); if (!$pass) { - trigger_error("Invalid database configuration (pass).", E_USER_ERROR); + $message = "Invalid database configuration (pass)."; + $this->maniaControl->quit($message); } $host = (string)$host[0]; @@ -60,7 +63,8 @@ class Database implements TimerListener { // Open database connection $this->mysqli = @new \mysqli($host, $user, $pass, null, $port); if ($this->mysqli->connect_error) { - trigger_error($this->mysqli->connect_error, E_USER_ERROR); + $message = "Couldn't connect to Database: '{$this->mysqli->connect_error}'"; + $this->maniaControl->quit($message); } $this->mysqli->set_charset("utf8"); @@ -161,7 +165,7 @@ class Database implements TimerListener { */ public function checkConnection($time) { if (!$this->mysqli->ping()) { - $this->maniaControl->quit("The MySQL server has gone away"); + $this->maniaControl->quit("The MySQL server has gone away!"); } } @@ -169,7 +173,7 @@ class Database implements TimerListener { * Destruct database connection */ public function __destruct() { - if ($this->mysqli) { + if ($this->mysqli && !$this->mysqli->connect_error) { $this->mysqli->close(); } }