- Модуль: imconnector
- Путь к файлу: ~/bitrix/modules/imconnector/lib/Tools/Connectors/Notifications.php
- Класс: BitrixImConnectorToolsConnectorsNotifications
- Вызов: Notifications::addToLine
static function addToLine(int $lineId, string $scenarioCode): Result
{
$result = new Result();
$connectorOutput = new Output(Library::ID_NOTIFICATIONS_CONNECTOR, $lineId);
$resultRegister = $connectorOutput->register([
'LINE_ID' => $lineId,
'SKIP_TOS' => true,
]);
$status = Status::getInstance(Library::ID_NOTIFICATIONS_CONNECTOR, $lineId);
if (!$resultRegister->isSuccess())
{
return $result->addErrors($resultRegister->getErrors());
}
$scenarioEnableResult = Settings::setScenarioStatus($scenarioCode, true);
if (!$scenarioEnableResult->isSuccess())
{
$connectorOutput->delete();
return $result->addErrors($scenarioEnableResult->getErrors());
}
$status
->setActive(true)
->setConnection(true)
->setRegister(true)
->setData($resultRegister->getResult())
->save()
;
Status::deleteLinesExcept(Library::ID_NOTIFICATIONS_CONNECTOR, $lineId);
BitrixImConnectorInfoConnectors::updateInfoConnectors($lineId);
if (Loader::includeModule('crm') && method_exists(BitrixCrmSiteButtonManager::class, 'updateScriptCacheWithLineId'))
{
BitrixCrmSiteButtonManager::updateScriptCacheWithLineId($lineId, true);
}
return $result;
}