/** * Add to cart. * */ public function add2cart( $slug = '' ) { if( !isset($_REQUEST['item_id']) or !isset($_REQUEST['sku_id']) ) return; if( empty($slug) ) $slug = self::get_cart_slug(); $item_id = $_REQUEST['item_id']; $sku_id = $_REQUEST['sku_id']; $item_sku_data = wc2_get_item_sku_data( $item_id, $sku_id ); $post_id = $item_sku_data[ITEM_POST_ID]; $item_code = $item_sku_data[ITEM_CODE]; $item_name = $item_sku_data[ITEM_NAME]; $sku_code = $item_sku_data[ITEM_SKU_CODE]; $sku_name = $item_sku_data[ITEM_SKU_NAME]; $quantity = $_REQUEST['quantity']; $price = wc2_get_item_sku_price( $item_id, $sku_id ); $price = apply_filters( 'wc2_filter_add2cart_price', $price, $quantity, $item_id, $sku_id, $slug ); $cprice = $item_sku_data[ITEM_SKU_COSTPRICE]; $unit = $item_sku_data[ITEM_SKU_UNIT]; $tax = 0; $meta_type = apply_filters( 'wc2_filter_add2cart_meta_type', array(), $quantity, $item_id, $sku_id, $slug ); $meta_key = apply_filters( 'wc2_filter_add2cart_meta_key', array(), $quantity, $item_id, $sku_id, $slug ); if( array_key_exists( $slug, $_SESSION[WC2] ) ) { $cart_row = array( 'post_id' => $post_id, 'item_id' => $item_id, 'item_code' => $item_code, 'item_name' => $item_name, 'sku_id' => $sku_id, 'sku_code' => $sku_code, 'sku_name' => $sku_name, 'quantity' => $quantity, 'price' => $price, 'cprice' => $cprice, 'unit' => $unit, 'tax' => $tax, 'meta_type' => $meta_type, 'meta_key' => $meta_key ); $cart_row = apply_filters( 'wc2_filter_add2cart', $cart_row, $slug ); self::set_cart( $cart_row, $slug ); } }
/** * Stock check * */ function stock_check() { $mes = array(); $stocks = array(); $cart = wc2_get_cart(); foreach( $cart as $idx => $cart_row ) { $item_id = $cart_row['item_id']; $sku_id = $cart_row['sku_id']; $item_sku_data = wc2_get_item_sku_data( $item_id, $sku_id ); $quantity = ( isset($_POST['quantity'][$idx]) ) ? $_POST['quantity'][$idx] : $cart_row['quantity']; $stock_status = $item_sku_data['stock_status']; $stock = $item_sku_data['sku_stock']; if( !isset($stocks[$item_id][$sku_id]) ) { if( !WC2_Utils::is_blank($stock) ) { $stocks[$item_id][$sku_id] = $stock; } else { $stocks[$item_id][$sku_id] = NULL; } } $checkstock = $stocks[$item_id][$sku_id]; $stocks[$item_id][$sku_id] = $stocks[$item_id][$sku_id] - $quantity; $purchase_limit = ( isset( $item_sku_data['item_purchase_limit'] ) ) ? (int)$item_sku_data['item_purchase_limit'] : 0; if( 1 > (int)$quantity ) { $mes[] = sprintf(__("%d番の商品の数量を正しく入力してください。", 'wc2'), $idx); } elseif( 1 < $stock_status || WC2_Utils::is_zero($stock) ) { $mes[] = sprintf(__("申し訳ありません。%d番の商品は売り切れました。", 'wc2'), $idx); } elseif( $quantity > $purchase_limit && !WC2_Utils::is_blank($purchase_limit) && !WC2_Utils::is_zero($purchase_limit) ) { $mes[] = sprintf(__("%2$d番の商品は一度に %1$d までの数量制限があります。", 'wc2'), $purchase_limit, $idx); } elseif( 0 > $stocks[$item_id][$sku_id] && !WC2_Utils::is_blank($stock) ) { $mes[] = sprintf(__("%1$d番の商品の在庫は残り %2$d です。", 'wc2'), $idx, $checkstock); } } $mes = apply_filters( 'wc2_filter_stock_check', $mes, $cart ); return $mes; }
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); }