• Модуль: imconnector
  • Путь к файлу: ~/bitrix/modules/imconnector/lib/rest/status.php
  • Класс: BitrixImConnectorRestStatus
  • Вызов: Status::connectorDataSet
static function connectorDataSet($params, $n, CRestServer $server)
	{
		$params = array_change_key_case($params, CASE_UPPER);

		if($server->getAuthType() !== Auth::AUTH_TYPE)
		{
			throw new AuthTypeException("Application context required");
		}

		if(!isset($params['CONNECTOR']))
		{
			throw new ArgumentNullException("CONNECTOR");
		}

		if(!isset($params['LINE']))
		{
			throw new ArgumentNullException("LINE");
		}

		if(!isset($params['DATA']))
		{
			throw new ArgumentNullException("DATA");
		}

		$params['DATA'] = array_change_key_case($params['DATA'], CASE_UPPER);

		$data = [
			'connector_id' => $params['CONNECTOR']
		];

		if(!empty($params['DATA']['ID']))
			$data['id'] = $params['DATA']['ID'];
		if(!empty($params['DATA']['URL']))
			$data['url'] = $params['DATA']['URL'];
		if(!empty($params['DATA']['URL_IM']))
			$data['url_im'] = $params['DATA']['URL_IM'];
		if(!empty($params['DATA']['NAME']))
			$data['name'] = $params['DATA']['NAME'];

		$status = StatusConnector::getInstance($params['CONNECTOR'], (int)$params['LINE']);
		$oldData = $status->getData();

		if (!empty($oldData) && is_array($oldData))
		{
			$data = array_merge($oldData, $data);
		}

		$status->setData($data);
		self::cleanCache($params['CONNECTOR'], $params['LINE']);

		return true;
	}