Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/im/lib/V2/Analytics/ |
Upload File : |
<?php declare(strict_types=1); namespace Bitrix\Im\V2\Analytics; use Bitrix\Main\Analytics\AnalyticsEvent; use Bitrix\Main\Event; use Bitrix\Main\Localization\Loc; use CIMMessageParamAttach; use CIMMessenger; class AnalyticsEventLogger { public static function sendToChat(int $chatId, array|Event $event): void { $attach = new CIMMessageParamAttach(null, CIMMessageParamAttach::CHAT); $messageText = Loc::getMessage('IM_ANALYTICS_TAG_WAS_SENT'); $messageFields = [ 'SYSTEM' => 'Y', 'URL_PREVIEW' => 'N', 'MESSAGE' => $messageText . ' ' . (($event instanceof Event) ? 'backend' : 'frontend'), 'FROM_USER_ID' => 0, 'TO_CHAT_ID' => $chatId, 'MESSAGE_TYPE' => IM_MESSAGE_CHAT, ]; if ($event instanceof Event) { /** @var AnalyticsEvent $analyticsEvent */ $analyticsEvent = $event->getParameter('analyticsEvent'); $event = $analyticsEvent->exportToArray(); } $tool = $event['tool'] ?? ''; $category = $event['category'] ?? ''; $p5 = $event['p5'] ?? ''; if ((($tool === 'im') || str_starts_with($category, 'chat')) && ($p5 === ('chatId_' . $chatId))) { return; } foreach ($event as $item => $value) { if ((null !== $value) && ($item !== 'userAgent')) { $attach->AddMessage($item . ': ' . $value); } } $messageFields['ATTACH'] = $attach; CIMMessenger::Add($messageFields); } }