separate out presence from connection, send different presence types from queuehandlers
darcs-hash:20080902012604-84dde-073a583da9b09c80e5e9a47a5eddd144fad8e87a.gz
This commit is contained in:
parent
c31afa795f
commit
c6c3cd40f6
@ -40,7 +40,7 @@ function jabber_daemon_address() {
|
||||
return common_config('xmpp', 'user') . '@' . common_config('xmpp', 'server');
|
||||
}
|
||||
|
||||
function jabber_connect($resource=NULL, $status=NULL, $priority=NULL) {
|
||||
function jabber_connect($resource=NULL) {
|
||||
static $conn = NULL;
|
||||
if (!$conn) {
|
||||
$conn = new XMPPHP_XMPP(common_config('xmpp', 'host') ?
|
||||
@ -68,8 +68,6 @@ function jabber_connect($resource=NULL, $status=NULL, $priority=NULL) {
|
||||
return false;
|
||||
}
|
||||
$conn->processUntil('session_start');
|
||||
# $conn->getRoster();
|
||||
$conn->presence($presence, 'available', NULL, 'available', $priority);
|
||||
}
|
||||
return $conn;
|
||||
}
|
||||
@ -149,12 +147,14 @@ function jabber_send_message($to, $body, $type='chat', $subject=NULL) {
|
||||
return true;
|
||||
}
|
||||
|
||||
function jabber_send_presence($status, $show='available', $to=Null) {
|
||||
function jabber_send_presence($status, $show='available', $to=NULL,
|
||||
$type = 'available', $priority=NULL)
|
||||
{
|
||||
$conn = jabber_connect();
|
||||
if (!$conn) {
|
||||
return false;
|
||||
}
|
||||
$conn->presence($status, $show, $to);
|
||||
$conn->presence($status, $show, $to, $type, $priority);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -42,8 +42,11 @@ 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, NULL, -1);
|
||||
$this->conn->addEventHandler('message', 'forward_message', $this);
|
||||
$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", 'dnd', NULL, 'available', -1);
|
||||
}
|
||||
return !is_null($this->conn);
|
||||
}
|
||||
|
||||
|
@ -48,8 +48,11 @@ class XmppConfirmHandler {
|
||||
function start() {
|
||||
# Low priority; we don't want to receive messages
|
||||
$this->log(LOG_INFO, "INITIALIZE");
|
||||
$this->conn = jabber_connect($this->_id, NULL, -1);
|
||||
$this->conn->addEventHandler('message', 'forward_message', $this);
|
||||
$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", 'dnd', NULL, 'available', -1);
|
||||
}
|
||||
return !is_null($this->conn);
|
||||
}
|
||||
|
||||
|
@ -61,12 +61,14 @@ class XMPPDaemon {
|
||||
|
||||
$this->log(LOG_INFO, "Connecting to $connect_to on port $this->port");
|
||||
|
||||
$this->conn = jabber_connect($this->resource, "Send me a message to post a notice", 100);
|
||||
$this->conn = jabber_connect($this->resource);
|
||||
|
||||
if (!$this->conn) {
|
||||
return false;
|
||||
}
|
||||
|
||||
jabber_send_presence("Send me a message to post a notice", 'available',
|
||||
NULL, 'available', 100);
|
||||
return !$this->conn->isDisconnected();
|
||||
}
|
||||
|
||||
|
@ -44,8 +44,11 @@ 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, NULL, -1);
|
||||
$this->conn->addEventHandler('message', 'forward_message', $this);
|
||||
$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", 'dnd', NULL, 'available', -1);
|
||||
}
|
||||
return !is_null($this->conn);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user