diff --git a/adm/admin.menu400.shop_1of2.php b/adm/admin.menu400.shop_1of2.php
index 9cc368f70..d9be9367e 100644
--- a/adm/admin.menu400.shop_1of2.php
+++ b/adm/admin.menu400.shop_1of2.php
@@ -14,6 +14,7 @@ $menu['menu400'] = array (
array('400610', '상품유형관리', G5_ADMIN_URL.'/shop_admin/itemtypelist.php', 'scf_item_type'),
array('400500', '상품옵션재고관리', G5_ADMIN_URL.'/shop_admin/optionstocklist.php', 'scf_item_option'),
array('400800', '쿠폰관리', G5_ADMIN_URL.'/shop_admin/couponlist.php', 'scf_coupon'),
- array('400750', '추가배송비관리', G5_ADMIN_URL.'/shop_admin/sendcostlist.php', 'scf_sendcost', 1)
+ array('400750', '추가배송비관리', G5_ADMIN_URL.'/shop_admin/sendcostlist.php', 'scf_sendcost', 1),
+ array('400410', '미완료주문', G5_ADMIN_URL.'/shop_admin/inorderlist.php', 'scf_inorder', 1),
);
?>
\ No newline at end of file
diff --git a/adm/css/admin.css b/adm/css/admin.css
index dc6c58758..bb02fc2c9 100644
--- a/adm/css/admin.css
+++ b/adm/css/admin.css
@@ -363,11 +363,8 @@ tfoot td {font-weight:bold;text-align:center}
/* 공통 */
.td_addr {text-align:left !important}
-
.td_alignc {text-align:center}
-
.td_addr_line {line-height:2em}
-
.td_amount {width:70px;text-align:center}
.td_auth {width:100px;text-align:center}
.td_auth_mbnick {width:200px}
@@ -435,10 +432,11 @@ td.td_grpset {width:160px;border-left:1px solid #e9ecee;text-align:center}
.td_category1{width:130px;text-align:center}
.td_category2{width:100px;text-align:center}
.td_category3{width:80px;text-align:center}
+.td_time{text-align:center;width:130px}
+.td_center{text-align:center;}
.txt_true {color:#e8180c}
.txt_false {color:#ccc}
-
.txt_succeed {color:#40b300}
.txt_fail {color:#ce4242}
@@ -943,3 +941,9 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right}
#processing p{font-size:1.2em}
.check_processing {width:300px;height:300px;margin:0 auto;background:url(../img/check.png) no-repeat 50% 50% }
#processing button{background:#ff3061;border:none;color:#fff;padding: 15px;width:150px;margin-top:15px}
+
+
+/*미완료 주문*/
+#inorderlist .td_name{text-align:center !important}
+#anc_sodr_pay .btn_confirm{margin-top:30px}
+#anc_sodr_pay .btn_confirm .btn_submit{width:300px;height:40px;font-size:14px;}
\ No newline at end of file
diff --git a/adm/shop_admin/inorderform.php b/adm/shop_admin/inorderform.php
new file mode 100644
index 000000000..b8810bb8e
--- /dev/null
+++ b/adm/shop_admin/inorderform.php
@@ -0,0 +1,503 @@
+ $item_price)
+ continue;
+
+ $dc = 0;
+ if($cp['cp_type']) {
+ $dc = floor(($item_price * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc'];
+ } else {
+ $dc = $cp['cp_price'];
+ }
+
+ if($cp['cp_maximum'] && $dc > $cp['cp_maximum'])
+ $dc = $cp['cp_maximum'];
+
+ if($item_price < $dc)
+ continue;
+
+ $tot_it_cp_price += $dc;
+ $arr_it_cp_prc[$it_id] = $dc;
+ }
+
+ $tot_od_price -= $tot_it_cp_price;
+
+ // 주문쿠폰
+ if($data['od_cp_id']) {
+ $sql = " select cp_id, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum
+ from {$g5['g5_shop_coupon_table']}
+ where cp_id = '{$data['od_cp_id']}'
+ and mb_id IN ( '{$od['mb_id']}', '전체회원' )
+ and cp_method = '2' ";
+ $cp = sql_fetch($sql);
+
+ // 사용한 쿠폰인지
+ $cp_used = is_used_coupon($od['mb_id'], $cp['cp_id']);
+
+ $dc = 0;
+ if(!$cp_used && $cp['cp_id'] && ($cp['cp_minimum'] <= $tot_od_price)) {
+ if($cp['cp_type']) {
+ $dc = floor(($tot_od_price * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc'];
+ } else {
+ $dc = $cp['cp_price'];
+ }
+
+ if($cp['cp_maximum'] && $dc > $cp['cp_maximum'])
+ $dc = $cp['cp_maximum'];
+
+ $tot_od_cp_price = $dc;
+ $tot_od_price -= $tot_od_cp_price;
+ }
+ }
+
+ $tot_cp_price = $tot_it_cp_price + $tot_od_cp_price;
+}
+
+// 배송비
+$od_send_cost = get_sendcost($od['cart_id']);
+
+$tot_sc_cp_price = 0;
+if($od['mb_id'] && $od_send_cost > 0) {
+ // 배송쿠폰
+ if($data['sc_cp_id']) {
+ $sql = " select cp_id, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum
+ from {$g5['g5_shop_coupon_table']}
+ where cp_id = '{$data['sc_cp_id']}'
+ and mb_id IN ( '{$od['mb_id']}', '전체회원' )
+ and cp_method = '3' ";
+ $cp = sql_fetch($sql);
+
+ // 사용한 쿠폰인지
+ $cp_used = is_used_coupon($od['mb_id'], $cp['cp_id']);
+
+ $dc = 0;
+ if(!$cp_used && $cp['cp_id'] && ($cp['cp_minimum'] <= $tot_od_price)) {
+ if($cp['cp_type']) {
+ $dc = floor(($send_cost * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc'];
+ } else {
+ $dc = $cp['cp_price'];
+ }
+
+ if($cp['cp_maximum'] && $dc > $cp['cp_maximum'])
+ $dc = $cp['cp_maximum'];
+
+ if($dc > $send_cost)
+ $dc = $send_cost;
+
+ $tot_sc_cp_price = $dc;
+ }
+ }
+}
+
+// 추가배송비
+$od_send_cost2 = (int)$data['od_send_cost2'];
+
+// 포인트
+$od_temp_point = (int)$data['od_temp_point'];
+
+$order_price = $tot_od_price + $od_send_cost + $od_send_cost2 - $tot_sc_cp_price - $od_temp_point;
+
+// 상품목록
+$sql = " select it_id, it_name, ct_notax, ct_send_cost, it_sc_type $sql_common group by it_id order by ct_id ";
+$result = sql_query($sql);
+
+$pg_anchor = '
';
+?>
+
+
+ 주문상품 목록
+
+
+
+ 주문일시 ()
+ |
+ 주문합계 원
+
+
+
+
+
+ 주문 상품 목록
+
+
+ | 상품명 |
+ 옵션항목 |
+ 상태 |
+ 수량 |
+ 판매가 |
+ 소계 |
+ 쿠폰 |
+ 포인트 |
+ 배송비 |
+ 포인트반영 |
+ 재고반영 |
+
+
+
+
+
+
+ |
+
+
+ |
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+ 주문결제 내역
+
+
+ 0)
+ $s_receipt_way .= "+포인트";
+ ?>
+
+
+
+
+
+ 주문자/배송지 정보
+
+
+
+
+
+ 주문하신 분
+
+
+
+ 주문자/배송지 정보
+
+
+
+
+
+
+ | 주문하신 분 이름 |
+ |
+
+
+ | 주문하신 분 전화번호 |
+ |
+
+
+ | 주문하신 분 핸드폰 |
+ |
+
+
+ | 주문하시는 분 주소 |
+
+
+
+
+
+ |
+
+
+ | 주문하신 분 E-mail |
+ |
+
+
+
+
+
+
+
+ 받으시는 분
+
+
+
+ 받으시는 분 정보
+
+
+
+
+
+
+ | 받으시는 분 이름 |
+ |
+
+
+ | 받으시는 분 전화번호 |
+ |
+
+
+ | 받으시는 분 핸드폰 |
+ |
+
+
+ | 받으시는 분 주소 |
+
+
+
+
+
+ |
+
+
+
+
+ | 희망배송일 |
+ () |
+
+
+
+ | 전달 메세지 |
+ |
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/adm/shop_admin/inorderformupdate.php b/adm/shop_admin/inorderformupdate.php
new file mode 100644
index 000000000..19ec50215
--- /dev/null
+++ b/adm/shop_admin/inorderformupdate.php
@@ -0,0 +1,386 @@
+ $item_price)
+ continue;
+
+ $dc = 0;
+ if($cp['cp_type']) {
+ $dc = floor(($item_price * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc'];
+ } else {
+ $dc = $cp['cp_price'];
+ }
+
+ if($cp['cp_maximum'] && $dc > $cp['cp_maximum'])
+ $dc = $cp['cp_maximum'];
+
+ if($item_price < $dc)
+ continue;
+
+ $tot_it_cp_price += $dc;
+ $arr_it_cp_prc[$it_id] = $dc;
+ }
+
+ $tot_od_price -= $tot_it_cp_price;
+
+ // 주문쿠폰
+ if($data['od_cp_id']) {
+ $sql = " select cp_id, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum
+ from {$g5['g5_shop_coupon_table']}
+ where cp_id = '{$data['od_cp_id']}'
+ and mb_id IN ( '{$od['mb_id']}', '전체회원' )
+ and cp_method = '2' ";
+ $cp = sql_fetch($sql);
+
+ // 사용한 쿠폰인지
+ $cp_used = is_used_coupon($od['mb_id'], $cp['cp_id']);
+
+ $dc = 0;
+ if(!$cp_used && $cp['cp_id'] && ($cp['cp_minimum'] <= $tot_od_price)) {
+ if($cp['cp_type']) {
+ $dc = floor(($tot_od_price * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc'];
+ } else {
+ $dc = $cp['cp_price'];
+ }
+
+ if($cp['cp_maximum'] && $dc > $cp['cp_maximum'])
+ $dc = $cp['cp_maximum'];
+
+ $tot_od_cp_price = $dc;
+ $tot_od_price -= $tot_od_cp_price;
+ }
+ }
+
+ $tot_cp_price = $tot_it_cp_price + $tot_od_cp_price;
+}
+
+// 배송비
+$od_send_cost = get_sendcost($od['cart_id']);
+
+$tot_sc_cp_price = 0;
+if($od['mb_id'] && $od_send_cost > 0) {
+ // 배송쿠폰
+ if($data['sc_cp_id']) {
+ $sql = " select cp_id, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum
+ from {$g5['g5_shop_coupon_table']}
+ where cp_id = '{$data['sc_cp_id']}'
+ and mb_id IN ( '{$od['mb_id']}', '전체회원' )
+ and cp_method = '3' ";
+ $cp = sql_fetch($sql);
+
+ // 사용한 쿠폰인지
+ $cp_used = is_used_coupon($od['mb_id'], $cp['cp_id']);
+
+ $dc = 0;
+ if(!$cp_used && $cp['cp_id'] && ($cp['cp_minimum'] <= $tot_od_price)) {
+ if($cp['cp_type']) {
+ $dc = floor(($send_cost * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc'];
+ } else {
+ $dc = $cp['cp_price'];
+ }
+
+ if($cp['cp_maximum'] && $dc > $cp['cp_maximum'])
+ $dc = $cp['cp_maximum'];
+
+ if($dc > $send_cost)
+ $dc = $send_cost;
+
+ $tot_sc_cp_price = $dc;
+ }
+ }
+}
+
+// 추가배송비
+$od_send_cost2 = (int)$data['od_send_cost2'];
+
+// 포인트
+$od_temp_point = (int)$data['od_temp_point'];
+
+$i_price = $i_price + $i_send_cost + $i_send_cost2 - $i_temp_point - $i_send_coupon;
+$order_price = $tot_od_price + $od_send_cost + $od_send_cost2 - $tot_sc_cp_price - $od_temp_point;
+
+if ($od['mb_id']) {
+ $mb = get_member($od['mb_id']);
+ $od_pwd = $mb['mb_password'];
+} else {
+ $od_pwd = get_encrypt_string($data['od_pwd']);
+}
+
+$od_escrow = 0;
+
+// 복합과세 금액
+$od_tax_mny = round($i_price / 1.1);
+$od_vat_mny = $i_price - $od_tax_mny;
+$od_free_mny = 0;
+if($default['de_tax_flag_use']) {
+ $od_tax_mny = (int)$data['comm_tax_mny'];
+ $od_vat_mny = (int)$data['comm_vat_mny'];
+ $od_free_mny = (int)$data['comm_free_mny'];
+}
+
+$od_pg = $default['de_pg_service'];
+if($data['od_settle_case'] == 'KAKAOPAY')
+ $od_pg = 'KAKAOPAY';
+
+$od_email = get_email_address($data['od_email']);
+$od_name = clean_xss_tags($data['od_name']);
+$od_tel = clean_xss_tags($data['od_tel']);
+$od_hp = clean_xss_tags($data['od_hp']);
+$od_zip = preg_replace('/[^0-9]/', '', $data['od_zip']);
+$od_zip1 = substr($od_zip, 0, 3);
+$od_zip2 = substr($od_zip, 3);
+$od_addr1 = clean_xss_tags($data['od_addr1']);
+$od_addr2 = clean_xss_tags($data['od_addr2']);
+$od_addr3 = clean_xss_tags($data['od_addr3']);
+$od_addr_jibeon = preg_match("/^(N|R)$/", $data['od_addr_jibeon']) ? $data['od_addr_jibeon'] : '';
+$od_b_name = clean_xss_tags($data['od_b_name']);
+$od_b_tel = clean_xss_tags($data['od_b_tel']);
+$od_b_hp = clean_xss_tags($data['od_b_hp']);
+$od_b_addr1 = clean_xss_tags($data['od_b_addr1']);
+$od_b_addr2 = clean_xss_tags($data['od_b_addr2']);
+$od_b_addr3 = clean_xss_tags($data['od_b_addr3']);
+$od_b_addr_jibeon = preg_match("/^(N|R)$/", $data['od_b_addr_jibeon']) ? $data['od_b_addr_jibeon'] : '';
+$od_memo = clean_xss_tags($data['od_memo']);
+$od_deposit_name = clean_xss_tags($data['od_deposit_name']);
+$od_tax_flag = $default['de_tax_flag_use'];
+$od_receipt_price = $tot_ct_price + $od_send_cost + $od_send_cost2 - ($od_temp_point + $tot_cp_price + $tot_sc_cp_price);
+$od_receipt_point = $od_temp_point;
+$od_receipt_time = $od['dt_time'];
+$od_misu = 0;
+$od_status = '입금';
+
+// 주문서에 입력
+$sql = " insert {$g5['g5_shop_order_table']}
+ set od_id = '$od_id',
+ mb_id = '{$od['mb_id']}',
+ od_pwd = '$od_pwd',
+ od_name = '$od_name',
+ od_email = '$od_email',
+ od_tel = '$od_tel',
+ od_hp = '$od_hp',
+ od_zip1 = '$od_zip1',
+ od_zip2 = '$od_zip2',
+ od_addr1 = '$od_addr1',
+ od_addr2 = '$od_addr2',
+ od_addr3 = '$od_addr3',
+ od_addr_jibeon = '$od_addr_jibeon',
+ od_b_name = '$od_b_name',
+ od_b_tel = '$od_b_tel',
+ od_b_hp = '$od_b_hp',
+ od_b_zip1 = '$od_b_zip1',
+ od_b_zip2 = '$od_b_zip2',
+ od_b_addr1 = '$od_b_addr1',
+ od_b_addr2 = '$od_b_addr2',
+ od_b_addr3 = '$od_b_addr3',
+ od_b_addr_jibeon = '$od_b_addr_jibeon',
+ od_deposit_name = '$od_deposit_name',
+ od_memo = '$od_memo',
+ od_cart_count = '$cart_count',
+ od_cart_price = '$tot_ct_price',
+ od_cart_coupon = '$tot_it_cp_price',
+ od_send_cost = '$od_send_cost',
+ od_send_coupon = '$tot_sc_cp_price',
+ od_send_cost2 = '$od_send_cost2',
+ od_coupon = '$tot_od_cp_price',
+ od_receipt_price = '$od_receipt_price',
+ od_receipt_point = '$od_receipt_point',
+ od_bank_account = '$od_bank_account',
+ od_receipt_time = '$od_receipt_time',
+ od_misu = '$od_misu',
+ od_pg = '$od_pg',
+ od_tno = '$od_tno',
+ od_app_no = '$od_app_no',
+ od_escrow = '$od_escrow',
+ od_tax_flag = '$od_tax_flag',
+ od_tax_mny = '$od_tax_mny',
+ od_vat_mny = '$od_vat_mny',
+ od_free_mny = '$od_free_mny',
+ od_status = '$od_status',
+ od_shop_memo = '',
+ od_hope_date = '{$data['od_hope_date']}',
+ od_time = '{$od['dt_time']}',
+ od_ip = '{$data['od_ip']}',
+ od_settle_case = '{$data['od_settle_case']}',
+ od_test = '{$data['od_test']}'
+ ";
+$result = sql_query($sql, true);
+
+$sql_card_point = "";
+if ($od_receipt_price > 0 && !$default['de_card_point']) {
+ $sql_card_point = " , ct_point = '0' ";
+}
+$sql = "update {$g5['g5_shop_cart_table']}
+ set od_id = '$od_id',
+ ct_status = '입금'
+ $sql_card_point
+ where od_id = '{$od['cart_id']}'
+ and ct_select = '1' ";
+$result = sql_query($sql, true);
+
+// 회원이면서 포인트를 사용했다면 테이블에 사용을 추가
+if ($od['mb_id'] && $od_receipt_point)
+ insert_point($od['mb_id'], (-1) * $od_receipt_point, "주문번호 $od_id 결제");
+
+// 쿠폰사용내역기록
+if($od['mb_id']) {
+ $it_cp_cnt = count($data['cp_id']);
+ for($i=0; $i<$it_cp_cnt; $i++) {
+ $cid = $data['cp_id'][$i];
+ $cp_it_id = $data['it_id'][$i];
+ $cp_prc = (int)$arr_it_cp_prc[$cp_it_id];
+
+ if(trim($cid)) {
+ $sql = " insert into {$g5['g5_shop_coupon_log_table']}
+ set cp_id = '$cid',
+ mb_id = '{$od['mb_id']}',
+ od_id = '$od_id',
+ cp_price = '$cp_prc',
+ cl_datetime = '{$od['dt_time']}' ";
+ sql_query($sql);
+ }
+
+ // 쿠폰사용금액 cart에 기록
+ $cp_prc = (int)$arr_it_cp_prc[$cp_it_id];
+ $sql = " update {$g5['g5_shop_cart_table']}
+ set cp_price = '$cp_prc'
+ where od_id = '$od_id'
+ and it_id = '$cp_it_id'
+ and ct_select = '1'
+ order by ct_id asc
+ limit 1 ";
+ sql_query($sql);
+ }
+
+ if($data['od_cp_id']) {
+ $sql = " insert into {$g5['g5_shop_coupon_log_table']}
+ set cp_id = '{$data['od_cp_id']}',
+ mb_id = '{$od['mb_id']}',
+ od_id = '$od_id',
+ cp_price = '$tot_od_cp_price',
+ cl_datetime = '{$od['dt_time']}' ";
+ sql_query($sql);
+ }
+
+ if($data['sc_cp_id']) {
+ $sql = " insert into {$g5['g5_shop_coupon_log_table']}
+ set cp_id = '{$data['sc_cp_id']}',
+ mb_id = '{$od['mb_id']}',
+ od_id = '$od_id',
+ cp_price = '$tot_sc_cp_price',
+ cl_datetime = '{$od['dt_time']}' ";
+ sql_query($sql);
+ }
+}
+
+// 주문정보
+$info = get_order_info($od_id);
+
+// 미수금 정보 등 반영
+$sql = " update {$g5['g5_shop_order_table']}
+ set od_misu = '{$info['od_misu']}',
+ od_tax_mny = '{$info['od_tax_mny']}',
+ od_vat_mny = '{$info['od_vat_mny']}',
+ od_free_mny = '{$info['od_free_mny']}',
+ od_status = '$od_status'
+ where od_id = '$od_id' ";
+sql_query($sql);
+
+// 임시 주문정보 삭제
+$sql = " delete from {$g5['g5_shop_order_data_table']} where od_id = '$od_id' and dt_pg = '$od_pg' ";
+sql_query($sql, true);
+
+echo ''.PHP_EOL;
+echo ''.PHP_EOL;
+?>
\ No newline at end of file
diff --git a/adm/shop_admin/inorderlist.php b/adm/shop_admin/inorderlist.php
new file mode 100644
index 000000000..ca730cfa9
--- /dev/null
+++ b/adm/shop_admin/inorderlist.php
@@ -0,0 +1,176 @@
+ '0' ";
+if ($stx) {
+ $sql_search .= " and ( ";
+ switch ($sfl) {
+ case 'od_id' :
+ $sql_search .= " ({$sfl} = '{$stx}') ";
+ break;
+ default :
+ $sql_search .= " ({$sfl} like '%{$stx}%') ";
+ break;
+ }
+ $sql_search .= " ) ";
+}
+
+if (!$sst) {
+ $sst = "od_id";
+ $sod = "desc";
+}
+$sql_order = " order by {$sst} {$sod} ";
+
+$sql = " select count(*) as cnt
+ {$sql_common}
+ {$sql_search}
+ {$sql_order} ";
+$row = sql_fetch($sql);
+$total_count = $row['cnt'];
+
+$rows = $config['cf_page_rows'];
+$total_page = ceil($total_count / $rows); // 전체 페이지 계산
+if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
+$from_record = ($page - 1) * $rows; // 시작 열을 구함
+
+$sql = " select *
+ {$sql_common}
+ {$sql_search}
+ {$sql_order}
+ limit {$from_record}, {$rows} ";
+$result = sql_query($sql);
+
+$g5['title'] = '미완료주문';
+include_once (G5_ADMIN_PATH.'/admin.head.php');
+
+$colspan = 10;
+?>
+
+
+ 전체 건
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/adm/shop_admin/inorderlistdelete.php b/adm/shop_admin/inorderlistdelete.php
new file mode 100644
index 000000000..1f718672d
--- /dev/null
+++ b/adm/shop_admin/inorderlistdelete.php
@@ -0,0 +1,25 @@
+
\ No newline at end of file
diff --git a/install/gnuboard5shop.sql b/install/gnuboard5shop.sql
index 0854cb0aa..69e76670c 100644
--- a/install/gnuboard5shop.sql
+++ b/install/gnuboard5shop.sql
@@ -670,6 +670,8 @@ CREATE TABLE IF NOT EXISTS `g5_shop_order_address` (
DROP TABLE IF EXISTS `g5_shop_order_data`;
CREATE TABLE IF NOT EXISTS `g5_shop_order_data` (
`od_id` bigint(20) unsigned NOT NULL,
+ `cart_id` bigint(20) unsigned NOT NULL,
+ `mb_id` varchar(20) NOT NULL DEFAULT '',
`dt_pg` varchar(255) NOT NULL DEFAULT '',
`dt_data` text NOT NULL,
`dt_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
diff --git a/lib/shop.lib.php b/lib/shop.lib.php
index d1754e7be..338fa9f52 100644
--- a/lib/shop.lib.php
+++ b/lib/shop.lib.php
@@ -2200,13 +2200,13 @@ function cart_item_clean()
}
-// 모바일 PG 주문 필드 생성
+// 임시주문 데이터로 주문 필드 생성
function make_order_field($data, $exclude)
{
$field = '';
foreach($data as $key=>$value) {
- if(in_array($key, $exclude))
+ if(!empty($exclude) && in_array($key, $exclude))
continue;
if(is_array($value)) {
@@ -2220,7 +2220,6 @@ function make_order_field($data, $exclude)
return $field;
}
-
//==============================================================================
// 쇼핑몰 라이브러리 모음 끝
//==============================================================================
diff --git a/orderupgrade.php b/orderupgrade.php
index 38c26d07a..494a72443 100644
--- a/orderupgrade.php
+++ b/orderupgrade.php
@@ -94,6 +94,13 @@ if(!sql_query(" select od_test from {$g5['g5_shop_order_table']} limit 1 ", fals
ADD `od_test` tinyint(4) NOT NULL DEFAULT '0' AFTER `od_settle_case` ", true);
}
+// 주문정보 임시저장 테이블에 장바구니 ID 필드 추가
+if(!sql_query(" select cart_id from {$g5['g5_shop_order_data_table']} limit 1 ", false)) {
+ sql_query(" ALTER TABLE `{$g5['g5_shop_order_data_table']}`
+ ADD `cart_id` bigint(20) unsigned NOT NULL AFTER `od_id`,
+ ADD `mb_id` varchar(20) NOT NULL DEFAULT '' AFTER `cart_id` ", true);
+}
+
echo '테이블 업그레이드 완료!
';
include_once(G5_PATH.'/tail.sub.php');
diff --git a/shop/ajax.orderdatasave.php b/shop/ajax.orderdatasave.php
index 1a3d2c3e9..e75f728f4 100644
--- a/shop/ajax.orderdatasave.php
+++ b/shop/ajax.orderdatasave.php
@@ -4,17 +4,29 @@ include_once('./_common.php');
if(empty($_POST))
die('정보가 넘어오지 않았습니다.');
-if(isset($_POST['pp_id']) && $_POST['pp_id'])
- $od_id = get_session('ss_personalpay_id');
-else
- $od_id = get_session('ss_order_id');
-
// 일정 기간이 경과된 임시 데이터 삭제
+/*
$limit_time = date("Y-m-d H:i:s", (G5_SERVER_TIME - 86400 * 1));
-$sql = " delete from {$g5['g5_shop_order_data_table']} where dt_time < '$limit_time' ";
+$sql = " delete from {$g5['g5_shop_order_data_table']} where dt_type = '1' and dt_time < '$limit_time' ";
sql_query($sql);
+*/
-$_POST['sw_direct'] = get_session('ss_direct');
+if(isset($_POST['pp_id']) && $_POST['pp_id']) {
+ $od_id = get_session('ss_personalpay_id');
+ $cart_id = 0;
+} else {
+ $od_id = get_session('ss_order_id');
+ $_POST['sw_direct'] = get_session('ss_direct');
+ $_POST['od_test'] = $default['de_card_test'];
+ $_POST['od_ip'] = $_SERVER['REMOTE_ADDR'];
+
+ if ($_POST['sw_direct']) {
+ $cart_id = get_session('ss_cart_direct');
+ }
+ else {
+ $cart_id = get_session('ss_cart_id');
+ }
+}
$dt_data = base64_encode(serialize($_POST));
@@ -26,6 +38,8 @@ if($row['cnt'])
$sql = " insert into {$g5['g5_shop_order_data_table']}
set od_id = '$od_id',
+ cart_id = '$cart_id',
+ mb_id = '{$member['mb_id']}',
dt_pg = '{$default['de_pg_service']}',
dt_data = '$dt_data',
dt_time = '".G5_TIME_YMDHIS."' ";