Resolve Group Aliases in showgroup.php

For Example, let's say 'alias' was an alias for the group 'group'.
Previously, if you went to '/group/group' it'd work, but '/group/alias' it'd say "No Such Group".
This was untrue.

Now it checks aliases when it can't find a group with a given name.
If it finds one it redirects you to the original group.
This commit is contained in:
Christopher Vollick 2009-08-19 09:22:06 -04:00
parent d647483a27
commit b4c3453923
1 changed files with 12 additions and 2 deletions

View File

@ -130,8 +130,18 @@ class ShowgroupAction extends GroupDesignAction
$this->group = User_group::staticGet('nickname', $nickname);
if (!$this->group) {
$this->clientError(_('No such group'), 404);
return false;
$alias = Group_alias::staticGet('alias', $nickname);
if ($alias) {
$args = array('id' => $alias->group_id);
if ($this->page != 1) {
$args['page'] = $this->page;
}
common_redirect(common_local_url('groupbyid', $args), 301);
return false;
} else {
$this->clientError(_('No such group'), 404);
return false;
}
}
common_set_returnto($this->selfUrl());