X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fshownotice.php;fp=actions%2Fshownotice.php;h=ff39080eeb0cacd4c2cd1185e94cf9c83b27ac17;hb=4774a25040b2efab024ea8b18ff16f58dd1f8792;hp=2ee8c5132881a4a1cc942513ed2762c4cf27565f;hpb=e506b8f7f9b02dc3eccded47275d2798eff5b3ac;p=quix0rs-gnu-social.git diff --git a/actions/shownotice.php b/actions/shownotice.php index 2ee8c51328..ff39080eeb 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -27,13 +27,9 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} +if (!defined('GNUSOCIAL')) { exit(1); } -require_once INSTALLDIR.'/lib/personalgroupnav.php'; require_once INSTALLDIR.'/lib/noticelist.php'; -require_once INSTALLDIR.'/lib/feedlist.php'; /** * Show a single notice @@ -79,27 +75,24 @@ class ShownoticeAction extends Action $this->notice = $this->getNotice(); - $cur = common_current_user(); - - if (!empty($cur)) { - $curProfile = $cur->getProfile(); - } else { - $curProfile = null; - } - - if (!$this->notice->inScope($curProfile)) { + if (!$this->notice->inScope($this->scoped)) { // TRANS: Client exception thrown when trying a view a notice the user has no access to. throw new ClientException(_('Not available.'), 403); } $this->profile = $this->notice->getProfile(); - if (empty($this->profile)) { + if (!$this->profile instanceof Profile) { // TRANS: Server error displayed trying to show a notice without a connected profile. $this->serverError(_('Notice has no profile.'), 500); } - $this->user = User::getKV('id', $this->profile->id); + try { + $this->user = $this->profile->getUser(); + } catch (NoSuchUserException $e) { + // FIXME: deprecate $this->user stuff in extended classes + $this->user = null; + } try { $this->avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE); @@ -214,19 +207,9 @@ class ShownoticeAction extends Action { parent::handle(); - if ($this->boolean('ajax')) { + if (StatusNet::isAjax()) { $this->showAjax(); } else { - if ($this->notice->is_local == Notice::REMOTE) { - try { - $target = $this->notice->getUrl(); - if ($target != $this->selfUrl()) { - common_redirect($target, 301); - } - } catch (InvalidUrlException $e) { - common_debug('ShownoticeAction could not redirect to remote notice with id='.$this->notice->id . '. Falling back to showPage().'); - } - } $this->showPage(); } }