From 06fb1124f5cd328bc0b3028a0cc0499b1c916653 Mon Sep 17 00:00:00 2001
From: Sarven Capadisli <csarven@status.net>
Date: Wed, 3 Mar 2010 11:14:39 -0500
Subject: [PATCH] Added event hooks for start and end of subscriptions mini
 list

---
 EVENTS.txt            |  6 ++++++
 lib/profileaction.php | 35 +++++++++++++++++++----------------
 2 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/EVENTS.txt b/EVENTS.txt
index bb4936b354..a40855134e 100644
--- a/EVENTS.txt
+++ b/EVENTS.txt
@@ -776,6 +776,12 @@ StartShowAllContent: before showing the all (you and friends) content
 EndShowAllContent: after showing the all (you and friends) content
 - $action: the current action
 
+StartShowSubscriptionsMiniList: at the start of subscriptions mini list
+- $action: the current action
+
+EndShowSubscriptionsMiniList: at the end of subscriptions mini list
+- $action: the current action
+
 StartDeleteUserForm: starting the data in the form for deleting a user
 - $action: action being shown
 - $user: user being deleted
diff --git a/lib/profileaction.php b/lib/profileaction.php
index 2d4d232655..2bda8b07c9 100644
--- a/lib/profileaction.php
+++ b/lib/profileaction.php
@@ -106,27 +106,30 @@ class ProfileAction extends OwnerDesignAction
         $this->elementStart('div', array('id' => 'entity_subscriptions',
                                          'class' => 'section'));
 
-        $this->element('h2', null, _('Subscriptions'));
+        if (Event::handle('StartShowSubscriptionsMiniList', array($this))) {
+            $this->element('h2', null, _('Subscriptions'));
 
-        $cnt = 0;
+            $cnt = 0;
 
-        if (!empty($profile)) {
-            $pml = new ProfileMiniList($profile, $this);
-            $cnt = $pml->show();
-            if ($cnt == 0) {
-                $this->element('p', null, _('(None)'));
+            if (!empty($profile)) {
+                $pml = new ProfileMiniList($profile, $this);
+                $cnt = $pml->show();
+                if ($cnt == 0) {
+                    $this->element('p', null, _('(None)'));
+                }
             }
-        }
 
-        if ($cnt > PROFILES_PER_MINILIST) {
-            $this->elementStart('p');
-            $this->element('a', array('href' => common_local_url('subscriptions',
-                                                                 array('nickname' => $this->profile->nickname)),
-                                      'class' => 'more'),
-                           _('All subscriptions'));
-            $this->elementEnd('p');
-        }
+            if ($cnt > PROFILES_PER_MINILIST) {
+                $this->elementStart('p');
+                $this->element('a', array('href' => common_local_url('subscriptions',
+                                                                     array('nickname' => $this->profile->nickname)),
+                                          'class' => 'more'),
+                               _('All subscriptions'));
+                $this->elementEnd('p');
+            }
 
+            Event::handle('EndShowSubscriptionsMiniList', array($this));
+        }
         $this->elementEnd('div');
     }
 
-- 
2.39.5