PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
1.1.37 1.1.36 1.1.35 1.1.34 1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / buddypress / triggers / user-posts-activity-group.php
suretriggers / src / Integrations / buddypress / triggers Last commit date
bp-user-joins-public-group.php 3 years ago bp-user-leaves-group.php 3 years ago user-accepts-friend-request.php 3 years ago user-account-activated.php 3 years ago user-connection-request-accepted.php 3 years ago user-creates-group.php 3 years ago user-joins-private-group.php 3 years ago user-member-type-changed.php 3 years ago user-posts-activity-group.php 3 years ago user-posts-activity-stream.php 3 years ago user-registers-specific-field-value.php 3 years ago user-requests-access-private-group.php 3 years ago user-sends-friend-request.php 3 years ago user-updates-avatar.php 3 years ago user-updates-profile-specific-field.php 3 years ago user-updates-profile.php 3 years ago
user-posts-activity-group.php
123 lines
1 <?php
2 /**
3 * UserPostsActivityGroup.
4 * php version 5.6
5 *
6 * @category UserPostsActivityGroup
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\BuddyPress\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use BP_Activity_Activity;
20
21 if ( ! class_exists( 'UserPostsActivityGroup' ) ) :
22
23 /**
24 * UserPostsActivityGroup
25 *
26 * @category UserPostsActivityGroup
27 * @package SureTriggers
28 * @author BSF <username@example.com>
29 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
30 * @link https://www.brainstormforce.com/
31 * @since 1.0.0
32 *
33 * @psalm-suppress UndefinedTrait
34 */
35 class UserPostsActivityGroup {
36
37
38 /**
39 * Integration type.
40 *
41 * @var string
42 */
43 public $integration = 'BuddyPress';
44
45
46 /**
47 * Trigger name.
48 *
49 * @var string
50 */
51 public $trigger = 'user_posts_activity_group';
52
53 use SingletonLoader;
54
55
56 /**
57 * Constructor
58 *
59 * @since 1.0.0
60 */
61 public function __construct() {
62 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
63 }
64
65 /**
66 * Register action.
67 *
68 * @param array $triggers trigger data.
69 * @return array
70 */
71 public function register( $triggers ) {
72
73 $triggers[ $this->integration ][ $this->trigger ] = [
74 'label' => __( 'A user makes a post to the activity stream of a group', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'bp_groups_posted_update',
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 10,
79 'accepted_args' => 4,
80 ];
81
82 return $triggers;
83 }
84
85 /**
86 * Trigger listener
87 *
88 * @param array $content Content.
89 * @param int $user_id User ID.
90 * @param int $group_id Group ID.
91 * @param int $activity_id Activity ID.
92 * @return void
93 */
94 public function trigger_listener( $content, $user_id, $group_id, $activity_id ) {
95
96 if ( function_exists( 'groups_get_group' ) ) {
97 $group = groups_get_group( $group_id );
98 $context['group'] = $group;
99 $context['bp_group'] = $group_id;
100 $context['content'] = $content;
101 $context['user'] = WordPress::get_user_context( $user_id );
102 if ( class_exists( 'BP_Activity_Activity' ) ) {
103 $context['activity'] = new BP_Activity_Activity( $activity_id );
104 }
105 AutomationController::sure_trigger_handle_trigger(
106 [
107 'trigger' => $this->trigger,
108 'context' => $context,
109 ]
110 );
111 }
112 }
113 }
114
115 /**
116 * Ignore false positive
117 *
118 * @psalm-suppress UndefinedMethod
119 */
120 UserPostsActivityGroup::get_instance();
121
122 endif;
123