- Модуль: imconnector
- Путь к файлу: ~/bitrix/modules/imconnector/lib/interactivemessage/output.php
- Класс: BitrixImConnectorInteractiveMessageOutput
- Вызов: Output::init
static function init($chatId = 0, $connectorId = ''): self
{
$class = __CLASS__;
if(
$chatId > 0
)
{
if(
empty($connectorId) &&
Loader::includeModule('im') &&
Loader::includeModule('imopenlines')
)
{
$chatData = ChatTable::getList([
'select' => ['ENTITY_ID'],
'filter' => [
'=ENTITY_TYPE' => 'LINES',
'=ID' => $chatId,
],
'limit' => 1,
'cache' => ['ttl' => 86400]
])->fetch();
if ($chatData && isset($chatData['ENTITY_ID']))
{
$connectorId = Chat::parseLinesChatEntityId($chatData['ENTITY_ID'])['connectorId'];
}
}
if(
!empty($connectorId) &&
Connector::isConnector($connectorId)
)
{
$connectorId = Connector::getConnectorRealId($connectorId);
$className = "Bitrix\ImConnector\InteractiveMessage\Connectors\" . $connectorId . "\Output";
if(class_exists($className))
{
$class = $className;
}
}
}
return new $class($chatId, $connectorId);
}