Я использую код XMPPHP (https://code.google.com/p/xmpphp/) для подключения XMPP (eJabberd) сервера. Я успешно подключился к серверу и смог отправить сообщение другому пользователю, используя файл с именем sendmessage_example.php
Теперь я хочу запустить IQ-запрос для получения списка всех зарегистрированных пользователей (http://xmpp.org/extensions/xep-0133.html#get-registered-users-list) с использованием кода XMPPHP, но не в состоянии выполнить запрос IQ.
Я создал функцию в файле XMPP.PHP
public function getAllRegisteredUsers(){
print_r($this->send("<iq from='[email protected]'
id='get-disabled-users-num-1'
to='example.com'
type='set'
xml:lang='en'>
<command xmlns='http://jabber.org/protocol/commands'
action='execute'
node='http://jabber.org/protocol/admin#get-registered-users-list'/>
</iq>"));
}
И вызов из другого файла test.php $ Conn-> getAllRegisteredUsers (); но каждый раз он возвращает какое-то число 343 или 112 или 110
код test.php:
include 'XMPPHP/XMPP.php';
$conn = new XMPPHP_XMPP('IP address', 5222, '[email protected]', 'password', 'xmpphp', 'example.com', $printlog=false, $loglevel=XMPPHP_Log::LEVEL_INFO);
$conn->autoSubscribe();
try {
$conn->connect();
$conn->processUntil('session_start');
$conn->presence($status='Controller available.');
$conn->processTime(2);
// now see the results
$conn->getAllRegisteredUsers();
} catch(XMPPHP_Exception $e) {
die($e->getMessage());
}
Задача ещё не решена.
Других решений пока нет …