diff --git a/setup/upgrade.php b/setup/upgrade.php
new file mode 100644
index 0000000..b8fe241
--- /dev/null
+++ b/setup/upgrade.php
@@ -0,0 +1,85 @@
+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)) {
+ return $res->toString();
+ }
+ return $res;
+}
+
+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 = performUpgrade($lastVersion, $currentVersion);
+
+ $ret = "\n";
+ $ret .= "| Code | Description | |
\n";
+ foreach ($upgrades as $upgrade) {
+ $ret .= sprintf('| %s | %s | %s |
',
+ htmlspecialchars($upgrade->getDescriptor()),
+ htmlspecialchars($upgrade->getDescription()),
+ htmlspecialchars(showResult($upgrade->getResult())));
+ }
+ $ret .= '
';
+ return $ret;
+}
+
+$upgradeTable = generateUpgradeTable();
+?>
+
+
+ KnowledgeTree Checkup
+
+
+
+
+ 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.
+ ";
+
+ print $upgradeTable;
+
+ print '';
+} else {
+
+}
+?>
+
+