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 / buddyboss / Triggers / user-requests-access-private-group.php
suretriggers / src / Integrations / buddyboss / Triggers Last commit date
user-accepts-friendship-request.php 3 years ago user-account-activated.php 2 months ago user-creates-group.php 2 years ago user-gains-follower.php 2 years ago user-joins-private-group.php 1 year ago user-joins-public-group.php 1 year ago user-joins-specific-type-group.php 2 years ago user-leaves-group.php 1 year ago user-leaves-private-group.php 1 year ago user-profile-type-set-to-specific-type.php 3 years ago user-receives-private-message.php 11 months ago user-requests-access-private-group.php 2 years ago user-send-friendship-request.php 1 year ago user-updates-profile.php 2 years ago
user-requests-access-private-group.php
119 lines
1 <?php
2 /**
3 * UserRequestsAccessPrivateGroup.
4 * php version 5.6
5 *
6 * @category UserRequestsAccessPrivateGroup
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\BuddyBoss\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\WordPress\WordPress;
18 use SureTriggers\Traits\SingletonLoader;
19
20 if ( ! class_exists( 'UserRequestsAccessPrivateGroup' ) ) :
21 /**
22 * UserRequestsAccessPrivateGroup
23 *
24 * @category UserRequestsAccessPrivateGroup
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.0.0
30 *
31 * @psalm-suppress UndefinedTrait
32 */
33 class UserRequestsAccessPrivateGroup {
34
35 use SingletonLoader;
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'BuddyBoss';
43
44 /**
45 * Trigger name.
46 *
47 * @var string
48 */
49 public $trigger = 'bb_user_requests_access_private_group';
50
51 use SingletonLoader;
52
53 /**
54 * Constructor
55 *
56 * @since 1.0.0
57 */
58 public function __construct() {
59 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
60 }
61
62 /**
63 * Register action.
64 *
65 * @param array $triggers triggers.
66 *
67 * @return array
68 */
69 public function register( $triggers ) {
70 $triggers[ $this->integration ][ $this->trigger ] = [
71 'label' => __( 'User Requests Access Private Group', 'suretriggers' ),
72 'action' => $this->trigger,
73 'common_action' => 'groups_membership_requested',
74 'function' => [ $this, 'trigger_listener' ],
75 'priority' => 10,
76 'accepted_args' => 4,
77 ];
78
79 return $triggers;
80 }
81
82 /**
83 * Trigger listener
84 *
85 * @param int $user_id ID of the user requesting membership.
86 * @param array $admins Array of group admins.
87 * @param int $group_id ID of the group being requested to.
88 * @param int $request_id ID of the request.
89 *
90 * @return void
91 */
92 public function trigger_listener( $user_id, $admins, $group_id, $request_id ) {
93
94 if ( ! function_exists( 'groups_get_group' ) ) {
95 return;
96 }
97
98 $context = WordPress::get_user_context( $user_id );
99 $avatar = get_avatar_url( $user_id );
100 $group = groups_get_group( $group_id );
101
102 $context['avatar_url'] = ( $avatar ) ? $avatar : '';
103 $context['group_id'] = ( property_exists( $group, 'id' ) ) ? (int) $group->id : '';
104 $context['group_name'] = ( property_exists( $group, 'name' ) ) ? $group->name : '';
105 $context['group_description'] = ( property_exists( $group, 'description' ) ) ? $group->description : '';
106
107 AutomationController::sure_trigger_handle_trigger(
108 [
109 'trigger' => $this->trigger,
110 'wp_user_id' => $user_id,
111 'context' => $context,
112 ]
113 );
114 }
115 }
116
117 UserRequestsAccessPrivateGroup::get_instance();
118 endif;
119