summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-02-15 16:55:55 +0300
committerAndrew Dolgov <[email protected]>2021-02-15 16:55:55 +0300
commit5d42ce553faa3a3eb2a12d66c9b0870ad778c163 (patch)
treed28535636fa52926d93f18b161a85f2bfe0a8586
parent9f55454f63b11ad8d2b2e0a8264a0f0dae919f6b (diff)
drop legacy DB interface and related sanity checks
-rwxr-xr-xclasses/db.php47
-rw-r--r--classes/db/mysqli.php85
-rw-r--r--classes/db/pgsql.php91
-rw-r--r--classes/idb.php13
-rwxr-xr-xinclude/sanity_check.php8
5 files changed, 0 insertions, 244 deletions
diff --git a/classes/db.php b/classes/db.php
index 6199c82bb..490cecd57 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,38 +13,6 @@ 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() {
@@ -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();
diff --git a/classes/db/mysqli.php b/classes/db/mysqli.php
deleted file mode 100644
index a05b121fc..000000000
--- a/classes/db/mysqli.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-class Db_Mysqli implements IDb {
- private $link;
- private $last_error;
-
- function connect($host, $user, $pass, $db, $port) {
- if ($port)
- $this->link = mysqli_connect($host, $user, $pass, $db, $port);
- else
- $this->link = mysqli_connect($host, $user, $pass, $db);
-
- if ($this->link) {
- $this->init();
-
- return $this->link;
- } else {
- print("Unable to connect to database (as $user to $host, database $db): " . mysqli_connect_error());
- exit(102);
- }
- }
-
- function escape_string($s, $strip_tags = true) {
- if ($strip_tags) $s = strip_tags($s);
-
- return mysqli_real_escape_string($this->link, $s);
- }
-
- function query($query, $die_on_error = true) {
- $result = @mysqli_query($this->link, $query);
- if (!$result) {
- $this->last_error = @mysqli_error($this->link);
-
- @mysqli_query($this->link, "ROLLBACK");
- user_error("Query $query failed: " . ($this->link ? $this->last_error : "No connection"),
- $die_on_error ? E_USER_ERROR : E_USER_WARNING);
- }
-
- return $result;
- }
-
- function fetch_assoc($result) {
- return mysqli_fetch_assoc($result);
- }
-
-
- function num_rows($result) {
- return mysqli_num_rows($result);
- }
-
- function fetch_result($result, $row, $param) {
- if (mysqli_data_seek($result, $row)) {
- $line = mysqli_fetch_assoc($result);
- return $line[$param];
- } else {
- return false;
- }
- }
-
- function close() {
- return mysqli_close($this->link);
- }
-
- function affected_rows($result) {
- return mysqli_affected_rows($this->link);
- }
-
- function last_error() {
- return mysqli_error($this->link);
- }
-
- function last_query_error() {
- return $this->last_error;
- }
-
- function init() {
- $this->query("SET time_zone = '+0:0'");
-
- if (defined('MYSQL_CHARSET') && MYSQL_CHARSET) {
- mysqli_set_charset($this->link, MYSQL_CHARSET);
- }
-
- return true;
- }
-
-}
diff --git a/classes/db/pgsql.php b/classes/db/pgsql.php
deleted file mode 100644
index 98fab6bea..000000000
--- a/classes/db/pgsql.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-class Db_Pgsql implements IDb {
- private $link;
- private $last_error;
-
- function connect($host, $user, $pass, $db, $port) {
- $string = "dbname=$db user=$user";
-
- if ($pass) {
- $string .= " password=$pass";
- }
-
- if ($host) {
- $string .= " host=$host";
- }
-
- if (is_numeric($port) && $port > 0) {
- $string = "$string port=" . $port;
- }
-
- $this->link = pg_connect($string);
-
- if (!$this->link) {
- print("Unable to connect to database (as $user to $host, database $db):" . pg_last_error());
- exit(102);
- }
-
- $this->init();
-
- return $this->link;
- }
-
- function escape_string($s, $strip_tags = true) {
- if ($strip_tags) $s = strip_tags($s);
-
- return pg_escape_string($s);
- }
-
- function query($query, $die_on_error = true) {
- $result = @pg_query($this->link, $query);
-
- if (!$result) {
- $this->last_error = @pg_last_error($this->link);
-
- @pg_query($this->link, "ROLLBACK");
- $query = htmlspecialchars($query); // just in case
- user_error("Query $query failed: " . ($this->link ? $this->last_error : "No connection"),
- $die_on_error ? E_USER_ERROR : E_USER_WARNING);
- }
- return $result;
- }
-
- function fetch_assoc($result) {
- return pg_fetch_assoc($result);
- }
-
-
- function num_rows($result) {
- return pg_num_rows($result);
- }
-
- function fetch_result($result, $row, $param) {
- return pg_fetch_result($result, $row, $param);
- }
-
- function close() {
- return pg_close($this->link);
- }
-
- function affected_rows($result) {
- return pg_affected_rows($result);
- }
-
- function last_error() {
- return pg_last_error($this->link);
- }
-
- function last_query_error() {
- return $this->last_error;
- }
-
- function init() {
- $this->query("set client_encoding = 'UTF-8'");
- pg_set_client_encoding("UNICODE");
- $this->query("set datestyle = 'ISO, european'");
- $this->query("set TIME ZONE 0");
- $this->query("set cpu_tuple_cost = 0.5");
-
- return true;
- }
-} \ No newline at end of file
diff --git a/classes/idb.php b/classes/idb.php
deleted file mode 100644
index 37fd69906..000000000
--- a/classes/idb.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-interface IDb {
- function connect($host, $user, $pass, $db, $port);
- function escape_string($s, $strip_tags = true);
- function query($query, $die_on_error = true);
- function fetch_assoc($result);
- function num_rows($result);
- function fetch_result($result, $row, $param);
- function close();
- function affected_rows($result);
- function last_error();
- function last_query_error();
-}
diff --git a/include/sanity_check.php b/include/sanity_check.php
index c5ffb87ec..9407b606f 100755
--- a/include/sanity_check.php
+++ b/include/sanity_check.php
@@ -137,14 +137,6 @@
array_push($errors, "PHP support for JSON is required, but was not found.");
}
- if (DB_TYPE == "mysql" && !function_exists("mysqli_connect")) {
- array_push($errors, "PHP support for MySQL is required for configured DB_TYPE in config.php.");
- }
-
- if (DB_TYPE == "pgsql" && !function_exists("pg_connect")) {
- array_push($errors, "PHP support for PostgreSQL is required for configured DB_TYPE in config.php");
- }
-
if (!class_exists("PDO")) {
array_push($errors, "PHP support for PDO is required but was not found.");
}