. // // @ignore // =================================================================================================== /** * @package Kaltura * @subpackage Client */ class Kaltura_Client_ServiceActionCall { /** * @var string */ public $service; /** * @var string */ public $action; /** * @var array */ public $params; /** * @var array */ public $files; /** * Contruct new Kaltura service action call, if params array contain sub arrays (for objects), it will be flattened * * @param string $service * @param string $action * @param array $params * @param array $files */ public function __construct($service, $action, $params = array(), $files = array()) { $this->service = $service; $this->action = $action; $this->params = $this->parseParams($params); $this->files = $files; } /** * Parse params array and sub arrays (for objects) * * @param array $params */ public function parseParams(array $params) { $newParams = array(); foreach($params as $key => $val) { if (is_array($val)) { $newParams[$key] = $this->parseParams($val); } else { $newParams[$key] = $val; } } return $newParams; } /** * Return the parameters for a multi request * * @param int $multiRequestIndex */ public function getParamsForMultiRequest($multiRequestIndex) { $multiRequestParams = array(); $multiRequestParams[$multiRequestIndex.":service"] = $this->service; $multiRequestParams[$multiRequestIndex.":action"] = $this->action; foreach($this->params as $key => $val) { $multiRequestParams[$multiRequestIndex.":".$key] = $val; } return $multiRequestParams; } /** * Return the parameters for a multi request * * @param int $multiRequestIndex */ public function getFilesForMultiRequest($multiRequestIndex) { $multiRequestParams = array(); foreach($this->files as $key => $val) { $multiRequestParams[$multiRequestIndex.":".$key] = $val; } return $multiRequestParams; } }