AfterShip – WooCommerce Tracking - Version 1.7.4

Version Description

Download this release

Release Info

Developer aftership
Plugin Icon 128x128 AfterShip – WooCommerce Tracking
Version 1.7.4
Comparing to
See all releases

Code changes from version 1.7.3 to 1.7.4

aftership-functions.php CHANGED
@@ -13,3 +13,24 @@ if ( ! function_exists( 'is_woocommerce_active' ) ) {
13
  return AfterShip_Dependencies::woocommerce_active_check();
14
  }
15
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  return AfterShip_Dependencies::woocommerce_active_check();
14
  }
15
  }
16
+
17
+ /**
18
+ * Get woo order ID
19
+ */
20
+ if ( ! function_exists( 'get_order_id' ) ) {
21
+ function get_order_id($order) {
22
+ return (method_exists($order, 'get_id'))? $order->get_id() : $order->id;
23
+ }
24
+ }
25
+
26
+ /**
27
+ * @see https://docs.woocommerce.com/wc-apidocs/source-class-WC_Abstract_Legacy_Order.html#406
28
+ * Get attribute from WC_Order
29
+ *
30
+ */
31
+ if ( ! function_exists( 'order_post_meta_getter' ) ) {
32
+ function order_post_meta_getter($order, $attr) {
33
+ $meta = get_post_meta(get_order_id($order), '_'. $attr, true);
34
+ return $meta;
35
+ }
36
+ }
aftership.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: AfterShip - WooCommerce Tracking
4
  Plugin URI: http://aftership.com/
5
  Description: Add tracking number and carrier name to WooCommerce, display tracking info at order history page, auto import tracking numbers to AfterShip.
6
- Version: 1.7.3
7
  Author: AfterShip
8
  Author URI: http://aftership.com
9
 
