• Модуль: pull
  • Путь к файлу: ~/bitrix/modules/pull/classes/general/pull_push.php
  • Класс: CPushManager
  • Вызов: CPushManager::filterMessagesBeforeSend
static function filterMessagesBeforeSend(array $messages, string $deviceType, string $deviceToken): array
{
	foreach ($messages as $k => $message)
	{
		if (isset($message['ADVANCED_PARAMS']['filterCallback']) && is_callable($message['ADVANCED_PARAMS']['filterCallback']))
		{
			$filterResult = call_user_func_array(
				$message['ADVANCED_PARAMS']['filterCallback'],
				[
					'message' => $message,
					'deviceType' => $deviceType,
					'deviceToken' => $deviceToken
				]
			);
			if (!$filterResult)
			{
				unset($messages[$k]);
			}
			else
			{
				unset($messages[$k]['ADVANCED_PARAMS']['filterCallback']);
			}
		}
	}
	return $messages;
}