• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/timeline/signdocument/messagedata.php
  • Класс: Bitrix\Crm\Timeline\SignDocument\MessageData
  • Вызов: MessageData::createFromArray
static function createFromArray(array $data): self
{
	$recipient = $data['recipient'] ?? null;
	if (is_array($recipient))
	{
		$recipient = Signer::createFromArray($recipient);
	}

	$channel = $data['channel'] ?? null;
	if (is_array($channel))
	{
		$channel = Channel::createFromArray($channel);
	}

	$messageData = new self($recipient, $channel);

	if ($data['subject'])
	{
		$messageData->setSubject($data['subject']);
	}

	if ($data['author'])
	{
		$messageData->setAuthor($data['author']);
	}
	if ($data['integrityState']
		&& in_array($data['integrityState'], [self::INTEGRITY_STATE_SUCCESS, self::INTEGRITY_STATE_FAIL]))
	{
		$messageData->setIntegrityState($data['integrityState']);
	}

	return $messageData->setStatus($data['status'] ?? self::STATUS_SENT);
}