USER_ID={$user_id} function runJob() ( {$bashcode} ) EOS ); exec("cd '{$sandbox}'; find -mindepth 1 -maxdepth 1 -print0 | xargs -0 tar zcf {$TEMPNAM}.tgz", $output, $return_var); if ($return_var) { $output = implode("\n", $output); REST::fatal(REST::HTTP_INTERNAL_SERVER_ERROR, $output); } $tokenhandle = fopen("{$TEMPNAM}.tgz", 'r'); try { $token_url = Topos::putTokenFile($tokenhandle, 'application/x-compressed-tar'); } catch (Exception $e) { fclose($tokenhandle); throw $e; } fclose($tokenhandle); $token_id = basename($token_url); Portal_MySQL::real_query(<<<EOS INSERT INTO `Token` ( `token_id`, `user_id` ) VALUES ( {$token_id}, {$user_id} ); EOS ); $resultURL = REST::urlbase() . Portal::portalURL() . "jobstates/{$token_id}"; REST::created($resultURL); }