woocommerce_model = new A2WL_Woocommerce(); } } public function assets() { if ( isset($_GET['post']) && isset($_GET['action']) && $_GET['action'] === 'edit') { wp_enqueue_script('a2wl-wc-order-edit-script', A2WL()->plugin_url() . '/assets/js/wc_order_edit.js', array(), A2WL()->version); } } public function ajax_add_tracking_codes_manually(){ $result = A2WL_ResultBuilder::buildOk(); try { $order_id = (int)$_POST['id']; $tracking_codes = $_POST['tracking_codes']; if (get_post($order_id)) if ($tracking_codes){ $tracking_codes = explode(',', $tracking_codes); $this->add_tracking_codes($order_id, $tracking_codes); $order = wc_get_order( $order_id ); $order->add_order_note( __( 'The tracking numbers have been added to the order.', 'ali2woo-lite' ), false, true ); } else $result = A2WL_ResultBuilder::buildError('did not find the order id: №' . $order_id); restore_error_handler(); } catch (Exception $e) { $result = A2WL_ResultBuilder::buildError($e->getMessage()); } echo json_encode($result); wp_die(); } public function ajax_delete_tracking_codes(){ $result = A2WL_ResultBuilder::buildOk(); try { $order_id = (int)$_POST['id']; if (get_post($order_id)) { delete_post_meta($order_id, '_a2wl_tracking_code'); $order = wc_get_order( $order_id ); $order->add_order_note( __( 'The order`s tracking numbers have been deleted.', 'ali2woo-lite' ), false, true ); } else $result = A2WL_ResultBuilder::buildError('did not find the order id: №' . $order_id); restore_error_handler(); } catch (Exception $e) { $result = A2WL_ResultBuilder::buildError($e->getMessage()); } echo json_encode($result); wp_die(); } public function ajax_delete_order_id(){ $result = A2WL_ResultBuilder::buildOk(); try { $order_id = (int)$_POST['id']; if (get_post($order_id)) { delete_post_meta($order_id, '_a2wl_external_order_id'); $order = wc_get_order( $order_id ); $order->add_order_note( __( 'The order external ID(s) have been deleted.', 'ali2woo-lite' ), false, true ); } else $result = A2WL_ResultBuilder::buildError('did not find the order id: №' . $order_id); restore_error_handler(); } catch (Exception $e) { $result = A2WL_ResultBuilder::buildError($e->getMessage()); } echo json_encode($result); wp_die(); } public function ajax_add_order_id_manually(){ $result = A2WL_ResultBuilder::buildOk(); try { $order_id = (int)$_POST['id']; $codes = $_POST['codes']; if (get_post($order_id)) if ($codes){ $codes = explode(',', $codes); $this->add_external_order_id($order_id, $codes); $order = wc_get_order( $order_id ); $order->add_order_note( __( 'The external order IDs have been added to the order.', 'ali2woo-lite' ), false, true ); } else $result = A2WL_ResultBuilder::buildError('did not find the order id: №' . $order_id); restore_error_handler(); } catch (Exception $e) { $result = A2WL_ResultBuilder::buildError($e->getMessage()); } echo json_encode($result); wp_die(); } public function add_tab( $order ){ ?>

get_id(), '_a2wl_external_order_id' ); $order_tracking_codes = get_post_meta( $order->get_id(), '_a2wl_tracking_code'); ?>
:
$order_external_id) : ?> ,



:
$tracking_code) : ?> ,

$order_external_id) : woocommerce_wp_text_input( array( 'id' => 'a2wl_external_order_id', 'name' => 'a2wl_external_order_id[]', 'label' => __('AliExpress Order ID', 'ali2woo-lite') . ' ' . ($k+1), 'value' => $order_external_id, 'wrapper_class' => 'form-field-wide a2wl_tracking_code_id' ) ); endforeach; ?>

$tracking_code) : woocommerce_wp_text_input( array( 'id' => 'a2wl_tracking_code', 'name' => 'a2wl_tracking_code[]', 'label' => __('Tracking number', 'ali2woo-lite') . ' ' . ($k+1) , 'value' => $tracking_code, 'wrapper_class' => 'form-field-wide a2wl_tracking_code_data' ) ); endforeach; ?>
add_external_order_id($ord_id, $_POST[ 'a2wl_external_order_id' ]); } else { delete_post_meta($ord_id, '_a2wl_external_order_id'); } if (isset($_POST[ 'a2wl_tracking_code' ])){ delete_post_meta($ord_id, '_a2wl_tracking_code'); $this->add_tracking_codes($ord_id, $_POST[ 'a2wl_tracking_code' ]); } else { delete_post_meta($ord_id, '_a2wl_tracking_code'); } } private function add_external_order_id($order_id, $data){ if (is_array($data) && count($data) > 0) { foreach ($data as $code_value) { $code_value = trim($code_value); if (!empty ( $code_value )) add_post_meta($order_id, '_a2wl_external_order_id', $code_value); } } } private function add_tracking_codes($order_id, $tracking_codes){ if (is_array($tracking_codes) && count($tracking_codes) > 0) { foreach ($tracking_codes as $code_value) { $code_value = trim($code_value); if (!empty ( $code_value )) add_post_meta($order_id, '_a2wl_tracking_code', $code_value); } } } } }