diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2009-04-03 14:00:52 -0400 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2009-04-03 14:19:07 -0400 |
commit | 45d520550562691bebd17c3477eda1df049be0be (patch) | |
tree | 1799f4dfd5b6aefcb1d092c8e17a8f138b4daead /actions | |
parent | dfce4c012f118c020305b7ce2f3e4fde26fab7b2 (diff) |
redirect FOAF file on non-canonical nickname
Diffstat (limited to 'actions')
-rw-r--r-- | actions/foaf.php | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/actions/foaf.php b/actions/foaf.php index 3a99835b4..aa78b91c3 100644 --- a/actions/foaf.php +++ b/actions/foaf.php @@ -33,7 +33,24 @@ class FoafAction extends Action function prepare($args) { parent::prepare($args); - $this->nickname = $this->trimmed('nickname'); + + $nickname_arg = $this->arg('nickname'); + + if (empty($nickname_arg)) { + $this->clientError(_('No such user.'), 404); + return false; + } + + $this->nickname = common_canonical_nickname($nickname_arg); + + // Permanent redirect on non-canonical nickname + + if ($nickname_arg != $this->nickname) { + common_redirect(common_local_url('foaf', + array('nickname' => $this->nickname)), + 301); + return false; + } $this->user = User::staticGet('nickname', $this->nickname); |