From 8b20399932ea3466a6019295be761249da70c52c Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 7 Feb 2011 10:23:56 -0500 Subject: [PATCH] Add a hook for group action list --- EVENTS.txt | 8 ++++++++ actions/showgroup.php | 35 +++++++++++++++++++---------------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/EVENTS.txt b/EVENTS.txt index 98927127b7..d6d8004674 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -1082,3 +1082,11 @@ EndInterpretCommand: Before running a command - $user: User who issued the command - $result: Resulting command +StartGroupActionsList: Start the list of actions on a group profile page (after , after last ) +- $action: action being executed (for output and params) +- $group: group for the page + diff --git a/actions/showgroup.php b/actions/showgroup.php index f38cd420ac..58d7ec7c6f 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -303,25 +303,28 @@ class ShowgroupAction extends GroupDesignAction // TRANS: Group actions header (h2). Text hidden by default. $this->element('h2', null, _('Group actions')); $this->elementStart('ul'); - $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(); + 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)); } - 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'); + 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');