function performAllUpgrades() { global $default; $query = sprintf('SELECT value FROM %s WHERE name = "databaseVersion"', $default->system_settings_table); $lastVersion = DBUtil::getOneResultKey($query, 'value'); $currentVersion = $default->systemVersion; $upgrades = describeUpgrade($lastVersion, $currentVersion); foreach ($upgrades as $upgrade) { if ($GLOBALS['row'] % 2 == 1) { $class = "odd"; } else { $class = "even"; } printf('<div class="row %s"><div class="foo">%s</div>' . "\n", $class, htmlspecialchars($upgrade->getDescription())); $GLOBALS['row']++; ob_flush(); flush(); $res = $upgrade->performUpgrade(); printf('<div class="bar">%s</div>', showResult($res)); print '<br style="clear: both">' . "\n"; ob_flush(); flush(); print "</div>\n"; if (PEAR::isError($res)) { if (!is_a($res, 'Upgrade_Already_Applied')) { break; } else { $res = true; } } if ($res === false) { $res = PEAR::raiseError("Upgrade returned false"); break; } } return $res; }
private function performAllUpgrades() { $row = 1; $table = 'system_settings'; $query = "SELECT value FROM {$table} WHERE name = 'databaseVersion'"; $result = $this->util->dbUtilities->query($query); $assArr = $this->util->dbUtilities->fetchAssoc($result); $lastVersion = $assArr[0]['value']; $currentVersion = $this->sysVersion; $upgrades = describeUpgrade($lastVersion, $currentVersion); $this->temp_variables['upgradeTable'] = ''; foreach ($upgrades as $upgrade) { if ($row % 2 == 1) { $class = "odd"; } else { $class = "even"; } $this->temp_variables['upgradeTable'] .= sprintf('<div class="row %s"><div class="foo">%s</div>' . "\n", $class, htmlspecialchars($upgrade->getDescription())); ++$row; $res = $upgrade->performUpgrade(); $errors = $upgrade->getErrors(); $this->temp_variables['upgradeTable'] .= sprintf('<div class="bar">%s</div>', $this->showResult($res, $errors)); $this->temp_variables['upgradeTable'] .= '<br>' . "\n"; $this->temp_variables['upgradeTable'] .= "</div>\n"; if ($res === false) { $this->error = $this->util->dbUtilities->getErrors(); break; } } return $res; }
print "Consult docs/UPGRADE.txt for more information\n"; exit(1); } if (PEAR::isError($default->_admindb)) { print "Your database administrator user credentials can not login.\n"; print "Consult docs/UPGRADE.txt for more information.\n"; exit(1); } $query = sprintf('SELECT value FROM %s WHERE name = "knowledgeTreeVersion"', $default->system_settings_table); $lastVersion = DBUtil::getOneResultKey($query, 'value'); $currentVersion = $default->systemVersion; $action = $_SERVER['argv'][1]; if (empty($action)) { $action = 'show'; } $upgrades = describeUpgrade($lastVersion, $currentVersion); $i = 1; foreach ($upgrades as $step) { print "Upgrade step {$i}: " . $step->getDescription(); $bApplied = $step->isAlreadyApplied(); $i++; if ($bApplied) { print " (already applied)\n"; continue; } print "\n"; if ($action == 'show') { continue; } $res = $step->performUpgrade(); print ' RESULT: ';
<?php require_once '../../config/dmsDefaults.php'; require_once KT_LIB_DIR . '/upgrades/upgrade.inc.php'; foreach (describeUpgrade('2.0.5', '2.0.6') as $step) { print $step->getDescriptor() . "\n"; $step->performUpgrade(); }