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
function getDisplayName(){
// TRANS: Plugin display name.
- return _m('XMPP/Jabber/GTalk');
+ return _m('XMPP/Jabber');
}
/**
return true;
}
- function microiduri($screenname)
- {
- return 'xmpp:' . $screenname;
- }
-
function sendMessage($screenname, $body)
{
$this->queuedConnection()->message($screenname, $body, 'chat');
function sendNotice($screenname, Notice $notice)
{
- $msg = $this->formatNotice($notice);
- $entry = $this->format_entry($notice);
-
+ try {
+ $msg = $this->formatNotice($notice);
+ $entry = $this->format_entry($notice);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, __METHOD__ . ": Discarding outgoing stanza because of exception: {$e->getMessage()}");
+ return false; // return value of sendNotice is never actually used as of now
+ }
$this->queuedConnection()->message($screenname, $msg, 'chat', null, $entry);
return true;
}
$xs->text(": ");
} catch (InvalidUrlException $e) {
$xs->text(sprintf(' => %s', $orig_profile->nickname));
- } catch (Exception $e) {
+ } catch (NoParentNoticeException $e) {
+ $xs->text(": ");
+ } catch (NoResultException $e) {
+ // Parent notice was probably deleted.
$xs->text(": ");
}
- if (!empty($notice->rendered)) {
- $notice->rendered = str_replace("\t", "", $notice->rendered);
- $xs->raw($notice->rendered);
- } else {
- $xs->raw(common_render_content($notice->content, $notice));
- }
+ // 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',
}
- 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',
+ 'homepage' => 'https://git.gnu.io/gnu/gnu-social/tree/master/plugins/XMPP',
'rawdescription' =>
// TRANS: Plugin description.
_m('The XMPP plugin allows users to send and receive notices over the XMPP/Jabber network.'));