AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 18.119.113.116
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/modules/messageservice/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/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__.'();';
	}
}

Anon7 - 2022
AnonSec Team