Exemple #1
0
        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 = '&nbsp;&nbsp;+ ' . number_format($row['io_price']) . '원';
        } else {
            $price = '&nbsp;&nbsp; ' . 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 = '&nbsp;&nbsp;[품절]';
        } else {
            $soldout = '';
        }
        $str .= PHP_EOL . '<option value="' . $val[$key] . ',' . $row['io_price'] . ',' . $io_stock_qty . '">' . $val[$key] . $price . $soldout . '</option>';
    }
}
echo $str;
Exemple #2
0
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;
}
Exemple #3
0
     $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);
}
Exemple #5
0
     }
 } 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'];