]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Resolve Group Aliases in showgroup.php
authorChristopher Vollick <psycotica0@gmail.com>
Wed, 19 Aug 2009 13:22:06 +0000 (09:22 -0400)
committerChristopher Vollick <psycotica0@gmail.com>
Wed, 19 Aug 2009 13:37:27 +0000 (09:37 -0400)
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.

actions/showgroup.php

index 4d8ba5fa8da498497710fa1fc0866b573b62d1ed..b0cc1dbc7df61ab4d720f49debc39c4a83fdc119 100644 (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());