From 3b19b63babc538d7dece46fa818049c92a3eae3f Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 8 Feb 2011 11:32:35 -0500 Subject: [PATCH] correctly show the source of messages in a message list --- lib/mailbox.php | 38 -------------------------------------- lib/messagelistitem.php | 40 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/lib/mailbox.php b/lib/mailbox.php index bbcf2ef5dd..7faeb7dba3 100644 --- a/lib/mailbox.php +++ b/lib/mailbox.php @@ -156,44 +156,6 @@ class MailboxAction extends CurrentUserDesignAction $this->elementEnd('div'); } - /** - * Show the source of the message - * - * Returns either the name (and link) of the API client that posted the notice, - * or one of other other channels. - * - * @param string $source the source of the message - * - * @return void - */ - - function showSource($source) - { - $source_name = _($source); - switch ($source) { - case 'web': - case 'xmpp': - case 'mail': - case 'omb': - case 'api': - $this->element('span', 'device', $source_name); - break; - default: - $ns = Notice_source::staticGet($source); - if ($ns) { - $this->elementStart('span', 'device'); - $this->element('a', array('href' => $ns->url, - 'rel' => 'external'), - $ns->name); - $this->elementEnd('span'); - } else { - $this->element('span', 'device', $source_name); - } - break; - } - return; - } - /** * Mailbox actions are read only * diff --git a/lib/messagelistitem.php b/lib/messagelistitem.php index 2907eab274..44e6976454 100644 --- a/lib/messagelistitem.php +++ b/lib/messagelistitem.php @@ -121,7 +121,7 @@ abstract class MessageListItem extends Widget $this->out->elementStart('span', 'source'); // FIXME: bad i18n. Device should be a parameter (from %s). $this->out->text(_('from')); - $this->out->element('span', 'device', $this->out->showSource($this->message->source)); + $this->showSource($this->message->source); $this->out->elementEnd('span'); } $this->out->elementEnd('div'); @@ -129,6 +129,44 @@ abstract class MessageListItem extends Widget $this->out->elementEnd('li'); } + + /** + * Show the source of the message + * + * Returns either the name (and link) of the API client that posted the notice, + * or one of other other channels. + * + * @param string $source the source of the message + * + * @return void + */ + function showSource($source) + { + $source_name = _($source); + switch ($source) { + case 'web': + case 'xmpp': + case 'mail': + case 'omb': + case 'api': + $this->out->element('span', 'device', $source_name); + break; + default: + $ns = Notice_source::staticGet($source); + if ($ns) { + $this->out->elementStart('span', 'device'); + $this->out->element('a', array('href' => $ns->url, + 'rel' => 'external'), + $ns->name); + $this->out->elementEnd('span'); + } else { + $this->out->element('span', 'device', $source_name); + } + break; + } + return; + } + /** * Return the profile to show in the message item *