From 14b46e2183f10359cc53d597913a878f53e23719 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Sun, 9 Aug 2009 19:12:59 +0800 Subject: Added configuration option to only allow OpenID logins. If $config['site']['openidonly'] is set to true: * the Login/Register pages will be removed from the navigation; * directly accesses to the Login/Register pages will redirect to the OpenID login page; * most links to the Login/Register pages will link to the OpenID login page instead. The user will still need to set a password to access the API and RSS feeds. --- actions/public.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'actions/public.php') diff --git a/actions/public.php b/actions/public.php index d0317ac70..dd128925b 100644 --- a/actions/public.php +++ b/actions/public.php @@ -183,7 +183,8 @@ class PublicAction extends Action } else { if (! (common_config('site','closed') || common_config('site','inviteonly'))) { - $message .= _('Why not [register an account](%%action.register%%) and be the first to post!'); + $message .= sprintf(_('Why not [register an account](%%%%action.%s%%%%) and be the first to post!'), + (!common_config('site','openidonly')) ? 'register' : 'openidlogin'); } } @@ -238,9 +239,11 @@ class PublicAction extends Action function showAnonymousMessage() { if (! (common_config('site','closed') || common_config('site','inviteonly'))) { - $m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . - 'based on the Free Software [Laconica](http://laconi.ca/) tool. ' . - '[Join now](%%action.register%%) to share notices about yourself with friends, family, and colleagues! ([Read more](%%doc.help%%))'); + $m = sprintf(_('This is %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . + 'based on the Free Software [Laconica](http://laconi.ca/) tool. ' . + '[Join now](%%%%action.%s%%%%) to share notices about yourself with friends, family, and colleagues! ' . + '([Read more](%%%%doc.help%%%%))'), + (!common_config('site','openidonly')) ? 'register' : 'openidlogin'); } else { $m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . 'based on the Free Software [Laconica](http://laconi.ca/) tool.'); -- cgit v1.2.3-54-g00ecf From 355effe6315ab7927a54f44fc9ce903085769b5f Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 11 Aug 2009 22:09:02 -0400 Subject: Return a 404 when a page is request that has no notices --- actions/public.php | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'actions/public.php') diff --git a/actions/public.php b/actions/public.php index dd128925b..ca352faf8 100644 --- a/actions/public.php +++ b/actions/public.php @@ -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(); -- cgit v1.2.3-54-g00ecf From c29892c87573e0575b9a4a13210c562e08411148 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 11 Aug 2009 22:48:35 -0400 Subject: Return a 404 when a page is request that has no notices --- actions/all.php | 30 +++++++++++++++++++++--------- actions/public.php | 2 +- actions/replies.php | 13 +++++++++---- actions/showfavorites.php | 44 ++++++++++++++++++++++++-------------------- actions/tag.php | 13 ++++++++++--- 5 files changed, 65 insertions(+), 37 deletions(-) (limited to 'actions/public.php') 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(); diff --git a/actions/public.php b/actions/public.php index ca352faf8..2cf2e96e6 100644 --- a/actions/public.php +++ b/actions/public.php @@ -93,7 +93,7 @@ class PublicAction extends Action return; } - if($this->page > 0 && $this->notice->N == 0){ + if($this->page > 1 && $this->notice->N == 0){ $this->serverError(_('No such page'),$code=404); } diff --git a/actions/replies.php b/actions/replies.php index f14383d33..fcfc3a272 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -48,6 +48,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; class RepliesAction extends OwnerDesignAction { var $page = null; + var $notice; /** * Prepare the object @@ -84,6 +85,13 @@ class RepliesAction extends OwnerDesignAction 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; } @@ -159,10 +167,7 @@ class RepliesAction extends OwnerDesignAction function showContent() { - $notice = $this->user->getReplies(($this->page-1) * NOTICES_PER_PAGE, - NOTICES_PER_PAGE + 1); - - $nl = new NoticeList($notice, $this); + $nl = new NoticeList($this->notice, $this); $cnt = $nl->show(); if (0 === $cnt) { diff --git a/actions/showfavorites.php b/actions/showfavorites.php index 9f549baf2..91287cc96 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -114,6 +114,29 @@ class ShowfavoritesAction extends OwnerDesignAction 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; } @@ -193,26 +216,7 @@ class ShowfavoritesAction extends OwnerDesignAction function showContent() { - $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); + $nl = new NoticeList($this->notice, $this); $cnt = $nl->show(); if (0 == $cnt) { diff --git a/actions/tag.php b/actions/tag.php index 020399d9e..771eb2861 100644 --- a/actions/tag.php +++ b/actions/tag.php @@ -21,6 +21,9 @@ if (!defined('LACONICA')) { exit(1); } class TagAction extends Action { + + var $notice; + function prepare($args) { parent::prepare($args); @@ -42,6 +45,12 @@ class TagAction extends Action 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; } @@ -94,9 +103,7 @@ class TagAction extends Action function showContent() { - $notice = Notice_tag::getStream($this->tag, (($this->page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1); - - $nl = new NoticeList($notice, $this); + $nl = new NoticeList($this->notice, $this); $cnt = $nl->show(); -- cgit v1.2.3-54-g00ecf From 1b204fde39271acd38bb8f9dd16734f15c68138a Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 14 Aug 2009 13:05:29 -0700 Subject: 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 c29892c87573e0575b9a4a13210c562e08411148. --- actions/all.php | 30 +++++++++--------------------- actions/public.php | 2 +- actions/replies.php | 13 ++++--------- actions/showfavorites.php | 44 ++++++++++++++++++++------------------------ actions/tag.php | 13 +++---------- 5 files changed, 37 insertions(+), 65 deletions(-) (limited to 'actions/public.php') diff --git a/actions/all.php b/actions/all.php index 38aee65b6..5db09a0e6 100644 --- a/actions/all.php +++ b/actions/all.php @@ -25,31 +25,11 @@ 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); @@ -120,7 +100,15 @@ class AllAction extends ProfileAction 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(); diff --git a/actions/public.php b/actions/public.php index 2cf2e96e6..ca352faf8 100644 --- a/actions/public.php +++ b/actions/public.php @@ -93,7 +93,7 @@ class PublicAction extends Action return; } - if($this->page > 1 && $this->notice->N == 0){ + if($this->page > 0 && $this->notice->N == 0){ $this->serverError(_('No such page'),$code=404); } diff --git a/actions/replies.php b/actions/replies.php index fcfc3a272..f14383d33 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -48,7 +48,6 @@ require_once INSTALLDIR.'/lib/feedlist.php'; class RepliesAction extends OwnerDesignAction { var $page = null; - var $notice; /** * Prepare the object @@ -85,13 +84,6 @@ class RepliesAction extends OwnerDesignAction 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; } @@ -167,7 +159,10 @@ class RepliesAction extends OwnerDesignAction 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(); if (0 === $cnt) { diff --git a/actions/showfavorites.php b/actions/showfavorites.php index 91287cc96..9f549baf2 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -114,29 +114,6 @@ class ShowfavoritesAction extends OwnerDesignAction 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; } @@ -216,7 +193,26 @@ class ShowfavoritesAction extends OwnerDesignAction 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(); if (0 == $cnt) { diff --git a/actions/tag.php b/actions/tag.php index 771eb2861..020399d9e 100644 --- a/actions/tag.php +++ b/actions/tag.php @@ -21,9 +21,6 @@ if (!defined('LACONICA')) { exit(1); } class TagAction extends Action { - - var $notice; - function prepare($args) { parent::prepare($args); @@ -45,12 +42,6 @@ class TagAction extends Action 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; } @@ -103,7 +94,9 @@ class TagAction extends Action 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(); -- cgit v1.2.3-54-g00ecf From 6c597eabecf2368224938a136d7ac588702bbfd7 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 14 Aug 2009 13:05:57 -0700 Subject: Revert "Return a 404 when a page is request that has no notices" An empty list still exists; we should not return a 404 for empty lists. This reverts commit 355effe6315ab7927a54f44fc9ce903085769b5f. --- actions/public.php | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) (limited to 'actions/public.php') diff --git a/actions/public.php b/actions/public.php index ca352faf8..dd128925b 100644 --- a/actions/public.php +++ b/actions/public.php @@ -59,7 +59,6 @@ class PublicAction extends Action */ var $page = null; - var $notice; function isReadOnly($args) { @@ -85,18 +84,6 @@ 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; } @@ -217,7 +204,15 @@ class PublicAction extends Action function showContent() { - $nl = new NoticeList($this->notice, $this); + $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); $cnt = $nl->show(); -- cgit v1.2.3-54-g00ecf From e0815de960cd283e7eea7e242ce4bf5a56be66fc Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Sun, 16 Aug 2009 10:37:04 -0400 Subject: Revert "Revert "Return a 404 when a page is request that has no notices"" This reverts commit 6c597eabecf2368224938a136d7ac588702bbfd7. --- actions/public.php | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'actions/public.php') diff --git a/actions/public.php b/actions/public.php index dd128925b..ca352faf8 100644 --- a/actions/public.php +++ b/actions/public.php @@ -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(); -- cgit v1.2.3-54-g00ecf From b936a5166d825239b269bf9ee9ea5627f452a188 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Sun, 16 Aug 2009 10:37:15 -0400 Subject: Revert "Revert "Return a 404 when a page is request that has no notices"" This reverts commit 1b204fde39271acd38bb8f9dd16734f15c68138a. --- actions/all.php | 30 +++++++++++++++++++++--------- actions/public.php | 2 +- actions/replies.php | 13 +++++++++---- actions/showfavorites.php | 44 ++++++++++++++++++++++++-------------------- actions/tag.php | 13 ++++++++++--- 5 files changed, 65 insertions(+), 37 deletions(-) (limited to 'actions/public.php') 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(); diff --git a/actions/public.php b/actions/public.php index ca352faf8..2cf2e96e6 100644 --- a/actions/public.php +++ b/actions/public.php @@ -93,7 +93,7 @@ class PublicAction extends Action return; } - if($this->page > 0 && $this->notice->N == 0){ + if($this->page > 1 && $this->notice->N == 0){ $this->serverError(_('No such page'),$code=404); } diff --git a/actions/replies.php b/actions/replies.php index f14383d33..fcfc3a272 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -48,6 +48,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; class RepliesAction extends OwnerDesignAction { var $page = null; + var $notice; /** * Prepare the object @@ -84,6 +85,13 @@ class RepliesAction extends OwnerDesignAction 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; } @@ -159,10 +167,7 @@ class RepliesAction extends OwnerDesignAction function showContent() { - $notice = $this->user->getReplies(($this->page-1) * NOTICES_PER_PAGE, - NOTICES_PER_PAGE + 1); - - $nl = new NoticeList($notice, $this); + $nl = new NoticeList($this->notice, $this); $cnt = $nl->show(); if (0 === $cnt) { diff --git a/actions/showfavorites.php b/actions/showfavorites.php index 9f549baf2..91287cc96 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -114,6 +114,29 @@ class ShowfavoritesAction extends OwnerDesignAction 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; } @@ -193,26 +216,7 @@ class ShowfavoritesAction extends OwnerDesignAction function showContent() { - $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); + $nl = new NoticeList($this->notice, $this); $cnt = $nl->show(); if (0 == $cnt) { diff --git a/actions/tag.php b/actions/tag.php index 020399d9e..771eb2861 100644 --- a/actions/tag.php +++ b/actions/tag.php @@ -21,6 +21,9 @@ if (!defined('LACONICA')) { exit(1); } class TagAction extends Action { + + var $notice; + function prepare($args) { parent::prepare($args); @@ -42,6 +45,12 @@ class TagAction extends Action 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; } @@ -94,9 +103,7 @@ class TagAction extends Action function showContent() { - $notice = Notice_tag::getStream($this->tag, (($this->page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1); - - $nl = new NoticeList($notice, $this); + $nl = new NoticeList($this->notice, $this); $cnt = $nl->show(); -- cgit v1.2.3-54-g00ecf