some more extensions of ShowstreamAction broke in last commit

This commit is contained in:
Mikael Nordfeldth 2015-06-05 21:49:34 +02:00
parent 9376a6d75a
commit c26e08d6a6
4 changed files with 24 additions and 42 deletions

View File

@ -35,13 +35,13 @@
* @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);
@ -49,13 +49,7 @@ class AllAction extends ProfileAction
$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()

View File

@ -38,42 +38,14 @@ if (!defined('GNUSOCIAL')) { exit(1); }
* @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);
}
/**

View File

@ -79,6 +79,17 @@ class ShowstreamAction extends ProfileAction
}
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);
@ -86,7 +97,7 @@ class ShowstreamAction extends ProfileAction
$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;
}

View File

@ -71,6 +71,11 @@ abstract class ProfileAction extends ManagedAction
return true;
}
protected function profileActionPreparation()
{
// Nothing to do by default.
}
public function getTarget()
{
return $this->target;