* @link http://status.net
*/
-if (!defined('GNUSOCIAL') && !defined('STATUSNET')) { exit(1); }
+if (!defined('GNUSOCIAL')) { exit(1); }
-class AllAction extends ProfileAction
+class AllAction extends ShowstreamAction
{
var $notice;
- protected function profileActionPreparation()
+ protected function getStream()
{
if ($this->scoped instanceof Profile && $this->scoped->isLocal() && $this->scoped->getUser()->streamModeOnly()) {
$stream = new InboxNoticeStream($this->target, $this->scoped);
$stream = new ThreadingInboxNoticeStream($this->target, $this->scoped);
}
- $this->notice = $stream->getNotices(($this->page-1)*NOTICES_PER_PAGE,
- NOTICES_PER_PAGE + 1);
-
- if ($this->page > 1 && $this->notice->N == 0) {
- // TRANS: Client error when page not found (404).
- $this->clientError(_('No such page.'), 404);
- }
+ return $stream;
}
function title()
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-class RepliesAction extends ManagedAction
+class RepliesAction extends ShowstreamAction
{
var $page = null;
var $notice;
- protected function doPreparation()
+ protected function getStream()
{
- $nickname = common_canonical_nickname($this->arg('nickname'));
-
- $this->user = User::getKV('nickname', $nickname);
-
- if (!$this->user instanceof User) {
- // TRANS: Client error displayed when trying to reply to a non-exsting user.
- $this->clientError(_('No such user.'));
- }
-
- $this->target = $this->user->getProfile();
-
- if (!$this->target instanceof Profile) {
- // TRANS: Error message displayed when referring to a user without a profile.
- $this->serverError(_('User has no profile.'));
- }
-
- $this->page = $this->int('page') ?: 1;
-
- common_set_returnto($this->selfUrl());
-
- $stream = new ReplyNoticeStream($this->target->getID(), $this->scoped);
-
- $this->notice = $stream->getNotices(($this->page-1) * NOTICES_PER_PAGE,
- NOTICES_PER_PAGE + 1);
-
- if ($this->page > 1 && $this->notice->N == 0) {
- // TRANS: Client error when page not found (404)
- $this->clientError(_('No such page.'), 404);
- }
+ return new ReplyNoticeStream($this->target->getID(), $this->scoped);
}
/**
}
protected function profileActionPreparation()
+ {
+ $stream = $this->getStream();
+ $this->notice = $stream->getNotices(($this->page-1) * NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
+
+ if ($this->page > 1 && $this->notice->N == 0) {
+ // TRANS: Client error when page not found (404).
+ $this->clientError(_('No such page.'), 404);
+ }
+ }
+
+ protected function getStream()
{
if (empty($this->tag)) {
$stream = new ProfileNoticeStream($this->target, $this->scoped);
$stream = new TaggedProfileNoticeStream($this->target, $this->tag, $this->scoped);
}
- $this->notice = $stream->getNotices(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
+ return $stream;
}
return true;
}
+ protected function profileActionPreparation()
+ {
+ // Nothing to do by default.
+ }
+
public function getTarget()
{
return $this->target;