diff options
author | Andrew Dolgov <[email protected]> | 2023-10-25 12:55:09 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2023-10-25 12:55:09 +0300 |
commit | 865ecc87963dc3b26e66296616eef2a1cc41ac3f (patch) | |
tree | bf2ecd8a391103bdb2c8b70cd33c47467310754b /classes/db.php | |
parent | 0a5507d3bd79d04c860455664f919bf8e7274fda (diff) |
move to psr-4 autoloader
Diffstat (limited to 'classes/db.php')
-rwxr-xr-x | classes/db.php | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/classes/db.php b/classes/db.php deleted file mode 100755 index 4331b662e..000000000 --- a/classes/db.php +++ /dev/null @@ -1,102 +0,0 @@ -<?php -class Db -{ - /** @var Db $instance */ - private static $instance; - - /** @var PDO|null $pdo */ - private $pdo; - - function __construct() { - ORM::configure(self::get_dsn()); - ORM::configure('username', Config::get(Config::DB_USER)); - ORM::configure('password', Config::get(Config::DB_PASS)); - ORM::configure('return_result_sets', true); - if (Config::get(Config::DB_TYPE) == "mysql" && Config::get(Config::MYSQL_CHARSET)) { - ORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . Config::get(Config::MYSQL_CHARSET))); - } - } - - /** - * @param int $delta adjust generated timestamp by this value in seconds (either positive or negative) - * @return string - */ - static function NOW(int $delta = 0): string { - return date("Y-m-d H:i:s", time() + $delta); - } - - private function __clone() { - // - } - - public static function get_dsn(): string { - $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) : ''; - if (Config::get(Config::DB_TYPE) == "mysql" && Config::get(Config::MYSQL_CHARSET)) { - $db_charset = ';charset=' . Config::get(Config::MYSQL_CHARSET); - } else { - $db_charset = ''; - } - - return Config::get(Config::DB_TYPE) . ':dbname=' . Config::get(Config::DB_NAME) . $db_host . $db_port . $db_charset; - } - - // this really shouldn't be used unless a separate PDO connection is needed - // normal usage is Db::pdo()->prepare(...) etc - public function pdo_connect() : PDO { - - try { - $pdo = new PDO(self::get_dsn(), - 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); - } - - $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - - 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 (Config::get(Config::DB_TYPE) == "mysql") { - $pdo->query("SET time_zone = '+0:0'"); - - if (Config::get(Config::MYSQL_CHARSET)) { - $pdo->query("SET NAMES " . Config::get(Config::MYSQL_CHARSET)); - } - } - - return $pdo; - } - - public static function instance() : Db { - if (self::$instance == null) - self::$instance = new self(); - - return self::$instance; - } - - public static function pdo() : PDO { - if (self::$instance == null) - self::$instance = new self(); - - if (empty(self::$instance->pdo)) { - self::$instance->pdo = self::$instance->pdo_connect(); - } - - return self::$instance->pdo; - } - - public static function sql_random_function(): string { - if (Config::get(Config::DB_TYPE) == "mysql") { - return "RAND()"; - } - return "RANDOM()"; - } - -} |