• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/im/chat.php
  • Класс: Bitrix\Crm\Integration\Im\Chat
  • Вызов: Chat::tryNotifyAboutChatChanges
static function tryNotifyAboutChatChanges(array $activity, string $action, ?int $fromUserId = null): void
{
	if (isset($fromUserId) && $fromUserId === (int)$activity['RESPONSIBLE_ID'])
	{
		return;
	}

	$isActivityHasBadge = BadgeTable::isActivityHasBadge((int)$activity['ID']);
	$needNotifyAboutActivityUpdate =
		($action === static::ACTION_ADD && !$isActivityHasBadge)
		|| ($action === static::ACTION_READ && $isActivityHasBadge)
	;

	if ($needNotifyAboutActivityUpdate)
	{
		ActivityController::getInstance()
			->notifyTimelinesAboutActivityUpdate($activity, (int)$activity['RESPONSIBLE_ID'])
		;

		ProviderManager::syncBadgesOnActivityUpdate((int)$activity['ID'], $activity);
	}
}