• Модуль: pull
  • Путь к файлу: ~/bitrix/modules/pull/lib/push/service/baseservice.php
  • Класс: BitrixPullPushServiceBaseService
  • Вызов: BaseService::getBatchWithModifier
protected function getBatchWithModifier($appMessages = Array(), $modifier = ""): string
{
	$batch = "";
	if (!is_array($appMessages) || count($appMessages) <= 0)
	{
		return $batch;
	}
	foreach ($appMessages as $appID => $tokenMessages)
	{
		foreach ($tokenMessages as $token => $messages)
		{
			foreach ($messages as $messageArray)
			{
				if (
					(!$this->allowEmptyMessage && trim($messageArray["MESSAGE"]) == '')
					|| !static::shouldBeSent($messageArray)
				)
				{
					continue;
				}

				$message = static::getMessageInstance($token);
				$id = random_int(1, 10000);
				$message->setCustomIdentifier($id);
				$message->setFromArray($messageArray);
				$message->setCustomProperty('target', md5($messageArray["USER_ID"] . CMain::GetServerUniqID()));

				if ($batch <> '')
				{
					$batch .= ";";
				}

				$messageBatch = $message->getBatch();
				if($messageBatch && $messageBatch <> '')
				{
					$batch .= $messageBatch;
				}
			}
		}
		$host = static::getHost();
		$appModifier = ";tkey={$appID};";
		if ($host != '')
		{
			$appModifier .= "h={$host};";
		}
		$batch = $appModifier . $batch;
	}

	if ($batch == '')
	{
		return $batch;
	}

	return $modifier . $batch;
}