• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Message/Forward/ForwardService.php
  • Класс: BitrixImV2MessageForwardForwardService
  • Вызов: ForwardService::createMessages
public function createMessages(MessageCollection $forwardingMessages, ?string $comment = null): Result
{
	$result = new Result();
	if (!$this->toChat->hasAccess($this->getContext()->getUserId()))
	{
		return $result->addError(new ChatChatError(ChatChatError::ACCESS_DENIED));
	}

	$messages = new MessageCollection();
	foreach ($forwardingMessages as $forwardingMessage)
	{
		if ($forwardingMessage->getChat()->hasAccess($this->getContext()->getUserId()))
		{
			$forwardMessageResult = $this->createForwardMessage($forwardingMessage);
			if ($forwardMessageResult->hasResult())
			{
				$messages->add($forwardMessageResult->getResult());
			}
			$result->addErrors($forwardMessageResult->getErrors());
		}
	}

	if ($comment !== null)
	{
		$commentMessageResult = $this->createCommentMessage($comment);
		if ($commentMessageResult->hasResult())
		{
			$messages->add($commentMessageResult->getResult());
		}
		$result->addErrors($commentMessageResult->getErrors());
	}

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