Your IP : 3.131.13.149


Current Path : /var/www/axolotl/data/www/yar.axolotls.ru/bitrix/modules/im/lib/
Upload File :
Current File : /var/www/axolotl/data/www/yar.axolotls.ru/bitrix/modules/im/lib/log.php

<?php
namespace Bitrix\Im;

class Log
{
	public static function write($data)
	{
		if (!is_array($data['USER_ID']))
		{
			$data['USER_ID'] = [(int)$data['USER_ID']];
		}

		$users = [];
		foreach ($data['USER_ID'] as $uid)
		{
			$uid = (int)$uid;
			if ($uid)
			{
				$users[] = $uid;
			}
		}

		if (empty($users))
		{
			return;
		}

		$action = $data['ACTION']?: 'UNKNOWN';
		$params = $data['PARAMS']?: [];
		$device = $data['DEVICE']?: 'UNKNOWN';

		global $USER;

		if (!in_array((int)$USER->GetID(), $users, true))
		{
			return;
		}

		$logUserId = $USER->GetID();

		$logName = md5(session_id());
		$scriptName = \Bitrix\Main\Context::getCurrent()->getServer()->getScriptName();
		$userIp = \Bitrix\Main\Context::getCurrent()->getRequest()->getRemoteAddress();
		if ($device === 'UNKNOWN')
		{
			$device = strpos($scriptName, 'desktop_app')? 'DESKTOP': 'BROWSER';
		}

		$log = "\n------------------------\n";
		$log .= date("Y.m.d G:i:s")."\n";
		$log .= $action.' ['.$device.' - '.$userIp.' :: '.session_id()."]\n";
		$log .= print_r($params, 1);
		$log .= "\n------------------------\n";

		\Bitrix\Main\IO\File::putFileContents($_SERVER["DOCUMENT_ROOT"]."/../logs/im/$logUserId/$logName.log", $log, \Bitrix\Main\IO\File::APPEND);
	}
}