summaryrefslogtreecommitdiff
path: root/plugins/Xmpp/XmppPlugin.php
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Xmpp/XmppPlugin.php')
-rw-r--r--plugins/Xmpp/XmppPlugin.php27
1 files changed, 15 insertions, 12 deletions
diff --git a/plugins/Xmpp/XmppPlugin.php b/plugins/Xmpp/XmppPlugin.php
index 03bf47fea..a2521536b 100644
--- a/plugins/Xmpp/XmppPlugin.php
+++ b/plugins/Xmpp/XmppPlugin.php
@@ -60,8 +60,6 @@ class XmppPlugin extends ImPlugin
public $transport = 'xmpp';
- protected $fake_xmpp;
-
function getDisplayName(){
return _m('XMPP/Jabber/GTalk');
}
@@ -292,7 +290,7 @@ class XmppPlugin extends ImPlugin
require_once 'XMPP.php';
return false;
case 'Sharing_XMPP':
- case 'Fake_XMPP':
+ case 'Queued_XMPP':
require_once $dir . '/'.$cls.'.php';
return false;
case 'XmppManager':
@@ -317,9 +315,7 @@ class XmppPlugin extends ImPlugin
function send_message($screenname, $body)
{
- $this->fake_xmpp->message($screenname, $body, 'chat');
- $this->enqueue_outgoing_raw($this->fake_xmpp->would_be_sent);
- return true;
+ $this->queuedConnection()->message($screenname, $body, 'chat');
}
function send_notice($screenname, $notice)
@@ -327,8 +323,7 @@ class XmppPlugin extends ImPlugin
$msg = $this->format_notice($notice);
$entry = $this->format_entry($notice);
- $this->fake_xmpp->message($screenname, $msg, 'chat', null, $entry);
- $this->enqueue_outgoing_raw($this->fake_xmpp->would_be_sent);
+ $this->queuedConnection()->message($screenname, $msg, 'chat', null, $entry);
return true;
}
@@ -385,10 +380,19 @@ class XmppPlugin extends ImPlugin
return true;
}
- return $this->handle_incoming($from, $pl['body']);
+ $this->handle_incoming($from, $pl['body']);
+
+ return true;
}
- function initialize(){
+ /**
+ * Build a queue-proxied XMPP interface object. Any outgoing messages
+ * will be run back through us for enqueing rather than sent directly.
+ *
+ * @return Queued_XMPP
+ * @throws Exception if server settings are invalid.
+ */
+ function queuedConnection(){
if(!isset($this->server)){
throw new Exception("must specify a server");
}
@@ -402,7 +406,7 @@ class XmppPlugin extends ImPlugin
throw new Exception("must specify a password");
}
- $this->fake_xmpp = new Fake_XMPP($this->host ?
+ return new Queued_XMPP($this, $this->host ?
$this->host :
$this->server,
$this->port,
@@ -415,7 +419,6 @@ class XmppPlugin extends ImPlugin
$this->debug ?
XMPPHP_Log::LEVEL_VERBOSE : null
);
- return true;
}
function onPluginVersion(&$versions)