X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fgroupprofileblock.php;h=1a15c34bb1c4259ba4810e17ce869b31bdb28fa0;hb=1ee79dc3791162f7ef9b92befaef597328266ce1;hp=819c0fbdcc57ad29f04cd61cb3c05a89d0671daf;hpb=c1a27922ba738f71b100a520e5db6f32985a307b;p=quix0rs-gnu-social.git diff --git a/lib/groupprofileblock.php b/lib/groupprofileblock.php index 819c0fbdcc..1a15c34bb1 100644 --- a/lib/groupprofileblock.php +++ b/lib/groupprofileblock.php @@ -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(); @@ -112,15 +121,65 @@ class GroupProfileBlock extends ProfileBlock Event::handle('EndGroupSubscribe', array($this, $this->group)); } $this->out->elementEnd('li'); + if ($cur && $cur->isAdmin($this->group)) { + $this->out->elementStart('li', 'entity_edit'); + $this->out->element('a', array('href' => common_local_url('editgroup', + 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'), $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'); $df = new DeleteGroupForm($this->out, $this->group); $df->show(); $this->out->elementEnd('li'); } + Event::handle('EndGroupActionsList', array($this, $this->group)); } $this->out->elementEnd('ul'); $this->out->elementEnd('div'); } + + function show() + { + $this->out->elementStart('div', 'profile_block group_profile_block section'); + if (Event::handle('StartShowGroupProfileBlock', array($this->out, $this->group))) { + parent::show(); + Event::handle('EndShowGroupProfileBlock', array($this->out, $this->group)); + } + $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'); + } + } }