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

This commit is contained in:
Craig Andrews 2009-08-11 22:09:02 -04:00
parent 7eda7295e4
commit 355effe631
1 changed files with 14 additions and 9 deletions

View File

@ -59,6 +59,7 @@ class PublicAction extends Action
*/
var $page = null;
var $notice;
function isReadOnly($args)
{
@ -84,6 +85,18 @@ class PublicAction extends Action
common_set_returnto($this->selfUrl());
$this->notice = Notice::publicStream(($this->page-1)*NOTICES_PER_PAGE,
NOTICES_PER_PAGE + 1);
if (!$this->notice) {
$this->serverError(_('Could not retrieve public stream.'));
return;
}
if($this->page > 0 && $this->notice->N == 0){
$this->serverError(_('No such page'),$code=404);
}
return true;
}
@ -204,15 +217,7 @@ class PublicAction extends Action
function showContent()
{
$notice = Notice::publicStream(($this->page-1)*NOTICES_PER_PAGE,
NOTICES_PER_PAGE + 1);
if (!$notice) {
$this->serverError(_('Could not retrieve public stream.'));
return;
}
$nl = new NoticeList($notice, $this);
$nl = new NoticeList($this->notice, $this);
$cnt = $nl->show();