• Модуль: xmpp
  • Путь к файлу: ~/bitrix/modules/xmpp/classes/server.php
  • Класс: CXMPPServer
  • Вызов: CXMPPServer::SendPresenceMessages
public function SendPresenceMessages($receiverJId, $clientDomain = "")
{
	if (empty($clientDomain))
		$clientDomain = CXMPPServer::GetDomain();

	$receiverJIdWithResource = CXMPPUtility::GetJIdWithResource($receiverJId, $clientDomain);

	if (array_key_exists($clientDomain, $this->arOnlineOnSite))
	{
		foreach ($this->arOnlineOnSite[$clientDomain] as $jid)
		{
			$this->Send(
				$receiverJId,
				array(
					"presence" => array(
						"." => array(
							"from" => CXMPPUtility::GetJIdWithResource($jid, $clientDomain),
							"to" => $receiverJIdWithResource,
						),
					),
				),
				$clientDomain
			);
		}
	}

	if (array_key_exists($clientDomain, $this->arClientsIndex))
	{
		foreach ($this->arClientsIndex[$clientDomain] as $jid => $arId)
		{
			if (count($arId) <= 0)
				continue;

			if (!is_array($this->arOnlineOnSite[$clientDomain]) || !in_array($jid, $this->arOnlineOnSite[$clientDomain]))
			{
				$this->Send(
					$receiverJId,
					array(
						"presence" => array(
							"." => array(
								"from" => CXMPPUtility::GetJIdWithResource($jid, $clientDomain),
								"to" => $receiverJIdWithResource,
							),
						),
					),
					$clientDomain
				);
			}
		}
	}
}