PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 6.0.4
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v6.0.4
6.0.4 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 All 35 releases
← All changes | integrations/surecart/includes/triggers/make-purchase.php +77 -0 5.7.2 → 6.0.4 View file →
@@ -1,0 +1,77 @@
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();