- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/chat.php
- Класс: BitrixImOpenLinesChat
- Вызов: Chat::hasAccess
static function hasAccess(int $chatId): bool
{
if (!MainLoader::includeModule('im'))
{
return false;
}
$chat = ChatTable::getByPrimary($chatId, ['select' => ['TYPE', 'ENTITY_ID', 'ENTITY_TYPE', 'ENTITY_DATA_1']])->fetch();
if (!$chat)
{
return false;
}
if (!(
$chat['TYPE'] === BitrixImChat::TYPE_OPEN_LINE
|| $chat['TYPE'] === BitrixImChat::TYPE_GROUP && $chat['ENTITY_TYPE'] === 'LINES'
))
{
return false;
}
$parsedUserCode = SessionCommon::parseUserCode($chat['ENTITY_ID']);
$lineId = $parsedUserCode['CONFIG_ID'];
$crmEntityType = null;
$crmEntityId = null;
if ($chat['ENTITY_DATA_1'] <> '')
{
$fieldData = explode("|", $chat['ENTITY_DATA_1']);
if ($fieldData[0] === 'Y')
{
$crmEntityType = $fieldData[1];
$crmEntityId = $fieldData[2];
}
}
return Config::canJoin($lineId, $crmEntityType, $crmEntityId);
}