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
, before first - )
+- $action: action being executed (for output and params)
+- $group: group for the page
+
+EndGroupActionsList: End the list of actions on a group profile page (before
, 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');