PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.2.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.2.1
4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 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.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Integrations / ThriveAutomator / Triggers / PurchaseUpdatedTrigger.php
surecart / app / src / Integrations / ThriveAutomator / Triggers Last commit date
PurchaseCreatedTrigger.php 3 years ago PurchaseInvokedTrigger.php 3 years ago PurchaseRevokedTrigger.php 3 years ago PurchaseUpdatedTrigger.php 3 years ago
PurchaseUpdatedTrigger.php
116 lines
1 <?php
2
3 namespace SureCart\Integrations\ThriveAutomator\Triggers;
4
5 use SureCart\Integrations\ThriveAutomator\DataFields\PreviousProductDataField;
6 use SureCart\Integrations\ThriveAutomator\DataObjects\PreviousProductDataObject;
7 use SureCart\Integrations\ThriveAutomator\DataObjects\ProductDataObject;
8 use SureCart\Integrations\ThriveAutomator\ThriveAutomatorApp;
9 use SureCart\Models\User;
10 use Thrive\Automator\Items\Data_Object;
11 use Thrive\Automator\Items\Trigger;
12
13 /**
14 * Handles the purchase updated event.
15 */
16 class PurchaseUpdatedTrigger extends Trigger {
17 /**
18 * Get the trigger identifier
19 *
20 * @return string
21 */
22 public static function get_id() {
23 return 'surecart_purchase_updated';
24 }
25
26 /**
27 * Get the trigger hook
28 *
29 * @return string
30 */
31 public static function get_wp_hook() {
32 return 'surecart/purchase_updated';
33 }
34
35 /**
36 * Get the app id.
37 *
38 * @return string
39 */
40 public static function get_app_id() {
41 return ThriveAutomatorApp::get_id();
42 }
43
44 /**
45 * Get the trigger provided params
46 *
47 * @return array
48 */
49 public static function get_provided_data_objects() {
50 return [ ProductDataObject::get_id(), PreviousProductDataObject::get_id(), 'user_data' ];
51 }
52
53 /**
54 * Get the number of params
55 *
56 * @return int
57 */
58 public static function get_hook_params_number() {
59 return 2;
60 }
61
62 /**
63 * Get the trigger name
64 *
65 * @return string
66 */
67 public static function get_name() {
68 return __( 'Subscription plan changed', 'surecart' );
69 }
70
71 /**
72 * Get the trigger description
73 *
74 * @return string
75 */
76 public static function get_description() {
77 return __( 'This trigger will be fired when a subscription plan is changed to something else.', 'surecart' );
78 }
79
80 /**
81 * Get the trigger logo
82 *
83 * @return string
84 */
85 public static function get_image() {
86 return esc_url( trailingslashit( plugin_dir_url( SURECART_PLUGIN_FILE ) ) . 'app/src/Integrations/ThriveAutomator/images/icon-color.svg' );
87 }
88
89 /**
90 * Process params for action.
91 *
92 * @param array $params Params from the action.
93 * @return array
94 */
95 public function process_params( $params = [] ) {
96 $data_objects = [];
97
98 if ( ! empty( $params ) ) {
99 $data_object_classes = Data_Object::get();
100 $product_id = $params[0]['product'];
101 $previous = $params[1]['data']['previous_attributes'] ?? [];
102 $previous_id = $previous['product'] ?? false;
103 $user = User::findByCustomerId( $params[0]['customer'] );
104
105 $data_objects['surecart_product_data'] = empty( $data_object_classes['surecart_product_data'] ) ? null : new $data_object_classes['surecart_product_data']( $product_id );
106 if ( $previous_id ) {
107 $data_objects['surecart_previous_product_data'] = empty( $data_object_classes['surecart_previous_product_data'] ) ? null : new $data_object_classes['surecart_previous_product_data']( $previous_id );
108 }
109 $data_objects['user_data'] = empty( $data_object_classes['user_data'] ) ? null : new $data_object_classes['user_data']( $user->ID );
110 }
111
112 return $data_objects;
113 }
114
115 }
116