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 / actions / retrieve-coupon.php
suretriggers / src / Integrations / wp-travel-engine / actions Last commit date
create-coupon.php 11 months ago create-trip.php 6 months ago duplicate-trip.php 6 months ago list-bookings.php 11 months ago list-coupons.php 3 weeks ago list-trips.php 11 months ago retrieve-booking.php 11 months ago retrieve-coupon.php 3 weeks ago retrieve-enquiry.php 2 months ago update-booking-status.php 11 months ago update-coupon.php 3 weeks ago update-trip.php 6 months ago
retrieve-coupon.php
124 lines
1 <?php
2 /**
3 * RetrieveCoupon.
4 * php version 5.6
5 *
6 * @category RetrieveCoupon
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\Actions;
15
16 use SureTriggers\Integrations\AutomateAction;
17 use SureTriggers\Traits\SingletonLoader;
18
19 /**
20 * RetrieveCoupon
21 *
22 * @category RetrieveCoupon
23 * @package SureTriggers
24 * @author BSF <username@example.com>
25 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
26 * @link https://www.brainstormforce.com/
27 * @since 1.0.0
28 */
29 class RetrieveCoupon extends AutomateAction {
30
31 use SingletonLoader;
32
33 /**
34 * Integration type.
35 *
36 * @var string
37 */
38 public $integration = 'WPTravelEngine';
39
40 /**
41 * Action name.
42 *
43 * @var string
44 */
45 public $action = 'wte_retrieve_coupon';
46
47 /**
48 * Register the action.
49 *
50 * @param array $actions List of registered actions.
51 * @return array Modified list of actions.
52 */
53 public function register( $actions ) {
54 $actions[ $this->integration ][ $this->action ] = [
55 'label' => __( 'Retrieve a Coupon', 'suretriggers' ),
56 'description' => __( 'Retrieve details of a coupon from WP Travel Engine', 'suretriggers' ),
57 'action' => $this->action,
58 'function' => [ $this, '_action_listener' ],
59 ];
60 return $actions;
61 }
62
63 /**
64 * Action listener that retrieves a coupon.
65 *
66 * @param int $user_id User ID.
67 * @param int $automation_id Automation ID.
68 * @param array $fields Trigger fields.
69 * @param array $selected_options Selected options for coupon retrieval.
70 * @return array Result with status and data or error.
71 */
72 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
73
74 if ( ! function_exists( 'wp_travel_engine_get_settings' ) ) {
75 return [
76 'status' => 'error',
77 'message' => __( 'WP Travel Engine plugin is not active.', 'suretriggers' ),
78 ];
79 }
80
81 if ( empty( $selected_options['coupon_id'] ) ) {
82 return [
83 'status' => 'error',
84 'message' => __( 'Coupon ID is required.', 'suretriggers' ),
85 ];
86 }
87
88 $coupon_id = absint( $selected_options['coupon_id'] );
89 $coupon = get_post( $coupon_id );
90
91 if ( ! $coupon || 'wte-coupon' !== $coupon->post_type ) {
92 return [
93 'status' => 'error',
94 'message' => __( 'Coupon not found.', 'suretriggers' ),
95 ];
96 }
97
98 $coupon_code_meta = get_post_meta( $coupon_id, 'wp_travel_engine_coupon_code', true );
99 $coupon_metas_raw = get_post_meta( $coupon_id, 'wp_travel_engine_coupon_metas', true );
100 $coupon_metas = is_array( $coupon_metas_raw ) ? $coupon_metas_raw : [];
101
102 $general = isset( $coupon_metas['general'] ) && is_array( $coupon_metas['general'] ) ? $coupon_metas['general'] : [];
103 $restriction = isset( $coupon_metas['restriction'] ) && is_array( $coupon_metas['restriction'] ) ? $coupon_metas['restriction'] : [];
104
105 return [
106 'status' => 'success',
107 'data' => [
108 'coupon_id' => $coupon_id,
109 'coupon_code' => is_string( $coupon_code_meta ) ? $coupon_code_meta : '',
110 'coupon_title' => html_entity_decode( get_the_title( $coupon_id ) ),
111 'discount_type' => isset( $general['coupon_type'] ) ? $general['coupon_type'] : '',
112 'discount_value' => isset( $general['coupon_value'] ) ? $general['coupon_value'] : '',
113 'start_date' => isset( $general['coupon_start_date'] ) ? $general['coupon_start_date'] : '',
114 'expiry_date' => isset( $general['coupon_expiry_date'] ) ? $general['coupon_expiry_date'] : '',
115 'usage_limit' => isset( $restriction['coupon_limit_number'] ) ? $restriction['coupon_limit_number'] : '',
116 'trip_ids' => isset( $restriction['restricted_trips'] ) ? $restriction['restricted_trips'] : [],
117 'status' => $coupon->post_status,
118 ],
119 ];
120 }
121 }
122
123 RetrieveCoupon::get_instance();
124