forked from GNUsocial/gnu-social
add reconnect handlers to main XMPP-handling scripts
darcs-hash:20080902165319-84dde-b6cc255f014e6c5c059905c37c258a6c7a53b39a.gz
This commit is contained in:
parent
695da8311a
commit
7abcee54ea
@ -42,14 +42,16 @@ class PublicQueueHandler extends QueueHandler {
|
|||||||
function start() {
|
function start() {
|
||||||
$this->log(LOG_INFO, "INITIALIZE");
|
$this->log(LOG_INFO, "INITIALIZE");
|
||||||
# Low priority; we don't want to receive messages
|
# Low priority; we don't want to receive messages
|
||||||
$this->conn = jabber_connect($this->_id);
|
$this->conn = jabber_connect($this->_id, NULL, -1);
|
||||||
if ($this->conn) {
|
$this->conn->addEventHandler('message', 'forward_message', $this);
|
||||||
$this->conn->addEventHandler('message', 'forward_message', $this);
|
|
||||||
jabber_send_presence("Send me a message to post an notice", 'available', NULL, 'available', -1);
|
|
||||||
}
|
|
||||||
return !is_null($this->conn);
|
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) {
|
function handle_notice($notice) {
|
||||||
return jabber_public_notice($notice);
|
return jabber_public_notice($notice);
|
||||||
}
|
}
|
||||||
|
@ -48,14 +48,16 @@ class XmppConfirmHandler {
|
|||||||
function start() {
|
function start() {
|
||||||
# Low priority; we don't want to receive messages
|
# Low priority; we don't want to receive messages
|
||||||
$this->log(LOG_INFO, "INITIALIZE");
|
$this->log(LOG_INFO, "INITIALIZE");
|
||||||
$this->conn = jabber_connect($this->_id);
|
$this->conn = jabber_connect($this->_id, NULL, -1);
|
||||||
if ($this->conn) {
|
$this->conn->addEventHandler('message', 'forward_message', $this);
|
||||||
$this->conn->addEventHandler('message', 'forward_message', $this);
|
|
||||||
jabber_send_presence("Send me a message to post an notice", 'available', NULL, 'available', -1);
|
|
||||||
}
|
|
||||||
return !is_null($this->conn);
|
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() {
|
function handle_queue() {
|
||||||
$this->log(LOG_INFO, 'checking for queued confirmations');
|
$this->log(LOG_INFO, 'checking for queued confirmations');
|
||||||
do {
|
do {
|
||||||
|
@ -75,10 +75,16 @@ class XMPPDaemon {
|
|||||||
function handle() {
|
function handle() {
|
||||||
$this->conn->addEventHandler('message', 'handle_message', $this);
|
$this->conn->addEventHandler('message', 'handle_message', $this);
|
||||||
$this->conn->addEventHandler('presence', 'handle_presence', $this);
|
$this->conn->addEventHandler('presence', 'handle_presence', $this);
|
||||||
|
$this->conn->addEventHandler('reconnect', 'handle_reconnect', $this);
|
||||||
|
|
||||||
$this->conn->process();
|
$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) {
|
function get_user($from) {
|
||||||
$user = User::staticGet('jabber', jabber_normalize_jid($from));
|
$user = User::staticGet('jabber', jabber_normalize_jid($from));
|
||||||
return $user;
|
return $user;
|
||||||
|
@ -44,14 +44,16 @@ class XmppQueueHandler extends QueueHandler {
|
|||||||
function start() {
|
function start() {
|
||||||
$this->log(LOG_INFO, "INITIALIZE");
|
$this->log(LOG_INFO, "INITIALIZE");
|
||||||
# Low priority; we don't want to receive messages
|
# Low priority; we don't want to receive messages
|
||||||
$this->conn = jabber_connect($this->_id);
|
$this->conn = jabber_connect($this->_id, NULL, -1);
|
||||||
if ($this->conn) {
|
$this->conn->addEventHandler('message', 'forward_message', $this);
|
||||||
$this->conn->addEventHandler('message', 'forward_message', $this);
|
|
||||||
jabber_send_presence("Send me a message to post an notice", 'available', NULL, 'available', -1);
|
|
||||||
}
|
|
||||||
return !is_null($this->conn);
|
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) {
|
function handle_notice($notice) {
|
||||||
return jabber_broadcast_notice($notice);
|
return jabber_broadcast_notice($notice);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user