diff --git a/setup/upgrade.php b/setup/upgrade.php index b8fe241..6350259 100644 --- a/setup/upgrade.php +++ b/setup/upgrade.php @@ -26,8 +26,17 @@ function generateUpgradeTable () { function showResult($res) { if (PEAR::isError($res)) { + if (is_a($res, 'Upgrade_Already_Applied')) { + return "Already applied"; + } return $res->toString(); } + if ($res === true) { + return "Success"; + } + if ($res === false) { + return "Failure"; + } return $res; } @@ -37,21 +46,26 @@ function performAllUpgrades () { $lastVersion = DBUtil::getOneResultKey($query, 'value'); $currentVersion = $default->systemVersion; - $upgrades = performUpgrade($lastVersion, $currentVersion); + $upgrades = describeUpgrade($lastVersion, $currentVersion); - $ret = "\n"; - $ret .= "\n"; + $ret = "
CodeDescription
\n"; + $ret .= "\n"; foreach ($upgrades as $upgrade) { - $ret .= sprintf('', - htmlspecialchars($upgrade->getDescriptor()), + $res = $upgrade->performUpgrade(); + $ret .= sprintf('', htmlspecialchars($upgrade->getDescription()), - htmlspecialchars(showResult($upgrade->getResult()))); + htmlspecialchars(showResult($res))); } $ret .= '
DescriptionResult
%s%s%s
%s%s
'; return $ret; } -$upgradeTable = generateUpgradeTable(); +if ($_REQUEST["go"] === "Upgrade") { + $performingUpgrade = true; + $upgradeTable = performAllUpgrades(); +} else { + $upgradeTable = generateUpgradeTable(); +} ?> @@ -68,15 +82,26 @@ td { vertical-align: top; } 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.

- "; + if (!$performingUpgrade) { + print " +

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. + "; + } print $upgradeTable; - print '

'; + if (!$performingUpgrade) { + print '
'; + } else { + print '
'; + } } else { }