*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 $username
|
||||
* @param string $password
|
||||
* @param string $receiver
|
||||
* @param array $receivers
|
||||
* @param string $message
|
||||
* @param int|null $port
|
||||
* @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 = [
|
||||
'jid' => $username, // incl. gmail.com
|
||||
|
@ -686,9 +686,11 @@ namespace {
|
|||
$client = new JAXL($options);
|
||||
|
||||
// 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');
|
||||
$client->send_chat_msg($receiver, $message);
|
||||
foreach ($receivers as $receiver) {
|
||||
$client->send_chat_msg($receiver, $message);
|
||||
}
|
||||
$client->send_end_stream();
|
||||
});
|
||||
$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_username'),
|
||||
psm_password_decrypt(psm_get_conf('password_encrypt_key'), psm_get_conf('jabber_password')),
|
||||
$user->jabber,
|
||||
[$user->jabber],
|
||||
psm_get_lang('config', 'test_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)
|
||||
|
|
|
@ -590,23 +590,24 @@ class StatusNotifier
|
|||
$log_id = psm_add_log($this->server_id, 'jabber', $message);
|
||||
}
|
||||
|
||||
$usersJabber = [];
|
||||
foreach ($users as $user) {
|
||||
// Log
|
||||
if (!empty($log_id)) {
|
||||
psm_add_log_user($log_id, $user['user_id']);
|
||||
}
|
||||
|
||||
// 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)
|
||||
);
|
||||
$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')),
|
||||
$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