Commit 2d0aec25 authored by Evan Prodromou's avatar Evan Prodromou

bring messaging section (inbox, outbox, mailbox) into PEAR Code Standards compliance

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.

darcs-hash:20081222201304-84dde-3effcce0f9ef25fbe0bfebd505037d9ff37252fa.gz
parent 073ec99c
......@@ -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
<?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.');
}
}
<?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.');
}
}
......@@ -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,17 +143,33 @@ 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
*
......@@ -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));
......
This diff is collapsed.
<?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.');
}
}
<?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);