- Модуль: xmpp
- Путь к файлу: ~/bitrix/modules/xmpp/classes/factory_classes/server_query.php
- Класс: CXMPPServerQuery
- Вызов: CXMPPServerQuery::ProcessServerMessage
public function ProcessServerMessage(array $arMessage, $clientDomain = "")
{
if (!array_key_exists("query", $arMessage) || !array_key_exists(".", $arMessage["query"]))
return false;
$arResult = array();
$type = "get";
if (array_key_exists("type", $arMessage["query"]["."]))
$type = $arMessage["query"]["."]["type"];
$kind = "common";
if ($type == "get")
{
$server = CXMPPServer::GetServer();
$arResult = array(
"query" => array(
"." => array("type" => "result"),
"common" => array(
"online" => array("#" => $server->NumberOfOnlineUsers()),
"connected" => array("#" => $server->NumberOfConnectedUsers() - 1),
),
),
);
}
elseif ($type == "set")
{
$action = $arMessage["query"]["action"]["#"];
if ($action == "die")
{
$server = CXMPPServer::GetServer();
$server->Stop();
die();
}
elseif ($action == "clearcache")
{
$server = CXMPPServer::GetServer();
$server->ClearCaches();
$arResult = array(
"query" => array(
"." => array("type" => "result"),
),
);
}
elseif ($action == "dump")
{
CXMPPUtility::MakeDump();
$arResult = array(
"query" => array(
"." => array("type" => "result"),
),
);
}
}
return $arResult;
}