summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--EVENTS.txt8
-rw-r--r--actions/showgroup.php24
2 files changed, 21 insertions, 11 deletions
diff --git a/EVENTS.txt b/EVENTS.txt
index a40855134..2c3863f22 100644
--- a/EVENTS.txt
+++ b/EVENTS.txt
@@ -363,6 +363,14 @@ EndProfileRemoteSubscribe: After showing the link to remote subscription
- $userprofile: UserProfile widget
- &$profile: the profile being shown
+StartGroupSubscribe: Before showing the link to remote subscription
+- $action: the current action
+- $group: the group being shown
+
+EndGroupSubscribe: After showing the link to remote subscription
+- $action: the current action
+- $group: the group being shown
+
StartProfilePageProfileSection: Starting to show the section of the
profile page with the actual profile data;
hook to prevent showing the profile (e.g.)
diff --git a/actions/showgroup.php b/actions/showgroup.php
index 4e1fcb6c7..a1dc3865b 100644
--- a/actions/showgroup.php
+++ b/actions/showgroup.php
@@ -300,20 +300,22 @@ class ShowgroupAction extends GroupDesignAction
$this->elementStart('div', 'entity_actions');
$this->element('h2', null, _('Group actions'));
$this->elementStart('ul');
- $this->elementStart('li', 'entity_subscribe');
- $cur = common_current_user();
- 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('StartGroupSubscribe', array($this, $this->group))) {
+ $this->elementStart('li', 'entity_subscribe');
+ $cur = common_current_user();
+ 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();
+ }
}
+ $this->elementEnd('li');
+ Event::handle('EndGroupSubscribe', array($this, $this->group));
}
- $this->elementEnd('li');
-
$this->elementEnd('ul');
$this->elementEnd('div');
}