- Модуль: 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;
}