From bbba1f6e168463b6994460568778e7a7df5941a1 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 14 Mar 2011 16:55:33 -0400 Subject: [PATCH] Show group actions in profile block --- actions/showgroup.php | 117 -------------------------------------- lib/groupprofileblock.php | 36 +++++++++++- 2 files changed, 35 insertions(+), 118 deletions(-) diff --git a/actions/showgroup.php b/actions/showgroup.php index 411940ef9a..b198352cb0 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -180,8 +180,6 @@ class ShowgroupAction extends GroupDesignAction */ function showContent() { - $this->showGroupProfile(); - $this->showGroupActions(); $this->showGroupNotices(); } @@ -205,121 +203,6 @@ class ShowgroupAction extends GroupDesignAction array('nickname' => $this->group->nickname)); } - /** - * Show the group profile - * - * Information about the group - * - * @return void - */ - function showGroupProfile() - { - $this->elementStart('div', array('id' => 'i', - 'class' => 'entity_profile vcard author')); - - $logo = ($this->group->homepage_logo) ? - $this->group->homepage_logo : User_group::defaultLogo(AVATAR_PROFILE_SIZE); - - $this->element('img', array('src' => $logo, - 'class' => 'photo avatar entity_depiction', - 'width' => AVATAR_PROFILE_SIZE, - 'height' => AVATAR_PROFILE_SIZE, - 'alt' => $this->group->nickname)); - - $hasFN = ($this->group->fullname) ? 'entity_nickname nickname url uid' : - 'entity_nickname fn org nickname url uid'; - $this->element('a', array('href' => $this->group->homeUrl(), - 'rel' => 'me', 'class' => $hasFN), - $this->group->nickname); - - if ($this->group->fullname) { - $this->element('div', 'entity_fn fn org', $this->group->fullname); - } - - if ($this->group->location) { - $this->element('div', 'entity_location label', $this->group->location); - } - - if ($this->group->homepage) { - $this->element('a', array('href' => $this->group->homepage, - 'rel' => 'me', - 'class' => 'url entity_url'), - $this->group->homepage); - } - - if ($this->group->description) { - $this->element('div', 'note entity_note', $this->group->description); - } - - if (common_config('group', 'maxaliases') > 0) { - $aliases = $this->group->getAliases(); - - if (!empty($aliases)) { - $this->element('div', - 'aliases entity_aliases', - implode(' ', $aliases)); - } - - if ($this->group->description) { - $this->elementStart('dl', 'entity_note'); - // TRANS: Label for group description or group note (dt). Text hidden by default. - $this->element('dt', null, _('Note')); - $this->element('dd', 'note', $this->group->description); - $this->elementEnd('dl'); - } - - if (common_config('group', 'maxaliases') > 0) { - $aliases = $this->group->getAliases(); - - if (!empty($aliases)) { - $this->elementStart('dl', 'entity_aliases'); - // TRANS: Label for group aliases (dt). Text hidden by default. - $this->element('dt', null, _('Aliases')); - $this->element('dd', 'aliases', implode(' ', $aliases)); - $this->elementEnd('dl'); - } - } - - Event::handle('EndGroupProfileElements', array($this, $this->group)); - } - - $this->elementEnd('div'); - } - - function showGroupActions() - { - $cur = common_current_user(); - $this->elementStart('div', 'entity_actions'); - // TRANS: Group actions header (h2). Text hidden by default. - $this->element('h2', null, _('Group actions')); - $this->elementStart('ul'); - if (Event::handle('StartGroupActionsList', array($this, $this->group))) { - $this->elementStart('li', 'entity_subscribe'); - if (Event::handle('StartGroupSubscribe', array($this, $this->group))) { - if ($cur) { - if ($cur->isMember($this->group)) { - $lf = new LeaveForm($this, $this->group); - $lf->show(); - } else if (!Group_block::isBlocked($this->group, $cur->getProfile())) { - $jf = new JoinForm($this, $this->group); - $jf->show(); - } - } - Event::handle('EndGroupSubscribe', array($this, $this->group)); - } - $this->elementEnd('li'); - if ($cur && $cur->hasRight(Right::DELETEGROUP)) { - $this->elementStart('li', 'entity_delete'); - $df = new DeleteGroupForm($this, $this->group); - $df->show(); - $this->elementEnd('li'); - } - Event::handle('EndGroupActionsList', array($this, $this->group)); - } - $this->elementEnd('ul'); - $this->elementEnd('div'); - } - /** * Get a list of the feeds for this page * diff --git a/lib/groupprofileblock.php b/lib/groupprofileblock.php index 8d2686085f..32526b0458 100644 --- a/lib/groupprofileblock.php +++ b/lib/groupprofileblock.php @@ -58,7 +58,7 @@ class GroupProfileBlock extends ProfileBlock function avatar() { return ($this->group->homepage_logo) ? - $this->group->homepage_logo : User_group::defaultLogo(AVATAR_PROFILE_SIZE); + $this->group->homepage_logo : User_group::defaultLogo(AVATAR_PROFILE_SIZE); } function name() @@ -101,4 +101,38 @@ class GroupProfileBlock extends ProfileBlock { return $this->group->description; } + + function showActions() + { + $cur = common_current_user(); + $this->out->elementStart('div', 'entity_actions'); + // TRANS: Group actions header (h2). Text hidden by default. + $this->out->element('h2', null, _('Group actions')); + $this->out->elementStart('ul'); + if (Event::handle('StartGroupActionsList', array($this, $this->group))) { + $this->out->elementStart('li', 'entity_subscribe'); + if (Event::handle('StartGroupSubscribe', array($this, $this->group))) { + if ($cur) { + if ($cur->isMember($this->group)) { + $lf = new LeaveForm($this->out, $this->group); + $lf->show(); + } else if (!Group_block::isBlocked($this->group, $cur->getProfile())) { + $jf = new JoinForm($this->out, $this->group); + $jf->show(); + } + } + Event::handle('EndGroupSubscribe', array($this, $this->group)); + } + $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'); + } }