@@ -298,15 +298,15 @@ if (is_woocommerce_active()) {
298
  if (isset($_POST['aftership_tracking_number'])) {
299
  //
300
  // // Download data
301
- $tracking_provider = woocommerce_clean($_POST['aftership_tracking_provider']);
302
- // $tracking_number = woocommerce_clean($_POST['aftership_tracking_number']);
303
- // $tracking_provider_name = woocommerce_clean($_POST['aftership_tracking_provider_name']);
304
- // $tracking_required_fields = woocommerce_clean($_POST['aftership_tracking_required_fields']);
305
- // $shipdate = woocommerce_clean(strtotime($_POST['aftership_tracking_shipdate']));
306
- // $postal = woocommerce_clean($_POST['aftership_tracking_postal']);
307
- // $account = woocommerce_clean($_POST['aftership_tracking_account']);
308
- // $tracking_key = woocommerce_clean($_POST['aftership_tracking_key']);
309
- // $tracking_destination_country = woocommerce_clean($_POST['aftership_tracking_destination_country']);
310
  //
311
  // // Update order data
312
  update_post_meta($post_id, '_aftership_tracking_provider', $tracking_provider);
@@ -322,9 +322,9 @@ if (is_woocommerce_active()) {
322
 
323
  foreach ($this->aftership_fields as $field) {
324
  if ($field['type'] == 'date') {
325
- update_post_meta($post_id, '_' . $field['id'], woocommerce_clean(strtotime($_POST[$field['id']])));
326
  } else {
327
- update_post_meta($post_id, '_' . $field['id'], woocommerce_clean($_POST[$field['id']]));
328
  }
329
  }
330
  }
@@ -561,7 +561,7 @@ if (is_woocommerce_active()) {
561
  */
562
  function email_display($order)
563
  {
564
- $this->display_tracking_info((method_exists($order, 'get_id'))? $order->get_id() : $order->id, true);
565
  }
566
 
567
  private function display_track_button($tracking_provider, $tracking_number, $required_fields_values)
3
  Plugin Name: AfterShip - WooCommerce Tracking
4
  Plugin URI: http://aftership.com/
5
  Description: Add tracking number and carrier name to WooCommerce, display tracking info at order history page, auto import tracking numbers to AfterShip.
6
+ Version: 1.7.4
7
  Author: AfterShip
8
  Author URI: http://aftership.com
9
 
298
  if (isset($_POST['aftership_tracking_number'])) {
299
  //
300
  // // Download data
301
+ $tracking_provider = wc_clean($_POST['aftership_tracking_provider']);
302
+ // $tracking_number = wc_clean($_POST['aftership_tracking_number']);
303
+ // $tracking_provider_name = wc_clean($_POST['aftership_tracking_provider_name']);
304
+ // $tracking_required_fields = wc_clean($_POST['aftership_tracking_required_fields']);
305
+ // $shipdate = wc_clean(strtotime($_POST['aftership_tracking_shipdate']));
306
+ // $postal = wc_clean($_POST['aftership_tracking_postal']);
307
+ // $account = wc_clean($_POST['aftership_tracking_account']);
308
+ // $tracking_key = wc_clean($_POST['aftership_tracking_key']);
309
+ // $tracking_destination_country = wc_clean($_POST['aftership_tracking_destination_country']);
310
  //
311
  // // Update order data
312
  update_post_meta($post_id, '_aftership_tracking_provider', $tracking_provider);
322
 
323
  foreach ($this->aftership_fields as $field) {
324
  if ($field['type'] == 'date') {
325
+ update_post_meta($post_id, '_' . $field['id'], wc_clean(strtotime($_POST[$field['id']])));
326
  } else {
327
+ update_post_meta($post_id, '_' . $field['id'], wc_clean($_POST[$field['id']]));
328
  }
329
  }
330
  }
561
  */
562
  function email_display($order)
563
  {
564
+ $this->display_tracking_info(get_order_id($order), true);
565
  }
566
 
567
  private function display_track_button($tracking_provider, $tracking_number, $required_fields_values)
api/class-aftership-api-orders.php CHANGED
@@ -120,7 +120,7 @@ class AfterShip_API_Orders extends AfterShip_API_Resource
120
  $order_post = get_post($id);
121
 
122
  $order_data = array(
123
- 'id' => (method_exists($order, 'get_id'))? $order->get_id() : $order->id,
124
  'order_number' => $order->get_order_number(),
125
  'created_at' => $this->server->format_datetime($order_post->post_date_gmt),
126
  'updated_at' => $this->server->format_datetime($order_post->post_modified_gmt),
@@ -144,30 +144,30 @@ class AfterShip_API_Orders extends AfterShip_API_Resource
144
  // 'paid' => isset($order->paid_date),
145
  // ),
146
  'billing_address' => array(
147
- 'first_name' => $order->billing_first_name,
148
- 'last_name' => $order->billing_last_name,
149
- 'company' => $order->billing_company,
150
- 'address_1' => $order->billing_address_1,
151
- 'address_2' => $order->billing_address_2,
152
- 'city' => $order->billing_city,
153
- 'state' => $order->billing_state,
154
- 'postcode' => $order->billing_postcode,
155
- 'country' => $order->billing_country,
156
- 'email' => $order->billing_email,
157
- 'phone' => $order->billing_phone,
158
  ),
159
  'shipping_address' => array(
160
- 'first_name' => $order->shipping_first_name,
161
- 'last_name' => $order->shipping_last_name,
162
- 'company' => $order->shipping_company,
163
- 'address_1' => $order->shipping_address_1,
164
- 'address_2' => $order->shipping_address_2,
165
- 'city' => $order->shipping_city,
166
- 'state' => $order->shipping_state,
167
- 'postcode' => $order->shipping_postcode,
168
- 'country' => $order->shipping_country,
169
  ),
170
- 'note' => $order->customer_note,
171
  // 'customer_ip' => $order->customer_ip_address,
172
  // 'customer_user_agent' => $order->customer_user_agent,
173
  // 'customer_id' => $order->customer_user,
@@ -257,23 +257,25 @@ class AfterShip_API_Orders extends AfterShip_API_Resource
257
  // $order_data['aftership']['woocommerce']['trackings'][] = $result;
258
 
259
  $order_data['aftership']['woocommerce']['trackings'][] = array(
260
- 'tracking_provider' => get_post_meta((method_exists($order, 'get_id'))? $order->get_id() : $order->id, '_aftership_tracking_provider', true),
261
- 'tracking_number' => get_post_meta((method_exists($order, 'get_id'))? $order->get_id() : $order->id, '_aftership_tracking_number', true),
262
- 'tracking_ship_date' => get_post_meta((method_exists($order, 'get_id'))? $order->get_id() : $order->id, '_aftership_tracking_shipdate', true),
263
- 'tracking_postal_code' => get_post_meta((method_exists($order, 'get_id'))? $order->get_id() : $order->id, '_aftership_tracking_postal', true),
264
- 'tracking_account_number' => get_post_meta((method_exists($order, 'get_id'))? $order->get_id() : $order->id, '_aftership_tracking_account', true),
265
- 'tracking_key' => get_post_meta((method_exists($order, 'get_id'))? $order->get_id() : $order->id, '_aftership_tracking_key', true),
266
- 'tracking_destination_country' => get_post_meta((method_exists($order, 'get_id'))? $order->get_id() : $order->id, '_aftership_tracking_destination_country', true),
267
  );
268
  }
269
  if ($tn == NULL) {
270
  // Handle old Shipping Tracking plugin
271
- $tn = get_post_meta((method_exists($order, 'get_id'))? $order->get_id() : $order->id, '_tracking_number', true);
272
  if ($tn == NULL) {
273
  // Handle new Shipping Tracking plugin version higher than 1.6.4
 
 
274
  $order_data['aftership']['woocommerce']['trackings'][] = array(
275
- 'tracking_number' => get_post_meta((method_exists($order, 'get_id'))? $order->get_id() : $order->id, '_wc_shipment_tracking_items', true)[0]['tracking_number'],
276
- 'tracking_provider' => get_post_meta((method_exists($order, 'get_id'))? $order->get_id() : $order->id, '_wc_shipment_tracking_items', true)[0]['custom_tracking_provider'],
277
  );
278
  } else {
279
  $order_data['aftership']['woocommerce']['trackings'][] = array(
120
  $order_post = get_post($id);
121
 
122
  $order_data = array(
123
+ 'id' => get_order_id($order),
124
  'order_number' => $order->get_order_number(),
125
  'created_at' => $this->server->format_datetime($order_post->post_date_gmt),
126
  'updated_at' => $this->server->format_datetime($order_post->post_modified_gmt),
144
  // 'paid' => isset($order->paid_date),
145
  // ),
146
  'billing_address' => array(
147
+ 'first_name' => order_post_meta_getter($order, 'billing_first_name'),
148
+ 'last_name' => order_post_meta_getter($order, 'billing_last_name'),
149
+ 'company' => order_post_meta_getter($order, 'billing_company'),
150
+ 'address_1' => order_post_meta_getter($order, 'billing_address_1'),
151
+ 'address_2' => order_post_meta_getter($order, 'billing_address_2'),
152
+ 'city' => order_post_meta_getter($order, 'billing_city'),
153
+ 'state' => order_post_meta_getter($order, 'billing_state'),
154
+ 'postcode' => order_post_meta_getter($order, 'billing_postcode'),
155
+ 'country' => order_post_meta_getter($order,'billing_country'),
156
+ 'email' => order_post_meta_getter($order,'billing_email'),
157
+ 'phone' => order_post_meta_getter($order,'billing_phone'),
158
  ),
159
  'shipping_address' => array(
160
+ 'first_name' => order_post_meta_getter($order,'shipping_first_name'),
161
+ 'last_name' => order_post_meta_getter($order,'shipping_last_name'),
162
+ 'company' => order_post_meta_getter($order,'shipping_company'),
163
+ 'address_1' => order_post_meta_getter($order,'shipping_address_1'),
164
+ 'address_2' => order_post_meta_getter($order,'shipping_address_2'),
165
+ 'city' => order_post_meta_getter($order,'shipping_city'),
166
+ 'state' => order_post_meta_getter($order,'shipping_state'),
167
+ 'postcode' => order_post_meta_getter($order,'shipping_postcode'),
168
+ 'country' => order_post_meta_getter($order,'shipping_country'),
169
  ),
170
+ 'note' => (method_exists($order, 'get_customer_note'))? $order->get_customer_note() : $order->customer_note,
171
  // 'customer_ip' => $order->customer_ip_address,
172
  // 'customer_user_agent' => $order->customer_user_agent,
173
  // 'customer_id' => $order->customer_user,
257
  // $order_data['aftership']['woocommerce']['trackings'][] = $result;
258
 
259
  $order_data['aftership']['woocommerce']['trackings'][] = array(
260
+ 'tracking_provider' => order_post_meta_getter($order, 'aftership_tracking_provider'),
261
+ 'tracking_number' => order_post_meta_getter($order, 'aftership_tracking_number'),
262
+ 'tracking_ship_date' => order_post_meta_getter($order, 'aftership_tracking_shipdate'),
263
+ 'tracking_postal_code' => order_post_meta_getter($order, 'aftership_tracking_postal'),
264
+ 'tracking_account_number' => order_post_meta_getter($order, 'aftership_tracking_account'),
265
+ 'tracking_key' => order_post_meta_getter($order, 'aftership_tracking_key'),
266
+ 'tracking_destination_country' => order_post_meta_getter($order, 'aftership_tracking_destination_country'),
267
  );
268
  }
269
  if ($tn == NULL) {
270
  // Handle old Shipping Tracking plugin
271
+ $tn = order_post_meta_getter($order, 'tracking_number');
272
  if ($tn == NULL) {
273
  // Handle new Shipping Tracking plugin version higher than 1.6.4
274
+ $tracking_items = order_post_meta_getter($order, 'wc_shipment_tracking_items')[0];
275
+
276
  $order_data['aftership']['woocommerce']['trackings'][] = array(
277
+ 'tracking_number' => $tracking_items['tracking_number'],
278
+ 'tracking_provider' => $tracking_items['custom_tracking_provider']
279
  );
280
  } else {
281
  $order_data['aftership']['woocommerce']['trackings'][] = array(
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.aftership.com/
4
  Tags: shipping, tracking, ups, usps, fedex, dhl, tnt, dpd, post, shipment, woocommerce, tracking number, aftership, package tracking, fulfilment, tracking link, carrier, courier, woo commerce, woocommerce shipment tracking, shipping details plugin, widget, shipstation, track, package
5
  Requires at least: 2.9
6
  Tested up to: 4.2.2
7
- Stable tag: 1.7.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
4
  Tags: shipping, tracking, ups, usps, fedex, dhl, tnt, dpd, post, shipment, woocommerce, tracking number, aftership, package tracking, fulfilment, tracking link, carrier, courier, woo commerce, woocommerce shipment tracking, shipping details plugin, widget, shipstation, track, package
5
  Requires at least: 2.9
6
  Tested up to: 4.2.2
7
+ Stable tag: 1.7.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10