Version Description
- 2021-07-27 =
- Fix - API returns status code 200 even when errors exist.
- Tweak - Add version compare for deprecated Order::get_product_from_item().
Download this release
Release Info
| Developer | frosso1 |
| Plugin | |
| Version | 4.1.43 |
| Comparing to | |
| See all releases | |
Code changes from version 4.1.42 to 4.1.43
changelog.txt
CHANGED
|
@@ -1,5 +1,9 @@
|
|
| 1 |
*** ShipStation for WooCommerce ***
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
= 4.1.42 - 2021-04-20 =
|
| 4 |
* Fix - Use order currency code instead of store currency.
|
| 5 |
|
| 1 |
*** ShipStation for WooCommerce ***
|
| 2 |
|
| 3 |
+
= 4.1.43 - 2021-07-27 =
|
| 4 |
+
* Fix - API returns status code 200 even when errors exist.
|
| 5 |
+
* Tweak - Add version compare for deprecated Order::get_product_from_item().
|
| 6 |
+
|
| 7 |
= 4.1.42 - 2021-04-20 =
|
| 8 |
* Fix - Use order currency code instead of store currency.
|
| 9 |
|
includes/api-requests/class-wc-shipstation-api-request.php
CHANGED
|
@@ -49,11 +49,12 @@ abstract class WC_Shipstation_API_Request {
|
|
| 49 |
|
| 50 |
/**
|
| 51 |
* Trigger and log an error
|
| 52 |
-
*
|
|
|
|
| 53 |
*/
|
| 54 |
-
public function trigger_error( $message ) {
|
| 55 |
$this->log( $message );
|
| 56 |
-
wp_send_json_error( $message );
|
| 57 |
}
|
| 58 |
}
|
| 59 |
|
| 49 |
|
| 50 |
/**
|
| 51 |
* Trigger and log an error
|
| 52 |
+
*
|
| 53 |
+
* @param string $message
|
| 54 |
*/
|
| 55 |
+
public function trigger_error( $message, $status_code = 400 ) {
|
| 56 |
$this->log( $message );
|
| 57 |
+
wp_send_json_error( $message, $status_code );
|
| 58 |
}
|
| 59 |
}
|
| 60 |
|
includes/api-requests/class-wc-shipstation-api-shipnotify.php
CHANGED
|
@@ -29,7 +29,12 @@ class WC_Shipstation_API_Shipnotify extends WC_Shipstation_API_Request {
|
|
| 29 |
$needs_shipping = 0;
|
| 30 |
|
| 31 |
foreach ( $order->get_items() as $item_id => $item ) {
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
if ( is_a( $product, 'WC_Product' ) && $product->needs_shipping() ) {
|
| 35 |
$needs_shipping += $item['qty'];
|
|
@@ -230,6 +235,7 @@ class WC_Shipstation_API_Shipnotify extends WC_Shipstation_API_Request {
|
|
| 230 |
if ( false === $order || ! is_object( $order ) ) {
|
| 231 |
/* translators: 1: order id */
|
| 232 |
$this->log( sprintf( __( 'Order %s can not be found.', 'woocommerce-shipstation' ), $order_id ) );
|
|
|
|
| 233 |
exit;
|
| 234 |
}
|
| 235 |
|
|
@@ -238,6 +244,7 @@ class WC_Shipstation_API_Shipnotify extends WC_Shipstation_API_Request {
|
|
| 238 |
if ( empty( $order_id ) ) {
|
| 239 |
/* translators: 1: order id */
|
| 240 |
$this->log( sprintf( __( 'Invalid order ID: %s', 'woocommerce-shipstation' ), $order_id ) );
|
|
|
|
| 241 |
exit;
|
| 242 |
}
|
| 243 |
|
| 29 |
$needs_shipping = 0;
|
| 30 |
|
| 31 |
foreach ( $order->get_items() as $item_id => $item ) {
|
| 32 |
+
|
| 33 |
+
if ( version_compare( WC_VERSION, '3.0', '>=' ) ) {
|
| 34 |
+
$product = is_callable( array( $item, 'get_product' ) ) ? $item->get_product() : false;
|
| 35 |
+
} else {
|
| 36 |
+
$product = $order->get_product_from_item( $item );
|
| 37 |
+
}
|
| 38 |
|
| 39 |
if ( is_a( $product, 'WC_Product' ) && $product->needs_shipping() ) {
|
| 40 |
$needs_shipping += $item['qty'];
|
| 235 |
if ( false === $order || ! is_object( $order ) ) {
|
| 236 |
/* translators: 1: order id */
|
| 237 |
$this->log( sprintf( __( 'Order %s can not be found.', 'woocommerce-shipstation' ), $order_id ) );
|
| 238 |
+
status_header( 400 );
|
| 239 |
exit;
|
| 240 |
}
|
| 241 |
|
| 244 |
if ( empty( $order_id ) ) {
|
| 245 |
/* translators: 1: order id */
|
| 246 |
$this->log( sprintf( __( 'Invalid order ID: %s', 'woocommerce-shipstation' ), $order_id ) );
|
| 247 |
+
status_header( 400 );
|
| 248 |
exit;
|
| 249 |
}
|
| 250 |
|
languages/woocommerce-shipstation.pot
CHANGED
|
@@ -2,10 +2,10 @@
|
|
| 2 |
# This file is distributed under the same license as the WooCommerce - ShipStation Integration package.
|
| 3 |
msgid ""
|
| 4 |
msgstr ""
|
| 5 |
-
"Project-Id-Version: WooCommerce - ShipStation Integration 4.1.
|
| 6 |
"Report-Msgid-Bugs-To: "
|
| 7 |
"https://wordpress.org/support/plugin/woocommerce-shipstation\n"
|
| 8 |
-
"POT-Creation-Date: 2021-
|
| 9 |
"MIME-Version: 1.0\n"
|
| 10 |
"Content-Type: text/plain; charset=utf-8\n"
|
| 11 |
"Content-Transfer-Encoding: 8bit\n"
|
|
@@ -32,63 +32,63 @@ msgstr ""
|
|
| 32 |
msgid "Missing required param: %s"
|
| 33 |
msgstr ""
|
| 34 |
|
| 35 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 36 |
msgid "Missing ShipNotify XML input."
|
| 37 |
msgstr ""
|
| 38 |
|
| 39 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 40 |
msgid "Missing SimpleXML extension for parsing ShipStation XML."
|
| 41 |
msgstr ""
|
| 42 |
|
| 43 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 44 |
msgid "ShipNotify XML: "
|
| 45 |
msgstr ""
|
| 46 |
|
| 47 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 48 |
msgid "Cannot parse XML"
|
| 49 |
msgstr ""
|
| 50 |
|
| 51 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 52 |
#. translators: 1: order id
|
| 53 |
msgid "Order %s can not be found."
|
| 54 |
msgstr ""
|
| 55 |
|
| 56 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 57 |
#. translators: 1: order id
|
| 58 |
msgid "Invalid order ID: %s"
|
| 59 |
msgstr ""
|
| 60 |
|
| 61 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 62 |
msgid "ShipNotify Item: "
|
| 63 |
msgstr ""
|
| 64 |
|
| 65 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 66 |
#. translators: 1: item name
|
| 67 |
msgid "Item %s is not shippable product. Skipping."
|
| 68 |
msgstr ""
|
| 69 |
|
| 70 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 71 |
#. translators: 1) shipped items 2) carrier's name 3) shipped date, 4) tracking
|
| 72 |
#. number
|
| 73 |
msgid "%1$s shipped via %2$s on %3$s with tracking number %4$s."
|
| 74 |
msgstr ""
|
| 75 |
|
| 76 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 77 |
#. translators: 1) number of shipped items 2) total shipped items 3) order ID
|
| 78 |
msgid "Shipped %1$d out of %2$d items in order %3$s"
|
| 79 |
msgstr ""
|
| 80 |
|
| 81 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 82 |
#. translators: 1) carrier's name 2) shipped date, 3) tracking number
|
| 83 |
msgid "Items shipped via %1$s on %2$s with tracking number %3$s (Shipstation)."
|
| 84 |
msgstr ""
|
| 85 |
|
| 86 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 87 |
#. translators: 1: order id
|
| 88 |
msgid "No items found - shipping entire order %d."
|
| 89 |
msgstr ""
|
| 90 |
|
| 91 |
-
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:
|
| 92 |
#. translators: 1) order ID 2) shipment status
|
| 93 |
msgid "Updated order %1$s to status %2$s"
|
| 94 |
msgstr ""
|
| 2 |
# This file is distributed under the same license as the WooCommerce - ShipStation Integration package.
|
| 3 |
msgid ""
|
| 4 |
msgstr ""
|
| 5 |
+
"Project-Id-Version: WooCommerce - ShipStation Integration 4.1.43\n"
|
| 6 |
"Report-Msgid-Bugs-To: "
|
| 7 |
"https://wordpress.org/support/plugin/woocommerce-shipstation\n"
|
| 8 |
+
"POT-Creation-Date: 2021-07-27 18:13:39+00:00\n"
|
| 9 |
"MIME-Version: 1.0\n"
|
| 10 |
"Content-Type: text/plain; charset=utf-8\n"
|
| 11 |
"Content-Transfer-Encoding: 8bit\n"
|
| 32 |
msgid "Missing required param: %s"
|
| 33 |
msgstr ""
|
| 34 |
|
| 35 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:186
|
| 36 |
msgid "Missing ShipNotify XML input."
|
| 37 |
msgstr ""
|
| 38 |
|
| 39 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:206
|
| 40 |
msgid "Missing SimpleXML extension for parsing ShipStation XML."
|
| 41 |
msgstr ""
|
| 42 |
|
| 43 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:211
|
| 44 |
msgid "ShipNotify XML: "
|
| 45 |
msgstr ""
|
| 46 |
|
| 47 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:216
|
| 48 |
msgid "Cannot parse XML"
|
| 49 |
msgstr ""
|
| 50 |
|
| 51 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:237
|
| 52 |
#. translators: 1: order id
|
| 53 |
msgid "Order %s can not be found."
|
| 54 |
msgstr ""
|
| 55 |
|
| 56 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:246
|
| 57 |
#. translators: 1: order id
|
| 58 |
msgid "Invalid order ID: %s"
|
| 59 |
msgstr ""
|
| 60 |
|
| 61 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:256
|
| 62 |
msgid "ShipNotify Item: "
|
| 63 |
msgstr ""
|
| 64 |
|
| 65 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:269
|
| 66 |
#. translators: 1: item name
|
| 67 |
msgid "Item %s is not shippable product. Skipping."
|
| 68 |
msgstr ""
|
| 69 |
|
| 70 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:287
|
| 71 |
#. translators: 1) shipped items 2) carrier's name 3) shipped date, 4) tracking
|
| 72 |
#. number
|
| 73 |
msgid "%1$s shipped via %2$s on %3$s with tracking number %4$s."
|
| 74 |
msgstr ""
|
| 75 |
|
| 76 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:303
|
| 77 |
#. translators: 1) number of shipped items 2) total shipped items 3) order ID
|
| 78 |
msgid "Shipped %1$d out of %2$d items in order %3$s"
|
| 79 |
msgstr ""
|
| 80 |
|
| 81 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:319
|
| 82 |
#. translators: 1) carrier's name 2) shipped date, 3) tracking number
|
| 83 |
msgid "Items shipped via %1$s on %2$s with tracking number %3$s (Shipstation)."
|
| 84 |
msgstr ""
|
| 85 |
|
| 86 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:326
|
| 87 |
#. translators: 1: order id
|
| 88 |
msgid "No items found - shipping entire order %d."
|
| 89 |
msgstr ""
|
| 90 |
|
| 91 |
+
#: includes/api-requests/class-wc-shipstation-api-shipnotify.php:352
|
| 92 |
#. translators: 1) order ID 2) shipment status
|
| 93 |
msgid "Updated order %1$s to status %2$s"
|
| 94 |
msgstr ""
|
readme.txt
CHANGED
|
@@ -4,7 +4,7 @@ Tags: shipping, woocommerce, automattic
|
|
| 4 |
Requires at least: 4.4
|
| 5 |
Tested up to: 5.5
|
| 6 |
Requires PHP: 5.6
|
| 7 |
-
Stable tag: 4.1.
|
| 8 |
License: GPLv3
|
| 9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
| 10 |
|
|
@@ -46,6 +46,10 @@ If you get stuck, you can ask for help in the Plugin Forum.
|
|
| 46 |
|
| 47 |
== Changelog ==
|
| 48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
= 4.1.42 - 2021-04-20 =
|
| 50 |
* Fix - Use order currency code instead of store currency.
|
| 51 |
|
| 4 |
Requires at least: 4.4
|
| 5 |
Tested up to: 5.5
|
| 6 |
Requires PHP: 5.6
|
| 7 |
+
Stable tag: 4.1.43
|
| 8 |
License: GPLv3
|
| 9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
| 10 |
|
| 46 |
|
| 47 |
== Changelog ==
|
| 48 |
|
| 49 |
+
= 4.1.43 - 2021-07-27 =
|
| 50 |
+
* Fix - API returns status code 200 even when errors exist.
|
| 51 |
+
* Tweak - Add version compare for deprecated Order::get_product_from_item().
|
| 52 |
+
|
| 53 |
= 4.1.42 - 2021-04-20 =
|
| 54 |
* Fix - Use order currency code instead of store currency.
|
| 55 |
|
woocommerce-shipstation.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
/**
|
| 3 |
* Plugin Name: WooCommerce - ShipStation Integration
|
| 4 |
* Plugin URI: https://woocommerce.com/products/shipstation-integration/
|
| 5 |
-
* Version: 4.1.
|
| 6 |
* Description: Adds ShipStation label printing support to WooCommerce. Requires server DomDocument support.
|
| 7 |
* Author: WooCommerce
|
| 8 |
* Author URI: https://woocommerce.com/
|
|
@@ -41,7 +41,7 @@ function woocommerce_shipstation_init() {
|
|
| 41 |
return;
|
| 42 |
}
|
| 43 |
|
| 44 |
-
define( 'WC_SHIPSTATION_VERSION', '4.1.
|
| 45 |
define( 'WC_SHIPSTATION_FILE', __FILE__ );
|
| 46 |
|
| 47 |
if ( ! defined( 'WC_SHIPSTATION_EXPORT_LIMIT' ) ) {
|
| 2 |
/**
|
| 3 |
* Plugin Name: WooCommerce - ShipStation Integration
|
| 4 |
* Plugin URI: https://woocommerce.com/products/shipstation-integration/
|
| 5 |
+
* Version: 4.1.43
|
| 6 |
* Description: Adds ShipStation label printing support to WooCommerce. Requires server DomDocument support.
|
| 7 |
* Author: WooCommerce
|
| 8 |
* Author URI: https://woocommerce.com/
|
| 41 |
return;
|
| 42 |
}
|
| 43 |
|
| 44 |
+
define( 'WC_SHIPSTATION_VERSION', '4.1.43' ); // WRCS: DEFINED_VERSION.
|
| 45 |
define( 'WC_SHIPSTATION_FILE', __FILE__ );
|
| 46 |
|
| 47 |
if ( ! defined( 'WC_SHIPSTATION_EXPORT_LIMIT' ) ) {
|
