PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 5.8.6
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v5.8.6
6.0.3 6.0.2 6.0.1 6.0.0 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 5.7.9.2 5.7.9.1 5.7.8 5.7.9 5.7.6 5.7.7 5.7.5 5.7.4 5.7.3 5.7.2 5.7.1 trunk 5.6.0 5.6.1 All 34 releases
automatorwp / integrations / surecart / includes / triggers / make-purchase.php

make-purchase.php in AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI 5.8.6, at integrations/surecart/includes/triggers/make-purchase.php

77 lines 2.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Make Purchase
4 *
5 * @package AutomatorWP\Integrations\SureCart\Triggers\Make_Purchase
6 * @author AutomatorWP <[email protected]>, Ruben Garcia <[email protected]>
7 * @since 1.0.0
8 */
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 class AutomatorWP_SureCart_Make_Purchase extends AutomatorWP_Integration_Trigger {
13
14 public $integration = 'surecart';
15 public $trigger = 'surecart_make_purchase';
16
17 /**
18 * Register the trigger
19 *
20 * @since 1.0.0
21 */
22 public function register() {
23
24 automatorwp_register_trigger( $this->trigger, array(
25 'integration' => $this->integration,
26 'label' => __( 'User makes a purchase', 'automatorwp-surecart' ),
27 'select_option' => __( 'User makes a <strong>purchase</strong>', 'automatorwp-surecart' ),
28 /* translators: %1$s: Product title. %2$s: Number of times. */
29 'edit_label' => sprintf( __( 'User makes a purchase %1$s time(s)', 'automatorwp-surecart' ), '{times}' ),
30 'log_label' => __( 'User makes a purchase', 'automatorwp-surecart' ),
31 'action' => 'surecart/purchase_created',
32 'function' => array( $this, 'listener' ),
33 'priority' => 10,
34 'accepted_args' => 1,
35 'options' => array(
36 'times' => automatorwp_utilities_times_option(),
37 ),
38 'tags' => array_merge(
39 automatorwp_utilities_times_tag()
40 )
41 ) );
42
43 }
44
45 /**
46 * Trigger listener
47 *
48 * @since 1.0.0
49 *
50 * @param array $purchase
51 *
52 */
53 public function listener( $purchase ) {
54
55 $user_id = get_current_user_id();
56
57 // Bail if user is not logged
58 if ($user_id === 0) {
59 return;
60 }
61
62 $customer = new SureCart\Models\Customer;
63 $customer_data = $customer::find( $purchase->customer );
64 $user_data = get_user_by( 'email', $customer_data->email );
65
66 // Trigger user product purchased
67 automatorwp_trigger_event( array(
68 'trigger' => $this->trigger,
69 'user_id' => $user_data->ID,
70 'order_id' => $purchase->initial_order,
71 ) );
72
73 }
74
75 }
76
77 new AutomatorWP_SureCart_Make_Purchase();