summaryrefslogtreecommitdiff
path: root/installer
diff options
context:
space:
mode:
Diffstat (limited to 'installer')
-rw-r--r--installer/installer.php7
-rw-r--r--installer/views/invalid_db_version.html.php5
-rw-r--r--installer/web.php2
3 files changed, 14 insertions, 0 deletions
diff --git a/installer/installer.php b/installer/installer.php
index b0af561e..456cffaa 100644
--- a/installer/installer.php
+++ b/installer/installer.php
@@ -104,6 +104,13 @@ class installer {
mysql_select_db($config["dbname"]);
}
+ static function verify_version($config) {
+ $result = mysql_query("SHOW VARIABLES WHERE variable_name = \"version\"");
+ $row = mysql_fetch_object($result);
+ $version = substr($row->Value, 0, strpos($row->Value, "-"));
+ return version_compare($version, "5.0.0", ">=");
+ }
+
static function db_empty($config) {
$query = "SHOW TABLES IN {$config['dbname']} LIKE '{$config['prefix']}items'";
return mysql_num_rows(mysql_query($query)) == 0;
diff --git a/installer/views/invalid_db_version.html.php b/installer/views/invalid_db_version.html.php
new file mode 100644
index 00000000..8776ac35
--- /dev/null
+++ b/installer/views/invalid_db_version.html.php
@@ -0,0 +1,5 @@
+<?php defined("SYSPATH") or die("No direct script access.") ?>
+<h1> Uh oh! </h1>
+<p class="error">
+ The MySql database that you are referencing is less than the minimum version of 5.0.0.
+</p>
diff --git a/installer/web.php b/installer/web.php
index f31c0644..aceb5368 100644
--- a/installer/web.php
+++ b/installer/web.php
@@ -41,6 +41,8 @@ if (installer::already_installed()) {
if (!installer::connect($config)) {
$content = render("invalid_db_info.html.php");
+ } else if (!installer::verify_version($config)) {
+ $content = render("invalid_db_version.html.php");
} else if (!installer::select_db($config)) {
$content = render("missing_db.html.php");
} else if (!installer::db_empty($config)) {