X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FXmpp%2FXmppPlugin.php;h=7112b8b63eaeb8013bf24be41ff05047ab8b1b33;hb=d6b28c64830f632bb2f4b6f3c9369b9e56ad217a;hp=99d43e47c5d3b6bcb94f2e5934e972280e8f5c12;hpb=c23efdbdb0c577d78d341aa10398fee5a58420fc;p=quix0rs-gnu-social.git diff --git a/plugins/Xmpp/XmppPlugin.php b/plugins/Xmpp/XmppPlugin.php index 99d43e47c5..7112b8b63e 100644 --- a/plugins/Xmpp/XmppPlugin.php +++ b/plugins/Xmpp/XmppPlugin.php @@ -49,7 +49,7 @@ class XmppPlugin extends ImPlugin public $server = null; public $port = 5222; public $user = 'update'; - public $resource = null; + public $resource = 'gnusocial'; public $encryption = true; public $password = null; public $host = null; // only set if != server @@ -59,7 +59,7 @@ class XmppPlugin extends ImPlugin function getDisplayName(){ // TRANS: Plugin display name. - return _m('XMPP/Jabber/GTalk'); + return _m('XMPP/Jabber'); } /** @@ -296,16 +296,9 @@ class XmppPlugin extends ImPlugin case 'XMPPHP_XMPP': require_once $dir . '/extlib/XMPPHP/XMPP.php'; return false; - case 'Sharing_XMPP': - case 'Queued_XMPP': - require_once $dir . '/'.$cls.'.php'; - return false; - case 'XmppManager': - require_once $dir . '/'.strtolower($cls).'.php'; - return false; - default: - return true; } + + return parent::onAutoload($cls); } function onStartImDaemonIoManagers(&$classes) @@ -315,17 +308,12 @@ class XmppPlugin extends ImPlugin return true; } - function microiduri($screenname) - { - return 'xmpp:' . $screenname; - } - function sendMessage($screenname, $body) { $this->queuedConnection()->message($screenname, $body, 'chat'); } - function sendNotice($screenname, $notice) + function sendNotice($screenname, Notice $notice) { $msg = $this->formatNotice($notice); $entry = $this->format_entry($notice); @@ -342,7 +330,7 @@ class XmppPlugin extends ImPlugin * * @return string Extra information (Atom, HTML, addresses) in string format */ - function format_entry($notice) + protected function format_entry(Notice $notice) { $profile = $notice->getProfile(); @@ -351,21 +339,31 @@ class XmppPlugin extends ImPlugin $xs = new XMLStringer(); $xs->elementStart('html', array('xmlns' => 'http://jabber.org/protocol/xhtml-im')); $xs->elementStart('body', array('xmlns' => 'http://www.w3.org/1999/xhtml')); - $xs->element('a', array('href' => $profile->profileurl), - $profile->nickname); - $xs->text(": "); - if (!empty($notice->rendered)) { - $xs->raw($notice->rendered); - } else { - $xs->raw(common_render_content($notice->content, $notice)); + $xs->element('a', array('href' => $profile->profileurl), $profile->nickname); + try { + $parent = $notice->getParent(); + $orig_profile = $parent->getProfile(); + $orig_profurl = $orig_profile->getUrl(); + $xs->text(" => "); + $xs->element('a', array('href' => $orig_profurl), $orig_profile->nickname); + $xs->text(": "); + } catch (InvalidUrlException $e) { + $xs->text(sprintf(' => %s', $orig_profile->nickname)); + } catch (NoParentNoticeException $e) { + $xs->text(": "); + } catch (NoResultException $e) { + // Parent notice was probably deleted. + $xs->text(": "); } + // FIXME: Why do we replace \t with ''? is it just to make it pretty? shouldn't whitespace be handled well...? + $xs->raw(str_replace("\t", "", $notice->getRendered())); $xs->text(" "); $xs->element('a', array( 'href'=>common_local_url('conversation', array('id' => $notice->conversation)).'#notice-'.$notice->id), // TRANS: Link description to notice in conversation. // TRANS: %s is a notice ID. - sprintf(_m('[%s]'),$notice->id)); + sprintf(_m('[%u]'),$notice->id)); $xs->elementEnd('body'); $xs->elementEnd('html'); @@ -397,7 +395,7 @@ class XmppPlugin extends ImPlugin * 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 + * @return QueuedXMPP * @throws Exception if server settings are invalid. */ function queuedConnection(){ @@ -418,7 +416,7 @@ class XmppPlugin extends ImPlugin throw new Exception(_m('You must specify a password in the configuration.')); } - return new Queued_XMPP($this, $this->host ? + return new QueuedXMPP($this, $this->host ? $this->host : $this->server, $this->port, @@ -440,7 +438,7 @@ class XmppPlugin extends ImPlugin * * @return boolean hook return */ - function onGetValidDaemons($daemons) + function onGetValidDaemons(array &$daemons) { if( isset($this->server) && isset($this->port) && @@ -458,10 +456,10 @@ class XmppPlugin extends ImPlugin } - function onPluginVersion(&$versions) + function onPluginVersion(array &$versions) { $versions[] = array('name' => 'XMPP', - 'version' => STATUSNET_VERSION, + 'version' => GNUSOCIAL_VERSION, 'author' => 'Craig Andrews, Evan Prodromou', 'homepage' => 'http://status.net/wiki/Plugin:XMPP', 'rawdescription' =>