Exemplo n.º 1
0
 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;