diff --git a/install/class.Install.php b/install/class.Install.php index 97db1873b..cb34d1ed9 100644 --- a/install/class.Install.php +++ b/install/class.Install.php @@ -406,86 +406,97 @@ echo '
' . getMLText("settings_start_install") . ' $this->contentHeading("SeedDMS Installation for version ".$_GET['version']); $this->contentContainerStart(); -$sqlfile = "update.sql"; -switch($settings->_dbDriver) { - case 'mysql': - case 'mysqli': - case 'mysqlnd': - $tmp = explode(":", $settings->_dbHostname); - $dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0]; - if(isset($tmp[1])) - $dsn .= ";port=".$tmp[1]; - break; - case 'sqlite': - $dsn = $settings->_dbDriver.":".$settings->_dbDatabase; - if(file_exists('update-'.$_GET['version'].'/update-sqlite3.sql')) - $sqlfile = "update-sqlite3.sql"; - break; - case 'pgsql': - $tmp = explode(":", $settings->_dbHostname); - $dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0]; - if(isset($tmp[1])) - $dsn .= ";port=".$tmp[1]; - if(file_exists('update-'.$_GET['version'].'/update-postgres.sql')) - $sqlfile = "update-postgres.sql"; -} -$db = new PDO($dsn, $settings->_dbUser, $settings->_dbPass); -if (!$db) { - die; -} + $sqlfile = "update.sql"; + switch($settings->_dbDriver) { + case 'mysql': + case 'mysqli': + case 'mysqlnd': + $tmp = explode(":", $settings->_dbHostname); + $dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0]; + if(isset($tmp[1])) + $dsn .= ";port=".$tmp[1]; + break; + case 'sqlite': + $dsn = $settings->_dbDriver.":".$settings->_dbDatabase; + if(file_exists('update-'.$_GET['version'].'/update-sqlite3.sql')) + $sqlfile = "update-sqlite3.sql"; + break; + case 'pgsql': + $tmp = explode(":", $settings->_dbHostname); + $dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0]; + if(isset($tmp[1])) + $dsn .= ";port=".$tmp[1]; + if(file_exists('update-'.$_GET['version'].'/update-postgres.sql')) + $sqlfile = "update-postgres.sql"; + } + $db = new PDO($dsn, $settings->_dbUser, $settings->_dbPass); + if (!$db) { + die; + } -$errorMsg = ''; -$res = $db->query('select * from tblVersion'); -$recs = $res->fetchAll(PDO::FETCH_ASSOC); -if(!empty($recs)) { - $rec = $recs[0]; - if($_GET['version'] > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) { + $errorMsg = ''; + switch($settings->_dbDriver) { + case 'mysql': + case 'mysqli': + case 'mysqlnd': + case 'sqlite': + $sql = 'select * from `tblVersion`'; + break; + case 'pgsql': + $sql = 'select * from "tblVersion"'; + break; + } + $res = $db->query($sql); + $recs = $res->fetchAll(PDO::FETCH_ASSOC); + if(!empty($recs)) { + $rec = $recs[0]; + if($_GET['version'] > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) { - if(file_exists('update-'.$_GET['version'].'/'.$sqlfile)) { - $queries = file_get_contents('update-'.$_GET['version'].'/'.$sqlfile); - $queries = explode(";", $queries); + if(file_exists('update-'.$_GET['version'].'/'.$sqlfile)) { + $queries = file_get_contents('update-'.$_GET['version'].'/'.$sqlfile); + $queries = explode(";", $queries); - // execute queries - if($queries) { - echo "
SQL file for update missing!
"; } + } else { + echo "Database schema already up to date.
"; } + + + if(!$errorMsg) { + if(file_exists('update-'.$_GET['version'].'/update.php')) { + echo "Go back to installation and recheck.
"; } else { - echo "SQL file for update missing!
"; + echo "Could not determine database schema version.
"; } - } else { - echo "Database schema already up to date.
"; - } + $db = null; - - if(!$errorMsg) { - if(file_exists('update-'.$_GET['version'].'/update.php')) { - echo "Go back to installation and recheck.
"; -} else { - echo "Could not determine database schema version.
"; -} -$db = null; - -// just remove info for web page installation -$settings->_printDisclaimer = false; -$settings->_footNote = false; -// end of the page + // just remove info for web page installation + $settings->_printDisclaimer = false; + $settings->_footNote = false; + // end of the page $this->contentContainerEnd(); $this->contentEnd(); $this->htmlEndPage();