From 7f99ce058007509d48055e4dec9e84b2e5187bed Mon Sep 17 00:00:00 2001 From: Marcel van der Boom Date: Fri, 17 Jun 2011 13:37:16 +0200 Subject: [PATCH] Allow on/off switch for all activity notifications. Default behaviour was/is to do all actitivity notifications supported by plugin. Configure is in the config file by passing array with keyed boolean values like: addPlugin('Activity', array( 'StartFollowUser' => true, 'StopFollowUser' => false, 'JoinGroup' => true, 'LeaveGroup' => true, 'StartLike' => true, 'StopLike' => false)); --- ActivityPlugin.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/ActivityPlugin.php b/ActivityPlugin.php index c5f98f8617..7ea705fbe2 100644 --- a/ActivityPlugin.php +++ b/ActivityPlugin.php @@ -49,6 +49,14 @@ class ActivityPlugin extends Plugin { const VERSION = '0.1'; + // Flags to switch off certain activity notices + public $StartFollowUser = true; + public $StopFollowUser = true; + public $JoinGroup = true; + public $LeaveGroup = true; + public $StartLike = true; + public $StopLike = true; + /** * Database schema setup * @@ -91,6 +99,8 @@ class ActivityPlugin extends Plugin function onEndSubscribe($subscriber, $other) { + // Only do this if config is enabled + if(!$this->StartFollowUser) return true; $user = User::staticGet('id', $subscriber->id); if (!empty($user)) { $rendered = sprintf(_m('Started following %s.'), @@ -114,6 +124,8 @@ class ActivityPlugin extends Plugin function onEndUnsubscribe($subscriber, $other) { + // Only do this if config is enabled + if(!$this->StopFollowUser) return true; $user = User::staticGet('id', $subscriber->id); if (!empty($user)) { $rendered = sprintf(_m('Stopped following %s.'), @@ -137,6 +149,8 @@ class ActivityPlugin extends Plugin function onEndFavorNotice($profile, $notice) { + // Only do this if config is enabled + if(!$this->StartLike) return true; $user = User::staticGet('id', $profile->id); if (!empty($user)) { @@ -162,6 +176,8 @@ class ActivityPlugin extends Plugin function onEndDisfavorNotice($profile, $notice) { + // Only do this if config is enabled + if(!$this->StopLike) return true; $user = User::staticGet('id', $profile->id); if (!empty($user)) { @@ -187,6 +203,8 @@ class ActivityPlugin extends Plugin function onEndJoinGroup($group, $user) { + // Only do this if config is enabled + if(!$this->JoinGroup) return true; $rendered = sprintf(_m('Joined the group "%s".'), $group->homeUrl(), $group->getBestName()); @@ -207,6 +225,8 @@ class ActivityPlugin extends Plugin function onEndLeaveGroup($group, $user) { + // Only do this if config is enabled + if(!$this->LeaveGroup) return true; $rendered = sprintf(_m('Left the group "%s".'), $group->homeUrl(), $group->getBestName());