X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fgalleryaction.php;h=f87043ac063840ced2c0d16fed372e1d2f0e1a45;hb=6e28524647de4ec1c46fe365d1f4f03c04560902;hp=4fdd97d468331b0bbf942ad31fc3297cc2c49031;hpb=c26e08d6a69ad4dee30d05ec63032fac7436f2f5;p=quix0rs-gnu-social.git diff --git a/lib/galleryaction.php b/lib/galleryaction.php index 4fdd97d468..f87043ac06 100644 --- a/lib/galleryaction.php +++ b/lib/galleryaction.php @@ -17,11 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/profilelist.php'; +if (!defined('GNUSOCIAL')) { exit(1); } // 10x8 @@ -40,6 +36,35 @@ class GalleryAction extends ProfileAction parent::handle(); } + protected function doPreparation() + { + // showstream requires a nickname + $nickname_arg = $this->arg('nickname'); + $nickname = common_canonical_nickname($nickname_arg); + + // Permanent redirect on non-canonical nickname + + if ($nickname_arg != $nickname) { + $args = array('nickname' => $nickname); + if ($this->arg('page') && $this->arg('page') != 1) { + $args['page'] = $this->arg['page']; + } + common_redirect(common_local_url($this->getActionName(), $args), 301); + } + $this->user = User::getKV('nickname', $nickname); + + if (!$this->user) { + $group = Local_group::getKV('nickname', $nickname); + if ($group instanceof Local_group) { + common_redirect($group->getProfile()->getUrl()); + } + // TRANS: Client error displayed when calling a profile action without specifying a user. + $this->clientError(_('No such user.'), 404); + } + + $this->target = $this->user->getProfile(); + } + function showContent() { $this->showTagsDropdown();