Revert "Return a 404 when a page is request that has no notices"

An empty list still exists; we shouldn't return a 404.

This reverts commit c29892c875.
This commit is contained in:
Evan Prodromou 2009-08-14 13:05:29 -07:00
parent 2cf50ea432
commit 1b204fde39
5 changed files with 37 additions and 65 deletions

View File

@ -25,31 +25,11 @@ require_once INSTALLDIR.'/lib/feedlist.php';
class AllAction extends ProfileAction class AllAction extends ProfileAction
{ {
var $notice;
function isReadOnly($args) function isReadOnly($args)
{ {
return true; return true;
} }
function prepare($args)
{
parent::prepare($args);
$cur = common_current_user();
if (!empty($cur) && $cur->id == $this->user->id) {
$this->notice = $this->user->noticeInbox(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
} else {
$this->notice = $this->user->noticesWithFriends(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
}
if($this->page > 1 && $this->notice->N == 0){
$this->serverError(_('No such page'),$code=404);
}
return true;
}
function handle($args) function handle($args)
{ {
parent::handle($args); parent::handle($args);
@ -120,7 +100,15 @@ class AllAction extends ProfileAction
function showContent() function showContent()
{ {
$nl = new NoticeList($this->notice, $this); $cur = common_current_user();
if (!empty($cur) && $cur->id == $this->user->id) {
$notice = $this->user->noticeInbox(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
} else {
$notice = $this->user->noticesWithFriends(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
}
$nl = new NoticeList($notice, $this);
$cnt = $nl->show(); $cnt = $nl->show();

View File

@ -93,7 +93,7 @@ class PublicAction extends Action
return; return;
} }
if($this->page > 1 && $this->notice->N == 0){ if($this->page > 0 && $this->notice->N == 0){
$this->serverError(_('No such page'),$code=404); $this->serverError(_('No such page'),$code=404);
} }

View File

@ -48,7 +48,6 @@ require_once INSTALLDIR.'/lib/feedlist.php';
class RepliesAction extends OwnerDesignAction class RepliesAction extends OwnerDesignAction
{ {
var $page = null; var $page = null;
var $notice;
/** /**
* Prepare the object * Prepare the object
@ -85,13 +84,6 @@ class RepliesAction extends OwnerDesignAction
common_set_returnto($this->selfUrl()); common_set_returnto($this->selfUrl());
$this->notice = $this->user->getReplies(($this->page-1) * NOTICES_PER_PAGE,
NOTICES_PER_PAGE + 1);
if($this->page > 1 && $this->notice->N == 0){
$this->serverError(_('No such page'),$code=404);
}
return true; return true;
} }
@ -167,7 +159,10 @@ class RepliesAction extends OwnerDesignAction
function showContent() function showContent()
{ {
$nl = new NoticeList($this->notice, $this); $notice = $this->user->getReplies(($this->page-1) * NOTICES_PER_PAGE,
NOTICES_PER_PAGE + 1);
$nl = new NoticeList($notice, $this);
$cnt = $nl->show(); $cnt = $nl->show();
if (0 === $cnt) { if (0 === $cnt) {

View File

@ -114,29 +114,6 @@ class ShowfavoritesAction extends OwnerDesignAction
common_set_returnto($this->selfUrl()); common_set_returnto($this->selfUrl());
$cur = common_current_user();
if (!empty($cur) && $cur->id == $this->user->id) {
// Show imported/gateway notices as well as local if
// the user is looking at his own favorites
$this->notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
NOTICES_PER_PAGE + 1, true);
} else {
$this->notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
NOTICES_PER_PAGE + 1, false);
}
if (empty($this->notice)) {
$this->serverError(_('Could not retrieve favorite notices.'));
return;
}
if($this->page > 1 && $this->notice->N == 0){
$this->serverError(_('No such page'),$code=404);
}
return true; return true;
} }
@ -216,7 +193,26 @@ class ShowfavoritesAction extends OwnerDesignAction
function showContent() function showContent()
{ {
$nl = new NoticeList($this->notice, $this); $cur = common_current_user();
if (!empty($cur) && $cur->id == $this->user->id) {
// Show imported/gateway notices as well as local if
// the user is looking at his own favorites
$notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
NOTICES_PER_PAGE + 1, true);
} else {
$notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
NOTICES_PER_PAGE + 1, false);
}
if (empty($notice)) {
$this->serverError(_('Could not retrieve favorite notices.'));
return;
}
$nl = new NoticeList($notice, $this);
$cnt = $nl->show(); $cnt = $nl->show();
if (0 == $cnt) { if (0 == $cnt) {

View File

@ -21,9 +21,6 @@ if (!defined('LACONICA')) { exit(1); }
class TagAction extends Action class TagAction extends Action
{ {
var $notice;
function prepare($args) function prepare($args)
{ {
parent::prepare($args); parent::prepare($args);
@ -45,12 +42,6 @@ class TagAction extends Action
common_set_returnto($this->selfUrl()); common_set_returnto($this->selfUrl());
$this->notice = Notice_tag::getStream($this->tag, (($this->page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
if($this->page > 1 && $this->notice->N == 0){
$this->serverError(_('No such page'),$code=404);
}
return true; return true;
} }
@ -103,7 +94,9 @@ class TagAction extends Action
function showContent() function showContent()
{ {
$nl = new NoticeList($this->notice, $this); $notice = Notice_tag::getStream($this->tag, (($this->page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
$nl = new NoticeList($notice, $this);
$cnt = $nl->show(); $cnt = $nl->show();