- Модуль: imconnector
- Путь к файлу: ~/bitrix/modules/imconnector/lib/rest/status.php
- Класс: BitrixImConnectorRestStatus
- Вызов: Status::activate
static function activate($params, $n, CRestServer $server)
{
$result = true;
$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['ACTIVE']))
{
throw new ArgumentNullException("ACTIVE");
}
if(!empty($params['ACTIVE']))
{
$status = StatusConnector::getInstance($params['CONNECTOR'], (int)$params['LINE']);
$status
->setActive(true)
->setConnection(true)
->setRegister(true)
->setError(false);
$app = BitrixRestAppTable::getByClientId($server->getClientId());
if ($app['CODE'])
{
$id = uniqid($app['CODE'], true);
AddEventToStatFile(
'imconnector',
'activateRestConnector',
$id,
$app['CODE'],
'appCode'
);
AddEventToStatFile(
'imconnector',
'activateRestConnector',
$id,
$params['CONNECTOR'],
'connectorCode'
);
}
}
else
{
$result = StatusConnector::delete($params['CONNECTOR'], (int)$params['LINE']);
}
self::cleanCache($params['CONNECTOR'], $params['LINE']);
return $result;
}