From 33e7562210574ec75022ac498e7a28c6b7a5f1d4 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Fri, 7 Nov 2014 16:33:19 +0100 Subject: [PATCH] Some unnecessary/faulty includes fixed in DM plugin --- plugins/DirectMessage/actions/inbox.php | 6 +- plugins/DirectMessage/actions/outbox.php | 5 +- plugins/DirectMessage/classes/Message.php | 4 +- .../lib/{mailbox.php => inboxmessagelist.php} | 0 plugins/DirectMessage/lib/mailboxaction.php | 167 ++++++++++++++++++ plugins/DirectMessage/lib/messageform.php | 6 +- 6 files changed, 173 insertions(+), 15 deletions(-) rename plugins/DirectMessage/lib/{mailbox.php => inboxmessagelist.php} (100%) create mode 100644 plugins/DirectMessage/lib/mailboxaction.php diff --git a/plugins/DirectMessage/actions/inbox.php b/plugins/DirectMessage/actions/inbox.php index e9aa34317d..1a4de6ccaa 100644 --- a/plugins/DirectMessage/actions/inbox.php +++ b/plugins/DirectMessage/actions/inbox.php @@ -27,11 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/mailbox.php'; +if (!defined('GNUSOCIAL')) { exit(1); } /** * action handler for message inbox diff --git a/plugins/DirectMessage/actions/outbox.php b/plugins/DirectMessage/actions/outbox.php index 6d10c8119f..5b11a1fd22 100644 --- a/plugins/DirectMessage/actions/outbox.php +++ b/plugins/DirectMessage/actions/outbox.php @@ -26,11 +26,8 @@ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} -require_once INSTALLDIR.'/lib/mailbox.php'; +if (!defined('GNUSOCIAL')) { exit(1); } /** * action handler for message outbox diff --git a/plugins/DirectMessage/classes/Message.php b/plugins/DirectMessage/classes/Message.php index 9c79862e5c..3818a38f48 100644 --- a/plugins/DirectMessage/classes/Message.php +++ b/plugins/DirectMessage/classes/Message.php @@ -1,8 +1,10 @@ . + * + * @category Message + * @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://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +/** + * common superclass for direct messages inbox and outbox + * + * @category Message + * @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://status.net/ + * @see InboxAction + * @see OutboxAction + */ +class MailboxAction extends Action +{ + var $page = null; + + function prepare($args) + { + parent::prepare($args); + + $nickname = common_canonical_nickname($this->arg('nickname')); + $this->user = User::getKV('nickname', $nickname); + $this->page = $this->trimmed('page'); + + if (!$this->page) { + $this->page = 1; + } + + common_set_returnto($this->selfUrl()); + + return true; + } + + /** + * output page based on arguments + * + * @param array $args HTTP arguments (from $_REQUEST) + * + * @return void + */ + function handle($args) + { + parent::handle($args); + + if (!$this->user) { + // TRANS: Client error displayed when trying to access a mailbox without providing a user. + $this->clientError(_('No such user.'), 404); + } + + $cur = common_current_user(); + + if (!$cur || $cur->id != $this->user->id) { + // TRANS: Client error displayed when trying to access a mailbox that is not of the logged in user. + $this->clientError(_('Only the user can read their own mailboxes.'), 403); + } + + $this->showPage(); + } + + function showNoticeForm() + { + $message_form = new MessageForm($this); + $message_form->show(); + } + + function showContent() + { + $message = $this->getMessages(); + + if ($message) { + + $ml = $this->getMessageList($message); + + $cnt = $ml->show(); + + $this->pagination($this->page > 1, + $cnt > MESSAGES_PER_PAGE, + $this->page, + $this->trimmed('action'), + array('nickname' => $this->user->nickname)); + } else { + $this->element('p', + 'guide', + // TRANS: Message displayed when there are no private messages in the inbox of a user. + _('You have no private messages. '. + 'You can send private message to engage other users in conversation. '. + 'People can send you messages for your eyes only.')); + } + } + + function getMessages() + { + return null; + } + + function getMessageList($message) + { + return null; + } + + /** + * Show the page notice + * + * Shows instructions for the page + * + * @return void + */ + function showPageNotice() + { + $instr = $this->getInstructions(); + $output = common_markup_to_html($instr); + + $this->elementStart('div', 'instructions'); + $this->raw($output); + $this->elementEnd('div'); + } + + /** + * Mailbox actions are read only + * + * @param array $args other arguments + * + * @return boolean + */ + function isReadOnly($args) + { + return true; + } + + function showObjectNav() + { + $mm = new MailboxMenu($this); + $mm->show(); + } +} diff --git a/plugins/DirectMessage/lib/messageform.php b/plugins/DirectMessage/lib/messageform.php index acd30e3b38..96059e4fac 100644 --- a/plugins/DirectMessage/lib/messageform.php +++ b/plugins/DirectMessage/lib/messageform.php @@ -28,11 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/form.php'; +if (!defined('GNUSOCIAL')) { exit(1); } /** * Form for posting a direct message -- 2.39.5