• Модуль: imconnector
  • Путь к файлу: ~/bitrix/modules/imconnector/lib/connectors/olx.php
  • Класс: BitrixImConnectorConnectorsOlx
  • Вызов: Olx::processingInputNewMessage
public function processingInputNewMessage($message, $line): Result
{
	$result = parent::processingInputNewMessage($message, $line);

	if($result->isSuccess())
	{
		$message = $result->getResult();

		$status = Status::getInstance($this->idConnector, (int)$line);

		if(!($data = $status->getData()))
		{
			$data = [];
		}
		$dataOld = $data;

		if(!empty($message['chat']['id']))
		{
			if(
				empty($data[$message['chat']['id']]['last_message_id'])
				|| $data[$message['chat']['id']]['last_message_id'] !== (int)$message['message']['id']
			)
			{
				if ((int)$message['message']['id'] > $data[$message['chat']['id']]['last_message_id'])
				{
					$data[$message['chat']['id']]['last_message_id'] = (int)$message['message']['id'];
					$data[$message['chat']['id']]['total_count'] = (int)$message['message']['total_count'];
				}
			}
		}

		if(!empty($data) && $dataOld!==$data)
		{
			$status->setData($data);
			$status->save();
		}

		if (!Library::isEmpty($message['message']['attach']))
		{
			$fileAttach = [
				'BLOCKS' => $message['message']['attach']
			];
			$message['message']['attach'] = $fileAttach;
			$message['message']['attach']['BLOCKS'][]['MESSAGE'] = Loc::getMessage('CONNECTORS_OLX_ATTACHMENTS_NOTIFY_MESSAGE');
		}

		$result->setResult($message);
	}

	return $result;
}