PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 6.0.3
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v6.0.3
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
← All changes | integrations/woocommerce-shipstation/includes/functions.php +117 -0 5.8.4 → 6.0.3 View file →
@@ -1,0 +1,117 @@
1 +<?php
2 +/**
3 + * Functions
4 + *
5 + * @package AutomatorWP\Integrations\WooCommerce\Functions
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 +/**
13 + * Helper function to get the address fields
14 + *
15 + * @since 1.0.0
16 + *
17 + * @return array
18 + */
19 +function automatorwp_woocommerce_shipstation_get_address_fields() {
20 +
21 + return array(
22 + 'first_name',
23 + 'last_name',
24 + 'company',
25 + 'address_1',
26 + 'address_2',
27 + 'city',
28 + 'postcode',
29 + 'country',
30 + 'state',
31 + 'phone',
32 + 'email',
33 + );
34 +
35 +}
36 +
37 +/**
38 + * Helper function to get an address field label
39 + *
40 + * @since 1.0.0
41 + *
42 + * @param string $field
43 + *
44 + * @return string
45 + */
46 +function automatorwp_woocommerce_shipstation_get_address_field_label( $field ) {
47 +
48 + $labels = array(
49 + 'first_name' => __( 'First name', 'automatorwp' ),
50 + 'last_name' => __( 'Last name', 'automatorwp' ),
51 + 'company' => __( 'Company', 'automatorwp' ),
52 + 'address_1' => __( 'Address line 1', 'automatorwp' ),
53 + 'address_2' => __( 'Address line 2', 'automatorwp' ),
54 + 'city' => __( 'City', 'automatorwp' ),
55 + 'postcode' => __( 'Postcode / ZIP', 'automatorwp' ),
56 + 'country' => __( 'Country / Region', 'automatorwp' ),
57 + 'state' => __( 'State / County', 'automatorwp' ),
58 + 'phone' => __( 'Phone', 'automatorwp' ),
59 + 'email' => __( 'Email', 'automatorwp' ),
60 + );
61 +
62 + return isset( $labels[$field] ) ? $labels[$field] : '';
63 +
64 +}
65 +
66 +/**
67 + * Helper function to get an address field preview
68 + *
69 + * @since 1.0.0
70 + *
71 + * @param string $field
72 + *
73 + * @return string
74 + */
75 +function automatorwp_woocommerce_shipstation_get_address_field_preview( $field ) {
76 +
77 + $previews = array(
78 + 'first_name' => __( 'AutomatorWP', 'automatorwp' ),
79 + 'last_name' => __( 'Plugin', 'automatorwp' ),
80 + 'company' => __( 'AutomatorWP Ltd.', 'automatorwp' ),
81 + 'address_1' => __( 'False Street, 123', 'automatorwp' ),
82 + 'address_2' => __( 'First floor, door 2', 'automatorwp' ),
83 + 'city' => __( 'Brooklyn', 'automatorwp' ),
84 + 'postcode' => __( '12345', 'automatorwp' ),
85 + 'country' => __( 'United States', 'automatorwp' ),
86 + 'state' => __( 'New York', 'automatorwp' ),
87 + 'phone' => __( '202-555-1234', 'automatorwp' ),
88 + 'email' => __( '[email protected]', 'automatorwp' ),
89 + );
90 +
91 + return isset( $previews[$field] ) ? $previews[$field] : '';
92 +
93 +}
94 +
95 +/**
96 + * Helper function to compare order statuses
97 + *
98 + * @since 1.0.0
99 + *
100 + * @param string $status
101 + * @param string $required_status
102 + *
103 + * @return string
104 + */
105 +function automatorwp_woocommerce_shipstation_order_status_matches( $status, $required_status ) {
106 +
107 + $status = 'wc-' === substr( $status, 0, 3 ) ? substr( $status, 3 ) : $status;
108 + $required_status = 'wc-' === substr( $required_status, 0, 3 ) ? substr( $required_status, 3 ) : $required_status;
109 +
110 + // Bail if status doesn't match with the trigger option
111 + if( $required_status !== 'any' && $status !== $required_status ) {
112 + return false;
113 + }
114 +
115 + return true;
116 +
117 +}