system_settings_table);
$lastVersion = DBUtil::getOneResultKey($query, 'value');
$currentVersion = $default->systemVersion;
$upgrades = describeUpgrade($lastVersion, $currentVersion);
$ret = "
\n";
$ret .= "| Code | Description | Applied |
\n";
foreach ($upgrades as $upgrade) {
$ret .= sprintf("| %s | %s | %s |
\n",
htmlspecialchars($upgrade->getDescriptor()),
htmlspecialchars($upgrade->getDescription()),
$upgrade->isAlreadyApplied() ? "Yes" : "No"
);
}
$ret .= '
';
return $ret;
}
function showResult($res) {
if (PEAR::isError($res)) {
if (is_a($res, 'Upgrade_Already_Applied')) {
return 'Already applied';
}
return sprintf('%s', htmlspecialchars($res->toString()));
}
if ($res === true) {
return 'Success';
}
if ($res === false) {
return 'Failure';
}
return $res;
}
$GLOBALS['row'] = 1;
function performAllUpgrades () {
global $default;
$query = sprintf('SELECT value FROM %s WHERE name = "knowledgeTreeVersion"', $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('%s
' . "\n", $class, htmlspecialchars($upgrade->getDescription()));
$GLOBALS['row']++;
ob_flush();
flush();
$res = $upgrade->performUpgrade();
printf('
%s
', showResult($res));
print '
' . "\n";
ob_flush();
flush();
print "
\n";
if (PEAR::isError($res)) {
if (!is_a($res, 'Upgrade_Already_Applied')) {
break;
}
}
if ($res === false) {
break;
}
}
return $ret;
}
if ($_REQUEST["go"] === "Upgrade") {
$performingUpgrade = true;
} else {
$upgradeTable = generateUpgradeTable();
}
?>
KnowledgeTree Upgrade
KnowledgeTree Upgrades
The table below describes the upgrades that need to occur to
upgrade your KnowledgeTree installation to $default->systemVersion.
Click on the button below the table to perform the upgrades.
";
} else {
print "
The table below describes the upgrades that have occurred to
upgrade your KnowledgeTree installation to $default->systemVersion.
";
$upgradeTable = performAllUpgrades();
}
print $upgradeTable;
if (!$performingUpgrade) {
print '
';
} else {
print '';
}
?>