• Модуль: pull
  • Путь к файлу: ~/bitrix/modules/pull/lib/push/message/basemessage.php
  • Класс: BitrixPullPushMessageBaseMessage
  • Вызов: BaseMessage::setFromArray
public function setFromArray(array $messageArray): BaseMessage
{
	if (is_string($messageArray["TITLE"]) && $messageArray["TITLE"] != "")
	{
		$title = Encoding::convertEncoding($messageArray["TITLE"], SITE_CHARSET, "utf-8");
		$this->setTitle($title);
	}

	$this->setSound('');
	if (is_string($messageArray["MESSAGE"]) && $messageArray["MESSAGE"] != "")
	{
		$text = Encoding::convertEncoding($messageArray["MESSAGE"], SITE_CHARSET, "utf-8");
		$this->setText($text);

		if (is_string($messageArray["SOUND"]) && $messageArray["SOUND"] != "")
		{
			$this->setSound($messageArray["SOUND"]);
		}
	}

	if (isset($messageArray["CATEGORY"]))
	{
		$this->setCategory($messageArray["CATEGORY"]);
	}

	if (array_key_exists("EXPIRY", $messageArray))
	{
		$expiry = (int)$messageArray["EXPIRY"];
		$this->setExpiry($expiry >= 0 ? $expiry : BaseService::DEFAULT_EXPIRY);
	}

	if (isset($messageArray["PARAMS"]))
	{
		$this->setCustomProperty(
			'params',
			(is_array($messageArray["PARAMS"]) ? json_encode($messageArray["PARAMS"]) : $messageArray["PARAMS"])
		);
	}

	if (is_array($messageArray["ADVANCED_PARAMS"]))
	{
		$messageArray["ADVANCED_PARAMS"] = Encoding::convertEncoding($messageArray["ADVANCED_PARAMS"], SITE_CHARSET, "utf-8");
		if (array_key_exists("senderMessage", $messageArray["ADVANCED_PARAMS"]))
		{
			$this->setText("");
		}

		foreach ($messageArray["ADVANCED_PARAMS"] as $param => $value)
		{
			$this->setCustomProperty($param, $value);
		}
	}

	$badge = (int)($messageArray["BADGE"] ?? 0);
	if ($badge >= 0)
	{
		$this->setBadge($badge);
	}
	return $this;
}