- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/connector.php
- Класс: BitrixImOpenLinesConnector
- Вызов: Connector::onMessageDelete
static function onMessageDelete($messageId, $messageFields, $flags)
{
if (
$flags['BY_EVENT'] ||
!isset($messageFields['PARAMS']['CONNECTOR_MID'])
)
{
return false;
}
if ($messageFields['CHAT_ENTITY_TYPE'] == 'LINES')
{
[$connectorType, $lineId, $connectorChatId] = explode("|", $messageFields['CHAT_ENTITY_ID']);
}
else if (Connector::isLiveChat($messageFields['CHAT_ENTITY_TYPE']))
{
$connectorType = self::TYPE_LIVECHAT;
}
else
{
return false;
}
if ($connectorType == self::TYPE_LIVECHAT)
{
CIMMessenger::DisableMessageCheck();
foreach($messageFields['PARAMS']['CONNECTOR_MID'] as $mid)
{
CIMMessenger::Delete($mid, $flags['USER_ID'], $flags['COMPLETE_DELETE'], true);
}
CIMMessenger::EnableMessageCheck();
}
else if (
isset($lineId)
&& isset($connectorChatId)
&& Loader::includeModule('imconnector')
)
{
$fields = [];
foreach($messageFields['PARAMS']['CONNECTOR_MID'] as $mid)
{
$fields[] = [
'im' => [
'chat_id' => $messageFields['CHAT_ID'],
'message_id' => $messageFields['ID']
],
'message' => [
'id' => $mid
],
'chat' => [
'id' => $connectorChatId
],
];
}
if (!empty($fields))
{
$connector = new Output($connectorType, $lineId);
$connector->deleteMessage($fields);
}
}
return true;
}