function wc2_register_order_data() { $wc2_order = WC2_DB_Order::get_instance(); $cart = wc2_get_cart(); $entry_data = wc2_get_entry(); if (empty($cart)) { wc2_set_log('Session is empty.', 'register_orderdata'); return false; } if (empty($entry_data['customer']['name1']) || empty($entry_data['customer']['email']) || empty($entry_data) || empty($cart)) { wc2_set_log('Customer data is empty.', 'register_orderdata'); return false; } $general_options = wc2_get_option('general'); $payment = wc2_get_payment($entry_data['order']['payment_method']); foreach ($cart as $row) { $charges_type = wc2_get_item_charges_type($row['item_id']); if (!empty($charges_type)) { break; } } $args = array('cart' => $cart, 'entry_data' => $entry_data, 'member_id' => $entry_data['member_id'], 'payment' => $payment, 'charges_type' => $charges_type); $order_date = wc2_get_today_datetime_format(); $order_status = 'new'; $receipt_status = ''; $receipted_date = ''; if ('continue' == $charges_type) { $order_modified = $order_date; } else { $noreceipt_status_table = wc2_get_option('noreceipt_status'); if (in_array($payment['settlement'], $noreceipt_status_table)) { $receipt_status = 'unpaid'; } $order_modified = ''; } $order_status = apply_filters('wc2_filter_register_orderdata_status', $order_status, $args); $receipt_status = apply_filters('wc2_filter_register_orderdata_receipt_status', $receipt_status, $args); if (!preg_match('/pending|unpaid/', $receipt_status)) { $receipted_date = $order_date; } $order_type = ''; $order_check = array(); do_action('wc2_action_register_order_data_pre', $args); $data = array(); $data[ORDER_MEMBER_ID] = isset($entry_data['member_id']) ? $entry_data['member_id'] : ''; $data[ORDER_EMAIL] = isset($entry_data['customer']['email']) ? $entry_data['customer']['email'] : ''; $data[ORDER_NAME1] = isset($entry_data['customer']['name1']) ? $entry_data['customer']['name1'] : ''; $data[ORDER_NAME2] = isset($entry_data['customer']['name2']) ? $entry_data['customer']['name2'] : ''; $data[ORDER_NAME3] = isset($entry_data['customer']['name3']) ? $entry_data['customer']['name3'] : ''; $data[ORDER_NAME4] = isset($entry_data['customer']['name4']) ? $entry_data['customer']['name4'] : ''; $data[ORDER_COUNTRY] = isset($entry_data['customer']['country']) ? $entry_data['customer']['country'] : ''; $data[ORDER_ZIPCODE] = isset($entry_data['customer']['zipcode']) ? $entry_data['customer']['zipcode'] : ''; $data[ORDER_PREF] = isset($entry_data['customer']['pref']) ? $entry_data['customer']['pref'] : ''; $data[ORDER_ADDRESS1] = isset($entry_data['customer']['address1']) ? $entry_data['customer']['address1'] : ''; $data[ORDER_ADDRESS2] = isset($entry_data['customer']['address2']) ? $entry_data['customer']['address2'] : ''; $data[ORDER_TEL] = isset($entry_data['customer']['tel']) ? $entry_data['customer']['tel'] : ''; $data[ORDER_FAX] = isset($entry_data['customer']['fax']) ? $entry_data['customer']['fax'] : ''; $data[ORDER_NOTE] = isset($entry_data['order']['note']) ? $entry_data['order']['note'] : ''; $data[ORDER_DELIVERY_METHOD] = isset($entry_data['order']['delivery_method']) ? $entry_data['order']['delivery_method'] : -1; $data[ORDER_DELIVERY_NAME] = isset($entry_data['order']['delivery_name']) ? $entry_data['order']['delivery_name'] : ''; $data[ORDER_DELIVERY_DATE] = isset($entry_data['order']['delivery_date']) ? $entry_data['order']['delivery_date'] : ''; $data[ORDER_DELIVERY_TIME] = isset($entry_data['order']['delivery_time']) ? $entry_data['order']['delivery_time'] : ''; $data[ORDER_DELIDUE_DATE] = isset($entry_data['order']['delidue_date']) ? $entry_data['order']['delidue_date'] : ''; $data[ORDER_PAYMENT_METHOD] = isset($entry_data['order']['payment_method']) ? $entry_data['order']['payment_method'] : -1; $data[ORDER_PAYMENT_NAME] = isset($entry_data['order']['payment_name']) ? $entry_data['order']['payment_name'] : ''; $data[ORDER_CONDITION] = serialize(wc2_get_condition()); $data[ORDER_ITEM_TOTAL_PRICE] = isset($entry_data['order']['item_total_price']) ? $entry_data['order']['item_total_price'] : 0; $data[ORDER_GETPOINT] = isset($entry_data['order']['getpoint']) ? $entry_data['order']['getpoint'] : 0; $data[ORDER_USEDPOINT] = isset($entry_data['order']['usedpoint']) ? $entry_data['order']['usedpoint'] : 0; $data[ORDER_DISCOUNT] = isset($entry_data['order']['discount']) ? $entry_data['order']['discount'] : 0; $data[ORDER_SHIPPING_CHARGE] = isset($entry_data['order']['shipping_charge']) ? $entry_data['order']['shipping_charge'] : 0; $data[ORDER_COD_FEE] = isset($entry_data['order']['cod_fee']) ? $entry_data['order']['cod_fee'] : 0; $data[ORDER_TAX] = isset($entry_data['order']['tax']) ? $entry_data['order']['tax'] : 0; $data[ORDER_DATE] = $order_date; $data[ORDER_MODIFIED] = $order_modified; $data[ORDER_STATUS] = $order_status; $data[RECEIPT_STATUS] = $receipt_status; $data[RECEIPTED_DATE] = $receipted_date; $data[ORDER_TYPE] = $order_type; $data[ORDER_CHECK] = serialize($order_check); $cscs_keys = wc2_get_custom_field_keys(WC2_CSCS); if (!empty($cscs_keys) && is_array($cscs_keys)) { foreach ($cscs_keys as $key) { list($pfx, $cscs_key) = explode('_', $key, 2); if (array_key_exists(WC2_CUSTOM_CUSTOMER, $entry_data['customer']) and array_key_exists($cscs_key, $entry_data['customer'][WC2_CUSTOM_CUSTOMER])) { if (is_array($entry_data['customer'][WC2_CUSTOM_CUSTOMER][$cscs_key])) { $data[WC2_CUSTOM_CUSTOMER][$cscs_key] = serialize($entry_data['customer'][WC2_CUSTOM_CUSTOMER][$cscs_key]); } else { $data[WC2_CUSTOM_CUSTOMER][$cscs_key] = $entry_data['customer'][WC2_CUSTOM_CUSTOMER][$cscs_key]; } } else { $data[WC2_CUSTOM_CUSTOMER][$cscs_key] = ''; } } } $csod_keys = wc2_get_custom_field_keys(WC2_CSOD); if (!empty($csod_keys) && is_array($csod_keys)) { foreach ($csod_keys as $key) { list($pfx, $csod_key) = explode('_', $key, 2); if (array_key_exists(WC2_CUSTOM_ORDER, $entry_data['order']) and array_key_exists($csod_key, $entry_data['order'][WC2_CUSTOM_ORDER])) { if (is_array($entry_data['order'][WC2_CUSTOM_ORDER][$csod_key])) { $data[WC2_CUSTOM_ORDER][$csod_key] = serialize($entry_data['order'][WC2_CUSTOM_ORDER][$csod_key]); } else { $data[WC2_CUSTOM_ORDER][$csod_key] = $entry_data['order'][WC2_CUSTOM_ORDER][$csod_key]; } } else { $data[WC2_CUSTOM_ORDER][$csod_key] = ''; } } } $data[ORDER_CART] = array(); ksort($cart); foreach ($cart as $idx => $row) { //$data[ORDER_CART][$row_index][ORDER_CART_GROUP_ID] = 0; $data[ORDER_CART][$idx][ORDER_CART_ROW_INDEX] = $idx; $data[ORDER_CART][$idx][ORDER_CART_POST_ID] = $row['post_id']; $data[ORDER_CART][$idx][ORDER_CART_ITEM_ID] = $row['item_id']; $data[ORDER_CART][$idx][ORDER_CART_ITEM_CODE] = $row['item_code']; $data[ORDER_CART][$idx][ORDER_CART_ITEM_NAME] = $row['item_name']; $data[ORDER_CART][$idx][ORDER_CART_SKU_ID] = $row['sku_id']; $data[ORDER_CART][$idx][ORDER_CART_SKU_CODE] = $row['sku_code']; $data[ORDER_CART][$idx][ORDER_CART_SKU_NAME] = $row['sku_name']; $data[ORDER_CART][$idx][ORDER_CART_PRICE] = $row['price']; $data[ORDER_CART][$idx][ORDER_CART_CPRICE] = $row['cprice']; $data[ORDER_CART][$idx][ORDER_CART_QUANTITY] = $row['quantity']; $data[ORDER_CART][$idx][ORDER_CART_UNIT] = $row['unit']; $data[ORDER_CART][$idx][ORDER_CART_TAX] = $row['tax']; //$data[ORDER_CART][$idx][ORDER_CART_DESTINATION_ID] = 0; $data[ORDER_CART][$idx][ORDER_CART_META_TYPE] = maybe_unserialize($row['meta_type']); $data[ORDER_CART][$idx][ORDER_CART_META_KEY] = maybe_unserialize($row['meta_key']); } $data[ORDER_DELIVERY][0][ORDER_DELIVERY_ROW_INDEX] = 0; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_NAME1] = isset($entry_data['delivery']['name1']) ? $entry_data['delivery']['name1'] : ''; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_NAME2] = isset($entry_data['delivery']['name2']) ? $entry_data['delivery']['name2'] : ''; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_NAME3] = isset($entry_data['delivery']['name3']) ? $entry_data['delivery']['name3'] : ''; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_NAME4] = isset($entry_data['delivery']['name4']) ? $entry_data['delivery']['name4'] : ''; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_COUNTRY] = isset($entry_data['delivery']['country']) ? $entry_data['delivery']['country'] : ''; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_ZIPCODE] = isset($entry_data['delivery']['zipcode']) ? $entry_data['delivery']['zipcode'] : ''; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_PREF] = isset($entry_data['delivery']['pref']) ? $entry_data['delivery']['pref'] : ''; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_ADDRESS1] = isset($entry_data['delivery']['address1']) ? $entry_data['delivery']['address1'] : ''; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_ADDRESS2] = isset($entry_data['delivery']['address2']) ? $entry_data['delivery']['address2'] : ''; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_TEL] = isset($entry_data['delivery']['tel']) ? $entry_data['delivery']['tel'] : ''; $data[ORDER_DELIVERY][0][ORDER_DELIVERY_FAX] = isset($entry_data['delivery']['fax']) ? $entry_data['delivery']['fax'] : ''; $csde_keys = wc2_get_custom_field_keys(WC2_CSDE); if (!empty($csde_keys) && is_array($csde_keys)) { foreach ($csde_keys as $key) { list($pfx, $csde_key) = explode('_', $key, 2); if (array_key_exists(WC2_CUSTOM_DELIVERY, $entry_data['delivery']) and array_key_exists($csde_key, $entry_data['delivery'][WC2_CUSTOM_DELIVERY])) { if (is_array($entry_data['delivery'][WC2_CUSTOM_DELIVERY][$csde_key])) { $data[ORDER_DELIVERY][0][WC2_CUSTOM_DELIVERY][$csde_key] = serialize($entry_data['delivery'][WC2_CUSTOM_DELIVERY][$csde_key]); } else { $data[ORDER_DELIVERY][0][WC2_CUSTOM_DELIVERY][$csde_key] = $entry_data['delivery'][WC2_CUSTOM_DELIVERY][$csde_key]; } } else { $data[ORDER_DELIVERY][0][WC2_CUSTOM_DELIVERY][$csde_key] = ''; } } } //wc2_log(print_r($data,true),"test.log"); $data = apply_filters('wc2_filter_register_order_entry_data', $data, $args); $wc2_order->set_order_data($data); $res = $wc2_order->add_order_data(); if (!$res) { wc2_set_log('Order data registration error.', 'register_orderdata'); return false; } $order_id = $wc2_order->get_the_order_id(); if ($entry_data['member_id'] && wc2_is_membersystem_state() && wc2_is_membersystem_point()) { $wc2_order->point_processing($order_id, $entry_data['member_id'], $entry_data['order']['payment_method'], $entry_data['order']['getpoint'], $entry_data['order']['usedpoint'], $receipt_status); } $args['order_id'] = $order_id; wc2_set_dec_order_id($args); do_action('wc2_action_register_order_data', $args, $data); return $order_id; }
function order_edit_ajax() { //wc2_log(print_r($_POST,true),"test.log"); if ($_POST['action'] != 'order_edit_ajax') { die(0); } $res = false; $_POST = WC2_Utils::stripslashes_deep_post($_POST); switch ($_POST['mode']) { case 'add2cart': $slug = apply_filters('wc2_filter_cart_slug', 'cart'); $general_options = wc2_get_option('general'); $add_cart = array(); $item_id = isset($_POST['item_id']) ? $_POST['item_id'] : 0; $sku_id = isset($_POST['sku_id']) ? $_POST['sku_id'] : 0; $quantity = isset($_POST['quantity']) ? $_POST['quantity'] : 1; $cart_row = isset($_POST['cart_row']) ? $_POST['cart_row'] : 1; $item_sku_data = wc2_get_item_sku_data($item_id, $sku_id); $price = $item_sku_data['sku_price']; $price = apply_filters('wc2_filter_admin_order_add2cart_price', $price, $quantity, $item_id, $sku_id, $slug); if (empty($general_options['tax_rate'])) { $tax = 0; } else { $materials = array('total_price' => $price * $quantity, 'discount' => 0, 'shipping_charge' => 0, 'cod_fee' => 0); $tax = wc2_internal_tax($materials); } $add_cart['group_id'] = 0; $add_cart['row_index'] = $cart_row; $add_cart['post_id'] = $item_sku_data['item_post_id']; $add_cart['item_id'] = $item_id; $add_cart['item_code'] = $item_sku_data['item_code']; $add_cart['item_name'] = $item_sku_data['item_name']; $add_cart['sku_id'] = $sku_id; $add_cart['sku_code'] = $item_sku_data['sku_code']; $add_cart['sku_name'] = $item_sku_data['sku_name']; $add_cart['price'] = $price; $add_cart['cprice'] = $item_sku_data['sku_costprice']; $add_cart['quantity'] = $quantity; $add_cart['unit'] = $item_sku_data['sku_unit']; $add_cart['tax'] = $tax; $add_cart['destination_id'] = 0; $add_cart['meta_type'] = apply_filters('wc2_filter_admin_order_add2cart_meta_type', array(), $quantity, $item_id, $sku_id, $slug); $add_cart['meta_key'] = apply_filters('wc2_filter_admin_order_add2cart_meta_key', array(), $quantity, $item_id, $sku_id, $slug); $add_cart = apply_filters('wc2_filter_admin_order_add2cart', $add_cart, $slug); $res = wc2_add_order_cart_data($_POST['order_id'], $add_cart); if (!$res) { die($res); } $cart = wc2_get_order_cart_data($_POST['order_id']); //*** LI CUSTOMIZE >>> //$res = wc2_get_admin_order_cart_row( $_POST['order_id'], $cart ); $cart_row = wc2_get_admin_order_cart_row($_POST['order_id'], $cart); $order_history_form = li_get_order_history_form($_POST['order_id']); $res = 'OK' . WC2_SPLIT . $cart_row . WC2_SPLIT . $order_history_form; $shipping_charge = li_get_delivery_shipping_charge($_POST['delivery_method'], $_POST['delivery_pref'], $cart); $order_modified = wc2_get_today_datetime_format(); $update_query = " shipping_charge = " . $shipping_charge . ", order_modified = '" . $order_modified . "'"; wc2_update_order_data_value($_POST['order_id'], $update_query); //*** LI CUSTOMIZE <<< break; case 'cart_remove': $res = wc2_remove_order_cart_data($_POST['order_id'], $_POST['cart_id']); if (!$res) { die($res); } $cart = wc2_get_order_cart_data($_POST['order_id']); //*** LI CUSTOMIZE >>> //$res = wc2_get_admin_order_cart_row( $_POST['order_id'], $cart ); $cart_row = wc2_get_admin_order_cart_row($_POST['order_id'], $cart); $order_history_form = li_get_order_history_form($_POST['order_id']); $res = 'OK' . WC2_SPLIT . $cart_row . WC2_SPLIT . $order_history_form; $shipping_charge = li_get_delivery_shipping_charge($_POST['delivery_method'], $_POST['delivery_pref'], $cart); $order_modified = wc2_get_today_datetime_format(); $update_query = " shipping_charge = " . $shipping_charge . ", order_modified = '" . $order_modified . "'"; wc2_update_order_data_value($_POST['order_id'], $update_query); //*** LI CUSTOMIZE <<< break; case 'mail_completion': case 'mail_order': case 'mail_change': case 'mail_receipt': case 'mail_estimate': case 'mail_cancel': case 'mail_other': $res = wc2_ordermail_admin($_POST['order_id']); break; case 'sendmail': $res = wc2_send_ordermail_admin(); break; case 'get_add_item': $res = wc2_get_add_item($_POST['item_code']); break; case 'get_select_item': $res = wc2_get_select_item($_POST['cat_id']); break; case 'checkpost': $res = wc2_update_order_check($_POST['order_id'], $_POST['checked']); break; case 'get_member': $res = wc2_get_member_neworder($_POST['email']); break; case 'recalculation': $res = wc2_order_recalculation($_POST['order_id'], $_POST['member_id'], $_POST['item_ids'], $_POST['skus'], $_POST['prices'], $_POST['quantities'], $_POST['usedpoint'], $_POST['shipping_charge'], $_POST['cod_fee']); break; } $res = apply_filters('wc2_filter_admin_order_edit_ajax', $res); //wc2_log($res,"test.log"); die($res); }