summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/publicqueuehandler.php12
-rwxr-xr-xscripts/xmppconfirmhandler.php12
-rwxr-xr-xscripts/xmppdaemon.php6
-rwxr-xr-xscripts/xmppqueuehandler.php12
4 files changed, 27 insertions, 15 deletions
diff --git a/scripts/publicqueuehandler.php b/scripts/publicqueuehandler.php
index 555298f6a..b482d029a 100755
--- a/scripts/publicqueuehandler.php
+++ b/scripts/publicqueuehandler.php
@@ -42,14 +42,16 @@ class PublicQueueHandler extends QueueHandler {
function start() {
$this->log(LOG_INFO, "INITIALIZE");
# Low priority; we don't want to receive messages
- $this->conn = jabber_connect($this->_id);
- if ($this->conn) {
- $this->conn->addEventHandler('message', 'forward_message', $this);
- jabber_send_presence("Send me a message to post an notice", 'available', NULL, 'available', -1);
- }
+ $this->conn = jabber_connect($this->_id, NULL, -1);
+ $this->conn->addEventHandler('message', 'forward_message', $this);
return !is_null($this->conn);
}
+ function handle_reconnect(&$pl) {
+ $this->conn->processUntil('session_start');
+ $this->conn->presence(NULL, 'available', NULL, 'available', -1);
+ }
+
function handle_notice($notice) {
return jabber_public_notice($notice);
}
diff --git a/scripts/xmppconfirmhandler.php b/scripts/xmppconfirmhandler.php
index 7971198b1..c63498f55 100755
--- a/scripts/xmppconfirmhandler.php
+++ b/scripts/xmppconfirmhandler.php
@@ -48,14 +48,16 @@ class XmppConfirmHandler {
function start() {
# Low priority; we don't want to receive messages
$this->log(LOG_INFO, "INITIALIZE");
- $this->conn = jabber_connect($this->_id);
- if ($this->conn) {
- $this->conn->addEventHandler('message', 'forward_message', $this);
- jabber_send_presence("Send me a message to post an notice", 'available', NULL, 'available', -1);
- }
+ $this->conn = jabber_connect($this->_id, NULL, -1);
+ $this->conn->addEventHandler('message', 'forward_message', $this);
return !is_null($this->conn);
}
+ function handle_reconnect(&$pl) {
+ $this->conn->processUntil('session_start');
+ $this->conn->presence(NULL, 'available', NULL, 'available', -1);
+ }
+
function handle_queue() {
$this->log(LOG_INFO, 'checking for queued confirmations');
do {
diff --git a/scripts/xmppdaemon.php b/scripts/xmppdaemon.php
index 03cadee7c..2372a17e6 100755
--- a/scripts/xmppdaemon.php
+++ b/scripts/xmppdaemon.php
@@ -75,10 +75,16 @@ class XMPPDaemon {
function handle() {
$this->conn->addEventHandler('message', 'handle_message', $this);
$this->conn->addEventHandler('presence', 'handle_presence', $this);
+ $this->conn->addEventHandler('reconnect', 'handle_reconnect', $this);
$this->conn->process();
}
+ function handle_reconnect(&$pl) {
+ $this->conn->processUntil('session_start');
+ $this->conn->presence('Send me a message to post a notice', 'available', NULL, 'available', 100);
+ }
+
function get_user($from) {
$user = User::staticGet('jabber', jabber_normalize_jid($from));
return $user;
diff --git a/scripts/xmppqueuehandler.php b/scripts/xmppqueuehandler.php
index 7f1e6c28f..49d3df0f5 100755
--- a/scripts/xmppqueuehandler.php
+++ b/scripts/xmppqueuehandler.php
@@ -44,14 +44,16 @@ class XmppQueueHandler extends QueueHandler {
function start() {
$this->log(LOG_INFO, "INITIALIZE");
# Low priority; we don't want to receive messages
- $this->conn = jabber_connect($this->_id);
- if ($this->conn) {
- $this->conn->addEventHandler('message', 'forward_message', $this);
- jabber_send_presence("Send me a message to post an notice", 'available', NULL, 'available', -1);
- }
+ $this->conn = jabber_connect($this->_id, NULL, -1);
+ $this->conn->addEventHandler('message', 'forward_message', $this);
return !is_null($this->conn);
}
+ function handle_reconnect(&$pl) {
+ $this->conn->processUntil('session_start');
+ $this->conn->presence(NULL, 'available', NULL, 'available', -1);
+ }
+
function handle_notice($notice) {
return jabber_broadcast_notice($notice);
}