Commit 6123e00a0f5d64e6d4519e522e44a4fcb64f1979

Authored by nbm
1 parent 2afef090

Handle the final upgrade API.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3379 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 38 additions and 13 deletions
setup/upgrade.php
@@ -26,8 +26,17 @@ function generateUpgradeTable () { @@ -26,8 +26,17 @@ function generateUpgradeTable () {
26 26
27 function showResult($res) { 27 function showResult($res) {
28 if (PEAR::isError($res)) { 28 if (PEAR::isError($res)) {
  29 + if (is_a($res, 'Upgrade_Already_Applied')) {
  30 + return "Already applied";
  31 + }
29 return $res->toString(); 32 return $res->toString();
30 } 33 }
  34 + if ($res === true) {
  35 + return "Success";
  36 + }
  37 + if ($res === false) {
  38 + return "Failure";
  39 + }
31 return $res; 40 return $res;
32 } 41 }
33 42
@@ -37,21 +46,26 @@ function performAllUpgrades () { @@ -37,21 +46,26 @@ function performAllUpgrades () {
37 $lastVersion = DBUtil::getOneResultKey($query, 'value'); 46 $lastVersion = DBUtil::getOneResultKey($query, 'value');
38 $currentVersion = $default->systemVersion; 47 $currentVersion = $default->systemVersion;
39 48
40 - $upgrades = performUpgrade($lastVersion, $currentVersion); 49 + $upgrades = describeUpgrade($lastVersion, $currentVersion);
41 50
42 - $ret = "<table>\n";  
43 - $ret .= "<tr><th>Code</th><th>Description<th></tr>\n"; 51 + $ret = "<table width=\"100%\">\n";
  52 + $ret .= "<tr><th>Description</th><th>Result</th></tr>\n";
44 foreach ($upgrades as $upgrade) { 53 foreach ($upgrades as $upgrade) {
45 - $ret .= sprintf('<tr><td>%s</td><td>%s</td><td>%s</td></tr>',  
46 - htmlspecialchars($upgrade->getDescriptor()), 54 + $res = $upgrade->performUpgrade();
  55 + $ret .= sprintf('<tr><td>%s</td><td>%s</td></tr>',
47 htmlspecialchars($upgrade->getDescription()), 56 htmlspecialchars($upgrade->getDescription()),
48 - htmlspecialchars(showResult($upgrade->getResult()))); 57 + htmlspecialchars(showResult($res)));
49 } 58 }
50 $ret .= '</table>'; 59 $ret .= '</table>';
51 return $ret; 60 return $ret;
52 } 61 }
53 62
54 -$upgradeTable = generateUpgradeTable(); 63 +if ($_REQUEST["go"] === "Upgrade") {
  64 + $performingUpgrade = true;
  65 + $upgradeTable = performAllUpgrades();
  66 +} else {
  67 + $upgradeTable = generateUpgradeTable();
  68 +}
55 ?> 69 ?>
56 <html> 70 <html>
57 <head> 71 <head>
@@ -68,15 +82,26 @@ td { vertical-align: top; } @@ -68,15 +82,26 @@ td { vertical-align: top; }
68 <?php 82 <?php
69 83
70 if ($upgradeTable) { 84 if ($upgradeTable) {
71 - print "  
72 - <p>The table below describes the upgrades that need to occur to  
73 - upgrade your KnowledgeTree installation to <strong>$default->systemVersion</strong>.  
74 - Click on the button below the table to perform the upgrades.</p>  
75 - "; 85 + if (!$performingUpgrade) {
  86 + print "
  87 + <p>The table below describes the upgrades that need to occur to
  88 + upgrade your KnowledgeTree installation to <strong>$default->systemVersion</strong>.
  89 + Click on the button below the table to perform the upgrades.</p>
  90 + ";
  91 + } else {
  92 + print "
  93 + <p>The table below describes the upgrades that have occurred to
  94 + upgrade your KnowledgeTree installation to <strong>$default->systemVersion</strong>.
  95 + ";
  96 + }
76 97
77 print $upgradeTable; 98 print $upgradeTable;
78 99
79 - print '<form><input type="submit" name="go" value="Upgrade" /></form>'; 100 + if (!$performingUpgrade) {
  101 + print '<form><input type="submit" name="go" value="Upgrade" /></form>';
  102 + } else {
  103 + print '<form><input type="submit" name="go" value="ShowUpgrades" /></form>';
  104 + }
80 } else { 105 } else {
81 106
82 } 107 }