Changeset 3009769
- Timestamp:
- 12/14/2023 02:50:47 AM (2 years ago)
- Location:
- ship-depot/trunk
- Files:
-
- 5 added
- 14 edited
-
Ship_Depot_init.php (modified) (2 diffs)
-
assets/css/fe-checkout-custom.css (added)
-
assets/css/fe-checkout-custom.default (added)
-
assets/css/fe-checkout.css (modified) (4 diffs)
-
helper/class-shipping-helper.php (modified) (1 diff)
-
includes/Address/frontend/class-custom-checkout-fields.php (modified) (1 diff)
-
includes/Model/resultDTO.php (added)
-
includes/Order/class-order-shipping.php (modified) (6 diffs)
-
includes/Settings/class-ship-depot-custom-css.php (added)
-
includes/Settings/class-ship-depot-settings-backend.php (modified) (8 diffs)
-
includes/Settings/class-ship-depot-settings-init.php (modified) (1 diff)
-
includes/class-ship-depot-general.php (modified) (2 diffs)
-
page/admin/orders/sd-order-detail.php (modified) (4 diffs)
-
page/admin/settings/sd-custom-css.php (added)
-
page/admin/settings/sd-general-settings.php (modified) (1 diff)
-
page/frontend/sd-cart-page.php (modified) (1 diff)
-
page/frontend/sd-checkout-page.php (modified) (2 diffs)
-
readme.txt (modified) (2 diffs)
-
rest-api/class-shipdepot-webhook.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ship-depot/trunk/Ship_Depot_init.php
r2999839 r3009769 5 5 * Plugin URI: https://shipdepot.vn/ 6 6 * Description: Ship Depot support shipping couriers in Vietnam like GHN, GHTK, AhaMove. 7 * Version: 1.2. 47 * Version: 1.2.6 8 8 * Author: ShipDepot.vn 9 9 * Text Domain: ship-depot-translate … … 35 35 36 36 if (!defined('SHIP_DEPOT_VERSION')) { 37 define('SHIP_DEPOT_VERSION', '1.2. 4');37 define('SHIP_DEPOT_VERSION', '1.2.6'); 38 38 } 39 39 -
ship-depot/trunk/assets/css/fe-checkout.css
r2997508 r3009769 10 10 .hidden-field { 11 11 display: none; 12 }13 14 #shipping_fee_content {15 text-align: left;16 }17 18 #shipping_fee_content p,19 span {20 font-family: Arial, Helvetica, sans-serif;21 margin: 0px;22 font-weight: normal;23 }24 25 #shipping_fee_content .fee {26 font-weight: bold;27 }28 29 #shipping_fee_content .text-description {30 color: var(--text-desc-color);31 }32 33 #shipping_fee_content .cod-failed-description {34 font-style: italic;35 font-weight: bold;36 color: var(--text-desc-color);37 12 } 38 13 … … 54 29 align-items: flex-start; 55 30 width: 100%; 56 flex-wrap: wrap; 57 } 58 59 #shipping_fee_content div.courier-fee img { 60 width: var(--img-service-width); 61 margin: 5px 0 10px 0; 31 flex-direction: column; 62 32 } 63 33 … … 67 37 } 68 38 69 #shipping_fee_content .service-fee input[type="radio"] { 70 margin: 5px 8px 0 16px; 71 } 39 @media screen and (max-width: 599px) { 40 /* .courier-fee { 41 flex-direction: column; 42 } */ 72 43 73 #shipping_fee_content #sd_note { 74 margin: 15px 0px; 75 } 76 77 #shipping_fee_content #sd_note textarea { 78 width: 100%; 79 resize: none; 80 height: 100px; 81 } 82 83 @media screen and (max-width: 599px) { 84 .courier-fee { 85 flex-direction: column; 86 } 87 88 .courier-fee img { 44 /* .courier-fee img { 89 45 margin: 0 auto 16px auto; 90 } 46 } */ 91 47 92 48 .service-fee { … … 94 50 padding-left: 0; 95 51 } 96 97 .service-fee-description {98 width: 100%;99 }100 101 .service-fee-info .service-name {102 font-size: 16px;103 line-height: 25px;104 }105 106 52 } -
ship-depot/trunk/helper/class-shipping-helper.php
r2992887 r3009769 5 5 class Ship_Depot_Shipping_Helper 6 6 { 7 public static function cancel_shipping(WC_Order $order, $tracking_number, $cancel_reason)7 public static function update_cancel_shipping_info(WC_Order $order,string $tracking_number,string $cancel_reason, bool $update_status = true) 8 8 { 9 Ship_Depot_Logger::wrlog('[Ship_Depot_Shipping_Helper][ cancel_shipping]');10 Ship_Depot_Logger::wrlog('[Ship_Depot_Shipping_Helper][ cancel_shipping] order id: ' . $order->get_id());11 Ship_Depot_Logger::wrlog('[Ship_Depot_Shipping_Helper][ cancel_shipping] tracking_number: ' . $tracking_number);12 Ship_Depot_Logger::wrlog('[Ship_Depot_Shipping_Helper][ cancel_shipping] cancel_reason: ' . $cancel_reason);9 Ship_Depot_Logger::wrlog('[Ship_Depot_Shipping_Helper][update_cancel_shipping_info]'); 10 Ship_Depot_Logger::wrlog('[Ship_Depot_Shipping_Helper][update_cancel_shipping_info] order id: ' . $order->get_id()); 11 Ship_Depot_Logger::wrlog('[Ship_Depot_Shipping_Helper][update_cancel_shipping_info] tracking_number: ' . $tracking_number); 12 Ship_Depot_Logger::wrlog('[Ship_Depot_Shipping_Helper][update_cancel_shipping_info] cancel_reason: ' . $cancel_reason); 13 13 Ship_Depot_Helper::UpdateOrderMetadata($order->get_id(), 'sd_ship_info', ''); 14 14 $order->add_order_note($cancel_reason); 15 $order->update_status('on-hold', __('Cập nhật trạng thái đơn hàng sang "Tạm giữ" sau khi hủy vận đơn.', 'ship-depot-translate')); 15 if($update_status){ 16 $order->update_status('on-hold', __('Cập nhật trạng thái đơn hàng sang "Tạm giữ" sau khi hủy vận đơn.', 'ship-depot-translate')); 17 } 16 18 } 17 19 } -
ship-depot/trunk/includes/Address/frontend/class-custom-checkout-fields.php
r2999836 r3009769 70 70 $sd_country_field = array( 71 71 'label' => $fields[$item][$item . '_country']['label'], 72 'required' => $fields[$item][$item . '_country']['required'],72 'required' => $fields[$item][$item . '_country']['required'], 73 73 'class' => $fields[$item][$item . '_country']['class'], 74 74 'autocomplete' => $fields[$item][$item . '_country']['autocomplete'], -
ship-depot/trunk/includes/Order/class-order-shipping.php
r2992887 r3009769 392 392 } 393 393 } 394 395 public static function cancel_shipping(WC_Order $order, bool $update_status = true): Ship_Depot_ResultDTO 396 { 397 $shop_api_key = get_option('sd_api_key'); 398 $data_input = array(); 399 $ship_info = json_decode(Ship_Depot_Helper::GetOrderMetadata($order, 'sd_ship_info', true)); 400 Ship_Depot_Logger::wrlog('[cancel_shipping] ship_info: ' . print_r($ship_info, true)); 401 $data_input["tracking_number"] = isset($ship_info->TrackingNumber) ? $ship_info->TrackingNumber : ''; 402 // 403 $selected_courier = Ship_Depot_Helper::GetOrderMetadata($order, 'sd_selected_courier', true); 404 $data_input["selected_courier"] = $selected_courier; 405 Ship_Depot_Logger::wrlog('[cancel_shipping] data_input: ' . print_r($data_input, true)); 406 if (Ship_Depot_Helper::check_null_or_empty($data_input["tracking_number"])) { 407 return new Ship_Depot_ResultDTO(-1, __('Đơn hàng chưa có vận đơn.', 'ship-depot-translate')); 408 } 409 410 if (Ship_Depot_Helper::check_null_or_empty($data_input["selected_courier"])) { 411 return new Ship_Depot_ResultDTO(-1, __('Không xác định được đơn vị vận chuyển để hủy.', 'ship-depot-translate')); 412 } 413 414 $url = SHIP_DEPOT_HOST_API . '/Shipping/CancelShipping'; 415 $rs = Ship_Depot_Helper::http_post($url, $data_input, array('ShopAPIKey' => $shop_api_key)); 416 Ship_Depot_Logger::wrlog('[cancel_shipping] result call API: ' . print_r($rs, true)); 417 if ($rs->Code > 0) { 418 $result = $rs->Data; 419 Ship_Depot_Logger::wrlog('[cancel_shipping] result: ' . print_r($result, true)); 420 if ($result) { 421 //Remove shipping info 422 $order_note = __('Hủy vận đơn ' . $ship_info->TrackingNumber . ' thành công.', 'ship-depot-translate'); 423 Ship_Depot_Shipping_Helper::update_cancel_shipping_info($order, $ship_info->TrackingNumber, $order_note, $update_status); 424 } else { 425 $order_note = __('Hủy vận đơn ' . $ship_info->TrackingNumber . ' thất bại. Lý do:', 'ship-depot-translate'); 426 $order_note = $order_note . ' ' . $rs->Msg; 427 $order->add_order_note($order_note); 428 } 429 } else { 430 $order_note = __('Hủy vận đơn ' . $ship_info->TrackingNumber . ' thất bại. Lý do:', 'ship-depot-translate'); 431 $order_note = $order_note . ' ' . $rs->Msg; 432 $order->add_order_note($order_note); 433 } 434 return new Ship_Depot_ResultDTO(1, 'Success'); 435 } 394 436 } 395 437 396 add_action('woocommerce_order_status_changed', 'sd_ create_shipping_auto', 10, 3);397 398 function sd_ create_shipping_auto($order_id, $old_status, $new_status)438 add_action('woocommerce_order_status_changed', 'sd_handle_woo_order_status_changed', 10, 3); 439 440 function sd_handle_woo_order_status_changed($order_id, $old_status, $new_status) 399 441 { 400 442 $order = wc_get_order($order_id); 401 Ship_Depot_Logger::wrlog('[sd_create_shipping_auto] order_id: ' . print_r($order_id, true)); 402 Ship_Depot_Logger::wrlog('[sd_create_shipping_auto] _POST: ' . print_r($_POST, true)); 403 Ship_Depot_Logger::wrlog('[sd_create_shipping_auto] old_status: ' . print_r($old_status, true)); 404 Ship_Depot_Logger::wrlog('[sd_create_shipping_auto] new_status: ' . print_r($new_status, true)); 405 Ship_Depot_Logger::wrlog('[sd_create_shipping_auto] post_type: ' . sanitize_text_field($_POST['post_type'])); 406 Ship_Depot_Logger::wrlog('[sd_create_shipping_auto] action: ' . sanitize_text_field($_POST['action'])); 407 if (sanitize_key($_POST['post_type']) == 'shop_order' || sanitize_key($_POST['post_type']) == 'woocommerce_page_wc-orders' || sanitize_key($_POST['action']) == 'editpost' || sanitize_key($_POST['action']) == 'edit_order') { 408 Ship_Depot_Logger::wrlog('[sd_create_shipping_auto] from edit order => Not create shipping auto '); 409 return; 410 } 443 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed] order_id: ' . print_r($order_id, true)); 444 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed] _POST: ' . print_r($_POST, true)); 445 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed] old_status: ' . print_r($old_status, true)); 446 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed] new_status: ' . print_r($new_status, true)); 447 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed] post_type: ' . sanitize_text_field($_POST['post_type'])); 448 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed] action: ' . sanitize_text_field($_POST['action'])); 449 411 450 /* 412 451 pending … … 422 461 sd-delivery-failed 423 462 */ 463 464 //Auto cancel shipping 465 if ($new_status == 'cancelled') { 466 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_cancel_shipping] Begin'); 467 $str_ship_info = Ship_Depot_Helper::GetOrderMetadata($order_id, 'sd_ship_info', true); 468 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_cancel_shipping] str_ship_info: ' . print_r($str_ship_info, true)); 469 $order = wc_get_order($order_id); 470 $result = Ship_Depot_Order_Shipping::cancel_shipping($order, false); 471 if ($result->Code < 0) { 472 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_cancel_shipping] Cancel shipping of order ' . $order_id . ' error. Result: ' . print_r($result, true)); 473 } 474 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_cancel_shipping] End'); 475 } 476 477 //Auto create ship 478 if (sanitize_key($_POST['post_type']) == 'shop_order' || sanitize_key($_POST['post_type']) == 'woocommerce_page_wc-orders' || sanitize_key($_POST['action']) == 'editpost' || sanitize_key($_POST['action']) == 'edit_order') { 479 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed] from edit order => Not create shipping auto '); 480 return; 481 } 482 424 483 Ship_Depot_Default_Data::DefaultAutoCreateShip(); 425 484 $auto_create_ship = get_option('sd_auto_create_shipping'); 426 Ship_Depot_Logger::wrlog('[sd_ create_shipping_auto] auto_create_ship: ' . $auto_create_ship);485 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_create_shipping] auto_create_ship: ' . $auto_create_ship); 427 486 if ($auto_create_ship == 'yes' || $auto_create_ship == '1') { 428 487 $stt_auto_create_ship = get_option('sd_status_auto_create_shipping'); 429 Ship_Depot_Logger::wrlog('[sd_create_shipping_auto] stt_auto_create_ship: ' . $stt_auto_create_ship); 430 if ('wc-' . $new_status == $stt_auto_create_ship) { 488 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_create_shipping] stt_auto_create_ship: ' . $stt_auto_create_ship); 489 if (str_contains($stt_auto_create_ship, ',')) { 490 $statuses = explode(',', $stt_auto_create_ship); 491 } else { 492 $statuses = array($stt_auto_create_ship); 493 } 494 $new_status = 'wc-' . $new_status; 495 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_create_shipping] new_status: ' . $new_status); 496 if (in_array($new_status, $statuses)) { 431 497 $str_ship_info = Ship_Depot_Helper::GetOrderMetadata($order_id, 'sd_ship_info', true); 432 498 // $not_create_ship = Ship_Depot_Helper::GetOrderMetadata($order_id, 'sd_not_create_ship', true); … … 434 500 435 501 // } else { 436 // Ship_Depot_Logger::wrlog('[sd_ create_shipping_auto] not_create_ship = ' . $not_create_ship . ' => Not create shipping');502 // Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_create_shipping] not_create_ship = ' . $not_create_ship . ' => Not create shipping'); 437 503 // } 438 504 … … 441 507 $ship_info = json_decode($str_ship_info); 442 508 if (Ship_Depot_Helper::check_null_or_empty($ship_info->TrackingNumber)) { 443 Ship_Depot_Logger::wrlog('[sd_ create_shipping_auto] TrackingNumber empty => Create shipping');509 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_create_shipping] TrackingNumber empty => Create shipping'); 444 510 save_shipping_to_order_meta_data($order_id); 445 511 $rs = create_ship($order_id, true); … … 448 514 } 449 515 } else { 450 Ship_Depot_Logger::wrlog('[sd_ create_shipping_auto] TrackingNumber existed: ' . $ship_info->TrackingNumber . ' => Not create shipping');516 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_create_shipping] TrackingNumber existed: ' . $ship_info->TrackingNumber . ' => Not create shipping'); 451 517 } 452 518 } else { 453 Ship_Depot_Logger::wrlog('[sd_ create_shipping_auto] str_ship_info = null => Create shipping');519 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_create_shipping] str_ship_info = null => Create shipping'); 454 520 save_shipping_to_order_meta_data($order_id); 455 521 $rs = create_ship($order_id, true); … … 459 525 } 460 526 } else { 461 Ship_Depot_Logger::wrlog('[sd_ create_shipping_auto] order_status #stt_auto_create_ship => Not create shipping');527 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_create_shipping] order_status not existed stt_auto_create_ship => Not create shipping'); 462 528 } 463 529 } else { 464 Ship_Depot_Logger::wrlog('[sd_ create_shipping_auto] auto_create_ship = false => Not create shipping ');530 Ship_Depot_Logger::wrlog('[sd_handle_woo_order_status_changed][auto_create_shipping] auto_create_ship = false => Not create shipping '); 465 531 } 466 532 } -
ship-depot/trunk/includes/Settings/class-ship-depot-settings-backend.php
r2997508 r3009769 71 71 'couriers' => __('Đơn vị vận chuyển', 'ship-depot-translate'), 72 72 'fee_modify' => __('Thay đổi phí vận chuyển', 'ship-depot-translate'), 73 //Tạm đóng chức năng này 74 // 'custom_css' => __('Thay đổi CSS', 'ship-depot-translate'), 73 75 'about' => __('Giới thiệu & Trợ giúp', 'ship-depot-translate') 74 76 ); … … 119 121 do_action('sd_fee_modify_section'); 120 122 break; 123 //Tạm đóng chức năng này 124 // case 'custom_css': 125 // do_action('sd_custom_css_section'); 126 break; 121 127 case 'about': 122 128 do_action('sd_about_section'); … … 153 159 $this->save_fee_modify(); 154 160 break; 161 //Tạm đóng chức năng này 162 // case 'custom_css': 163 // $this->save_custom_css(); 164 // break; 155 165 } 156 166 } … … 170 180 exit; 171 181 } else { 182 Ship_Depot_Logger::wrlog('[save_general_settings] _POST: ' . print_r($_POST, true)); 172 183 // process form data 173 184 //Check APIkey change … … 194 205 $this->save_checkbox('cb_show_shipping_fee_detail', 'sd_show_shipping_fee_detail'); 195 206 $this->save_checkbox('cb_auto_create_shipping', 'sd_auto_create_shipping'); 196 $this->save_radio_button('sd_status_auto_create_shipping'); 207 208 // $this->save_radio_button('sd_status_auto_create_shipping'); 209 //Change sd_status_auto_create_shipping to checkbox => select many status 210 if (isset($_POST['sd_status_auto_create_shipping'])) { 211 if (is_array($_POST['sd_status_auto_create_shipping'])) { 212 $statuses = ''; 213 foreach ($_POST['sd_status_auto_create_shipping'] as $status) { 214 $statuses = $statuses . $status . ','; 215 } 216 217 if (!Ship_Depot_Helper::check_null_or_empty($statuses)) { 218 $statuses = trim($statuses, ','); 219 } 220 Ship_Depot_Logger::wrlog('[save_general_settings] list statuses auto create shipping: ' . print_r($statuses, true)); 221 update_option('sd_status_auto_create_shipping', $statuses); 222 } else { 223 $this->save_radio_button('sd_status_auto_create_shipping'); 224 } 225 } 197 226 198 227 delete_option('cb_set_status_for_delivery'); … … 208 237 delete_option('sd_status_for_control'); 209 238 210 Ship_Depot_Logger::wrlog('[save_general_settings] _POST: ' . print_r($_POST, true));211 239 $list_statuses = []; 212 240 foreach ($_POST['shipdepot']['status_id'] as $id) { … … 336 364 $district_code = sanitize_text_field($_POST[$courier_id]['ShipFromStation']['DistrictCode']); 337 365 Ship_Depot_Logger::wrlog('[save_couriers][' . $courier_id . '] ShipFromStation district_code: ' . print_r($district_code, true)); 338 if ($district_code == "-1"){366 if ($district_code == "-1") { 339 367 $district = new Ship_Depot_District(); 340 } else{368 } else { 341 369 $district = new Ship_Depot_District(Ship_Depot_Address_Helper::get_district_by_id($province_code, $district_code)); 342 370 } 343 371 344 372 $courier->ShipFromStation->Province = $province; 345 373 $courier->ShipFromStation->District = $district; … … 521 549 } 522 550 551 public function save_custom_css() 552 { 553 if (is_null($_POST) || empty($_POST)) { 554 return false; 555 } 556 557 Ship_Depot_Logger::wrlog('=================================================================================================================='); 558 if (!isset($_POST['sd_custom_css_nonce']) || !wp_verify_nonce($_POST['sd_custom_css_nonce'], 'sd_custom_css')) { 559 print 'Sorry, your nonce did not verify.'; 560 Ship_Depot_Logger::wrlog('[save_custom_css] Nonce did not verify'); 561 exit; 562 } else { 563 Ship_Depot_Logger::wrlog('[save_custom_css] _POST: ' . print_r($_POST, true)); 564 Ship_Depot_Logger::wrlog('[save_custom_css] sd_checkout_custom_css: ' . print_r($_POST['sd_checkout_custom_css'], true)); 565 Ship_Depot_Logger::wrlog('[save_custom_css] sd_restore_css: ' . print_r($_POST['sd_restore_css'], true)); 566 $file_update = SHIP_DEPOT_DIR_PATH . 'assets/css/fe-checkout-custom.css'; 567 if (isset($_POST['sd_restore_css']) && sanitize_text_field($_POST['sd_restore_css']) == 'true') { 568 //Restore data 569 $df_css = file_get_contents(SHIP_DEPOT_DIR_PATH . 'assets/css/fe-checkout-custom.default'); 570 file_put_contents($file_update, $df_css); 571 } else { 572 //Update new data 573 file_put_contents($file_update, str_replace('\"', '"', $_POST['sd_checkout_custom_css'])); 574 } 575 } 576 } 577 523 578 public function save_option($id) 524 579 { -
ship-depot/trunk/includes/Settings/class-ship-depot-settings-init.php
r2922618 r3009769 11 11 require_once SHIP_DEPOT_DIR_PATH . 'includes/Settings/class-ship-depot-general-settings.php'; 12 12 require_once SHIP_DEPOT_DIR_PATH . 'includes/Settings/class-ship-depot-fee-modify.php'; 13 require_once SHIP_DEPOT_DIR_PATH . 'includes/Settings/class-ship-depot-custom-css.php'; 13 14 require_once SHIP_DEPOT_DIR_PATH . 'includes/Settings/class-ship-depot-couriers.php'; 14 15 require_once SHIP_DEPOT_DIR_PATH . 'includes/Settings/class-ship-depot-about.php'; -
ship-depot/trunk/includes/class-ship-depot-general.php
r2999826 r3009769 85 85 require_once SHIP_DEPOT_DIR_PATH . 'includes/Model/class-receiver.php'; 86 86 require_once SHIP_DEPOT_DIR_PATH . 'includes/Model/class-shipping-status.php'; 87 require_once SHIP_DEPOT_DIR_PATH . 'includes/Model/resultDTO.php'; 87 88 // 88 89 require_once SHIP_DEPOT_DIR_PATH . 'includes/Model/ShippingFee/class-courier-response.php'; … … 162 163 wp_enqueue_style('sd-main-style', SHIP_DEPOT_DIR_URL . 'assets/css/main.css', array(), '1.0.0', 'all'); 163 164 wp_enqueue_style('sd-front', SHIP_DEPOT_DIR_URL . 'assets/css/fe-checkout.css', array(), '1.0.0', 'all'); 165 wp_enqueue_style('sd-front-custom', SHIP_DEPOT_DIR_URL . 'assets/css/fe-checkout-custom.css', array(), '1.0.0', 'all'); 164 166 wp_enqueue_style('sd-dialog-style', SHIP_DEPOT_DIR_URL . 'assets/css/dialog.css', array(), '1.0.0', 'all'); 165 167 //is_product() || is_cart() || is_checkout() || is_account_page() -
ship-depot/trunk/page/admin/orders/sd-order-detail.php
r2992887 r3009769 127 127 // 128 128 Ship_Depot_Logger::wrlog('[sd_woocommerce_new_shipping] order_id: ' . $order_id); 129 Ship_Depot_Logger::wrlog('[sd_woocommerce_new_shipping] order status: ' . $order->get_status()); 129 130 Ship_Depot_Logger::wrlog('[sd_woocommerce_new_shipping] _POST: ' . print_r($_POST, true)); 130 131 Ship_Depot_Logger::wrlog('[sd_woocommerce_new_shipping] shipdepot data: ' . print_r($_POST['shipdepot'], true)); 131 $not_create_ship = false; 132 if (isset($_POST['shipdepot']['notCreateShipping'])) { 133 $not_create_ship = Ship_Depot_Helper::get_data_from_checkbox(sanitize_text_field($_POST['shipdepot']['notCreateShipping'])); 134 } 135 Ship_Depot_Helper::UpdateOrderMetadataWOSave($order, 'sd_not_create_ship', json_encode($not_create_ship),); 136 sd_submit_data_and_save_to_order_meta_data($order, false, $not_create_ship); 132 if ($order->get_status() == 'cancelled') { 133 Ship_Depot_Logger::wrlog('[sd_woocommerce_new_shipping] Cancel order => Not create shipping.'); 134 } else { 135 $not_create_ship = false; 136 if (isset($_POST['shipdepot']['notCreateShipping'])) { 137 $not_create_ship = Ship_Depot_Helper::get_data_from_checkbox(sanitize_text_field($_POST['shipdepot']['notCreateShipping'])); 138 } 139 Ship_Depot_Helper::UpdateOrderMetadataWOSave($order, 'sd_not_create_ship', json_encode($not_create_ship),); 140 sd_submit_data_and_save_to_order_meta_data($order, false, $not_create_ship); 141 } 137 142 } 138 143 … … 416 421 { 417 422 Ship_Depot_Logger::wrlog('[metabox_order] $order: ' . json_encode($order)); 418 if (!$order) { 423 424 if (is_bool($order) && !$order) { 425 $order = []; 419 426 Ship_Depot_Logger::wrlog('[metabox_order] $order metabox is null.'); 420 $array_side_box = ["woocommerce- shipment-dhl-label,woocommerce-order-actions,woocommerce-order-notes"];427 $array_side_box = ["woocommerce-order-actions,woocommerce-order-notes"]; 421 428 $array_normal_box = ["woocommerce-order-data,sd_meta_boxes,woocommerce-order-items,postcustom,woocommerce-order-downloads"]; 422 429 $array_advance_box = []; … … 758 765 function cancel_shipping_init() 759 766 { 760 $shop_api_key = get_option('sd_api_key');761 767 $order_id = (isset($_POST['orderID'])) ? sanitize_text_field($_POST['orderID']) : ''; 762 768 $order = wc_get_order($order_id); 763 $data_input = array(); 764 $ship_info = json_decode(Ship_Depot_Helper::GetOrderMetadata($order, 'sd_ship_info', true)); 765 Ship_Depot_Logger::wrlog('[cancel_shipping_init] ship_info: ' . print_r($ship_info, true)); 766 $data_input["tracking_number"] = isset($ship_info->TrackingNumber) ? $ship_info->TrackingNumber : ''; 767 // 768 $selected_courier = Ship_Depot_Helper::GetOrderMetadata($order, 'sd_selected_courier', true); 769 $data_input["selected_courier"] = $selected_courier; 770 Ship_Depot_Logger::wrlog('[cancel_shipping_init] data_input: ' . print_r($data_input, true)); 771 if (Ship_Depot_Helper::check_null_or_empty($data_input["tracking_number"])) { 772 wp_send_json_success(__('Đơn hàng chưa có vận đơn.', 'ship-depot-translate')); 769 $result = Ship_Depot_Order_Shipping::cancel_shipping($order); 770 if ($result->Code < 0) { 771 wp_send_json_success($result->Message); 773 772 die(); 774 }775 776 if (Ship_Depot_Helper::check_null_or_empty($data_input["selected_courier"])) {777 wp_send_json_success(__('Không xác định được đơn vị vận chuyển để hủy.', 'ship-depot-translate'));778 die();779 }780 781 $url = SHIP_DEPOT_HOST_API . '/Shipping/CancelShipping';782 $rs = Ship_Depot_Helper::http_post($url, $data_input, array('ShopAPIKey' => $shop_api_key));783 Ship_Depot_Logger::wrlog('[cancel_shipping_init] result call API: ' . print_r($rs, true));784 if ($rs->Code > 0) {785 $result = $rs->Data;786 Ship_Depot_Logger::wrlog('[cancel_shipping_init] result: ' . print_r($result, true));787 if ($result) {788 //Remove shipping info789 $order_note = __('Hủy vận đơn ' . $ship_info->TrackingNumber . ' thành công.', 'ship-depot-translate');790 Ship_Depot_Shipping_Helper::cancel_shipping($order, $ship_info->TrackingNumber, $order_note);791 } else {792 $order_note = __('Hủy vận đơn ' . $ship_info->TrackingNumber . ' thất bại. Lý do:', 'ship-depot-translate');793 $order_note = $order_note . ' ' . $rs->Msg;794 $order->add_order_note($order_note);795 }796 } else {797 $order_note = __('Hủy vận đơn ' . $ship_info->TrackingNumber . ' thất bại. Lý do:', 'ship-depot-translate');798 $order_note = $order_note . ' ' . $rs->Msg;799 $order->add_order_note($order_note);800 773 } 801 774 wp_send_json_success('success'); … … 956 929 // 957 930 $str_rcv = Ship_Depot_Helper::GetOrderMetadata($order, 'sd_receiver', true); 958 //Ship_Depot_Logger::wrlog('[sd_meta_boxes_content] $str_rcv bf: ' . $str_rcv);931 Ship_Depot_Logger::wrlog('[sd_meta_boxes_content] $str_rcv bf: ' . $str_rcv); 959 932 if (!Ship_Depot_Helper::check_null_or_empty($str_rcv)) { 960 933 $receiver_obj = Ship_Depot_Helper::CleanJsonFromHTMLAndDecode($str_rcv); -
ship-depot/trunk/page/admin/settings/sd-general-settings.php
r2992887 r3009769 126 126 $listStatus = wc_get_order_statuses(); 127 127 $count = 0; 128 $str_statuses = get_option('sd_status_auto_create_shipping'); 129 if (str_contains($str_statuses, ',')) { 130 $statuses = explode(',', $str_statuses); 131 } else { 132 $statuses = array($str_statuses); 133 } 128 134 foreach ($listStatus as $id => $stt) { 129 135 if ($count % 3 == 0) { 130 136 echo '<div class="col-xl-6 offset-xl-6 col-lg-3 offset-lg-9 d-none d-lg-block col-padding-0"></div>'; 131 137 } 138 $checkedAttr = checked(in_array($id, $statuses), true, false); 132 139 echo '<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12 col-padding-0">'; 133 $checkedAttr = checked(get_option('sd_status_auto_create_shipping'), $id, false); 134 echo '<label for="' . esc_attr($id) . '" class="label-status"><input name="sd_status_auto_create_shipping" id="' . esc_attr($id) . '" type="radio" value="' . esc_attr($id) . '" ' . $checkedAttr . ' />' . esc_html($stt) . '</label>'; 140 echo '<label for="' . esc_attr($id) . '" class="label-status"><input name="sd_status_auto_create_shipping[' . esc_attr($id) . ']" id="' . esc_attr($id) . '" type="checkbox" value="' . esc_attr($id) . '" ' . $checkedAttr . ' />' . esc_html($stt) . '</label>'; 135 141 echo '</div>'; 136 142 $count++; -
ship-depot/trunk/page/frontend/sd-cart-page.php
r2922618 r3009769 9 9 $needs_shipping = false; 10 10 } 11 12 // if (is_checkout()) { 13 // WC()->session->__unset('selected_shipping'); 14 // $needs_shipping = false; 15 // } 11 16 return $needs_shipping; 12 17 } -
ship-depot/trunk/page/frontend/sd-checkout-page.php
r2992887 r3009769 27 27 //add_filter('woocommerce_cart_needs_payment', '__return_false'); 28 28 29 30 //Current hook: woocommerce_review_order_before_order_total => after list item 31 //New hook: woocommerce_review_order_before_submit => before place order 29 32 add_action('woocommerce_review_order_before_order_total', 'sd_woocommerce_review_order_before_order_total'); 30 33 function sd_woocommerce_review_order_before_order_total() … … 233 236 if ($courier->CourierID == AHA_COURIER_CODE) { 234 237 ?> 235 <p class=" description"><?php echo esc_html__('Thời gian di chuyển từ lúc lấy hàng:', 'ship-depot-translate') . ' ' . esc_html($serv->TimeExpected) ?></p>238 <p class="text-description service-fee-description"><?php echo esc_html__('Thời gian di chuyển từ lúc lấy hàng:', 'ship-depot-translate') . ' ' . esc_html($serv->TimeExpected) ?></p> 236 239 <?php 237 240 } else { 238 241 ?> 239 <p class=" description"><?php echo esc_html__('T.gian nhận hàng ước tính:', 'ship-depot-translate') . ' ' . esc_html($serv->TimeExpected) ?></p>242 <p class="text-description service-fee-description"><?php echo esc_html__('T.gian nhận hàng ước tính:', 'ship-depot-translate') . ' ' . esc_html($serv->TimeExpected) ?></p> 240 243 <?php 241 244 } -
ship-depot/trunk/readme.txt
r2999836 r3009769 3 3 Tags: shipping, couriers, ghn, ghtk, aha 4 4 Requires at least: 6.1.1 5 Tested up to: 6. 3.25 Tested up to: 6.4.2 6 6 Requires PHP: 7.4.3 7 Stable tag: 1.2. 47 Stable tag: 1.2.6 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 65 65 66 66 == Changelog == 67 = 1.2.6 = 68 * Thêm chức năng tự động hủy vận đơn khi đơn hàng đổi sang trạng thái Hủy 69 * Cho phép chọn nhiều trạng thái tự động tạo vận đơn ở trang Cài đặt của Ship Depot 70 67 71 = 1.2.4 = 68 72 * Đưa Hồ Chí Minh và Hà Nội lên đầu danh sách chọn Tỉnh/Thành ở trang Thanh toán. -
ship-depot/trunk/rest-api/class-shipdepot-webhook.php
r2997508 r3009769 274 274 $order_note = $order_note . ' ' . $ship_param->CancelDescription; 275 275 } 276 Ship_Depot_Shipping_Helper:: cancel_shipping($order, $ship_info->TrackingNumber, $order_note);276 Ship_Depot_Shipping_Helper::update_cancel_shipping_info($order, $ship_info->TrackingNumber, $order_note); 277 277 } 278 278 // … … 297 297 } 298 298 299 function sd_update_ cancel_shipping($request)299 function sd_update_update_cancel_shipping_info($request) 300 300 { 301 301 $params = wp_parse_args($request->get_params(), ''); … … 327 327 $order_note = $order_note . ' ' . $ship_param->CancelDescription; 328 328 } 329 Ship_Depot_Shipping_Helper:: cancel_shipping($order, $ship_info->TrackingNumber, $order_note);329 Ship_Depot_Shipping_Helper::update_cancel_shipping_info($order, $ship_info->TrackingNumber, $order_note); 330 330 // 331 331 }
Note: See TracChangeset
for help on using the changeset viewer.