summaryrefslogtreecommitdiff
path: root/actions/all.php
diff options
context:
space:
mode:
authorCraig Andrews <candrews@integralblue.com>2009-08-11 22:48:35 -0400
committerCraig Andrews <candrews@integralblue.com>2009-08-11 22:48:35 -0400
commitc29892c87573e0575b9a4a13210c562e08411148 (patch)
treee252b98a03cbf004d89e40ec7219234d3273d521 /actions/all.php
parent355effe6315ab7927a54f44fc9ce903085769b5f (diff)
Return a 404 when a page is request that has no notices
Diffstat (limited to 'actions/all.php')
-rw-r--r--actions/all.php30
1 files changed, 21 insertions, 9 deletions
diff --git a/actions/all.php b/actions/all.php
index 5db09a0e6..38aee65b6 100644
--- a/actions/all.php
+++ b/actions/all.php
@@ -25,11 +25,31 @@ require_once INSTALLDIR.'/lib/feedlist.php';
class AllAction extends ProfileAction
{
+ var $notice;
+
function isReadOnly($args)
{
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)
{
parent::handle($args);
@@ -100,15 +120,7 @@ class AllAction extends ProfileAction
function showContent()
{
- $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);
+ $nl = new NoticeList($this->notice, $this);
$cnt = $nl->show();