Commit bc6fbad23f0df9f2b002b5a077ea7045895f4aa2
1 parent
b2c5d292
KTC-489
"Upgrade failure (DB error) when upgrading from 3.4.6 and 3.3.7 to 3.5.2c" Fixed. Committed By: Conrad Vermeulen Reviewed By: Kevin Fourie git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@8507 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
19 additions
and
13 deletions
lib/upgrades/upgrade.inc.php
| @@ -9,31 +9,31 @@ | @@ -9,31 +9,31 @@ | ||
| 9 | * Document Management Made Simple | 9 | * Document Management Made Simple |
| 10 | * Copyright (C) 2008 KnowledgeTree Inc. | 10 | * Copyright (C) 2008 KnowledgeTree Inc. |
| 11 | * Portions copyright The Jam Warehouse Software (Pty) Limited | 11 | * Portions copyright The Jam Warehouse Software (Pty) Limited |
| 12 | - * | 12 | + * |
| 13 | * This program is free software; you can redistribute it and/or modify it under | 13 | * This program is free software; you can redistribute it and/or modify it under |
| 14 | * the terms of the GNU General Public License version 3 as published by the | 14 | * the terms of the GNU General Public License version 3 as published by the |
| 15 | * Free Software Foundation. | 15 | * Free Software Foundation. |
| 16 | - * | 16 | + * |
| 17 | * This program is distributed in the hope that it will be useful, but WITHOUT | 17 | * This program is distributed in the hope that it will be useful, but WITHOUT |
| 18 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | 18 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
| 19 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more | 19 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more |
| 20 | * details. | 20 | * details. |
| 21 | - * | 21 | + * |
| 22 | * You should have received a copy of the GNU General Public License | 22 | * You should have received a copy of the GNU General Public License |
| 23 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 23 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 24 | - * | ||
| 25 | - * You can contact KnowledgeTree Inc., PO Box 7775 #87847, San Francisco, | 24 | + * |
| 25 | + * You can contact KnowledgeTree Inc., PO Box 7775 #87847, San Francisco, | ||
| 26 | * California 94120-7775, or email info@knowledgetree.com. | 26 | * California 94120-7775, or email info@knowledgetree.com. |
| 27 | - * | 27 | + * |
| 28 | * The interactive user interfaces in modified source and object code versions | 28 | * The interactive user interfaces in modified source and object code versions |
| 29 | * of this program must display Appropriate Legal Notices, as required under | 29 | * of this program must display Appropriate Legal Notices, as required under |
| 30 | * Section 5 of the GNU General Public License version 3. | 30 | * Section 5 of the GNU General Public License version 3. |
| 31 | - * | 31 | + * |
| 32 | * In accordance with Section 7(b) of the GNU General Public License version 3, | 32 | * In accordance with Section 7(b) of the GNU General Public License version 3, |
| 33 | * these Appropriate Legal Notices must retain the display of the "Powered by | 33 | * these Appropriate Legal Notices must retain the display of the "Powered by |
| 34 | - * KnowledgeTree" logo and retain the original copyright notice. If the display of the | 34 | + * KnowledgeTree" logo and retain the original copyright notice. If the display of the |
| 35 | * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices | 35 | * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices |
| 36 | - * must display the words "Powered by KnowledgeTree" and retain the original | 36 | + * must display the words "Powered by KnowledgeTree" and retain the original |
| 37 | * copyright notice. | 37 | * copyright notice. |
| 38 | * Contributor( s): ______________________________________ | 38 | * Contributor( s): ______________________________________ |
| 39 | */ | 39 | */ |
| @@ -62,7 +62,7 @@ function setupAdminDatabase() { | @@ -62,7 +62,7 @@ function setupAdminDatabase() { | ||
| 62 | die($default->_admindb->toString()); | 62 | die($default->_admindb->toString()); |
| 63 | } | 63 | } |
| 64 | $default->_admindb->setFetchMode(DB_FETCHMODE_ASSOC); | 64 | $default->_admindb->setFetchMode(DB_FETCHMODE_ASSOC); |
| 65 | - return; | 65 | + return; |
| 66 | } | 66 | } |
| 67 | setupAdminDatabase(); | 67 | setupAdminDatabase(); |
| 68 | 68 | ||
| @@ -100,7 +100,7 @@ function &describeUpgrade ($origVersion, $currVersion) { | @@ -100,7 +100,7 @@ function &describeUpgrade ($origVersion, $currVersion) { | ||
| 100 | // 7. Add "recordUpgrade" for whole thing | 100 | // 7. Add "recordUpgrade" for whole thing |
| 101 | 101 | ||
| 102 | // $recordUpgrade = array('upgrade*' . $currVersion, 'Upgrade to ' . $currVersion, null); | 102 | // $recordUpgrade = array('upgrade*' . $currVersion, 'Upgrade to ' . $currVersion, null); |
| 103 | - | 103 | + |
| 104 | $steps = array(); | 104 | $steps = array(); |
| 105 | foreach (array('SQLUpgradeItem', 'FunctionUpgradeItem') as $itemgen) { | 105 | foreach (array('SQLUpgradeItem', 'FunctionUpgradeItem') as $itemgen) { |
| 106 | $f = array($itemgen, 'getUpgrades'); | 106 | $f = array($itemgen, 'getUpgrades'); |
| @@ -142,6 +142,12 @@ function step_sort_func ($obj1, $obj2) { | @@ -142,6 +142,12 @@ function step_sort_func ($obj1, $obj2) { | ||
| 142 | if ($obj1->getPhase() < $obj2->getPhase()) { | 142 | if ($obj1->getPhase() < $obj2->getPhase()) { |
| 143 | return -1; | 143 | return -1; |
| 144 | } | 144 | } |
| 145 | + if ($obj1->name < $obj2->name) { | ||
| 146 | + return -1; | ||
| 147 | + } | ||
| 148 | + if ($obj1->name > $obj2->name) { | ||
| 149 | + return 1; | ||
| 150 | + } | ||
| 145 | return 0; | 151 | return 0; |
| 146 | } | 152 | } |
| 147 | // }}} | 153 | // }}} |
| @@ -180,7 +186,7 @@ function compare_version($version1, $version2) { | @@ -180,7 +186,7 @@ function compare_version($version1, $version2) { | ||
| 180 | function lte_version($version1, $version2) { | 186 | function lte_version($version1, $version2) { |
| 181 | if (in_array(compare_version($version1, $version2), array(-1, 0))) { | 187 | if (in_array(compare_version($version1, $version2), array(-1, 0))) { |
| 182 | return true; | 188 | return true; |
| 183 | - } | 189 | + } |
| 184 | return false; | 190 | return false; |
| 185 | } | 191 | } |
| 186 | // }} | 192 | // }} |
| @@ -192,7 +198,7 @@ function lte_version($version1, $version2) { | @@ -192,7 +198,7 @@ function lte_version($version1, $version2) { | ||
| 192 | function gte_version($version1, $version2) { | 198 | function gte_version($version1, $version2) { |
| 193 | if (in_array(compare_version($version1, $version2), array(0, 1))) { | 199 | if (in_array(compare_version($version1, $version2), array(0, 1))) { |
| 194 | return true; | 200 | return true; |
| 195 | - } | 201 | + } |
| 196 | return false; | 202 | return false; |
| 197 | } | 203 | } |
| 198 | // }}} | 204 | // }}} |