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 / paid-membership-subscriptions / includes / triggers.php

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

191 lines 9.0 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\Paid-Membership-Subscriptions\Triggers
6 * @since 1.0.0
7 */
8
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 /**
13 * Register plugin specific triggers
14 *
15 * @since 1.0.0
16 *
17 * @param array $triggers
18 * @return mixed
19 */
20 function gamipress_paid_membership_subscriptions_activity_triggers( $triggers ) {
21
22 $triggers[__( 'Paid Membership Subscriptions', 'gamipress' )] = array(
23
24 'gamipress_paid_membership_subscriptions_purchase_subscription' => __( 'Purchase a subscription', 'gamipress' ),
25 'gamipress_paid_membership_subscriptions_purchase_specific_subscription' => __( 'Purchase a specific subscription', 'gamipress' ),
26
27 'gamipress_paid_membership_subscriptions_pay_subscription' => __( 'Pay a subscription', 'gamipress' ),
28 'gamipress_paid_membership_subscriptions_pay_specific_subscription' => __( 'Pay a specific subscription', 'gamipress' ),
29
30 'gamipress_paid_membership_subscriptions_renew_subscription' => __( 'Renew a subscription', 'gamipress' ),
31 'gamipress_paid_membership_subscriptions_renew_specific_subscription' => __( 'Renew a specific subscription', 'gamipress' ),
32
33 'gamipress_paid_membership_subscriptions_change_subscription' => __( 'Change a subscription', 'gamipress' ),
34 'gamipress_paid_membership_subscriptions_change_specific_subscription' => __( 'Change a specific subscription', 'gamipress' ),
35
36 'gamipress_paid_membership_subscriptions_cancel_subscription' => __( 'Cancel a subscription', 'gamipress' ),
37 'gamipress_paid_membership_subscriptions_cancel_specific_subscription' => __( 'Cancel a specific subscription', 'gamipress' ),
38
39 'gamipress_paid_membership_subscriptions_abandon_subscription' => __( 'Abandon a subscription', 'gamipress' ),
40 'gamipress_paid_membership_subscriptions_abandon_specific_subscription' => __( 'Abandon a specific subscription', 'gamipress' ),
41
42 );
43
44 return $triggers;
45
46 }
47 add_filter( 'gamipress_activity_triggers', 'gamipress_paid_membership_subscriptions_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_paid_membership_subscriptions_specific_activity_triggers( $specific_activity_triggers ) {
58
59 $specific_activity_triggers['gamipress_paid_membership_subscriptions_purchase_specific_subscription'] = array( 'pms-subscription' );
60 $specific_activity_triggers['gamipress_paid_membership_subscriptions_pay_specific_subscription'] = array( 'pms-subscription' );
61 $specific_activity_triggers['gamipress_paid_membership_subscriptions_renew_specific_subscription'] = array( 'pms-subscription' );
62 $specific_activity_triggers['gamipress_paid_membership_subscriptions_change_specific_subscription'] = array( 'pms-subscription' );
63 $specific_activity_triggers['gamipress_paid_membership_subscriptions_cancel_specific_subscription'] = array( 'pms-subscription' );
64 $specific_activity_triggers['gamipress_paid_membership_subscriptions_abandon_specific_subscription'] = array( 'pms-subscription' );
65
66 return $specific_activity_triggers;
67
68 }
69 add_filter( 'gamipress_specific_activity_triggers', 'gamipress_paid_membership_subscriptions_specific_activity_triggers' );
70
71 /**
72 * Register plugin specific activity triggers labels
73 *
74 * @since 1.0.0
75 *
76 * @param array $specific_activity_trigger_labels
77 * @return array
78 */
79 function gamipress_paid_membership_subscriptions_activity_trigger_label( $specific_activity_trigger_labels ) {
80
81 $specific_activity_trigger_labels['gamipress_paid_membership_subscriptions_purchase_specific_subscription'] = __( 'Purchase %s', 'gamipress' );
82 $specific_activity_trigger_labels['gamipress_paid_membership_subscriptions_pay_specific_subscription'] = __( 'Pay %s', 'gamipress' );
83 $specific_activity_trigger_labels['gamipress_paid_membership_subscriptions_renew_specific_subscription'] = __( 'Renew %s', 'gamipress' );
84 $specific_activity_trigger_labels['gamipress_paid_membership_subscriptions_change_specific_subscription'] = __( 'Change %s', 'gamipress' );
85 $specific_activity_trigger_labels['gamipress_paid_membership_subscriptions_cancel_specific_subscription'] = __( 'Cancel %s', 'gamipress' );
86 $specific_activity_trigger_labels['gamipress_paid_membership_subscriptions_abandon_specific_subscription'] = __( 'Abandon %s', 'gamipress' );
87
88 return $specific_activity_trigger_labels;
89
90 }
91 add_filter( 'gamipress_specific_activity_trigger_label', 'gamipress_paid_membership_subscriptions_activity_trigger_label' );
92
93 /**
94 * Get user for a given trigger action.
95 *
96 * @since 1.0.0
97 *
98 * @param integer $user_id user ID to override.
99 * @param string $trigger Trigger name.
100 * @param array $args Passed trigger args.
101 * @return integer User ID.
102 */
103 function gamipress_paid_membership_subscriptions_trigger_get_user_id( $user_id, $trigger, $args ) {
104
105 switch ( $trigger ) {
106 case 'gamipress_paid_membership_subscriptions_purchase_subscription':
107 case 'gamipress_paid_membership_subscriptions_purchase_specific_subscription':
108 case 'gamipress_paid_membership_subscriptions_pay_subscription':
109 case 'gamipress_paid_membership_subscriptions_pay_specific_subscription':
110 case 'gamipress_paid_membership_subscriptions_renew_subscription':
111 case 'gamipress_paid_membership_subscriptions_renew_specific_subscription':
112 case 'gamipress_paid_membership_subscriptions_change_subscription':
113 case 'gamipress_paid_membership_subscriptions_change_specific_subscription':
114 case 'gamipress_paid_membership_subscriptions_cancel_subscription':
115 case 'gamipress_paid_membership_subscriptions_cancel_specific_subscription':
116 case 'gamipress_paid_membership_subscriptions_abandon_subscription':
117 case 'gamipress_paid_membership_subscriptions_abandon_specific_subscription':
118 $user_id = $args[1];
119 break;
120 }
121
122 return $user_id;
123 }
124 add_filter( 'gamipress_trigger_get_user_id', 'gamipress_paid_membership_subscriptions_trigger_get_user_id', 10, 3 );
125
126 /**
127 * Get the id for a given specific trigger action.
128 *
129 * @since 1.0.0
130 *
131 * @param integer $specific_id Specific ID.
132 * @param string $trigger Trigger name.
133 * @param array $args Passed trigger args.
134 *
135 * @return integer Specific ID.
136 */
137 function gamipress_paid_membership_subscriptions_specific_trigger_get_id( $specific_id, $trigger = '', $args = array() ) {
138
139 switch( $trigger ) {
140 case 'gamipress_paid_membership_subscriptions_purchase_specific_subscription':
141 case 'gamipress_paid_membership_subscriptions_pay_specific_subscription':
142 case 'gamipress_paid_membership_subscriptions_renew_specific_subscription':
143 case 'gamipress_paid_membership_subscriptions_change_specific_subscription':
144 case 'gamipress_paid_membership_subscriptions_cancel_specific_subscription':
145 case 'gamipress_paid_membership_subscriptions_abandon_specific_subscription':
146 $specific_id = $args[0];
147 break;
148 }
149
150 return $specific_id;
151
152 }
153 add_filter( 'gamipress_specific_trigger_get_id', 'gamipress_paid_membership_subscriptions_specific_trigger_get_id', 10, 3 );
154
155 /**
156 * Extended meta data for event trigger logging
157 *
158 * @since 1.0.0
159 *
160 * @param array $log_meta
161 * @param integer $user_id
162 * @param string $trigger
163 * @param integer $site_id
164 * @param array $args
165 *
166 * @return array
167 */
168 function gamipress_paid_membership_subscriptions_log_event_trigger_meta_data( $log_meta, $user_id, $trigger, $site_id, $args ) {
169
170 switch ($trigger) {
171 case 'gamipress_paid_membership_subscriptions_purchase_subscription':
172 case 'gamipress_paid_membership_subscriptions_purchase_specific_subscription':
173 case 'gamipress_paid_membership_subscriptions_pay_subscription':
174 case 'gamipress_paid_membership_subscriptions_pay_specific_subscription':
175 case 'gamipress_paid_membership_subscriptions_renew_subscription':
176 case 'gamipress_paid_membership_subscriptions_renew_specific_subscription':
177 case 'gamipress_paid_membership_subscriptions_change_subscription':
178 case 'gamipress_paid_membership_subscriptions_change_specific_subscription':
179 case 'gamipress_paid_membership_subscriptions_cancel_subscription':
180 case 'gamipress_paid_membership_subscriptions_cancel_specific_subscription':
181 case 'gamipress_paid_membership_subscriptions_abandon_subscription':
182 case 'gamipress_paid_membership_subscriptions_abandon_specific_subscription':
183 // Add the subscription plan ID
184 $log_meta['subscription_plan_id'] = $args[0];
185 break;
186 }
187
188 return $log_meta;
189
190 }
191 add_filter( 'gamipress_log_event_trigger_meta_data', 'gamipress_paid_membership_subscriptions_log_event_trigger_meta_data', 10, 5 );