]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/groupaction.php
Merge branch 'profile' into 'nightly'
[quix0rs-gnu-social.git] / lib / groupaction.php
index 39d48044812326786527945915cdab52afa37a89..2fcec360bcd6f8af0ad1c60422436919e843b9d9 100644 (file)
@@ -40,25 +40,23 @@ define('MEMBERS_PER_SECTION', 27);
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-class GroupAction extends Action
+class GroupAction extends ShowstreamAction
 {
     protected $group;
 
-    protected function prepare(array $args=array())
+    protected function doPreparation()
     {
-        parent::prepare($args);
-
         $nickname_arg = $this->arg('nickname');
         $nickname = common_canonical_nickname($nickname_arg);
 
         // Permanent redirect on non-canonical nickname
 
-        if ($nickname_arg != $nickname) {
+        if ($nickname_arg !== $nickname) {
             $args = array('nickname' => $nickname);
             if ($this->page != 1) {
                 $args['page'] = $this->page;
             }
-            common_redirect(common_local_url('showgroup', $args), 301);
+            common_redirect(common_local_url($this->getActionName(), $args), 301);
         }
 
         if (!$nickname) {
@@ -79,15 +77,16 @@ class GroupAction extends Action
             } else {
                 common_log(LOG_NOTICE, "Couldn't find local group for nickname '$nickname'");
                 // TRANS: Client error displayed if no remote group with a given name was found requesting group page.
-                $this->clientError(_('No such group.'), 404);
+                throw new ClientException(_('No such group.'), 404);
             }
         }
 
         $this->group = User_group::getKV('id', $local->group_id);
+        $this->target = $this->group->getProfile();
 
-        if (!$this->group) {
+        if (!$this->group instanceof User_group) {
             // TRANS: Client error displayed if no local group with a given name was found requesting group page.
-            $this->clientError(_('No such group.'), 404);
+            throw new ClientException(_('No such group.'), 404);
         }
     }
 
@@ -105,18 +104,12 @@ class GroupAction extends Action
     function showSections()
     {
         $this->showMembers();
-        $cur = common_current_user();
-        if ($cur && $cur->isAdmin($this->group)) {
+        if ($this->scoped instanceof Profile && $this->scoped->isAdmin($this->group)) {
             $this->showPending();
             $this->showBlocked();
         }
 
         $this->showAdmins();
-
-        if (!common_config('performance', 'high')) {
-            $cloud = new GroupTagCloudSection($this, $this->group);
-            $cloud->show();
-        }
     }
 
     /**