PluginProbe
Order Tracking – WordPress Status Tracking Plugin / 3.2.2
Order Tracking – WordPress Status Tracking Plugin v3.2.2
3.5.4 3.5.3 3.5.2 3.5.1 3.5.0 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.3.0 3.3.1 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.15 All 235 releases
order-tracking / includes / Zendesk.class.php

Zendesk.class.php in Order Tracking – WordPress Status Tracking Plugin 3.2.2, at includes/Zendesk.class.php

75 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) exit;
3
4 if ( ! class_exists( 'ewdotpZendesk' ) ) {
5 /**
6 * Class to handle interactions with the Zendesk platform
7 *
8 * @since 3.0.0
9 */
10 class ewdotpZendesk {
11
12 public function __construct() {
13
14 if ( ! empty( $_GET['Action'] ) and $_GET['Action'] == 'Zendesk_Order_Created' ) { array( $this, 'create_order' ); }
15 if ( ! empty( $_GET['Action'] ) and $_GET['Action'] == 'Zendesk_Order_Updated' ) { array( $this, 'update_order' ); }
16 }
17
18 /**
19 * Create an order after receiving a notification form Zendesk
20 * @since 3.0.0
21 */
22 public function create_order() {
23 global $ewd_otp_controller;
24
25 if ( empty( $ewd_otp_controller->settings->get_setting( 'zendesk-integration' ) ) ) { return; }
26
27 if ( ! empty( $ewd_otp_controller->settings->get_setting( 'zendesk-api-key' ) ) and ( $ewd_otp_controller->settings->get_setting( 'zendesk-api-key' ) != $_GET['API_Key'] ) ) { return; }
28
29 if ( ! empty( $ewd_otp_controller->order_manager->get_order_from_zendesk_id( sanitize_text_field( $_GET['zendeskID'] ) ) ) ) { return; }
30
31 $order = new ewdotpOrder();
32
33 $order->name = sanitize_text_field( $_GET['title'] );
34 $order->number = sanitize_text_field( $_GET['zendeskID'] ) . " - " . sanitize_text_field( $_GET['title'] );
35 $order->email = sanitize_text_field( $_GET['email'] );
36 $order->status = sanitize_text_field( $_GET['status'] );
37 $order->external_status = sanitize_text_field( $_GET['status'] );
38 $order->status_updated = date( 'Y-m-d H:i:s' );
39 $order->notes_public = __( 'Ticket created via Zendesk', 'order-tracking' );
40
41 $order->insert_order();
42 }
43
44 /**
45 * Update an order after receiving a notification form Zendesk
46 * @since 3.0.0
47 */
48 public function update_order() {
49 global $ewd_otp_controller;
50
51 if ( empty( $ewd_otp_controller->settings->get_setting( 'zendesk-integration' ) ) ) { return; }
52
53 if ( ! empty( $ewd_otp_controller->settings->get_setting( 'zendesk-api-key' ) ) and ( $ewd_otp_controller->settings->get_setting( 'zendesk-api-key' ) != $_GET['API_Key'] ) ) { return; }
54
55 $zendesk_order = $ewd_otp_controller->order_manager->get_order_from_zendesk_id( sanitize_text_field( $_GET['zendeskID'] ) );
56
57 if ( ! empty( $zendesk_order ) ) { return; }
58
59 $order = new ewdotpOrder();
60
61 $order->load_order( $zendesk_order );
62
63 $order->name = sanitize_text_field( $_GET['title'] );
64 $order->number = sanitize_text_field( $_GET['zendeskID'] ) . " - " . sanitize_text_field( $_GET['title'] );
65 $order->email = sanitize_text_field( $_GET['email'] );
66 $order->status = sanitize_text_field( $_GET['status'] );
67 $order->external_status = sanitize_text_field( $_GET['status'] );
68 $order->status_updated = date( 'Y-m-d H:i:s' );
69 $order->notes_public = __( 'Ticket created via Zendesk', 'order-tracking' );
70
71 $order->insert_order();
72 }
73 }
74
75 }