]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Allow on/off switch for all activity notifications.
authorMarcel van der Boom <marcel@hsdev.com>
Fri, 17 Jun 2011 11:37:16 +0000 (13:37 +0200)
committerMarcel van der Boom <marcel@hsdev.com>
Fri, 17 Jun 2011 11:37:16 +0000 (13:37 +0200)
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

index c5f98f8617f7a1e113835a83f58b22916fe419fe..7ea705fbe22081c4d0def8ca02b0204978e73673 100644 (file)
@@ -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('<em>Started following <a href="%s">%s</a></em>.'),
@@ -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('<em>Stopped following <a href="%s">%s</a></em>.'),
@@ -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('<em>Joined the group &quot;<a href="%s">%s</a>&quot;</em>.'),
                             $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('<em>Left the group &quot;<a href="%s">%s</a>&quot;</em>.'),
                             $group->homeUrl(),
                             $group->getBestName());