| @@ -30,9 +30,9 @@ | ||
| 30 | 30 | if ( ! $order instanceof LP_Order ) { |
| 31 | 31 | return false; |
| 32 | 32 | } |
| 33 | 33 | |
| 34 | - $order->set_order_date( time() ); | |
| 34 | + //$order->set_order_date( time() ); | |
| 35 | 35 | $order->set_order_key( learn_press_generate_order_key() ); |
| 36 | 36 | $status = $this->format_status_save_db( $order ); |
| 37 | 37 | $lp_time = new LP_Datetime( time() ); |
| 38 | 38 | |
| @@ -78,16 +78,33 @@ | ||
| 78 | 78 | if ( ! $order instanceof LP_Order ) { |
| 79 | 79 | return false; |
| 80 | 80 | } |
| 81 | 81 | |
| 82 | + $post = get_post( $order->get_id() ); | |
| 82 | 83 | $status = $this->format_status_save_db( $order ); |
| 83 | 84 | $post_data = array( |
| 84 | - //'post_title' => $order->get_order_number(), | |
| 85 | - 'post_date' => $order->get_order_date( 'edit' )->toSql(), | |
| 86 | - 'post_date_gmt' => $order->get_order_date( 'edit' )->toSql( false ), | |
| 87 | - 'post_status' => $status, | |
| 88 | - //'post_parent' => $order->get_parent_id(), | |
| 85 | + 'post_status' => $status, | |
| 89 | 86 | ); |
| 87 | + | |
| 88 | + // For case edit Order on Backend. | |
| 89 | + if ( isset( $_POST['order-date'] ) ) { | |
| 90 | + // Data time submit edit order will is local time | |
| 91 | + $order_date = LP_Request::get_param( 'order-date' ); | |
| 92 | + $order_hour = LP_Request::get_param( 'order-hour', '00' ); | |
| 93 | + $order_min = LP_Request::get_param( 'order-minute', '00' ); | |
| 94 | + $date_time_local = $order_date . ' ' . $order_hour . ':' . $order_min . ':00'; | |
| 95 | + | |
| 96 | + // Date GMT | |
| 97 | + $lpDateTimeLocal = new LP_Datetime( $date_time_local ); | |
| 98 | + $date_time_gmt = $lpDateTimeLocal->to_gmt_string( $lpDateTimeLocal ); | |
| 99 | + $post_data['post_date'] = $date_time_local; | |
| 100 | + $post_data['post_date_gmt'] = $date_time_gmt; | |
| 101 | + } elseif ( $post->post_status === 'auto-draft' | |
| 102 | + && $post->post_date_gmt === '0000-00-00 00:00:00' ) { | |
| 103 | + $date_time_gmt = get_gmt_from_date( $post->post_date ); | |
| 104 | + $post_data['post_date_gmt'] = $date_time_gmt; | |
| 105 | + } | |
| 106 | + | |
| 90 | 107 | $post_data = apply_filters( 'learn-press/order/update-data', $post_data, $order->get_id() ); |
| 91 | 108 | |
| 92 | 109 | /** |
| 93 | 110 | * When updating this object, to prevent infinite loops, use $wpdb |
| @@ -494,25 +511,24 @@ | ||
| 494 | 511 | } else { |
| 495 | 512 | $users = 0; |
| 496 | 513 | } |
| 497 | 514 | |
| 498 | - $order->set_data_via_methods( | |
| 499 | - array( | |
| 500 | - 'user_id' => $users, | |
| 501 | - 'order_date' => new LP_Datetime( $post->post_date ), | |
| 502 | - 'date_modified' => new LP_Datetime( $post->post_modified ), | |
| 503 | - 'status' => str_replace( 'lp-', '', $post->post_status ), | |
| 504 | - 'parent_id' => $post->post_parent, | |
| 505 | - 'created_via' => get_post_meta( $post->ID, '_created_via', true ), | |
| 506 | - 'total' => get_post_meta( $post->ID, '_order_total', true ), | |
| 507 | - 'subtotal' => get_post_meta( $post->ID, '_order_subtotal', true ), | |
| 508 | - 'order_key' => get_post_meta( $post->ID, '_order_key', true ), | |
| 509 | - 'user_ip_address' => get_post_meta( $post->ID, '_user_ip_address', true ), | |
| 510 | - 'user_agent' => get_post_meta( $post->ID, '_user_agent', true ), | |
| 511 | - 'checkout_email' => get_post_meta( $post->ID, '_checkout_email', true ), | |
| 512 | - 'currency' => get_post_meta( $post->ID, '_order_currency', true ), | |
| 513 | - ) | |
| 514 | - ); | |
| 515 | + $lpDateTimeGmt = new LP_Datetime( $post->post_date_gmt ); | |
| 516 | + $date_local = $lpDateTimeGmt->toSql( true ); | |
| 517 | + $order->set_order_date( new LP_Datetime( $date_local ) ); | |
| 518 | + | |
| 519 | + $order->set_user_id( $users ); | |
| 520 | + $order->set_date_modified( new LP_Datetime( $post->post_modified ) ); | |
| 521 | + $order->set_status( str_replace( 'lp-', '', $post->post_status ) ); | |
| 522 | + $order->set_parent_id( $post->post_parent ); | |
| 523 | + $order->set_created_via( get_post_meta( $post->ID, '_created_via', true ) ); | |
| 524 | + $order->set_total( get_post_meta( $post->ID, '_order_total', true ) ); | |
| 525 | + $order->set_subtotal( get_post_meta( $post->ID, '_order_subtotal', true ) ); | |
| 526 | + $order->set_order_key( get_post_meta( $post->ID, '_order_key', true ) ); | |
| 527 | + $order->set_user_ip_address( get_post_meta( $post->ID, '_user_ip_address', true ) ); | |
| 528 | + $order->set_user_agent( get_post_meta( $post->ID, '_user_agent', true ) ); | |
| 529 | + $order->set_checkout_email( get_post_meta( $post->ID, '_checkout_email', true ) ); | |
| 530 | + $order->set_currency( get_post_meta( $post->ID, '_order_currency', true ) ); | |
| 515 | 531 | $order->set_data( 'order_subtotal', get_post_meta( $post->ID, '_order_subtotal', true ) ); |
| 516 | 532 | $order->set_data( 'order_total', get_post_meta( $post->ID, '_order_total', true ) ); |
| 517 | 533 | $order->set_data( 'payment_method', get_post_meta( $post->ID, '_payment_method', true ) ); |
| 518 | 534 | $order->set_data( 'payment_method_title', get_post_meta( $post->ID, '_payment_method_title', true ) ); |