]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
bring messaging section (inbox, outbox, mailbox) into PEAR Code Standards compliance
authorEvan Prodromou <evan@prodromou.name>
Mon, 22 Dec 2008 20:13:04 +0000 (15:13 -0500)
committerEvan Prodromou <evan@prodromou.name>
Mon, 22 Dec 2008 20:13:04 +0000 (15:13 -0500)
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

_darcs/inventory
_darcs/patches/20081222201304-84dde-3effcce0f9ef25fbe0bfebd505037d9ff37252fa.gz [new file with mode: 0644]
_darcs/pristine/actions/inbox.php
_darcs/pristine/actions/outbox.php
_darcs/pristine/lib/mailbox.php
_darcs/tentative_pristine
actions/inbox.php
actions/outbox.php
lib/mailbox.php

index 7f21ac58a1072e158c9e40d3e824f58afbea12b1..083e53fd010309a2f524304d8ab018e13cfe0929 100644 (file)
@@ -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 (file)
index 0000000..60517eb
Binary files /dev/null and b/_darcs/patches/20081222201304-84dde-3effcce0f9ef25fbe0bfebd505037d9ff37252fa.gz differ
index c752e404e9dc258b1a313274eaf46331c27d1489..da27814a6e1541715d26e366cea3ef61b4b1ab9c 100644 (file)
@@ -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.
  *
  * 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.');
+    }
 }
index c48d9c2062f7c1c7b5a11291b9158f5013ed7a62..9fb6dbf9f8c1132203e17cd69d070f2dace63cbd 100644 (file)
@@ -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.
  *
  * 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.');
+    }
 }
index 9039c5fdaad25877f010eba636edbc2c0b5bd1d6..bdc360a35325f485a5bc9f7117bb8607dfde2f67 100644 (file)
@@ -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));
index dd4a35214c55fa17281432f8aa23b3bcaf8368a5..5a45154e6d45a9aaf354d7f0f85278275797bfa3 100644 (file)
-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);
index c752e404e9dc258b1a313274eaf46331c27d1489..da27814a6e1541715d26e366cea3ef61b4b1ab9c 100644 (file)
@@ -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.
  *
  * 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.');
+    }
 }
index c48d9c2062f7c1c7b5a11291b9158f5013ed7a62..9fb6dbf9f8c1132203e17cd69d070f2dace63cbd 100644 (file)
@@ -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.
  *
  * 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.');
+    }
 }
index 9039c5fdaad25877f010eba636edbc2c0b5bd1d6..bdc360a35325f485a5bc9f7117bb8607dfde2f67 100644 (file)
@@ -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));