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") . '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 "

Updating database schema

"; - foreach($queries as $query) { - $query = trim($query); - if (!empty($query)) { - echo $query."
"; - if(false === $db->exec($query)) { - $e = $db->ErrorInfo(); - $errorMsg .= $e[2] . "
"; + // execute queries + if($queries) { + echo "

Updating database schema

"; + foreach($queries as $query) { + $query = trim($query); + if (!empty($query)) { + echo $query."
"; + if(false === $db->exec($query)) { + $e = $db->ErrorInfo(); + $errorMsg .= $e[2] . "
"; + } + } } } + } else { + 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 "

Running update script

"; + include('update-'.$_GET['version'].'/update.php'); + } + } else { + echo "

Error Messages

"; + echo $errorMsg; + } + 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 "

Running update script

"; - include('update-'.$_GET['version'].'/update.php'); - } - } else { - echo "

Error Messages

"; - echo $errorMsg; - } - 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();