- Модуль: xmpp
- Путь к файлу: ~/bitrix/modules/xmpp/classes/factory_classes/presence.php
- Класс: CXMPPReceivePresence
- Вызов: CXMPPReceivePresence::ProcessServerMessage
public function ProcessServerMessage(array $arMessage, $clientDomain = "")
{
if (!array_key_exists("presence", $arMessage) || !array_key_exists(".", $arMessage["presence"]))
return false;
$type = "available";
if (array_key_exists("type", $arMessage["presence"]["."]))
$type = $arMessage["presence"]["."]["type"];
if ($type == "error")
return false;
if (!in_array($type, array("available", "unavailable", "subscribe", "subscribed", "unsubscribe", "unsubscribed", "probe")))
return CXMPPUtility::GetServerErrorArray("bad-request");
$recipientJId = "";
if (array_key_exists("to", $arMessage["presence"]["."]))
$recipientJId = $arMessage["presence"]["."]["to"];
$server = CXMPPServer::GetServer();
if ($recipientJId == '')
$server->SendAll($arMessage, $clientDomain);
else
$server->Send($recipientJId, $arMessage, $clientDomain);
return true;
}