• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Message/Forward/ForwardService.php
  • Класс: BitrixImV2MessageForwardForwardService
  • Вызов: ForwardService::createParamsForForwardMessage
private function createParamsForForwardMessage(Message $forwardingMessage): Result
{
	$result = new Result();

	$newParams = $this->getForwardingMessageParams($forwardingMessage);

	if ($this->isOriginalMessage($newParams))
	{
		$newParams[MessageParams::FORWARD_ID] = $forwardingMessage->getMessageId();
		$newParams[MessageParams::FORWARD_CHAT_ID] = $forwardingMessage->getChatId();
		$newParams[MessageParams::FORWARD_USER_ID] = $forwardingMessage->getAuthorId();

		if ($forwardingMessage->getChat()->getType() === Chat::IM_TYPE_OPEN)
		{
			$newParams[MessageParams::FORWARD_TITLE] = $forwardingMessage->getChat()->getTitle();
		}
	}

	if (isset($newParams[MessageParams::REPLY_ID]))
	{
		unset($newParams[MessageParams::REPLY_ID]);
	}

	if (isset($newParams[MessageParams::FILE_ID]))
	{
		$newLinkResult = $this->getFileLink($newParams[MessageParams::FILE_ID]);
		if (!$newLinkResult->hasResult())
		{
			return $result->addErrors($newLinkResult->getErrors());
		}

		$newParams[MessageParams::FILE_ID] = $newLinkResult->getResult()->getId();
	}

	return $result->setResult($newParams);
}