• Модуль: xmpp
  • Путь к файлу: ~/bitrix/modules/xmpp/classes/factory_classes/message.php
  • Класс: CXMPPReceiveMessage
  • Вызов: CXMPPReceiveMessage::ProcessServerMessage
public function ProcessServerMessage(array $arMessage, $clientDomain = "")
	{
		if (!array_key_exists("message", $arMessage) || !array_key_exists(".", $arMessage["message"]))
			return false;

		$type = "normal";
		if (array_key_exists("type", $arMessage["message"]["."]))
			$type = $arMessage["message"]["."]["type"];
		if ($type == "error")
			return false;

		if (!in_array($type, array("chat", "groupchat", "headline", "normal")))
			return CXMPPUtility::GetServerErrorArray("bad-request");

		$recipientJId = "";
		if (array_key_exists("to", $arMessage["message"]["."]))
			$recipientJId = $arMessage["message"]["."]["to"];
		if ($recipientJId == '')
			return CXMPPUtility::GetServerErrorArray("bad-request");

		$server = CXMPPServer::GetServer();
		$res = $server->Send($recipientJId, $arMessage, $clientDomain);

		return array(
			'result' => array(
				"." => array(
					"type" => ($res ? "success" : "skip"),
				),
			),
		);
	}