• Модуль: scale
  • Путь к файлу: ~/bitrix/modules/scale/lib/actionsdata.php
  • Класс: BitrixScaleActionsData
  • Вызов: ActionsData::getActionObject
static function getActionObject(
	$actionId,
	$serverHostname = "",
	array $userParams = [],
	array $freeParams = [],
	array $actionParams = []
)
{
	if($actionId == '')
		throw new BitrixMainArgumentNullException("actionId");

	if(!is_array($userParams))
		throw new BitrixMainArgumentTypeException("userParams", "array");

	if(!is_array($userParams))
		throw new BitrixMainArgumentTypeException("freeParams", "array");

	if(!is_array($actionParams))
		throw new BitrixMainArgumentTypeException("actionParams", "array");

	$action = false;

	if(!isset($actionParams["TYPE"]) || $actionParams["TYPE"] !== "MODIFYED")
		$actionParams = static::getAction($actionId);

	if(empty($actionParams))
		throw new Exception("Can't find params of action ".$actionId);

	if(isset($actionParams["TYPE"]) && $actionParams["TYPE"] === "CHAIN")
		$action =  new ActionsChain($actionId, $actionParams, $serverHostname, $userParams, $freeParams);
	else if(!empty($actionParams))
		$action =  new Action($actionId, $actionParams, $serverHostname, $userParams, $freeParams);

	return $action;
}