summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_darcs/inventory10
-rw-r--r--_darcs/patches/20081222201304-84dde-3effcce0f9ef25fbe0bfebd505037d9ff37252fa.gzbin0 -> 1931 bytes
-rw-r--r--_darcs/pristine/actions/inbox.php149
-rw-r--r--_darcs/pristine/actions/outbox.php149
-rw-r--r--_darcs/pristine/lib/mailbox.php48
-rw-r--r--_darcs/tentative_pristine560
-rw-r--r--actions/inbox.php149
-rw-r--r--actions/outbox.php149
-rw-r--r--lib/mailbox.php48
9 files changed, 777 insertions, 485 deletions
diff --git a/_darcs/inventory b/_darcs/inventory
index 7f21ac58a..083e53fd0 100644
--- a/_darcs/inventory
+++ b/_darcs/inventory
@@ -35,4 +35,12 @@ Evan Prodromou <evan@prodromou.name>**20081222173249]
[reformat lib/language.php for PEAR Coding Standards
Evan Prodromou <evan@prodromou.name>**20081222193029]
[bring mailbox.php into line with PEAR Coding Standards (mostly)
-Evan Prodromou <evan@prodromou.name>**20081222195041] \ No newline at end of file
+Evan Prodromou <evan@prodromou.name>**20081222195041]
+[bring messaging section (inbox, outbox, mailbox) into PEAR Code Standards compliance
+Evan Prodromou <evan@prodromou.name>**20081222201304
+
+ Actually refactored the method names on these classes to come into
+ complete compliance with the code standards. Untested; maybe there are
+ some bad method names now.
+
+] \ No newline at end of file
diff --git a/_darcs/patches/20081222201304-84dde-3effcce0f9ef25fbe0bfebd505037d9ff37252fa.gz b/_darcs/patches/20081222201304-84dde-3effcce0f9ef25fbe0bfebd505037d9ff37252fa.gz
new file mode 100644
index 000000000..60517eb79
--- /dev/null
+++ b/_darcs/patches/20081222201304-84dde-3effcce0f9ef25fbe0bfebd505037d9ff37252fa.gz
Binary files differ
diff --git a/_darcs/pristine/actions/inbox.php b/_darcs/pristine/actions/inbox.php
index c752e404e..da27814a6 100644
--- a/_darcs/pristine/actions/inbox.php
+++ b/_darcs/pristine/actions/inbox.php
@@ -1,9 +1,12 @@
<?php
-/*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+/**
+ * Laconica, the distributed open-source microblogging tool
*
- * This program is free software: you can redistribute it and/or modify
+ * action handler for message inbox
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
@@ -15,41 +18,109 @@
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Message
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @copyright 2008 Control Yourself, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://laconi.ca/
+ */
+
+if (!defined('LACONICA')) {
+ exit(1);
+}
+
+require_once INSTALLDIR.'/lib/mailbox.php';
+
+/**
+ * action handler for message inbox
+ *
+ * @category Message
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://laconi.ca/
+ * @see MailboxAction
*/
-if (!defined('LACONICA')) { exit(1); }
-
-require_once(INSTALLDIR.'/lib/mailbox.php');
-
-class InboxAction extends MailboxAction {
-
- function get_title($user, $page) {
- if ($page > 1) {
- $title = sprintf(_("Inbox for %s - page %d"), $user->nickname, $page);
- } else {
- $title = sprintf(_("Inbox for %s"), $user->nickname);
- }
- return $title;
- }
-
- function get_messages($user, $page) {
- $message = new Message();
- $message->to_profile = $user->id;
- $message->orderBy('created DESC, id DESC');
- $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
-
- if ($message->find()) {
- return $message;
- } else {
- return NULL;
- }
- }
-
- function get_message_profile($message) {
- return $message->getFrom();
- }
-
- function get_instructions() {
- return _('This is your inbox, which lists your incoming private messages.');
- }
+class InboxAction 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
+ *
+ * @see MailboxAction::getTitle()
+ */
+
+ function getTitle($user, $page)
+ {
+ if ($page > 1) {
+ $title = sprintf(_("Inbox for %s - page %d"), $user->nickname, $page);
+ } else {
+ $title = sprintf(_("Inbox for %s"), $user->nickname);
+ }
+ return $title;
+ }
+
+ /**
+ * retrieve the messages for this user and this page
+ *
+ * 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)
+ {
+ $message = new Message();
+
+ $message->to_profile = $user->id;
+
+ $message->orderBy('created DESC, id DESC');
+ $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
+
+ if ($message->find()) {
+ return $message;
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * returns the profile we want to show with the message
+ *
+ * For inboxes, we show the sender.
+ *
+ * @param Message $message The message to get the profile for
+ *
+ * @return Profile The profile of the message sender
+ *
+ * @see MailboxAction::getMessageProfile()
+ */
+
+ function getMessageProfile($message)
+ {
+ return $message->getFrom();
+ }
+
+ /**
+ * instructions for using this page
+ *
+ * @return string localised instructions for using the page
+ */
+
+ function getInstructions()
+ {
+ return _('This is your inbox, which lists your incoming private messages.');
+ }
}
diff --git a/_darcs/pristine/actions/outbox.php b/_darcs/pristine/actions/outbox.php
index c48d9c206..9fb6dbf9f 100644
--- a/_darcs/pristine/actions/outbox.php
+++ b/_darcs/pristine/actions/outbox.php
@@ -1,9 +1,12 @@
<?php
-/*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+/**
+ * Laconica, the distributed open-source microblogging tool
*
- * This program is free software: you can redistribute it and/or modify
+ * action handler for message inbox
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
@@ -15,42 +18,108 @@
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Message
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @copyright 2008 Control Yourself, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://laconi.ca/
+ */
+
+if (!defined('LACONICA')) {
+ exit(1);
+}
+
+require_once INSTALLDIR.'/lib/mailbox.php';
+
+/**
+ * action handler for message outbox
+ *
+ * @category Message
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://laconi.ca/
+ * @see MailboxAction
*/
-if (!defined('LACONICA')) { exit(1); }
-
-require_once(INSTALLDIR.'/lib/mailbox.php');
-
-class OutboxAction extends MailboxAction {
-
- function get_title($user, $page) {
- if ($page > 1) {
- $title = sprintf(_("Outbox for %s - page %d"), $user->nickname, $page);
- } else {
- $title = sprintf(_("Outbox for %s"), $user->nickname);
- }
- return $title;
- }
-
- function get_messages($user, $page) {
- $message = new Message();
- $message->from_profile = $user->id;
- $message->orderBy('created DESC, id DESC');
- $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
-
- if ($message->find()) {
- return $message;
- } else {
- return NULL;
- }
- }
-
- function get_message_profile($message) {
- return $message->getTo();
- }
-
- function get_instructions() {
- return _('This is your outbox, which lists private messages you have sent.');
- }
-
+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
+ *
+ * @see MailboxAction::getTitle()
+ */
+
+ function getTitle($user, $page)
+ {
+ if ($page > 1) {
+ $title = sprintf(_("Outbox for %s - page %d"), $user->nickname, $page);
+ } else {
+ $title = sprintf(_("Outbox for %s"), $user->nickname);
+ }
+ return $title;
+ }
+
+ /**
+ * retrieve the messages for this user and this page
+ *
+ * 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)
+ {
+ $message = new Message();
+
+ $message->from_profile = $user->id;
+ $message->orderBy('created DESC, id DESC');
+ $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
+
+ if ($message->find()) {
+ return $message;
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * 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)
+ {
+ return $message->getTo();
+ }
+
+ /**
+ * instructions for using this page
+ *
+ * @return string localised instructions for using the page
+ */
+
+ function getInstructions()
+ {
+ return _('This is your outbox, which lists private messages you have sent.');
+ }
}
diff --git a/_darcs/pristine/lib/mailbox.php b/_darcs/pristine/lib/mailbox.php
index 9039c5fda..bdc360a35 100644
--- a/_darcs/pristine/lib/mailbox.php
+++ b/_darcs/pristine/lib/mailbox.php
@@ -19,7 +19,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
- * @category Action
+ * @category Message
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @copyright 2008 Control Yourself, Inc.
@@ -38,7 +38,7 @@ define('MESSAGES_PER_PAGE', 20);
/**
* common superclass for direct messages inbox and outbox
*
- * @category Action
+ * @category Message
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
@@ -91,7 +91,7 @@ class MailboxAction extends PersonalAction
$page = 1;
}
- $this->show_page($user, $page);
+ $this->showPage($user, $page);
}
/**
@@ -103,7 +103,7 @@ class MailboxAction extends PersonalAction
* @return string localised title of the page
*/
- function get_title($user, $page)
+ function getTitle($user, $page)
{
return '';
}
@@ -114,7 +114,7 @@ class MailboxAction extends PersonalAction
* @return string localised instructions for using the page
*/
- function get_instructions()
+ function getInstructions()
{
return '';
}
@@ -125,7 +125,7 @@ class MailboxAction extends PersonalAction
* @return void
*/
- function show_top()
+ function showTop()
{
$cur = common_current_user();
@@ -143,18 +143,34 @@ class MailboxAction extends PersonalAction
* @return void
*/
- function show_page($user, $page)
+ function showPage($user, $page)
{
- common_show_header($this->get_title($user, $page),
+ common_show_header($this->getTitle($user, $page),
null, null,
- array($this, 'show_top'));
+ array($this, 'showTop'));
- $this->show_box($user, $page);
+ $this->showBox($user, $page);
common_show_footer();
}
/**
+ * retrieve the messages appropriate for this mailbox
+ *
+ * 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
+ */
+
+ function getMessages($user, $page)
+ {
+ return null;
+ }
+
+ /**
* show the messages for a mailbox in list format
*
* Includes the pagination links (before, after).
@@ -165,9 +181,9 @@ class MailboxAction extends PersonalAction
* @return void
*/
- function show_box($user, $page)
+ function showBox($user, $page)
{
- $message = $this->get_messages($user, $page);
+ $message = $this->getMessages($user, $page);
if ($message) {
@@ -181,7 +197,7 @@ class MailboxAction extends PersonalAction
break;
}
- $this->show_message($message);
+ $this->showMessage($message);
}
common_element_end('ul');
@@ -205,7 +221,7 @@ class MailboxAction extends PersonalAction
* @return Profile The profile that matches the message
*/
- function get_message_profile($message)
+ function getMessageProfile($message)
{
return null;
}
@@ -218,12 +234,12 @@ class MailboxAction extends PersonalAction
* @return void
*/
- function show_message($message)
+ function showMessage($message)
{
common_element_start('li', array('class' => 'message_single',
'id' => 'message-' . $message->id));
- $profile = $this->get_message_profile($message);
+ $profile = $this->getMessageProfile($message);
$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
common_element_start('a', array('href' => $profile->profileurl));
diff --git a/_darcs/tentative_pristine b/_darcs/tentative_pristine
index dd4a35214..5a45154e6 100644
--- a/_darcs/tentative_pristine
+++ b/_darcs/tentative_pristine
@@ -1,393 +1,365 @@
-hunk ./lib/mailbox.php 2
+hunk ./actions/inbox.php 2
-/*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+/**
+ * Laconica, the distributed open-source microblogging tool
-hunk ./lib/mailbox.php 5
+hunk ./actions/inbox.php 5
- * This program is free software: you can redistribute it and/or modify
-+ * common superclass for direct messages inbox and outbox
++ * action handler for message inbox
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
-hunk ./lib/mailbox.php 21
+hunk ./actions/inbox.php 21
+ *
-+ * @category Action
++ * @category Message
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @copyright 2008 Control Yourself, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://laconi.ca/
-hunk ./lib/mailbox.php 30
--if (!defined('LACONICA')) { exit(1); }
++ */
++
+if (!defined('LACONICA')) {
+ exit(1);
+}
-hunk ./lib/mailbox.php 34
--require_once(INSTALLDIR.'/lib/personal.php');
-+require_once INSTALLDIR.'/lib/personal.php';
-hunk ./lib/mailbox.php 38
--class MailboxAction extends PersonalAction {
--
-- function handle($args) {
++
++require_once INSTALLDIR.'/lib/mailbox.php';
++
+/**
-+ * common superclass for direct messages inbox and outbox
++ * action handler for message inbox
+ *
-+ * @category Action
++ * @category Message
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://laconi.ca/
-+ * @see InboxAction
-+ * @see OutboxAction
-+ */
-+
-+class MailboxAction extends PersonalAction
++ * @see MailboxAction
+hunk ./actions/inbox.php 47
+-if (!defined('LACONICA')) { exit(1); }
++class InboxAction extends MailboxAction
+{
+ /**
-+ * output page based on arguments
++ * returns the title of the page
+ *
-+ * @param array $args HTTP arguments (from $_REQUEST)
++ * @param User $user current user
++ * @param int $page current page
+ *
-+ * @return void
++ * @return string localised title of the page
++ *
++ * @see MailboxAction::getTitle()
+ */
+
-+ function handle($args)
++ function getTitle($user, $page)
+ {
-+ parent::handle($args);
-+
-+ $nickname = common_canonical_nickname($this->arg('nickname'));
-+
-+ $user = User::staticGet('nickname', $nickname);
-+
-+ if (!$user) {
-+ $this->client_error(_('No such user.'), 404);
-+ return;
++ if ($page > 1) {
++ $title = sprintf(_("Inbox for %s - page %d"), $user->nickname, $page);
++ } else {
++ $title = sprintf(_("Inbox for %s"), $user->nickname);
+ }
++ return $title;
++ }
+
-+ $cur = common_current_user();
-+
-+ if (!$cur || $cur->id != $user->id) {
-+ $this->client_error(_('Only the user can read their own mailboxes.'),
-+ 403);
-+ return;
-+ }
++ /**
++ * retrieve the messages for this user and this page
++ *
++ * 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()
++ */
+
-+ $profile = $user->getProfile();
++ function getMessages($user, $page)
++ {
++ $message = new Message();
+
-+ if (!$profile) {
-+ $this->server_error(_('User has no profile.'));
-+ return;
-+ }
++ $message->to_profile = $user->id;
+
-+ $page = $this->trimmed('page');
++ $message->orderBy('created DESC, id DESC');
++ $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
+
-+ if (!$page) {
-+ $page = 1;
++ if ($message->find()) {
++ return $message;
++ } else {
++ return null;
+ }
-+
-+ $this->show_page($user, $page);
+ }
+
+ /**
-+ * returns the title of the page
++ * returns the profile we want to show with the message
+ *
-+ * @param User $user current user
-+ * @param int $page current page
++ * For inboxes, we show the sender.
+ *
-+ * @return string localised title of the page
++ * @param Message $message The message to get the profile for
++ *
++ * @return Profile The profile of the message sender
++ *
++ * @see MailboxAction::getMessageProfile()
+ */
-+
-+ function get_title($user, $page)
+hunk ./actions/inbox.php 111
+-require_once(INSTALLDIR.'/lib/mailbox.php');
++ function getMessageProfile($message)
+ {
-+ return '';
++ return $message->getFrom();
+ }
-+
+hunk ./actions/inbox.php 116
+-class InboxAction extends MailboxAction {
+-
+- function get_title($user, $page) {
+- if ($page > 1) {
+- $title = sprintf(_("Inbox for %s - page %d"), $user->nickname, $page);
+- } else {
+- $title = sprintf(_("Inbox for %s"), $user->nickname);
+- }
+- return $title;
+- }
+-
+- function get_messages($user, $page) {
+- $message = new Message();
+- $message->to_profile = $user->id;
+- $message->orderBy('created DESC, id DESC');
+- $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
+ /**
+ * instructions for using this page
+ *
+ * @return string localised instructions for using the page
+ */
-+
-+ function get_instructions()
+hunk ./actions/inbox.php 122
+- if ($message->find()) {
+- return $message;
+- } else {
+- return NULL;
+- }
+- }
+-
+- function get_message_profile($message) {
+- return $message->getFrom();
+- }
+-
+- function get_instructions() {
+- return _('This is your inbox, which lists your incoming private messages.');
+- }
++ function getInstructions()
+ {
-+ return '';
++ return _('This is your inbox, which lists your incoming private messages.');
+ }
+hunk ./actions/outbox.php 2
+-/*
+- * Laconica - a distributed open-source microblogging tool
+- * Copyright (C) 2008, Controlez-Vous, Inc.
++/**
++ * Laconica, the distributed open-source microblogging tool
+hunk ./actions/outbox.php 5
+- * This program is free software: you can redistribute it and/or modify
++ * action handler for message inbox
++ *
++ * PHP version 5
++ *
++ * LICENCE: This program is free software: you can redistribute it and/or modify
+hunk ./actions/outbox.php 21
++ *
++ * @category Message
++ * @package Laconica
++ * @author Evan Prodromou <evan@controlyourself.ca>
++ * @copyright 2008 Control Yourself, Inc.
++ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
++ * @link http://laconi.ca/
++ */
+
-+ /**
-+ * do structured output for the "instructions" are of the page
-+ *
-+ * @return void
-+ */
-+
-+ function show_top()
-+ {
-+ $cur = common_current_user();
-+
-+ common_message_form(null, $cur, null);
++if (!defined('LACONICA')) {
++ exit(1);
++}
+
-+ $this->views_menu();
-+ }
++require_once INSTALLDIR.'/lib/mailbox.php';
+
++/**
++ * action handler for message outbox
++ *
++ * @category Message
++ * @package Laconica
++ * @author Evan Prodromou <evan@controlyourself.ca>
++ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
++ * @link http://laconi.ca/
++ * @see MailboxAction
+hunk ./actions/outbox.php 47
+-if (!defined('LACONICA')) { exit(1); }
++class OutboxAction extends MailboxAction
++{
+ /**
-+ * show a full page of output
++ * returns the title of the page
+ *
-+ * @param User $user The current user
-+ * @param int $page The page the user is on
++ * @param User $user current user
++ * @param int $page current page
++ *
++ * @return string localised title of the page
+ *
-+ * @return void
++ * @see MailboxAction::getTitle()
+ */
+
-+ function show_page($user, $page)
++ function getTitle($user, $page)
+ {
-+ common_show_header($this->get_title($user, $page),
-+ null, null,
-+ array($this, 'show_top'));
-+
-+ $this->show_box($user, $page);
-+
-+ common_show_footer();
++ if ($page > 1) {
++ $title = sprintf(_("Outbox for %s - page %d"), $user->nickname, $page);
++ } else {
++ $title = sprintf(_("Outbox for %s"), $user->nickname);
++ }
++ return $title;
+ }
+
+ /**
-+ * show the messages for a mailbox in list format
++ * retrieve the messages for this user and this page
+ *
-+ * Includes the pagination links (before, after).
++ * Does a query for the right messages
+ *
+ * @param User $user The current user
+ * @param int $page The page the user is on
+ *
-+ * @return void
++ * @return Message data object with stream for messages
++ *
++ * @see MailboxAction::getMessages()
+ */
+
-+ function show_box($user, $page)
++ function getMessages($user, $page)
+ {
-+ $message = $this->get_messages($user, $page);
++ $message = new Message();
+
-+ if ($message) {
++ $message->from_profile = $user->id;
++ $message->orderBy('created DESC, id DESC');
++ $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
+
-+ $cnt = 0;
-+ common_element_start('ul', array('id' => 'messages'));
-+
-+ while ($message->fetch() && $cnt <= MESSAGES_PER_PAGE) {
-+ $cnt++;
-hunk ./lib/mailbox.php 180
-- parent::handle($args);
-+ if ($cnt > MESSAGES_PER_PAGE) {
-+ break;
-+ }
-hunk ./lib/mailbox.php 184
-- $nickname = common_canonical_nickname($this->arg('nickname'));
-- $user = User::staticGet('nickname', $nickname);
-+ $this->show_message($message);
-+ }
-hunk ./lib/mailbox.php 187
-- if (!$user) {
-- $this->client_error(_('No such user.'), 404);
-- return;
-- }
-+ common_element_end('ul');
-hunk ./lib/mailbox.php 189
-- $cur = common_current_user();
--
-- if (!$cur || $cur->id != $user->id) {
-- $this->client_error(_('Only the user can read their own mailboxes.'), 403);
-- return;
-- }
--
-- $profile = $user->getProfile();
-+ common_pagination($page > 1, $cnt > MESSAGES_PER_PAGE,
-+ $page, $this->trimmed('action'),
-+ array('nickname' => $user->nickname));
-hunk ./lib/mailbox.php 193
-- if (!$profile) {
-- $this->server_error(_('User has no profile.'));
-- return;
-- }
-+ $message->free();
-+ unset($message);
++ if ($message->find()) {
++ return $message;
++ } else {
++ return null;
+ }
+ }
-hunk ./lib/mailbox.php 198
-- $page = $this->trimmed('page');
--
-- if (!$page) {
-- $page = 1;
-- }
--
-- $this->show_page($user, $page);
-- }
++
+ /**
+ * returns the profile we want to show with the message
+ *
-+ * For inboxes, we show the sender; for outboxes, the recipient.
++ * For outboxes, we show the recipient.
+ *
+ * @param Message $message The message to get the profile for
+ *
-+ * @return Profile The profile that matches the message
++ * @return Profile The profile of the message recipient
++ *
++ * @see MailboxAction::getMessageProfile()
+ */
-hunk ./lib/mailbox.php 208
-- function get_title($user, $page) {
-- return '';
-- }
-+ function get_message_profile($message)
+hunk ./actions/outbox.php 110
+-require_once(INSTALLDIR.'/lib/mailbox.php');
++ function getMessageProfile($message)
+ {
-+ return null;
++ return $message->getTo();
+ }
-hunk ./lib/mailbox.php 213
-- function get_instructions() {
-- return '';
+hunk ./actions/outbox.php 115
+-class OutboxAction extends MailboxAction {
+-
+- function get_title($user, $page) {
+- if ($page > 1) {
+- $title = sprintf(_("Outbox for %s - page %d"), $user->nickname, $page);
+- } else {
+- $title = sprintf(_("Outbox for %s"), $user->nickname);
+- }
+- return $title;
- }
+-
+- function get_messages($user, $page) {
+- $message = new Message();
+- $message->from_profile = $user->id;
+- $message->orderBy('created DESC, id DESC');
+- $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
+ /**
-+ * show a single message in the list format
-+ *
-+ * @param Message $message the message to show
++ * instructions for using this page
+ *
-+ * @return void
++ * @return string localised instructions for using the page
+ */
-hunk ./lib/mailbox.php 221
-- function show_top() {
-+ function show_message($message)
-+ {
-+ common_element_start('li', array('class' => 'message_single',
-+ 'id' => 'message-' . $message->id));
-hunk ./lib/mailbox.php 226
-- $cur = common_current_user();
--
-- common_message_form(NULL, $cur, NULL);
--
-- $this->views_menu();
-- }
--
-- function show_page($user, $page) {
-+ $profile = $this->get_message_profile($message);
-hunk ./lib/mailbox.php 228
-- common_show_header($this->get_title($user, $page),
-- NULL, NULL,
-- array($this, 'show_top'));
--
-- $this->show_box($user, $page);
--
-- common_show_footer();
-- }
--
-- function show_box($user, $page) {
--
-- $message = $this->get_messages($user, $page);
--
-- if ($message) {
--
-- $cnt = 0;
-- common_element_start('ul', array('id' => 'messages'));
--
-- while ($message->fetch() && $cnt <= MESSAGES_PER_PAGE) {
-- $cnt++;
--
-- if ($cnt > MESSAGES_PER_PAGE) {
-- break;
-- }
--
-- $this->show_message($message);
-- }
-+ $avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
-+ common_element_start('a', array('href' => $profile->profileurl));
-+ common_element('img', array('src' => ($avatar) ?
-+ common_avatar_display_url($avatar) :
-+ common_default_avatar(AVATAR_STREAM_SIZE),
-+ 'class' => 'avatar stream',
-+ 'width' => AVATAR_STREAM_SIZE,
-+ 'height' => AVATAR_STREAM_SIZE,
-+ 'alt' =>
-+ ($profile->fullname) ? $profile->fullname :
-+ $profile->nickname));
-+ common_element_end('a');
-+ common_element('a', array('href' => $profile->profileurl,
-+ 'class' => 'nickname'),
-+ $profile->nickname);
-+ // FIXME: URL, image, video, audio
-+ common_element_start('p', array('class' => 'content'));
-+ common_raw($message->rendered);
-+ common_element_end('p');
-hunk ./lib/mailbox.php 248
-- common_element_end('ul');
--
-- common_pagination($page > 1, $cnt > MESSAGES_PER_PAGE,
-- $page, $this->trimmed('action'),
-- array('nickname' => $user->nickname));
--
-- $message->free();
-- unset($message);
+hunk ./actions/outbox.php 121
+- if ($message->find()) {
+- return $message;
+- } else {
+- return NULL;
- }
- }
-+ $messageurl = common_local_url('showmessage',
-+ array('message' => $message->id));
-hunk ./lib/mailbox.php 251
-- # returns the profile we want to show with the message
-
- function get_message_profile($message) {
-- return NULL;
+- return $message->getTo();
- }
-
-- function show_message($message) {
-+ // XXX: we need to figure this out better. Is this right?
-+ if (strcmp($message->uri, $messageurl) != 0 &&
-+ preg_match('/^http/', $message->uri)) {
-+ $messageurl = $message->uri;
-+ }
-+ common_element_start('p', 'time');
-+ common_element('a', array('class' => 'permalink',
-+ 'href' => $messageurl,
-+ 'title' => common_exact_date($message->created)),
-+ common_date_string($message->created));
-+ if ($message->source) {
-+ common_text(_(' from '));
-+ $this->source_link($message->source);
-+ }
-hunk ./lib/mailbox.php 266
-- common_element_start('li', array('class' => 'message_single',
-- 'id' => 'message-' . $message->id));
-+ common_element_end('p');
-hunk ./lib/mailbox.php 268
-- $profile = $this->get_message_profile($message);
--
-- $avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
-- common_element_start('a', array('href' => $profile->profileurl));
-- common_element('img', array('src' => ($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_STREAM_SIZE),
-- 'class' => 'avatar stream',
-- 'width' => AVATAR_STREAM_SIZE,
-- 'height' => AVATAR_STREAM_SIZE,
-- 'alt' =>
-- ($profile->fullname) ? $profile->fullname :
-- $profile->nickname));
-- common_element_end('a');
-- common_element('a', array('href' => $profile->profileurl,
-- 'class' => 'nickname'),
-- $profile->nickname);
-- # FIXME: URL, image, video, audio
-- common_element_start('p', array('class' => 'content'));
-- common_raw($message->rendered);
-- common_element_end('p');
--
-- $messageurl = common_local_url('showmessage', array('message' => $message->id));
--
-- # XXX: we need to figure this out better. Is this right?
-- if (strcmp($message->uri, $messageurl) != 0 && preg_match('/^http/', $message->uri)) {
-- $messageurl = $message->uri;
-- }
-- common_element_start('p', 'time');
-- common_element('a', array('class' => 'permalink',
-- 'href' => $messageurl,
-- 'title' => common_exact_date($message->created)),
-- common_date_string($message->created));
-- if ($message->source) {
-- common_text(_(' from '));
-- $this->source_link($message->source);
-- }
--
-- common_element_end('p');
--
-- common_element_end('li');
+- function get_instructions() {
+- return _('This is your outbox, which lists private messages you have sent.');
- }
-+ common_element_end('li');
+-
++ function getInstructions()
++ {
++ return _('This is your outbox, which lists private messages you have sent.');
++ }
+hunk ./lib/mailbox.php 22
+- * @category Action
++ * @category Message
+hunk ./lib/mailbox.php 41
+- * @category Action
++ * @category Message
+hunk ./lib/mailbox.php 94
+- $this->show_page($user, $page);
++ $this->showPage($user, $page);
+hunk ./lib/mailbox.php 106
+- function get_title($user, $page)
++ function getTitle($user, $page)
+hunk ./lib/mailbox.php 117
+- function get_instructions()
++ function getInstructions()
+hunk ./lib/mailbox.php 128
+- function show_top()
++ function showTop()
+hunk ./lib/mailbox.php 146
+- function show_page($user, $page)
++ function showPage($user, $page)
+hunk ./lib/mailbox.php 148
+- common_show_header($this->get_title($user, $page),
++ common_show_header($this->getTitle($user, $page),
+hunk ./lib/mailbox.php 150
+- array($this, 'show_top'));
++ array($this, 'showTop'));
+hunk ./lib/mailbox.php 152
+- $this->show_box($user, $page);
++ $this->showBox($user, $page);
+hunk ./lib/mailbox.php 157
++ /**
++ * retrieve the messages appropriate for this mailbox
++ *
++ * 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
++ */
++
++ function getMessages($user, $page)
++ {
++ return null;
+ }
++
+hunk ./lib/mailbox.php 184
+- function show_box($user, $page)
++ function showBox($user, $page)
+hunk ./lib/mailbox.php 186
+- $message = $this->get_messages($user, $page);
++ $message = $this->getMessages($user, $page);
+hunk ./lib/mailbox.php 200
+- $this->show_message($message);
++ $this->showMessage($message);
+hunk ./lib/mailbox.php 224
+- function get_message_profile($message)
++ function getMessageProfile($message)
+hunk ./lib/mailbox.php 237
+- function show_message($message)
++ function showMessage($message)
+hunk ./lib/mailbox.php 242
+- $profile = $this->get_message_profile($message);
++ $profile = $this->getMessageProfile($message);
diff --git a/actions/inbox.php b/actions/inbox.php
index c752e404e..da27814a6 100644
--- a/actions/inbox.php
+++ b/actions/inbox.php
@@ -1,9 +1,12 @@
<?php
-/*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+/**
+ * Laconica, the distributed open-source microblogging tool
*
- * This program is free software: you can redistribute it and/or modify
+ * action handler for message inbox
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
@@ -15,41 +18,109 @@
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Message
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @copyright 2008 Control Yourself, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://laconi.ca/
+ */
+
+if (!defined('LACONICA')) {
+ exit(1);
+}
+
+require_once INSTALLDIR.'/lib/mailbox.php';
+
+/**
+ * action handler for message inbox
+ *
+ * @category Message
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://laconi.ca/
+ * @see MailboxAction
*/
-if (!defined('LACONICA')) { exit(1); }
-
-require_once(INSTALLDIR.'/lib/mailbox.php');
-
-class InboxAction extends MailboxAction {
-
- function get_title($user, $page) {
- if ($page > 1) {
- $title = sprintf(_("Inbox for %s - page %d"), $user->nickname, $page);
- } else {
- $title = sprintf(_("Inbox for %s"), $user->nickname);
- }
- return $title;
- }
-
- function get_messages($user, $page) {
- $message = new Message();
- $message->to_profile = $user->id;
- $message->orderBy('created DESC, id DESC');
- $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
-
- if ($message->find()) {
- return $message;
- } else {
- return NULL;
- }
- }
-
- function get_message_profile($message) {
- return $message->getFrom();
- }
-
- function get_instructions() {
- return _('This is your inbox, which lists your incoming private messages.');
- }
+class InboxAction 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
+ *
+ * @see MailboxAction::getTitle()
+ */
+
+ function getTitle($user, $page)
+ {
+ if ($page > 1) {
+ $title = sprintf(_("Inbox for %s - page %d"), $user->nickname, $page);
+ } else {
+ $title = sprintf(_("Inbox for %s"), $user->nickname);
+ }
+ return $title;
+ }
+
+ /**
+ * retrieve the messages for this user and this page
+ *
+ * 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)
+ {
+ $message = new Message();
+
+ $message->to_profile = $user->id;
+
+ $message->orderBy('created DESC, id DESC');
+ $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
+
+ if ($message->find()) {
+ return $message;
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * returns the profile we want to show with the message
+ *
+ * For inboxes, we show the sender.
+ *
+ * @param Message $message The message to get the profile for
+ *
+ * @return Profile The profile of the message sender
+ *
+ * @see MailboxAction::getMessageProfile()
+ */
+
+ function getMessageProfile($message)
+ {
+ return $message->getFrom();
+ }
+
+ /**
+ * instructions for using this page
+ *
+ * @return string localised instructions for using the page
+ */
+
+ function getInstructions()
+ {
+ return _('This is your inbox, which lists your incoming private messages.');
+ }
}
diff --git a/actions/outbox.php b/actions/outbox.php
index c48d9c206..9fb6dbf9f 100644
--- a/actions/outbox.php
+++ b/actions/outbox.php
@@ -1,9 +1,12 @@
<?php
-/*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+/**
+ * Laconica, the distributed open-source microblogging tool
*
- * This program is free software: you can redistribute it and/or modify
+ * action handler for message inbox
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
@@ -15,42 +18,108 @@
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Message
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @copyright 2008 Control Yourself, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://laconi.ca/
+ */
+
+if (!defined('LACONICA')) {
+ exit(1);
+}
+
+require_once INSTALLDIR.'/lib/mailbox.php';
+
+/**
+ * action handler for message outbox
+ *
+ * @category Message
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://laconi.ca/
+ * @see MailboxAction
*/
-if (!defined('LACONICA')) { exit(1); }
-
-require_once(INSTALLDIR.'/lib/mailbox.php');
-
-class OutboxAction extends MailboxAction {
-
- function get_title($user, $page) {
- if ($page > 1) {
- $title = sprintf(_("Outbox for %s - page %d"), $user->nickname, $page);
- } else {
- $title = sprintf(_("Outbox for %s"), $user->nickname);
- }
- return $title;
- }
-
- function get_messages($user, $page) {
- $message = new Message();
- $message->from_profile = $user->id;
- $message->orderBy('created DESC, id DESC');
- $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
-
- if ($message->find()) {
- return $message;
- } else {
- return NULL;
- }
- }
-
- function get_message_profile($message) {
- return $message->getTo();
- }
-
- function get_instructions() {
- return _('This is your outbox, which lists private messages you have sent.');
- }
-
+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
+ *
+ * @see MailboxAction::getTitle()
+ */
+
+ function getTitle($user, $page)
+ {
+ if ($page > 1) {
+ $title = sprintf(_("Outbox for %s - page %d"), $user->nickname, $page);
+ } else {
+ $title = sprintf(_("Outbox for %s"), $user->nickname);
+ }
+ return $title;
+ }
+
+ /**
+ * retrieve the messages for this user and this page
+ *
+ * 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)
+ {
+ $message = new Message();
+
+ $message->from_profile = $user->id;
+ $message->orderBy('created DESC, id DESC');
+ $message->limit((($page-1)*MESSAGES_PER_PAGE), MESSAGES_PER_PAGE + 1);
+
+ if ($message->find()) {
+ return $message;
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * 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)
+ {
+ return $message->getTo();
+ }
+
+ /**
+ * instructions for using this page
+ *
+ * @return string localised instructions for using the page
+ */
+
+ function getInstructions()
+ {
+ return _('This is your outbox, which lists private messages you have sent.');
+ }
}
diff --git a/lib/mailbox.php b/lib/mailbox.php
index 9039c5fda..bdc360a35 100644
--- a/lib/mailbox.php
+++ b/lib/mailbox.php
@@ -19,7 +19,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
- * @category Action
+ * @category Message
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @copyright 2008 Control Yourself, Inc.
@@ -38,7 +38,7 @@ define('MESSAGES_PER_PAGE', 20);
/**
* common superclass for direct messages inbox and outbox
*
- * @category Action
+ * @category Message
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
@@ -91,7 +91,7 @@ class MailboxAction extends PersonalAction
$page = 1;
}
- $this->show_page($user, $page);
+ $this->showPage($user, $page);
}
/**
@@ -103,7 +103,7 @@ class MailboxAction extends PersonalAction
* @return string localised title of the page
*/
- function get_title($user, $page)
+ function getTitle($user, $page)
{
return '';
}
@@ -114,7 +114,7 @@ class MailboxAction extends PersonalAction
* @return string localised instructions for using the page
*/
- function get_instructions()
+ function getInstructions()
{
return '';
}
@@ -125,7 +125,7 @@ class MailboxAction extends PersonalAction
* @return void
*/
- function show_top()
+ function showTop()
{
$cur = common_current_user();
@@ -143,18 +143,34 @@ class MailboxAction extends PersonalAction
* @return void
*/
- function show_page($user, $page)
+ function showPage($user, $page)
{
- common_show_header($this->get_title($user, $page),
+ common_show_header($this->getTitle($user, $page),
null, null,
- array($this, 'show_top'));
+ array($this, 'showTop'));
- $this->show_box($user, $page);
+ $this->showBox($user, $page);
common_show_footer();
}
/**
+ * retrieve the messages appropriate for this mailbox
+ *
+ * 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
+ */
+
+ function getMessages($user, $page)
+ {
+ return null;
+ }
+
+ /**
* show the messages for a mailbox in list format
*
* Includes the pagination links (before, after).
@@ -165,9 +181,9 @@ class MailboxAction extends PersonalAction
* @return void
*/
- function show_box($user, $page)
+ function showBox($user, $page)
{
- $message = $this->get_messages($user, $page);
+ $message = $this->getMessages($user, $page);
if ($message) {
@@ -181,7 +197,7 @@ class MailboxAction extends PersonalAction
break;
}
- $this->show_message($message);
+ $this->showMessage($message);
}
common_element_end('ul');
@@ -205,7 +221,7 @@ class MailboxAction extends PersonalAction
* @return Profile The profile that matches the message
*/
- function get_message_profile($message)
+ function getMessageProfile($message)
{
return null;
}
@@ -218,12 +234,12 @@ class MailboxAction extends PersonalAction
* @return void
*/
- function show_message($message)
+ function showMessage($message)
{
common_element_start('li', array('class' => 'message_single',
'id' => 'message-' . $message->id));
- $profile = $this->get_message_profile($message);
+ $profile = $this->getMessageProfile($message);
$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
common_element_start('a', array('href' => $profile->profileurl));