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-registers-specific-field-value.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-registers-specific-field-value.php
128 lines
1 <?php
2 /**
3 * UserRegistersSpecificFieldValue.
4 * php version 5.6
5 *
6 * @category UserRegistersSpecificFieldValue
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
20 if ( ! class_exists( 'UserRegistersSpecificFieldValue' ) ) :
21
22 /**
23 * UserRegistersSpecificFieldValue
24 *
25 * @category UserRegistersSpecificFieldValue
26 * @package SureTriggers
27 * @author BSF <username@example.com>
28 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
29 * @link https://www.brainstormforce.com/
30 * @since 1.0.0
31 *
32 * @psalm-suppress UndefinedTrait
33 */
34 class UserRegistersSpecificFieldValue {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'BuddyPress';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'user_registers_specific_field_value';
51
52 use SingletonLoader;
53
54
55 /**
56 * Constructor
57 *
58 * @since 1.0.0
59 */
60 public function __construct() {
61 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
62 }
63
64 /**
65 * Register action.
66 *
67 * @param array $triggers trigger data.
68 * @return array
69 */
70 public function register( $triggers ) {
71
72 $triggers[ $this->integration ][ $this->trigger ] = [
73 'label' => __( 'A user registers with specific field', 'suretriggers' ),
74 'action' => $this->trigger,
75 'common_action' => 'bp_core_signup_user',
76 'function' => [ $this, 'trigger_listener' ],
77 'priority' => 10,
78 'accepted_args' => 1,
79 ];
80
81 return $triggers;
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param int $user_id User ID.
88 * @return void
89 */
90 public function trigger_listener( $user_id ) {
91
92 global $wpdb;
93
94 $base_group_id = 1;
95 if ( function_exists( 'bp_xprofile_base_group_id' ) ) {
96 $base_group_id = bp_xprofile_base_group_id();
97 }
98
99 $xprofile_fields = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}bp_xprofile_fields WHERE parent_id = 0 AND group_id = %d ORDER BY field_order ASC", $base_group_id ) );
100
101 if ( ! empty( $xprofile_fields ) ) {
102 foreach ( $xprofile_fields as $xprofile_field ) {
103 $context['bp_field'] = $xprofile_field->id;
104 if ( function_exists( 'xprofile_get_field_data' ) ) {
105 $user_xprofile_field_value = xprofile_get_field_data( $context['bp_field'], $user_id );
106 $context['field_value'] = $user_xprofile_field_value;
107 $context['user'] = WordPress::get_user_context( $user_id );
108 AutomationController::sure_trigger_handle_trigger(
109 [
110 'trigger' => $this->trigger,
111 'context' => $context,
112 ]
113 );
114 }
115 }
116 }
117 }
118 }
119
120 /**
121 * Ignore false positive
122 *
123 * @psalm-suppress UndefinedMethod
124 */
125 UserRegistersSpecificFieldValue::get_instance();
126
127 endif;
128