PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.35
OttoKit: All-in-One Automation Platform v1.1.35
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 / advanced-coupons / triggers / user-receives-store-credit.php
suretriggers / src / Integrations / advanced-coupons / triggers Last commit date
user-credit-exceeds-specific-amount.php 2 years ago user-lifetime-credit-exceeds-specific-amount.php 2 years ago user-receives-store-credit.php 2 years ago user-spends-store-credit.php 2 years ago
user-receives-store-credit.php
126 lines
1 <?php
2 /**
3 * UserReceivesStoreCredit.
4 * php version 5.6
5 *
6 * @category UserReceivesStoreCredit
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\AdvancedCoupons\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use SureTriggers\Integrations\WooCommerce\WooCommerce;
20
21 if ( ! class_exists( 'UserReceivesStoreCredit' ) ) :
22
23 /**
24 * UserReceivesStoreCredit
25 *
26 * @category UserReceivesStoreCredit
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 UserReceivesStoreCredit {
36
37
38 /**
39 * Integration type.
40 *
41 * @var string
42 */
43 public $integration = 'AdvancedCoupons';
44
45
46 /**
47 * Trigger name.
48 *
49 * @var string
50 */
51 public $trigger = 'user_receives_store_credit';
52
53 use SingletonLoader;
54
55
56 /**
57 * Constructor
58 *
59 * @since 1.0.0
60 */
61 public function __construct() {
62 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
63 }
64
65 /**
66 * Register action.
67 *
68 * @param array $triggers trigger data.
69 * @return array
70 */
71 public function register( $triggers ) {
72
73 $triggers[ $this->integration ][ $this->trigger ] = [
74 'label' => __( 'User Store Credit Exceeds Specific Amount', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'acfw_create_store_credit_entry',
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 10,
79 'accepted_args' => 1,
80 ];
81
82 return $triggers;
83 }
84
85 /**
86 * Trigger listener
87 *
88 * @param array $data Data.
89 * @return void
90 */
91 public function trigger_listener( $data ) {
92
93 if ( ! isset( $data['type'] ) || 'decrease' === $data['type'] ) {
94 return;
95 }
96
97 $user_id = ( isset( $data['user_id'] ) ) ? intval( $data['user_id'] ) : 0;
98
99 if ( 0 === $user_id ) {
100 return;
101 }
102
103 $balance = floatval( $data['amount'] );
104
105 $trigger_data['credit_amount'] = $balance;
106
107 $context = array_merge( $trigger_data, WordPress::get_user_context( $user_id ) );
108
109 AutomationController::sure_trigger_handle_trigger(
110 [
111 'trigger' => $this->trigger,
112 'context' => $context,
113 ]
114 );
115 }
116 }
117
118 /**
119 * Ignore false positive
120 *
121 * @psalm-suppress UndefinedMethod
122 */
123 UserReceivesStoreCredit::get_instance();
124
125 endif;
126