X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Foutbox.php;h=6d10c8119f159e01e068caed54fca12560e7d3ae;hb=5eba1030ae39038b7b6b0aad5de1043fae43e48d;hp=9fb6dbf9f8c1132203e17cd69d070f2dace63cbd;hpb=02877224b20f87af304553f739b69544d7ac4cfa;p=quix0rs-gnu-social.git diff --git a/actions/outbox.php b/actions/outbox.php index 9fb6dbf9f8..6d10c8119f 100644 --- a/actions/outbox.php +++ b/actions/outbox.php @@ -1,6 +1,6 @@ . * * @category Message - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @copyright 2008 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ */ - -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -37,34 +36,30 @@ require_once INSTALLDIR.'/lib/mailbox.php'; * action handler for message outbox * * @category Message - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ * @see MailboxAction */ - class OutboxAction extends MailboxAction { /** - * returns the title of the page - * - * @param User $user current user - * @param int $page current page - * - * @return string localised title of the page + * Title of the page * - * @see MailboxAction::getTitle() + * @return string page title */ - - function getTitle($user, $page) + function title() { - if ($page > 1) { - $title = sprintf(_("Outbox for %s - page %d"), $user->nickname, $page); + if ($this->page > 1) { + // TRANS: Title for outbox for any but the fist page. + // TRANS: %1$s is the user nickname, %2$d is the page number. + return sprintf(_('Outbox for %1$s - page %2$d'), + $this->user->nickname, $page); } else { - $title = sprintf(_("Outbox for %s"), $user->nickname); + // TRANS: Title for first page of outbox. + return sprintf(_('Outbox for %s'), $this->user->nickname); } - return $title; } /** @@ -72,21 +67,18 @@ class OutboxAction extends MailboxAction * * Does a query for the right messages * - * @param User $user The current user - * @param int $page The page the user is on - * * @return Message data object with stream for messages * * @see MailboxAction::getMessages() */ - - function getMessages($user, $page) + function getMessages() { $message = new Message(); - $message->from_profile = $user->id; + $message->from_profile = $this->user->id; $message->orderBy('created DESC, id DESC'); - $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1); + $message->limit((($this->page - 1) * MESSAGES_PER_PAGE), + MESSAGES_PER_PAGE + 1); if ($message->find()) { return $message; @@ -95,21 +87,9 @@ class OutboxAction extends MailboxAction } } - /** - * returns the profile we want to show with the message - * - * For outboxes, we show the recipient. - * - * @param Message $message The message to get the profile for - * - * @return Profile The profile of the message recipient - * - * @see MailboxAction::getMessageProfile() - */ - - function getMessageProfile($message) + function getMessageList($message) { - return $message->getTo(); + return new OutboxMessageList($this, $message); } /** @@ -117,9 +97,30 @@ class OutboxAction extends MailboxAction * * @return string localised instructions for using the page */ - function getInstructions() { + // TRANS: Instructions for outbox. return _('This is your outbox, which lists private messages you have sent.'); } } + +class OutboxMessageList extends MessageList +{ + function newItem($message) + { + return new OutboxMessageListItem($this->out, $message); + } +} + +class OutboxMessageListItem extends MessageListItem +{ + /** + * Returns the profile we want to show with the message + * + * @return Profile The profile that matches the message + */ + function getMessageProfile() + { + return $this->message->getTo(); + } +}