load($configDir."/settings.xml"); /** * Check if ENABLE_INSTALL_TOOL exists in config dir */ if (!file_exists($configDir."/ENABLE_INSTALL_TOOL")) { echo "For installation of LetoDMS, you must create the file conf/ENABLE_INSTALL_TOOL"; exit; } require_once("../inc/inc.Language.php"); require_once("../inc/inc.ClassUI.php"); UI::htmlStartPage('Database update'); UI::contentHeading("letoDMS Installation for version ".$_GET['version']); UI::contentContainerStart(); switch($settings->_dbDriver) { case 'mysql': case 'mysqli': case 'mysqlnd': $dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$settings->_dbHostname; break; case 'sqlite': $dsn = $settings->_dbDriver.":".$settings->_dbDatabase; break; } $db = new PDO($dsn, $settings->_dbUser, $settings->_dbPass); if (!$db) { die; } $errorMsg = ''; $res = $db->query('select * from tblVersion'); if($rec = $res->fetch(PDO::FETCH_ASSOC)) { if($_GET['version'] > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) { $queries = file_get_contents('update-'.$_GET['version'].'/update.sql'); $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] . "
"; } } } } } else { echo "

Database schema already up to date.

"; } if(!$errorMsg) { echo "

Running update script

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

Go back to installation.

"; } else { echo "

Could not determine database schema version.

"; } $db = null; UI::contentContainerEnd(); UI::htmlEndPage(); ?>