PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 6.0.0
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v6.0.0
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
automatorwp / integrations / woocommerce-shipstation / includes / functions.php

functions.php in AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI 6.0.0, at integrations/woocommerce-shipstation/includes/functions.php

117 lines 3.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 }