PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.33
OttoKit: All-in-One Automation Platform v1.1.33
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 / slice-wp / triggers / commision-updated.php
suretriggers / src / Integrations / slice-wp / triggers Last commit date
affiliate-created.php 2 years ago affiliate-updated.php 2 years ago commision-created.php 2 years ago commision-updated.php 2 years ago
commision-updated.php
129 lines
1 <?php
2 /**
3 * SliceCommissionUpdated.
4 * php version 5.6
5 *
6 * @category SliceCommissionUpdated
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\SliceWP\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use Exception;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use SureTriggers\Traits\SingletonLoader;
20
21 if ( ! class_exists( 'SliceCommissionUpdate' ) ) :
22
23 /**
24 * SliceCommissionUpdated
25 *
26 * @category SliceCommissionUpdated
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 SliceCommissionUpdated {
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'SliceWP';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'slicewp_update_commission';
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' => __( 'Commission Updated', 'suretriggers' ),
73 'action' => $this->trigger,
74 'common_action' => 'slicewp_update_commission',
75 'function' => [ $this, 'trigger_listener' ],
76 'priority' => 10,
77 'accepted_args' => 3,
78 ];
79
80 return $triggers;
81 }
82
83 /**
84 * Trigger listener
85 *
86 * @param int $commission_id Commission ID.
87 * @param array $commission_data Commission Data.
88 * @param array $commission_old_data Commission Old Data.
89 * @throws Exception Exception.
90 * @return void
91 */
92 public function trigger_listener( $commission_id, $commission_data, $commission_old_data ) {
93 if ( ! function_exists( 'slicewp_get_affiliate' ) || ! function_exists( 'slicewp_get_commission' ) ) {
94 throw new Exception( 'Slicewp functions not found.' );
95 }
96
97 $commission = slicewp_get_commission( $commission_id );
98 $affiliate_id = $commission->get( 'affiliate_id' );
99 $affiliate = slicewp_get_affiliate( $affiliate_id );
100 $user_id = $affiliate->get( 'user_id' );
101 $commission_data['commission_id'] = $commission_id;
102 $context = array_merge(
103 [ 'user' => WordPress::get_user_context( $user_id ) ],
104 $commission_data
105 );
106 $new_status = $commission_data['status'];
107 $old_status = $commission_old_data['status'];
108
109
110 AutomationController::sure_trigger_handle_trigger(
111 [
112 'trigger' => $this->trigger,
113 'wp_user_id' => $user_id,
114 'context' => $context,
115 ]
116 );
117
118 }
119 }
120
121 /**
122 * Ignore false positive
123 *
124 * @psalm-suppress UndefinedMethod
125 */
126 SliceCommissionUpdated::get_instance();
127
128 endif;
129