PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
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 / wp-travel-engine / triggers / booking-created.php
suretriggers / src / Integrations / wp-travel-engine / triggers Last commit date
booking-cancelled.php 1 year ago booking-confirmed.php 1 year ago booking-created.php 9 months ago new-enquiry-submitted.php 1 year ago
booking-created.php
141 lines
1 <?php
2 /**
3 * BookingCreated.
4 * php version 5.6
5 *
6 * @category BookingCreated
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\WPTravelEngine\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18
19 if ( ! class_exists( 'BookingCreated' ) ) :
20
21 /**
22 * BookingCreated
23 *
24 * @category BookingCreated
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.0.0
30 *
31 * @psalm-suppress UndefinedTrait
32 */
33 class BookingCreated {
34
35 /**
36 * Integration type.
37 *
38 * @var string
39 */
40 public $integration = 'WPTravelEngine';
41
42 /**
43 * Trigger name.
44 *
45 * @var string
46 */
47 public $trigger = 'wte_booking_created';
48
49 use SingletonLoader;
50
51 /**
52 * Constructor
53 *
54 * @since 1.0.0
55 */
56 public function __construct() {
57 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
58 }
59
60 /**
61 * Register action.
62 *
63 * @param array $triggers trigger data.
64 * @return array
65 */
66 public function register( $triggers ) {
67
68 $triggers[ $this->integration ][ $this->trigger ] = [
69 'label' => __( 'Booking Created', 'suretriggers' ),
70 'action' => $this->trigger,
71 'common_action' => 'wp_travel_engine_after_booking_process_completed',
72 'function' => [ $this, 'trigger_listener' ],
73 'priority' => 10,
74 'accepted_args' => 1,
75 ];
76
77 return $triggers;
78 }
79
80 /**
81 * Trigger listener
82 *
83 * @param int $booking_id Booking ID.
84 * @return void
85 */
86 public function trigger_listener( $booking_id ) {
87 if ( empty( $booking_id ) ) {
88 return;
89 }
90
91 $booking_data = get_post( $booking_id );
92 $booking_meta = get_post_meta( $booking_id, 'wp_travel_engine_booking_setting', true );
93
94 $payment_status = get_post_meta( $booking_id, 'wp_travel_engine_booking_payment_status', true );
95 $payment_gateway = get_post_meta( $booking_id, 'wp_travel_engine_booking_payment_gateway', true );
96 $payment_details = get_post_meta( $booking_id, 'wp_travel_engine_booking_payment_details', true );
97
98
99 $coupon_details = [];
100
101 $cart_info = get_post_meta( $booking_id, 'cart_info', true );
102
103 // Check cart_info for discounts.
104 if ( ! empty( $cart_info ) && is_array( $cart_info ) && isset( $cart_info['discounts'] ) ) {
105 foreach ( $cart_info['discounts'] as $discount ) {
106 if ( isset( $discount['name'] ) ) {
107 $coupon_details[] = [
108 'coupon_code' => $discount['name'],
109 'discount_type' => isset( $discount['type'] ) ? $discount['type'] : '',
110 'discount_value' => isset( $discount['value'] ) ? $discount['value'] : 0,
111 ];
112 }
113 }
114 }
115
116 $context = [
117 'booking_data' => $booking_data,
118 'booking_meta' => $booking_meta,
119 'payment_status' => $payment_status,
120 'payment_gateway' => $payment_gateway,
121 'payment_details' => $payment_details,
122 'coupon_details' => $coupon_details,
123 ];
124 AutomationController::sure_trigger_handle_trigger(
125 [
126 'trigger' => $this->trigger,
127 'context' => $context,
128 ]
129 );
130 }
131 }
132
133 /**
134 * Ignore false positive
135 *
136 * @psalm-suppress UndefinedMethod
137 */
138 BookingCreated::get_instance();
139
140 endif;
141