diff options
author | Aleksander Machniak <alec@alec.pl> | 2019-11-16 11:23:32 +0300 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2019-11-16 11:23:32 +0300 |
commit | 3cd3d8eecbfb5f96e48b7bd1b8d78f6d61c23330 (patch) | |
tree | 7f7f1faf128b417be52f00f14a53599d9c4f34a8 /program/include/rcmail_utils.php | |
parent | bd21d43ac963b90770143a7b13a0873c6c01f7da (diff) |
Fix bug where the Installer would not warn about required schema upgrade (#7042)
Diffstat (limited to 'program/include/rcmail_utils.php')
-rw-r--r-- | program/include/rcmail_utils.php | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/program/include/rcmail_utils.php b/program/include/rcmail_utils.php index 78f38646a..ca1359355 100644 --- a/program/include/rcmail_utils.php +++ b/program/include/rcmail_utils.php @@ -112,13 +112,7 @@ class rcmail_utils // Read DB schema version from database (if 'system' table exists) if (in_array($db->table_name('system'), (array)$db->list_tables())) { - $db->query("SELECT `value`" - . " FROM " . $db->table_name('system', true) - . " WHERE `name` = ?", - $package . '-version'); - - $row = $db->fetch_array(); - $version = preg_replace('/[^0-9]/', '', $row[0]); + $version = self::db_version($package); } // DB version not found, but release version is specified @@ -254,6 +248,28 @@ class rcmail_utils } /** + * Get version string for the specified package + * + * @param string $package Package name + * + * @return string Version string + */ + public static function db_version($package = 'roundcube') + { + $db = self::db(); + + $db->query("SELECT `value`" + . " FROM " . $db->table_name('system', true) + . " WHERE `name` = ?", + $package . '-version'); + + $row = $db->fetch_array(); + $version = preg_replace('/[^0-9]/', '', $row[0]); + + return $version; + } + + /** * Removes all deleted records older than X days * * @param int $days Number of days |