diff --git a/src/includes/functions.inc.php b/src/includes/functions.inc.php index f9c66ec6..6bd3137f 100644 --- a/src/includes/functions.inc.php +++ b/src/includes/functions.inc.php @@ -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) { diff --git a/src/psm/Module/Config/Controller/ConfigController.php b/src/psm/Module/Config/Controller/ConfigController.php index 69e3d41b..4c6a7e5d 100644 --- a/src/psm/Module/Config/Controller/ConfigController.php +++ b/src/psm/Module/Config/Controller/ConfigController.php @@ -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) diff --git a/src/psm/Util/Server/Updater/StatusNotifier.php b/src/psm/Util/Server/Updater/StatusNotifier.php index 905eeb4c..5b0672a6 100644 --- a/src/psm/Util/Server/Updater/StatusNotifier.php +++ b/src/psm/Util/Server/Updater/StatusNotifier.php @@ -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) + ); } /**