]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/groupprofileblock.php
Introduced isCurrentProfileInScope() which shall check if current profile is
[quix0rs-gnu-social.git] / lib / groupprofileblock.php
index b5f23d288e824db6a6d4f3d0162156375008716c..1a15c34bb1c4259ba4810e17ce869b31bdb28fa0 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2011, StatusNet, Inc.
  *
  * Profile block to show for a group
- * 
+ *
  * PHP version 5
  *
  * This program is free software: you can redistribute it and/or modify
@@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
-
 class GroupProfileBlock extends ProfileBlock
 {
     protected $group = null;
@@ -53,12 +52,17 @@ class GroupProfileBlock extends ProfileBlock
     {
         parent::__construct($out);
         $this->group = $group;
+        $this->profile = $this->group->getProfile();
     }
 
-    function avatar()
-    {
-        return ($this->group->homepage_logo) ?
-            $this->group->homepage_logo : User_group::defaultLogo(AVATAR_PROFILE_SIZE);
+    protected function showAvatar(Profile $profile, $size=null)
+    {   
+        $avatar_url = $profile->getGroup()->homepage_logo ?: User_group::defaultLogo($size ?: $this->avatarSize());
+        $this->out->element('img', array('src' => $avatar_url,
+                                         'class' => 'avatar u-photo',
+                                         'width' => $this->avatarSize(),
+                                         'height' => $this->avatarSize(),
+                                         'alt' => $profile->getBestName()));
     }
 
     function name()
@@ -68,7 +72,7 @@ class GroupProfileBlock extends ProfileBlock
 
     function url()
     {
-        return $this->group->mainpage;
+        return $this->group->homeUrl();
     }
 
     function location()
@@ -86,6 +90,11 @@ class GroupProfileBlock extends ProfileBlock
         return $this->group->description;
     }
 
+    function otherProfiles()
+    {
+        return array();
+    }
+
     function showActions()
     {
         $cur = common_current_user();
@@ -118,10 +127,19 @@ class GroupProfileBlock extends ProfileBlock
                                                                           array('nickname' => $this->group->nickname)),
                                                // TRANS: Tooltip for menu item in the group navigation page. Only shown for group administrators.
                                                // TRANS: %s is the nickname of the group.
-                                               'title' => sprintf(_m('TOOLTIP','Edit %s group properties'), $nickname)),
+                                               'title' => sprintf(_m('TOOLTIP','Edit %s group properties'), $this->group->nickname)),
                                     // TRANS: Link text for link on user profile.
                                     _m('BUTTON','Edit'));
                 $this->out->elementEnd('li');
+                $this->out->elementStart('li', 'entity_edit');
+                $this->out->element('a', array('href' => common_local_url('grouplogo',
+                                                                          array('nickname' => $this->group->nickname)),
+                                               // TRANS: Tooltip for menu item in the group navigation page. Only shown for group administrators.
+                                               // TRANS: %s is the nickname of the group.
+                                               'title' => sprintf(_m('TOOLTIP','Add or edit %s logo'), $this->group->nickname)),
+                                    // TRANS: Link text for link on user profile.
+                                    _m('MENU','Logo'));
+                $this->out->elementEnd('li');
             }
             if ($cur && $cur->hasRight(Right::DELETEGROUP)) {
                 $this->out->elementStart('li', 'entity_delete');
@@ -145,4 +163,23 @@ class GroupProfileBlock extends ProfileBlock
         }
         $this->out->elementEnd('div');
     }
+
+    function showName()
+    {
+        parent::showName();
+        $this->showAliases();
+    }
+
+    function showAliases()
+    {
+        $aliases = $this->group->getAliases();
+
+        if (!empty($aliases)) {
+            $this->out->elementStart('ul', 'group_aliases');
+            foreach ($aliases as $alias) {
+                $this->out->element('li', 'group_alias', $alias);
+            }
+            $this->out->elementEnd('ul');
+        }
+    }
 }