From a7a87913befddd7b1ab8e0b4ab0e563e7927950b Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 7 Aug 2009 18:26:12 -0400 Subject: [PATCH] Redirect instead of showing an error when the user visits a non-local notice's url Use consistent logic in display non-local notice links Fixes http://laconi.ca/trac/ticket/1788 --- actions/shownotice.php | 4 ++-- lib/noticelist.php | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/actions/shownotice.php b/actions/shownotice.php index 8f73dc824a..4b179bc72b 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -97,8 +97,8 @@ class ShownoticeAction extends OwnerDesignAction $this->user = User::staticGet('id', $this->profile->id); - if (empty($this->user)) { - $this->serverError(_('Not a local notice'), 500); + if (! $this->notice->is_local) { + common_redirect($this->notice->uri); return false; } diff --git a/lib/noticelist.php b/lib/noticelist.php index a8d5059ca4..5429d943f1 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -350,11 +350,10 @@ class NoticeListItem extends Widget function showNoticeLink() { - $noticeurl = common_local_url('shownotice', + if($this->notice->is_local){ + $noticeurl = common_local_url('shownotice', array('notice' => $this->notice->id)); - // XXX: we need to figure this out better. Is this right? - if (strcmp($this->notice->uri, $noticeurl) != 0 && - preg_match('/^http/', $this->notice->uri)) { + }else{ $noticeurl = $this->notice->uri; } $this->out->elementStart('a', array('rel' => 'bookmark',