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 / affiliatewp / triggers / affiliate-approved.php
suretriggers / src / Integrations / affiliatewp / triggers Last commit date
affiliate-approved.php 1 year ago affiliate-await-approval.php 1 year ago affiliate-edd-product-purchased.php 2 years ago affiliate-makes-specific-type-referral.php 2 years ago affiliate-mb-product-purchased.php 2 years ago affiliate-specific-type-referral-paid.php 2 years ago affiliate-specific-type-referral-rejected.php 2 years ago affiliate-wc-product-purchased.php 2 years ago refer-sale-of-product.php 1 year ago
affiliate-approved.php
129 lines
1 <?php
2 /**
3 * AffiliateApproved.
4 * php version 5.6
5 *
6 * @category AffiliateApproved
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\AffiliateWP\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\AffiliateWP\AffiliateWP;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use SureTriggers\Traits\SingletonLoader;
20
21 if ( ! class_exists( 'AffiliateApproved' ) ) :
22
23 /**
24 * AffiliateApproved
25 *
26 * @category AffiliateApproved
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 AffiliateApproved {
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'AffiliateWP';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'affwp_set_affiliate_status';
51
52 use SingletonLoader;
53
54 /**
55 * Constructor
56 *
57 * @since 1.0.0
58 */
59 public function __construct() {
60 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
61 }
62
63 /**
64 * Register action.
65 *
66 * @param array $triggers trigger data.
67 *
68 * @return array
69 */
70 public function register( $triggers ) {
71 $triggers[ $this->integration ][ $this->trigger ] = [
72 'label' => __( 'Affiliate Approved', 'suretriggers' ),
73 'action' => 'affwp_set_affiliate_status',
74 'function' => [ $this, 'trigger_listener' ],
75 'priority' => 10,
76 'accepted_args' => 3,
77 ];
78
79 return $triggers;
80 }
81
82 /**
83 * Trigger listener
84 *
85 * @param int $affiliate_id Affiliate ID.
86 * @param string $status Affiliate status.
87 * @param string $old_status Affiliate old status.
88 *
89 * @return void
90 */
91 public function trigger_listener( $affiliate_id, $status, $old_status ) {
92 if ( ! function_exists( 'affwp_get_affiliate_user_id' ) || ! function_exists( 'affwp_get_affiliate' ) ) {
93 return;
94 }
95 $user_id = affwp_get_affiliate_user_id( $affiliate_id );
96
97 if ( 'active' !== $status ) {
98 return;
99 }
100
101 $affiliate = affwp_get_affiliate( $affiliate_id );
102 $context = array_merge(
103 WordPress::get_user_context( $user_id ),
104 get_object_vars( $affiliate )
105 );
106
107 $context['status'] = $status;
108
109 $user_id = ap_get_current_user_id();
110
111 AutomationController::sure_trigger_handle_trigger(
112 [
113 'trigger' => $this->trigger,
114 'wp_user_id' => $user_id,
115 'context' => $context,
116 ]
117 );
118 }
119 }
120
121 /**
122 * Ignore false positive
123 *
124 * @psalm-suppress UndefinedMethod
125 */
126 AffiliateApproved::get_instance();
127
128 endif;
129