From 95a10c12259cf4e76d8ee95238fccd7589de7a7a Mon Sep 17 00:00:00 2001 From: Matthias Wirtz Date: Wed, 17 Apr 2013 19:23:52 +0200 Subject: [PATCH 1/3] fixed sanity check (mysqli_connect is also allowed now) --- include/sanity_check.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/sanity_check.php b/include/sanity_check.php index a5c682be8..b2888b1d7 100644 --- a/include/sanity_check.php +++ b/include/sanity_check.php @@ -118,7 +118,7 @@ array_push($errors, "PHP support for JSON is required, but was not found."); } - if (DB_TYPE == "mysql" && !function_exists("mysql_connect")) { + if (DB_TYPE == "mysql" && !function_exists("mysql_connect") && !function_exists("mysqli_connect")) { array_push($errors, "PHP support for MySQL is required for configured DB_TYPE in config.php."); } From 512b7793917230e37e47e9a68a243053189cb846 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 17 Apr 2013 21:39:47 +0400 Subject: [PATCH 2/3] do not try to log to sql on old schema version --- classes/logger/sql.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/logger/sql.php b/classes/logger/sql.php index 4d1f12065..50e5de9a6 100644 --- a/classes/logger/sql.php +++ b/classes/logger/sql.php @@ -5,7 +5,7 @@ class Logger_SQL { if ($errno == E_NOTICE) return false; - if (Db::get()) { + if (Db::get() && get_schema_version() > 117) { $errno = Db::get()->escape_string($errno); $errstr = Db::get()->escape_string($errstr); From 0630a100d5f863ab7a3b04f7be7dcce5cafbaf8a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 17 Apr 2013 21:40:04 +0400 Subject: [PATCH 3/3] revert OO-db access in dbupdater, create DbUpdater() correctly --- classes/dbupdater.php | 24 ++++++++++++------------ classes/handler/public.php | 2 +- update.php | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/classes/dbupdater.php b/classes/dbupdater.php index f157342d4..a319da03d 100644 --- a/classes/dbupdater.php +++ b/classes/dbupdater.php @@ -2,18 +2,18 @@ class DbUpdater { private $dbh; - private $$this->dbh->type; + private $db_type; private $need_version; - function __construct($dbh, $$this->dbh->type, $need_version) { + function __construct($dbh, $db_type, $need_version) { $this->dbh = $dbh; - $this->$this->dbh->type = $db_type; + $this->db_type = $db_type; $this->need_version = (int) $need_version; } function getSchemaVersion() { - $result = $this->dbh->query("SELECT schema_version FROM ttrss_version"); - return (int) $this->dbh->fetch_result($result, 0, "schema_version"); + $result = db_query("SELECT schema_version FROM ttrss_version"); + return (int) db_fetch_result($result, 0, "schema_version"); } function isUpdateRequired() { @@ -21,7 +21,7 @@ class DbUpdater { } function getSchemaLines($version) { - $filename = "schema/versions/".$this->$this->dbh->type."/$version.sql"; + $filename = "schema/versions/".$this->db_type."/$version.sql"; if (file_exists($filename)) { return explode(";", preg_replace("/[\r\n]/", "", file_get_contents($filename))); @@ -37,21 +37,21 @@ class DbUpdater { if (is_array($lines)) { - $this->dbh->query("BEGIN"); + db_query("BEGIN"); foreach ($lines as $line) { if (strpos($line, "--") !== 0 && $line) { - $this->dbh->query($line); + db_query($line); } } - $$this->dbh->version = $this->getSchemaVersion(); + $db_version = $this->getSchemaVersion(); - if ($$this->dbh->version == $version) { - $this->dbh->query("COMMIT"); + if ($db_version == $version) { + db_query("COMMIT"); return true; } else { - $this->dbh->query("ROLLBACK"); + db_query("ROLLBACK"); return false; } } else { diff --git a/classes/handler/public.php b/classes/handler/public.php index 439cc7d4d..16d628c80 100644 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -869,7 +869,7 @@ class Handler_Public extends Handler { isUpdateRequired()) { diff --git a/update.php b/update.php index 1e653311d..e13abafca 100755 --- a/update.php +++ b/update.php @@ -320,7 +320,7 @@ if (isset($options["update-schema"])) { _debug("checking for updates (" . DB_TYPE . ")..."); - $updater = new DbUpdater( DB_TYPE, SCHEMA_VERSION); + $updater = new DbUpdater(Db::get(), DB_TYPE, SCHEMA_VERSION); if ($updater->isUpdateRequired()) { _debug("schema update required, version " . $updater->getSchemaVersion() . " to " . SCHEMA_VERSION);