diff --git a/include/class.upgrader.php b/include/class.upgrader.php index e76f9cb1ecb1b42ae1152851d7668dc6b8981d42..dcaa96641a027c7f2f7a8ec016807155764b4241 100644 --- a/include/class.upgrader.php +++ b/include/class.upgrader.php @@ -102,6 +102,12 @@ class Upgrader { return $this->getCurrentStream()->check_mysql(); } + + function getTask() { + if($this->getCurrentStream()) + return $this->getCurrentStream()->getTask(); + } + function doTask() { return $this->getCurrentStream()->doTask(); } @@ -263,7 +269,7 @@ class StreamUpgrader extends SetupWizard { function isFinished() { # TODO: 1. Check if current and target hashes match, # 2. Any pending tasks - return !($this->getNextPatch() || $this->getPendingTasks()); + return !($this->getNextPatch() || $this->getPendingTask()); } function readPatchInfo($patch) { @@ -301,6 +307,8 @@ class StreamUpgrader extends SetupWizard { } function getTask() { + global $ost; + $task_file = $this->getSQLDir() . "{$this->phash}.task.php"; if (!file_exists($task_file)) return null; @@ -308,7 +316,7 @@ class StreamUpgrader extends SetupWizard { if (!isset($this->task)) { $class = (include $task_file); if (!is_string($class) || !class_exists($class)) - return $ost->logError("{$phash}:{$class}: Bogus migration task"); + return $ost->logError("{$this->phash}:{$class}: Bogus migration task"); $this->task = new $class(); if (isset($_SESSION['ost_upgrader']['task'][$this->phash])) $this->task->wakeup($_SESSION['ost_upgrader']['task'][$this->phash]); @@ -410,7 +418,7 @@ class StreamUpgrader extends SetupWizard { return 0; $ost->logDebug('Upgrader', sprintf("%s: Unable to process cleanup file", - $phash)); + $this->phash)); return 0; } } diff --git a/scp/upgrade.php b/scp/upgrade.php index 4be64dc3b851e490e40a97911fb018bea52215d3..072ca79781e9fb1f9737a7350851fe37ad944941 100644 --- a/scp/upgrade.php +++ b/scp/upgrade.php @@ -32,11 +32,11 @@ if($_POST && $_POST['s'] && !$upgrader->isAborted()) { $errors['err']='Config file rename required to continue!'; } else { $upgrader->setState('upgrade'); - } + } break; case 'upgrade': //Manual upgrade.... when JS (ajax) is not supported. - if($upgrader->getNumPendingTasks()) { - $upgrader->doTasks(); + if($upgrader->getPendingTask()) { + $upgrader->doTask(); } elseif($ost->isUpgradePending() && $upgrader->isUpgradable()) { $upgrader->upgrade(); } elseif(!$ost->isUpgradePending()) { diff --git a/setup/test/tests/class.test.php b/setup/test/tests/class.test.php index c7e2fb3fef475841e57865db640480ca587380d9..80a07b87b31acf34126712a132139c5c55c2f3ac 100644 --- a/setup/test/tests/class.test.php +++ b/setup/test/tests/class.test.php @@ -63,10 +63,8 @@ class Test { function assert($expr, $message) { if ($expr) $this->pass(); - elseif ($message) - $this->fail('', '', $message); else - $this->fail('', '', "assertion: {$a} != {$b}"); + $this->fail('', '', $message); } function assertEqual($a, $b, $message=false) {