From 64c1aba40e89d52653a30f1bff01416a7033c0e4 Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@osticket.com> Date: Sun, 22 Jul 2012 10:19:08 -0400 Subject: [PATCH] Abort on unupgradable schema signature - caused by wrong or invalid db signature --- include/ajax.upgrader.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/include/ajax.upgrader.php b/include/ajax.upgrader.php index 92a3e6ef7..b04dfca4f 100644 --- a/include/ajax.upgrader.php +++ b/include/ajax.upgrader.php @@ -43,12 +43,17 @@ class UpgraderAjaxAPI extends AjaxController { //More pending tasks - doTasks returns the number of pending tasks Http::response(200, $upgrader->getNextAction()); exit; - } elseif($ost->isUpgradePending() && $upgrader->isUpgradable()) { - $version = $upgrader->getNextVersion(); - if($upgrader->upgrade()) { - //We're simply reporting progress here - call back will report next action' - Http::response(200, "Upgraded to $version ... post-upgrade checks!"); - exit; + } elseif($ost->isUpgradePending()) { + if($upgrader->isUpgradable()) { + $version = $upgrader->getNextVersion(); + if($upgrader->upgrade()) { + //We're simply reporting progress here - call back will report next action' + Http::response(200, "Upgraded to $version ... post-upgrade checks!"); + exit; + } + } else { + //Abort: Upgrade pending but NOT upgradable - invalid or wrong hash. + $upgrader->abort(sprintf('Upgrade Failed: Invalid or wrong hash [%s]',$ost->getDBSignature())); } } elseif(!$ost->isUpgradePending()) { $upgrader->setState('done'); -- GitLab