diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2008-09-04 14:10:03 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2008-09-04 14:10:03 +0000 |
commit | 3a330753f413c3e024163f8f401f327bc2f9930c (patch) | |
tree | 37621305e29c6b56e8aa93778e8ec3bc64f38a38 /phpBB/includes/db/mssql.php | |
parent | a736c97c04bde8138c3cb7236004e30133d91b65 (diff) | |
download | forums-3a330753f413c3e024163f8f401f327bc2f9930c.tar forums-3a330753f413c3e024163f8f401f327bc2f9930c.tar.gz forums-3a330753f413c3e024163f8f401f327bc2f9930c.tar.bz2 forums-3a330753f413c3e024163f8f401f327bc2f9930c.tar.xz forums-3a330753f413c3e024163f8f401f327bc2f9930c.zip |
Get real dbms version instead of relying on php internal functions which only grab the local library version
git-svn-id: file:///svn/phpbb/trunk@8821 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/db/mssql.php')
-rw-r--r-- | phpBB/includes/db/mssql.php | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/phpBB/includes/db/mssql.php b/phpBB/includes/db/mssql.php index a2081891e4..7864f7a3d7 100644 --- a/phpBB/includes/db/mssql.php +++ b/phpBB/includes/db/mssql.php @@ -57,24 +57,38 @@ class dbal_mssql extends dbal /** * Version information about used database + * @param bool $raw if true, only return the fetched sql_server_version + * @return string sql server version */ - function sql_server_info() + function sql_server_info($raw = false) { - $result_id = @mssql_query("SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY('productlevel'), SERVERPROPERTY('edition')", $this->db_connect_id); + global $cache; - $row = false; - if ($result_id) + if (empty($cache) || ($this->sql_server_version = $cache->get('mssql_version')) === false) { - $row = @mssql_fetch_assoc($result_id); - @mssql_free_result($result_id); + $result_id = @mssql_query("SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY('productlevel'), SERVERPROPERTY('edition')", $this->db_connect_id); + + $row = false; + if ($result_id) + { + $row = @mssql_fetch_assoc($result_id); + @mssql_free_result($result_id); + } + + $this->sql_server_version = ($row) ? trim(implode(' ', $row)) : 0; + + if (!empty($cache)) + { + $cache->put('mssql_version', $this->sql_server_version); + } } - if ($row) + if ($raw) { - return 'MSSQL<br />' . implode(' ', $row); + return $this->sql_server_version; } - return 'MSSQL'; + return ($this->sql_server_version) ? 'MSSQL<br />' . $this->sql_server_version : 'MSSQL'; } /** |