continue; } $continue = false; foreach ($opt as $v) { if (strval($v) === strval($val[$key])) { $continue = true; break; } } if ($continue) { continue; } $opt[] = strval($val[$key]); if ($key + 1 < $sel_count) { $str .= PHP_EOL . '<option value="' . $val[$key] . '">' . $val[$key] . '</option>'; } else { if ($row['io_price'] >= 0) { $price = ' + ' . number_format($row['io_price']) . '원'; } else { $price = ' ' . number_format($row['io_price']) . '원'; } $io_stock_qty = get_option_stock_qty($it_id, $row['io_id'], $row['io_type']); if ($io_stock_qty < 1) { $soldout = ' [품절]'; } else { $soldout = ''; } $str .= PHP_EOL . '<option value="' . $val[$key] . ',' . $row['io_price'] . ',' . $io_stock_qty . '">' . $val[$key] . $price . $soldout . '</option>'; } } echo $str;
function is_soldout($it_id) { global $g5; // 상품정보 $sql = " select it_soldout, it_stock_qty from {$g5['g5_shop_item_table']} where it_id = '{$it_id}' "; $it = sql_fetch($sql); if ($it['it_soldout'] || $it['it_stock_qty'] <= 0) { return true; } $count = 0; $soldout = false; // 상품에 선택옵션 있으면.. $sql = " select count(*) as cnt from {$g5['g5_shop_item_option_table']} where it_id = '{$it_id}' and io_type = '0' "; $row = sql_fetch($sql); if ($row['cnt']) { $sql = " select io_id, io_type, io_stock_qty\n from {$g5['g5_shop_item_option_table']}\n where it_id = '{$it_id}'\n and io_type = '0'\n and io_use = '1' "; $result = sql_query($sql); for ($i = 0; $row = sql_fetch_array($result); $i++) { // 옵션 재고수량 $stock_qty = get_option_stock_qty($it_id, $row['io_id'], $row['io_type']); if ($stock_qty <= 0) { $count++; } } // 모든 선택옵션 품절이면 상품 품절 if ($i == $count) { $soldout = true; } } else { // 상품 재고수량 $stock_qty = get_it_stock_qty($it_id); if ($stock_qty <= 0) { $soldout = true; } } return $soldout; }
$str .= "{$lt}utime{$gt}{$row['it_time']}\n"; $str .= "{$lt}ftend{$gt}\n"; // 091223 : 네이버에서는 아직 utf-8 을 지원하지 않고 있음 echo iconv('utf-8', 'euc-kr', $str); } else { $subj = explode(',', $row['it_option_subject']); for ($k = 0; $row2 = sql_fetch_array($result2); $k++) { $it_name = $row['it_name'] . ' '; $opt = explode(chr(30), $row2['io_id']); $sep = ''; for ($j = 0; $j < count($subj); $j++) { $it_name .= $sep . $subj[$j] . ':' . $opt[$j]; $sep = ' '; } $it_price = $row['it_price'] + $row2['io_price']; $stock_qty = get_option_stock_qty($row['it_id'], $row2['io_id'], 0); $str = ''; $str .= "{$lt}begin{$gt}\n"; $str .= "{$lt}mapid{$gt}{$row['it_id']}\n"; if ($stock_qty <= 0) { // 품절 상품 양식 $str .= "{$lt}class{$gt}D\n"; } else { // 업데이트 상품 양식 & 품절 복구 상품 양식 $str .= "{$lt}pname{$gt}{$it_name}\n"; $str .= "{$lt}price{$gt}{$it_price}\n"; $str .= "{$lt}class{$gt}U\n"; } $str .= "{$lt}utime{$gt}{$row['it_time']}\n"; $str .= "{$lt}ftend{$gt}\n"; // 091223 : 네이버에서는 아직 utf-8 을 지원하지 않고 있음
$tmp_cart_id = get_session('ss_cart_direct'); } else { $tmp_cart_id = get_session('ss_cart_id'); } if (get_cart_count($tmp_cart_id) == 0) { // 장바구니에 담기 alert('장바구니가 비어 있습니다.\\n\\n이미 주문하셨거나 장바구니에 담긴 상품이 없는 경우입니다.', G5_SHOP_URL . '/cart.php'); } $error = ""; // 장바구니 상품 재고 검사 $sql = " select it_id,\n ct_qty,\n it_name,\n io_id,\n io_type,\n ct_option\n from {$g5['g5_shop_cart_table']}\n where od_id = '{$tmp_cart_id}'\n and ct_select = '1' "; $result = sql_query($sql); for ($i = 0; $row = sql_fetch_array($result); $i++) { // 상품에 대한 현재고수량 if ($row['io_id']) { $it_stock_qty = (int) get_option_stock_qty($row['it_id'], $row['io_id'], $row['io_type']); } else { $it_stock_qty = (int) get_it_stock_qty($row['it_id']); } // 장바구니 수량이 재고수량보다 많다면 오류 if ($row['ct_qty'] > $it_stock_qty) { $error .= "{$row['ct_option']} 의 재고수량이 부족합니다. 현재고수량 : {$it_stock_qty} 개\\n\\n"; } } if ($i == 0) { alert('장바구니가 비어 있습니다.\\n\\n이미 주문하셨거나 장바구니에 담긴 상품이 없는 경우입니다.', G5_SHOP_URL . '/cart.php'); } if ($error != "") { $error .= "다른 고객님께서 {$od_name}님 보다 먼저 주문하신 경우입니다. 불편을 끼쳐 죄송합니다."; alert($error); }
} } else { if ((int) $it['it_price'] + (int) $io_price < 0) { die('구매금액이 음수인 상품은 구매할 수 없습니다.'); } } // 동일옵션의 상품이 있으면 수량 더함 $sql2 = " select ct_id\n from {$g5['g5_shop_cart_table']}\n where od_id = '{$tmp_cart_id}'\n and it_id = '{$it_id}'\n and io_id = '{$io_id}'\n and ct_status = '쇼핑' "; $row2 = sql_fetch($sql2); if ($row2['ct_id']) { // 재고체크 $tmp_ct_qty = $row2['ct_qty']; if (!$io_id) { $tmp_it_stock_qty = get_it_stock_qty($it_id); } else { $tmp_it_stock_qty = get_option_stock_qty($it_id, $io_id, $row2['io_type']); } if ($tmp_ct_qty + $ct_qty > $tmp_it_stock_qty) { die($io_value . " 의 재고수량이 부족합니다.\\n\\n현재 재고수량 : " . number_format($tmp_it_stock_qty) . " 개"); } $sql3 = " update {$g5['g5_shop_cart_table']}\n\t\t\t\t\t\tset ct_qty = ct_qty + '{$ct_qty}'\n\t\t\t\t\t\twhere ct_id = '{$row2['ct_id']}' "; sql_query($sql3); continue; } // 포인트 $point = 0; if ($config['cf_use_point']) { if ($io_type == 0) { $point = get_item_point($it, $io_id); } else { $point = $it['it_supply_point'];