PluginProbe
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI / 7.9.8
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI v7.9.8
8.0.4 8.0.3 8.0.1 8.0.2 8.0.0 7.9.9.7 7.9.9.6 7.9.9.5 7.9.9.4 7.9.9.3 7.9.9.2 7.9.9.1 7.9.9 7.9.8 7.9.7 7.9.6 7.9.5 7.9.4 7.9.3 7.9.2 7.9.1 7.9.0 7.8.9 7.8.8 7.8.7 All 46 releases
gamipress / integrations / wp-user-manager / includes / triggers.php

triggers.php in GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI 7.9.8, at integrations/wp-user-manager/includes/triggers.php

255 lines 10.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Triggers
4 *
5 * @package GamiPress\WP_User_Manager\Triggers
6 * @since 1.0.0
7 */
8
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 /**
13 * Register plugin activity triggers
14 *
15 * @param array $triggers
16 * @return mixed
17 */
18 function gamipress_wp_user_manager_activity_triggers( $triggers ) {
19
20 // WP User Manager
21 $triggers[__( 'WP User Manager', 'gamipress' )] = array(
22 'gamipress_wp_user_manager_login' => __( 'Log in to the website', 'gamipress' ),
23 'gamipress_wp_user_manager_register' => __( 'Register through a form', 'gamipress' ),
24 'gamipress_wp_user_manager_register_specific_form' => __( 'Register through a specific form', 'gamipress' ),
25 'gamipress_wp_user_manager_user_approved' => __( 'Get account approved', 'gamipress' ),
26 'gamipress_wp_user_manager_user_rejected' => __( 'Get account rejected', 'gamipress' ),
27 'gamipress_wp_user_manager_user_verified' => __( 'Verify email address', 'gamipress' ),
28 'gamipress_wp_user_manager_change_avatar' => __( 'Change profile avatar', 'gamipress' ),
29 'gamipress_wp_user_manager_remove_avatar' => __( 'Remove profile avatar', 'gamipress' ),
30 'gamipress_wp_user_manager_change_cover' => __( 'Change profile cover', 'gamipress' ),
31 'gamipress_wp_user_manager_remove_cover' => __( 'Remove profile cover', 'gamipress' ),
32 'gamipress_wp_user_manager_change_description' => __( 'Change profile description', 'gamipress' ),
33 // Groups
34 'gamipress_wp_user_manager_join_group' => __( 'Join any group', 'gamipress' ),
35 'gamipress_wp_user_manager_join_specific_group' => __( 'Join a specific group', 'gamipress' ),
36 'gamipress_wp_user_manager_leave_group' => __( 'Leave any group', 'gamipress' ),
37 'gamipress_wp_user_manager_leave_specific_group' => __( 'Leave a specific group', 'gamipress' ),
38 'gamipress_wp_user_manager_accepted_group' => __( 'Get accepted in any group', 'gamipress' ),
39 'gamipress_wp_user_manager_accepted_specific_group' => __( 'Get accepted in a specific group', 'gamipress' ),
40 'gamipress_wp_user_manager_rejected_group' => __( 'Get rejected from any group', 'gamipress' ),
41 'gamipress_wp_user_manager_rejected_specific_group' => __( 'Get rejected from a specific group', 'gamipress' ),
42 );
43
44 return $triggers;
45
46 }
47 add_filter( 'gamipress_activity_triggers', 'gamipress_wp_user_manager_activity_triggers' );
48
49 /**
50 * Register plugin specific activity triggers
51 *
52 * @since 1.0.0
53 *
54 * @param array $specific_activity_triggers
55 * @return array
56 */
57 function gamipress_wp_user_manager_specific_activity_triggers( $specific_activity_triggers ) {
58
59 $specific_activity_triggers['gamipress_wp_user_manager_register_specific_form'] = array( 'wp_user_manager_form' );
60 // Groups
61 $specific_activity_triggers['gamipress_wp_user_manager_join_specific_group'] = array( 'wpum_group' );
62 $specific_activity_triggers['gamipress_wp_user_manager_leave_specific_group'] = array( 'wpum_group' );
63 $specific_activity_triggers['gamipress_wp_user_manager_accepted_specific_group'] = array( 'wpum_group' );
64 $specific_activity_triggers['gamipress_wp_user_manager_rejected_specific_group'] = array( 'wpum_group' );
65
66 return $specific_activity_triggers;
67 }
68 add_filter( 'gamipress_specific_activity_triggers', 'gamipress_wp_user_manager_specific_activity_triggers' );
69
70 /**
71 * Register plugin specific activity triggers labels
72 *
73 * @since 1.0.0
74 *
75 * @param array $specific_activity_trigger_labels
76 * @return array
77 */
78 function gamipress_wp_user_manager_specific_activity_trigger_label( $specific_activity_trigger_labels ) {
79
80 $specific_activity_trigger_labels['gamipress_wp_user_manager_register_specific_form'] = __( 'Register through %s form', 'gamipress' );
81 // Groups
82 $specific_activity_trigger_labels['gamipress_wp_user_manager_join_specific_group'] = __( 'Join %s group', 'gamipress' );
83 $specific_activity_trigger_labels['gamipress_wp_user_manager_leave_specific_group'] = __( 'Leave %s group', 'gamipress' );
84 $specific_activity_trigger_labels['gamipress_wp_user_manager_accepted_specific_group'] = __( 'Get accepted in %s group', 'gamipress' );
85 $specific_activity_trigger_labels['gamipress_wp_user_manager_rejected_specific_group'] = __( 'Get rejected from %s group', 'gamipress' );
86
87 return $specific_activity_trigger_labels;
88 }
89 add_filter( 'gamipress_specific_activity_trigger_label', 'gamipress_wp_user_manager_specific_activity_trigger_label' );
90
91 /**
92 * Get plugin specific activity trigger post title
93 *
94 * @since 1.0.0
95 *
96 * @param string $post_title
97 * @param integer $specific_id
98 * @param string $trigger_type
99 * @return string
100 */
101 function gamipress_wp_user_manager_specific_activity_trigger_post_title( $post_title, $specific_id, $trigger_type ) {
102
103 global $wpdb;
104
105 switch( $trigger_type ) {
106 case 'gamipress_wp_user_manager_register_specific_form':
107 if( absint( $specific_id ) !== 0 ) {
108 $post_title = $wpdb->get_var( $wpdb->prepare(
109 "SELECT name FROM {$wpdb->prefix}wpum_registration_forms WHERE id = %s",
110 $specific_id
111 ) );
112 }
113 break;
114 }
115
116 return $post_title;
117
118 }
119 add_filter( 'gamipress_specific_activity_trigger_post_title', 'gamipress_wp_user_manager_specific_activity_trigger_post_title', 10, 3 );
120
121 /**
122 * Get plugin specific activity trigger permalink
123 *
124 * @since 1.0.0
125 *
126 * @param string $permalink
127 * @param integer $specific_id
128 * @param string $trigger_type
129 * @param integer $site_id
130 *
131 * @return string
132 */
133 function gamipress_wp_user_manager_specific_activity_trigger_permalink( $permalink, $specific_id, $trigger_type, $site_id ) {
134
135 switch( $trigger_type ) {
136 case 'gamipress_wp_user_manager_register_specific_form':
137 $permalink = '';
138 break;
139 }
140
141 return $permalink;
142
143 }
144 add_filter( 'gamipress_specific_activity_trigger_permalink', 'gamipress_wp_user_manager_specific_activity_trigger_permalink', 10, 4 );
145
146 /**
147 * Get user for a given trigger action.
148 *
149 * @since 1.0.0
150 *
151 * @param integer $user_id user ID to override.
152 * @param string $trigger Trigger name.
153 * @param array $args Passed trigger args.
154 * @return integer User ID.
155 */
156 function gamipress_wp_user_manager_trigger_get_user_id( $user_id, $trigger, $args ) {
157
158 switch ( $trigger ) {
159 case 'gamipress_wp_user_manager_login':
160 case 'gamipress_wp_user_manager_user_approved':
161 case 'gamipress_wp_user_manager_user_rejected':
162 case 'gamipress_wp_user_manager_user_verified':
163 case 'gamipress_wp_user_manager_change_avatar':
164 case 'gamipress_wp_user_manager_remove_avatar':
165 case 'gamipress_wp_user_manager_change_cover':
166 case 'gamipress_wp_user_manager_remove_cover':
167 case 'gamipress_wp_user_manager_change_description':
168 $user_id = $args[0];
169 break;
170 case 'gamipress_wp_user_manager_register':
171 case 'gamipress_wp_user_manager_register_specific_form':
172 // Groups
173 case 'gamipress_wp_user_manager_join_group':
174 case 'gamipress_wp_user_manager_join_specific_group':
175 case 'gamipress_wp_user_manager_leave_group':
176 case 'gamipress_wp_user_manager_leave_specific_group':
177 case 'gamipress_wp_user_manager_accepted_group':
178 case 'gamipress_wp_user_manager_accepted_specific_group':
179 case 'gamipress_wp_user_manager_rejected_group':
180 case 'gamipress_wp_user_manager_rejected_specific_group':
181 $user_id = $args[1];
182 break;
183 }
184
185 return $user_id;
186
187 }
188 add_filter( 'gamipress_trigger_get_user_id', 'gamipress_wp_user_manager_trigger_get_user_id', 10, 3 );
189
190 /**
191 * Get the id for a given specific trigger action.
192 *
193 * @since 1.0.0
194 *
195 * @param integer $specific_id Specific ID.
196 * @param string $trigger Trigger name.
197 * @param array $args Passed trigger args.
198 *
199 * @return integer Specific ID.
200 */
201 function gamipress_wp_user_manager_specific_trigger_get_id( $specific_id, $trigger = '', $args = array() ) {
202
203 switch ( $trigger ) {
204 case 'gamipress_wp_user_manager_register_specific_form':
205 // Groups
206 case 'gamipress_wp_user_manager_join_specific_group':
207 case 'gamipress_wp_user_manager_leave_specific_group':
208 case 'gamipress_wp_user_manager_accepted_specific_group':
209 case 'gamipress_wp_user_manager_rejected_specific_group':
210 $specific_id = $args[0];
211 break;
212 }
213
214 return $specific_id;
215 }
216 add_filter( 'gamipress_specific_trigger_get_id', 'gamipress_wp_user_manager_specific_trigger_get_id', 10, 3 );
217
218 /**
219 * Extended meta data for event trigger logging
220 *
221 * @since 1.0.2
222 *
223 * @param array $log_meta
224 * @param integer $user_id
225 * @param string $trigger
226 * @param integer $site_id
227 * @param array $args
228 *
229 * @return array
230 */
231 function gamipress_wp_user_manager_log_event_trigger_meta_data( $log_meta, $user_id, $trigger, $site_id, $args ) {
232
233 switch ( $trigger ) {
234 case 'gamipress_wp_user_manager_register':
235 case 'gamipress_wp_user_manager_register_specific_form':
236 // Add the form ID
237 $log_meta['form_id'] = $args[0];
238 break;
239 // Groups
240 case 'gamipress_wp_user_manager_join_group':
241 case 'gamipress_wp_user_manager_join_specific_group':
242 case 'gamipress_wp_user_manager_leave_group':
243 case 'gamipress_wp_user_manager_leave_specific_group':
244 case 'gamipress_wp_user_manager_accepted_group':
245 case 'gamipress_wp_user_manager_accepted_specific_group':
246 case 'gamipress_wp_user_manager_rejected_group':
247 case 'gamipress_wp_user_manager_rejected_specific_group':
248 // Add the post ID
249 $log_meta['post_id'] = $args[0];
250 break;
251 }
252
253 return $log_meta;
254 }
255 add_filter( 'gamipress_log_event_trigger_meta_data', 'gamipress_wp_user_manager_log_event_trigger_meta_data', 10, 5 );