id = $actionId; $this->userParams = $userParams; $this->freeParams = $freeParams; $this->actionParams = $actionParams; $this->serverHostname = $serverHostname; } public function getResult() { return $this->results; } public function getActionObj($actionId) { return ActionsData::getActionObject($actionId, $this->serverHostname, $this->userParams, $this->freeParams); } public function start($inputParams = array()) { if(!is_array($inputParams)) throw new \Bitrix\Main\ArgumentTypeException("inputParams", "array"); $result = true; foreach($this->actionParams["ACTIONS"] as $actionId) { $action = $this->getActionObj($actionId); if(!$action->start($inputParams)) $result = false; $arRes = $action->getResult(); foreach($arRes as $actId => $res) $this->results[$actId] = $res; if(!$result) break; if(isset($arRes[$actionId]["OUTPUT"]["DATA"]["params"]) && is_array($arRes[$actionId]["OUTPUT"]["DATA"]["params"])) foreach($arRes[$actionId]["OUTPUT"]["DATA"]["params"] as $paramId => $paramValue) if(!isset($inputParams[$paramId])) $inputParams[$paramId] = $paramValue; } return $result; } }