Initialize table names in separate method

This commit is contained in:
Bartek Fabiszewski 2017-08-17 17:19:47 +02:00
parent ca5e985fb4
commit a4eb37c3dc

View File

@ -44,9 +44,11 @@
* @param string $user * @param string $user
* @param string $pass * @param string $pass
* @param string $name * @param string $name
* @param int $port
* @param string $socket
*/ */
public function __construct($host, $user, $pass, $name) { public function __construct($host, $user, $pass, $name, $port = null, $socket = null) {
parent::__construct($host, $user, $pass, $name); @parent::__construct($host, $user, $pass, $name, $port, $socket);
if ($this->connect_error) { if ($this->connect_error) {
if (defined('headless')) { if (defined('headless')) {
header("HTTP/1.1 503 Service Unavailable"); header("HTTP/1.1 503 Service Unavailable");
@ -55,19 +57,28 @@
die("Database connection error (" . $this->connect_error . ")"); die("Database connection error (" . $this->connect_error . ")");
} }
$this->set_charset('utf8'); $this->set_charset('utf8');
$this->initTables();
}
/**
* Initialize table names based on config
*/
private function initTables() {
self::$tables = [];
$prefix = preg_replace('/[^a-z0-9_]/i', '', uConfig::$dbprefix);
self::$tables['positions'] = $prefix . "positions";
self::$tables['tracks'] = $prefix . "tracks";
self::$tables['users'] = $prefix . "users";
} }
/** /**
* Returns singleton instance * Returns singleton instance
*
* @return object Singleton instance
*/ */
public static function getInstance() { public static function getInstance() {
if (!self::$instance) { if (!self::$instance) {
self::$instance = new self(uConfig::$dbhost, uConfig::$dbuser, uConfig::$dbpass, uConfig::$dbname); self::$instance = new self(uConfig::$dbhost, uConfig::$dbuser, uConfig::$dbpass, uConfig::$dbname);
self::$tables = [];
$prefix = preg_replace('/[^a-z0-9_]/i', '', uConfig::$dbprefix);
self::$tables['positions'] = $prefix . "positions";
self::$tables['tracks'] = $prefix . "tracks";
self::$tables['users'] = $prefix . "users";
} }
return self::$instance; return self::$instance;
} }