function testSaveJobResult() { // clear session data $oStorage = OX_Admin_UI_Install_InstallUtils::getSessionStorage(); @$oStorage->set('aJobStatuses', null); $result = array('name' => 'test', 'type' => 'testtype', 'other_data' => 'testdata'); OX_Upgrade_Util_Job::saveJobResult($result); $aJobStatuses = $oStorage->get('aJobStatuses'); $expected = array('testtype:test' => $result); $this->assertEqual($aJobStatuses, $expected); // clear session data $oStorage->set('aJobStatuses', null); }
if (validRequest($result)) { $oUpgrader = new OA_Upgrade(); $aResponse = $oUpgrader->runPostUpgradeTask($_REQUEST['task']); $result['errors'] = $aResponse['errors']; if (count($result['errors']) > 0) { $result['status'] = 'Failed'; } else { $result['status'] = 'OK'; } } } else { OX_Upgrade_Util_Job::logError($result, 'Permissions error'); $result['status'] = 'Permissions error'; } // Save job results in session OX_Upgrade_Util_Job::saveJobResult($result); require_once MAX_PATH . '/lib/JSON/JSON.php'; $json = new Services_JSON(); $output = $json->encode($result); header("Content-Type: text/javascript"); echo $output; function validRequest(&$result) { if (!isset($_REQUEST['task'])) { OX_Upgrade_Util_Job::logError($result, 'Bad arguments'); return false; } $task = str_replace("", '', $_REQUEST['task']); if ($task != $_REQUEST['task'] || stristr($task, '../') || stristr($task, '..\\')) { OX_Upgrade_Util_Job::logError($result, 'Invalid task name'); return false;