diff options
Diffstat (limited to 'classes/db.php')
-rwxr-xr-x | classes/db.php | 67 |
1 files changed, 10 insertions, 57 deletions
diff --git a/classes/db.php b/classes/db.php index 6199c82bb..a760d4402 100755 --- a/classes/db.php +++ b/classes/db.php @@ -1,13 +1,9 @@ <?php class Db { - /* @var Db $instance */ private static $instance; - /* @var IDb $adapter */ - private $adapter; - private $link; /* @var PDO $pdo */ @@ -17,49 +13,17 @@ class Db // } - private function legacy_connect() { - - user_error("Legacy connect requested to " . DB_TYPE, E_USER_NOTICE); - - $er = error_reporting(E_ALL); - - switch (DB_TYPE) { - case "mysql": - $this->adapter = new Db_Mysqli(); - break; - case "pgsql": - $this->adapter = new Db_Pgsql(); - break; - default: - die("Unknown DB_TYPE: " . DB_TYPE); - } - - if (!$this->adapter) { - print("Error initializing database adapter for " . DB_TYPE); - exit(100); - } - - $this->link = $this->adapter->connect(DB_HOST, DB_USER, DB_PASS, DB_NAME, defined('DB_PORT') ? DB_PORT : ""); - - if (!$this->link) { - print("Error connecting through adapter: " . $this->adapter->last_error()); - exit(101); - } - - error_reporting($er); - } - // this really shouldn't be used unless a separate PDO connection is needed // normal usage is Db::pdo()->prepare(...) etc public function pdo_connect() { - $db_port = defined('DB_PORT') && DB_PORT ? ';port=' . DB_PORT : ''; - $db_host = defined('DB_HOST') && DB_HOST ? ';host=' . DB_HOST : ''; + $db_port = Config::get(Config::DB_PORT) ? ';port=' . Config::get(Config::DB_PORT) : ''; + $db_host = Config::get(Config::DB_HOST) ? ';host=' . Config::get(Config::DB_HOST) : ''; try { - $pdo = new PDO(DB_TYPE . ':dbname=' . DB_NAME . $db_host . $db_port, - DB_USER, - DB_PASS); + $pdo = new PDO(Config::get(Config::DB_TYPE) . ':dbname=' . Config::get(Config::DB_NAME) . $db_host . $db_port, + Config::get(Config::DB_USER), + Config::get(Config::DB_PASS)); } catch (Exception $e) { print "<pre>Exception while creating PDO object:" . $e->getMessage() . "</pre>"; exit(101); @@ -67,18 +31,18 @@ class Db $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - if (DB_TYPE == "pgsql") { + if (Config::get(Config::DB_TYPE) == "pgsql") { $pdo->query("set client_encoding = 'UTF-8'"); $pdo->query("set datestyle = 'ISO, european'"); $pdo->query("set TIME ZONE 0"); $pdo->query("set cpu_tuple_cost = 0.5"); - } else if (DB_TYPE == "mysql") { + } else if (Config::get(Config::DB_TYPE) == "mysql") { $pdo->query("SET time_zone = '+0:0'"); - if (defined('MYSQL_CHARSET') && MYSQL_CHARSET) { - $pdo->query("SET NAMES " . MYSQL_CHARSET); + if (Config::get(Config::MYSQL_CHARSET)) { + $pdo->query("SET NAMES " . Config::get(Config::MYSQL_CHARSET)); } } @@ -92,17 +56,6 @@ class Db return self::$instance; } - public static function get() : Db { - if (self::$instance == null) - self::$instance = new self(); - - if (!self::$instance->adapter) { - self::$instance->legacy_connect(); - } - - return self::$instance->adapter; - } - public static function pdo() : PDO { if (self::$instance == null) self::$instance = new self(); @@ -115,7 +68,7 @@ class Db } public static function sql_random_function() { - if (DB_TYPE == "mysql") { + if (Config::get(Config::DB_TYPE) == "mysql") { return "RAND()"; } else { return "RANDOM()"; |