*edit - refactor - optimization - jabber login just one and send messages at once
This commit is contained in:
parent
c72ffd0253
commit
74ce97f7ac
|
@ -659,12 +659,12 @@ namespace {
|
||||||
* @param string $host
|
* @param string $host
|
||||||
* @param string $username
|
* @param string $username
|
||||||
* @param string $password
|
* @param string $password
|
||||||
* @param string $receiver
|
* @param array $receivers
|
||||||
* @param string $message
|
* @param string $message
|
||||||
* @param int|null $port
|
* @param int|null $port
|
||||||
* @param string|null $domain
|
* @param string|null $domain
|
||||||
*/
|
*/
|
||||||
function psm_jabber_send_message($host, $username, $password, $receiver, $message, $port = null, $domain = null)
|
function psm_jabber_send_message($host, $username, $password, $receivers, $message, $port = null, $domain = null)
|
||||||
{
|
{
|
||||||
$options = [
|
$options = [
|
||||||
'jid' => $username, // incl. gmail.com
|
'jid' => $username, // incl. gmail.com
|
||||||
|
@ -686,9 +686,11 @@ namespace {
|
||||||
$client = new JAXL($options);
|
$client = new JAXL($options);
|
||||||
|
|
||||||
// Add Callbacks
|
// Add Callbacks
|
||||||
$client->add_cb('on_auth_success', function () use ($client, $receiver, $message) {
|
$client->add_cb('on_auth_success', function () use ($client, $receivers, $message) {
|
||||||
JAXLLogger::info('got on_auth_success cb');
|
JAXLLogger::info('got on_auth_success cb');
|
||||||
$client->send_chat_msg($receiver, $message);
|
foreach ($receivers as $receiver) {
|
||||||
|
$client->send_chat_msg($receiver, $message);
|
||||||
|
}
|
||||||
$client->send_end_stream();
|
$client->send_end_stream();
|
||||||
});
|
});
|
||||||
$client->add_cb('on_auth_failure', function ($reason) use ($client) {
|
$client->add_cb('on_auth_failure', function ($reason) use ($client) {
|
||||||
|
|
|
@ -418,7 +418,7 @@ class ConfigController extends AbstractController
|
||||||
psm_get_conf('jabber_host'),
|
psm_get_conf('jabber_host'),
|
||||||
psm_get_conf('jabber_username'),
|
psm_get_conf('jabber_username'),
|
||||||
psm_password_decrypt(psm_get_conf('password_encrypt_key'), psm_get_conf('jabber_password')),
|
psm_password_decrypt(psm_get_conf('password_encrypt_key'), psm_get_conf('jabber_password')),
|
||||||
$user->jabber,
|
[$user->jabber],
|
||||||
psm_get_lang('config', 'test_message'),
|
psm_get_lang('config', 'test_message'),
|
||||||
(trim(psm_get_conf('jabber_port')) !== '' ? (int)psm_get_conf('jabber_port') : null),
|
(trim(psm_get_conf('jabber_port')) !== '' ? (int)psm_get_conf('jabber_port') : null),
|
||||||
(trim(psm_get_conf('jabber_domain')) !== '' ? psm_get_conf('jabber_domain') : null)
|
(trim(psm_get_conf('jabber_domain')) !== '' ? psm_get_conf('jabber_domain') : null)
|
||||||
|
|
|
@ -590,23 +590,24 @@ class StatusNotifier
|
||||||
$log_id = psm_add_log($this->server_id, 'jabber', $message);
|
$log_id = psm_add_log($this->server_id, 'jabber', $message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$usersJabber = [];
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user) {
|
||||||
// Log
|
// Log
|
||||||
if (!empty($log_id)) {
|
if (!empty($log_id)) {
|
||||||
psm_add_log_user($log_id, $user['user_id']);
|
psm_add_log_user($log_id, $user['user_id']);
|
||||||
}
|
}
|
||||||
|
$usersJabber[] = $user['jabber'];
|
||||||
// Jabber
|
|
||||||
psm_jabber_send_message(
|
|
||||||
psm_get_conf('jabber_host'),
|
|
||||||
psm_get_conf('jabber_username'),
|
|
||||||
psm_password_decrypt(psm_get_conf('password_encrypt_key'), psm_get_conf('jabber_password')),
|
|
||||||
$user['jabber'],
|
|
||||||
$message,
|
|
||||||
(trim(psm_get_conf('jabber_port')) !== '' ? (int)psm_get_conf('jabber_port') : null),
|
|
||||||
(trim(psm_get_conf('jabber_domain')) !== '' ? psm_get_conf('jabber_domain') : null)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
// Jabber
|
||||||
|
psm_jabber_send_message(
|
||||||
|
psm_get_conf('jabber_host'),
|
||||||
|
psm_get_conf('jabber_username'),
|
||||||
|
psm_password_decrypt(psm_get_conf('password_encrypt_key'), psm_get_conf('jabber_password')),
|
||||||
|
$usersJabber,
|
||||||
|
$message,
|
||||||
|
(trim(psm_get_conf('jabber_port')) !== '' ? (int)psm_get_conf('jabber_port') : null),
|
||||||
|
(trim(psm_get_conf('jabber_domain')) !== '' ? psm_get_conf('jabber_domain') : null)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue