- Модуль: 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;
}