diff --git a/adm/admin.menu400.shop_1of2.php b/adm/admin.menu400.shop_1of2.php index d9be9367e..c50a08c08 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('400810', '쿠폰존관리', G5_ADMIN_URL.'/shop_admin/couponzonelist.php', 'scf_coupon_zone'), array('400750', '추가배송비관리', G5_ADMIN_URL.'/shop_admin/sendcostlist.php', 'scf_sendcost', 1), array('400410', '미완료주문', G5_ADMIN_URL.'/shop_admin/inorderlist.php', 'scf_inorder', 1), ); diff --git a/adm/css/admin.css b/adm/css/admin.css index bb02fc2c9..87748506f 100644 --- a/adm/css/admin.css +++ b/adm/css/admin.css @@ -434,6 +434,7 @@ td.td_grpset {width:160px;border-left:1px solid #e9ecee;text-align:center} .td_category3{width:80px;text-align:center} .td_time{text-align:center;width:130px} .td_center{text-align:center;} +.td_type{width:120px} .txt_true {color:#e8180c} .txt_false {color:#ccc} diff --git a/adm/shop_admin/couponlist_delete.php b/adm/shop_admin/couponlist_delete.php index beb00d491..81dadd43d 100644 --- a/adm/shop_admin/couponlist_delete.php +++ b/adm/shop_admin/couponlist_delete.php @@ -21,5 +21,5 @@ for ($i=0; $i<$count; $i++) sql_query($sql); } -goto_url('./couponlist.php'); +goto_url('./couponlist.php?'.$qstr); ?> diff --git a/adm/shop_admin/couponzoneform.php b/adm/shop_admin/couponzoneform.php new file mode 100644 index 000000000..a1e1354a7 --- /dev/null +++ b/adm/shop_admin/couponzoneform.php @@ -0,0 +1,305 @@ + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 포인트쿠폰은 회원의 포인트를 쿠폰으로 교환하는 쿠폰이며 다운로드 쿠폰은 회원이 다운로드하여 사용할 수 있는 쿠폰입니다."); ?> + +
+ +
+ + +
+ + +
+ + +
+ + 일 +
쿠폰이미지 + + 750) + $width = 750; + else + $width = $size[0]; + + echo ' '; + $cpimg_str = ''; + } + if ($cpimg_str) { + echo '
'; + echo $cpimg_str; + echo '
'; + } + ?> +
+ +
+ + +
+ +
+ +
+ +
+ 원 +
+ 원 +
+
+ +
+ + 목록 +
+ +
+ + + + \ No newline at end of file diff --git a/adm/shop_admin/couponzoneformupdate.php b/adm/shop_admin/couponzoneformupdate.php new file mode 100644 index 000000000..a45e3b8b1 --- /dev/null +++ b/adm/shop_admin/couponzoneformupdate.php @@ -0,0 +1,119 @@ + $_POST['cz_end']) + alert('사용 시작일은 종료일 이전으로 입력해 주십시오.'); + +if($_POST['cz_end'] < G5_TIME_YMD) + alert('종료일은 오늘('.G5_TIME_YMD.')이후로 입력해 주십시오.'); + +if($_POST['cz_type'] && !$_POST['cz_point']) + alert('쿠폰교환 포인트를 입력해 주십시오.'); + +if(!$_POST['cz_period']) + alert('쿠폰사용기한을 입력해 주십시오.'); + +if($_POST['cp_method'] == 0 && !$_POST['cp_target']) + alert('적용상품을 입력해 주십시오.'); + +if($_POST['cp_method'] == 1 && !$_POST['cp_target']) + alert('적용분류를 입력해 주십시오.'); + +if(!$_POST['cp_price']) { + if($_POST['cp_type']) + alert('할인비율을 입력해 주십시오.'); + else + alert('할인금액을 입력해 주십시오.'); +} + +if($_POST['cp_type'] && ($_POST['cp_price'] < 1 || $_POST['cp_price'] > 99)) + alert('할인비율을은 1과 99사이 값으로 입력해 주십시오.'); + +if($_POST['cp_method'] == 0) { + $sql = " select count(*) as cnt from {$g5['g5_shop_item_table']} where it_id = '$cp_target' and it_nocoupon = '0' "; + $row = sql_fetch($sql); + if(!$row['cnt']) + alert('입력하신 상품코드는 존재하지 않는 코드이거나 쿠폰적용안함으로 설정된 상품입니다.'); +} else if($_POST['cp_method'] == 1) { + $sql = " select count(*) as cnt from {$g5['g5_shop_category_table']} where ca_id = '$cp_target' and ca_nocoupon = '0' "; + $row = sql_fetch($sql); + if(!$row['cnt']) + alert('입력하신 분류코드는 존재하지 않는 분류코드이거나 쿠폰적용안함으로 설정된 분류입니다.'); +} + +$sql_common = " cz_subject = '{$_POST['cz_subject']}', + cz_type = '{$_POST['cz_type']}', + cz_start = '{$_POST['cz_start']}', + cz_end = '{$_POST['cz_end']}', + cz_period = '{$_POST['cz_period']}', + cz_point = '{$_POST['cz_point']}', + cp_method = '{$_POST['cp_method']}', + cp_target = '{$_POST['cp_target']}', + cp_price = '{$_POST['cp_price']}', + cp_type = '{$_POST['cp_type']}', + cp_trunc = '{$_POST['cp_trunc']}', + cp_minimum = '{$_POST['cp_minimum']}', + cp_maximum = '{$_POST['cp_maximum']}' "; + +if($w == '') { + if(!$_FILES['cp_img']['name']) + alert('쿠폰이미지를 업로드해 주십시오.'); + + $sql = " INSERT INTO {$g5['g5_shop_coupon_zone_table']} + set $sql_common, + cz_datetime = '".G5_TIME_YMDHIS."' "; + sql_query($sql, true); + + $cz_id = sql_insert_id(); +} else if($w == 'u') { + $sql = " select * from {$g5['g5_shop_coupon_zone_table']} where cz_id = '$cz_id' "; + $cp = sql_fetch($sql); + + if(!$cp['cz_id']) + alert('쿠폰정보가 존해하지 않습니다.', './couponzonelist.php'); + + if ($_POST['cp_img_del'] && $cp['cz_file']) { + @unlink(G5_DATA_PATH."/coupon/{$cp['cz_file']}"); + $cp['cz_file'] = ''; + } + + if(!$cp['cz_file'] && !$_FILES['cp_img']['name']) + alert('쿠폰이미지를 업로드해 주십시오.'); + + $sql = " update {$g5['g5_shop_coupon_zone_table']} + set $sql_common + where cz_id = '$cz_id' "; + sql_query($sql); +} + +// 이미지업로드 +if($_FILES['cp_img']['tmp_name']) { + preg_match('#.+\.([a-z]+)$#', $_FILES['cp_img']['name'], $m); + $filename = date('YmdHis').(microtime(true) * 10000).'.'.strtolower($m[1]); + + upload_file($_FILES['cp_img']['tmp_name'], $filename, G5_DATA_PATH."/coupon"); + + $sql = " update {$g5['g5_shop_coupon_zone_table']} + set cz_file = '$filename' + where cz_id = '$cz_id' "; + sql_query($sql); +} + +goto_url('./couponzonelist.php?'.$qstr); +?> \ No newline at end of file diff --git a/adm/shop_admin/couponzonelist.php b/adm/shop_admin/couponzonelist.php new file mode 100644 index 000000000..de19ad4d4 --- /dev/null +++ b/adm/shop_admin/couponzonelist.php @@ -0,0 +1,180 @@ + + +
+ + 전체 개 + + + + +
+ +
+ 쿠폰 추가 +
+ +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
+ + + 쿠폰이름쿠폰종류적용대상쿠폰금액쿠폰사용기한다운로드사용기한관리
+ + + 다운로드 후 ~ + 수정 +
자료가 없습니다.
+
+ +
+ +
+ +
+ + + + + + \ No newline at end of file diff --git a/adm/shop_admin/couponzonelist_delete.php b/adm/shop_admin/couponzonelist_delete.php new file mode 100644 index 000000000..0fc8911a2 --- /dev/null +++ b/adm/shop_admin/couponzonelist_delete.php @@ -0,0 +1,25 @@ + diff --git a/css/mobile_shop.css b/css/mobile_shop.css index 717a1afc6..b5a7aa9b2 100644 --- a/css/mobile_shop.css +++ b/css/mobile_shop.css @@ -35,7 +35,7 @@ ul,li{list-style:none;padding:0;margin:0;} #hd_tnb{margin-top:-1px} #hd_tnb:after {display:block;visibility:hidden;clear:both;content:""} -#hd_tnb li{float:left;width:25%;} +#hd_tnb li{float:left;width:20%;} #hd_tnb li a{display:block;color:#a8a8a8;background:#f9f9f9;border:1px solid #e9e9e9;border-right:none;height:30px;line-height:30px;font-size:0.92em} #hd_tnb li a:hover{background:#f1f1f1} #hd_tnb li:first-child a{border-left:none} diff --git a/install/gnuboard5shop.sql b/install/gnuboard5shop.sql index b02c1159b..a8b793d51 100644 --- a/install/gnuboard5shop.sql +++ b/install/gnuboard5shop.sql @@ -139,6 +139,7 @@ CREATE TABLE IF NOT EXISTS `g5_shop_coupon` ( `cp_method` TINYINT(4) NOT NULL DEFAULT '0', `cp_target` VARCHAR(255) NOT NULL DEFAULT '', `mb_id` VARCHAR(255) NOT NULL DEFAULT '', + `cz_id` int(11) NOT NULL DEFAULT '0', `cp_start` DATE NOT NULL DEFAULT '0000-00-00', `cp_end` DATE NOT NULL DEFAULT '0000-00-00', `cp_price` INT(11) NOT NULL DEFAULT '0', @@ -174,6 +175,34 @@ CREATE TABLE IF NOT EXISTS `g5_shop_coupon_log` ( -- -------------------------------------------------------- +-- +-- Table structure for table `g5_shop_coupon_zone` +-- + +DROP TABLE IF EXISTS `g5_shop_coupon_zone`; +CREATE TABLE IF NOT EXISTS `g5_shop_coupon_zone` ( + `cz_id` int(11) NOT NULL AUTO_INCREMENT, + `cz_type` tinyint(4) NOT NULL DEFAULT '0', + `cz_subject` varchar(255) NOT NULL DEFAULT '', + `cz_start` DATE NOT NULL DEFAULT '0000-00-00', + `cz_end` DATE NOT NULL DEFAULT '0000-00-00', + `cz_file` varchar(255) NOT NULL DEFAULT '', + `cz_period` int(11) NOT NULL DEFAULT '0', + `cz_point` INT(11) NOT NULL DEFAULT '0', + `cp_method` TINYINT(4) NOT NULL DEFAULT '0', + `cp_target` VARCHAR(255) NOT NULL DEFAULT '', + `cp_price` INT(11) NOT NULL DEFAULT '0', + `cp_type` TINYINT(4) NOT NULL DEFAULT '0', + `cp_trunc` INT(11) NOT NULL DEFAULT '0', + `cp_minimum` INT(11) NOT NULL DEFAULT '0', + `cp_maximum` INT(11) NOT NULL DEFAULT '0', + `cz_download` int(11) NOT NULL DEFAULT '0', + `cz_datetime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`cz_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + -- -- Table structure for table `g5_shop_default` -- diff --git a/js/shop.couponzone.js b/js/shop.couponzone.js new file mode 100644 index 000000000..9640e5654 --- /dev/null +++ b/js/shop.couponzone.js @@ -0,0 +1,37 @@ +$(function() { + $("button.coupon_download").on("click", function() { + if(g5_is_member != "1") { + alert("회원 로그인 후 이용해 주십시오."); + return false; + } + + var $this = $(this); + var cz_id = $this.data("cid"); + + if($this.hasClass("disabled")) { + alert("이미 다운로드하신 쿠폰입니다."); + return false; + } + + $this.addClass("disabled").attr("disabled", true); + + $.ajax({ + type: "GET", + data: { cz_id: cz_id }, + url: g5_url+"/shop/ajax.coupondownload.php", + cache: false, + async: true, + dataType: "json", + success: function(data) { + if(data.error != "") { + $this.removeClass("disabled").attr("disabled", false); + alert(data.error); + return false; + } + + $this.attr("disabled", false); + alert("쿠폰이 발급됐습니다."); + } + }); + }); +}); \ No newline at end of file diff --git a/lib/shop.lib.php b/lib/shop.lib.php index c27871cd1..529c3f8e4 100644 --- a/lib/shop.lib.php +++ b/lib/shop.lib.php @@ -2220,6 +2220,21 @@ function make_order_field($data, $exclude) return $field; } + +// 다운로드한 쿠폰인지 +function is_coupon_downloaded($mb_id, $cz_id) +{ + global $g5; + + if(!$mb_id) + return false; + + $sql = " select count(*) as cnt from {$g5['g5_shop_coupon_table']} where mb_id = '$mb_id' and cz_id = '$cz_id' "; + $row = sql_fetch($sql); + + return ($row['cnt'] > 0); +} + //============================================================================== // 쇼핑몰 라이브러리 모음 끝 //============================================================================== diff --git a/mobile/shop/shop.head.php b/mobile/shop/shop.head.php index 52311b77f..54d5911f8 100644 --- a/mobile/shop/shop.head.php +++ b/mobile/shop/shop.head.php @@ -33,9 +33,9 @@ include_once(G5_LIB_PATH.'/latest.lib.php');
  • LOGIN
  • JOIN
  • -
  • MY PAGE
  • +
  • 쿠폰존
  • CART
  • diff --git a/mobile/skin/shop/basic/couponzone.10.skin.php b/mobile/skin/shop/basic/couponzone.10.skin.php new file mode 100644 index 000000000..554fbc47d --- /dev/null +++ b/mobile/skin/shop/basic/couponzone.10.skin.php @@ -0,0 +1,127 @@ +', 0); +?> + +
    +

    다운로드 쿠폰

    +

    회원이시라면 쿠폰 다운로드 후 바로 사용하실 수 있습니다.

    + + '.get_text($row3['it_name']).''; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_target = ''.get_text($row3['ca_name']).''; + break; + case '2': + $cp_target = '주문금액할인'; + break; + case '3': + $cp_target = '배송비할인'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + $coupon .= '
  • '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    기한 : 다운로드 후 '.number_format($row['cz_period']).'일
    '.PHP_EOL; + $coupon .= '
    적용 : '.$cp_target.'
    '.PHP_EOL; + $coupon .= '
    '.PHP_EOL; + $coupon .= '
  • '.PHP_EOL; + } + + if($coupon) + echo ''.PHP_EOL; + else + echo '

    사용할 수 있는 쿠폰이 없습니다.

    '; + ?> +
    + +
    +

    포인트 쿠폰

    +

    보유하신 회원 포인트를 쿠폰으로 교환하실 수 있습니다.

    + + '.get_text($row3['it_name']).''; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_target = ''.get_text($row3['ca_name']).''; + break; + case '2': + $cp_target = '주문금액할인'; + break; + case '3': + $cp_target = '배송비할인'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + $coupon .= '
  • '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    기한 : 다운로드 후 '.number_format($row['cz_period']).'일
    '.PHP_EOL; + $coupon .= '
    적용 : '.$cp_target.'
    '.PHP_EOL; + $coupon .= '
    포인트 '.number_format($row['cz_point']).'점 차감
    '.PHP_EOL; + $coupon .= '
    '.PHP_EOL; + $coupon .= '
  • '.PHP_EOL; + } + + if($coupon) + echo ''.PHP_EOL; + else + echo '

    사용할 수 있는 쿠폰이 없습니다.

    '; + ?> +
    \ No newline at end of file diff --git a/mobile/skin/shop/basic/style.css b/mobile/skin/shop/basic/style.css index 4c89f26f3..0edf9cb82 100644 --- a/mobile/skin/shop/basic/style.css +++ b/mobile/skin/shop/basic/style.css @@ -315,4 +315,25 @@ a.qa_wr{padding:10px 0;display:block;width:100%;text-align:center;background:#34 #fancyalert_inner button {margin:15px 0 0;padding:10px 30px;border:0;background:#000;color:#fff} #fancyalert_bg {z-index:0;position:absolute;top:0;left:0;width:100%;height:100%;vertical-align:middle;background:#000;text-align:center;opacity: 0.7} -#sit_sms_new .tbl_frm01 th {width:100px} \ No newline at end of file +#sit_sms_new .tbl_frm01 th {width:100px} + + +/*쿠폰존 리스트*/ +.couponzone_list{margin:0 0 50px;} +.couponzone_list h2{margin:10px 10px 5px} +.couponzone_list p{margin:0 10px 5px;} +.couponzone_list ul{padding:0 5px;margin:0;list-style:none} +.couponzone_list ul:after {display:block;visibility:hidden;clear:both;content:""} +.couponzone_list ul li{float:left;width:48%;height:210px;padding:0 1% 15px;} +.couponzone_list ul li .coupon_wr{border:1px solid #e9e9e9;background:#f2f6f9;line-height:1.2em;} +.couponzone_list ul li img{width:100%;height:100%} +.couponzone_list ul li .coupon_img{height:100px;overflow:hidden;border-bottom:1px solid #e9e9e9} +.couponzone_list ul li .coupon_tit{margin:10px 10px 5px;font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_date{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_target{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_point{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_btn{margin:10px;text-align:center} +.couponzone_list ul li .coupon_btn .btn02{width:70%;padding:7px 0;background:#ec2037;border-color:#c92033} +.couponzone_list ul li .coupon_btn .disabled {background: #ddd;border:1px;color:#999;border-color:#ddd} +.couponzone_list .no_coupon{padding: 100px 0;text-align:center;color:#999} +#point_coupon li{height:230px;} \ No newline at end of file diff --git a/orderupgrade.php b/orderupgrade.php index 494a72443..e5200329c 100644 --- a/orderupgrade.php +++ b/orderupgrade.php @@ -101,6 +101,38 @@ if(!sql_query(" select cart_id from {$g5['g5_shop_order_data_table']} limit 1 ", ADD `mb_id` varchar(20) NOT NULL DEFAULT '' AFTER `cart_id` ", true); } +// 쿠폰존 테이블 추가 +if(isset($g5['g5_shop_coupon_zone_table'])) { + if(!sql_query(" DESCRIBE {$g5['g5_shop_coupon_zone_table']} ", false)) { + sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['g5_shop_coupon_zone_table']}` ( + `cz_id` int(11) NOT NULL AUTO_INCREMENT, + `cz_type` tinyint(4) NOT NULL DEFAULT '0', + `cz_subject` varchar(255) NOT NULL DEFAULT '', + `cz_start` DATE NOT NULL DEFAULT '0000-00-00', + `cz_end` DATE NOT NULL DEFAULT '0000-00-00', + `cz_file` varchar(255) NOT NULL DEFAULT '', + `cz_period` int(11) NOT NULL DEFAULT '0', + `cz_point` INT(11) NOT NULL DEFAULT '0', + `cp_method` TINYINT(4) NOT NULL DEFAULT '0', + `cp_target` VARCHAR(255) NOT NULL DEFAULT '', + `cp_price` INT(11) NOT NULL DEFAULT '0', + `cp_type` TINYINT(4) NOT NULL DEFAULT '0', + `cp_trunc` INT(11) NOT NULL DEFAULT '0', + `cp_minimum` INT(11) NOT NULL DEFAULT '0', + `cp_maximum` INT(11) NOT NULL DEFAULT '0', + `cz_download` int(11) NOT NULL DEFAULT '0', + `cz_datetime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`cz_id`) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true); + } +} + +// 쿠폰테이블에 cz_id 필드 추가 +if(!sql_query(" select cz_id from {$g5['g5_shop_coupon_table']} limit 1 ", false)) { + sql_query(" ALTER TABLE `{$g5['g5_shop_coupon_table']}` + ADD `cz_id` int(11) NOT NULL DEFAULT '0' AFTER `mb_id` ", true); +} + echo '

    테이블 업그레이드 완료!

    '; include_once(G5_PATH.'/tail.sub.php'); diff --git a/shop/ajax.coupondownload.php b/shop/ajax.coupondownload.php new file mode 100644 index 000000000..d74c8cedf --- /dev/null +++ b/shop/ajax.coupondownload.php @@ -0,0 +1,69 @@ + '회원 로그인 후 이용해 주십시오.'))); + +$cz_id = preg_replace('#[^0-9]#', '', $_GET['cz_id']); + +if(!$cz_id) + die(json_encode(array('error' => '올바른 방법으로 이용해 주십시오.'))); + +$sql = " select * from {$g5['g5_shop_coupon_zone_table']} where cz_id = '$cz_id' "; +$cp = sql_fetch($sql); + +if(!$cp['cz_id']) + die(json_encode(array('error' => '쿠폰정보가 존재하지 않습니다.'))); + +if(!($cp['cz_start'] <= G5_TIME_YMD && $cp['cz_end'] >= G5_TIME_YMD)) + die(json_encode(array('error' => '다운로드할 수 없는 쿠폰입니다.'))); + +// 발급여부 +if(is_coupon_downloaded($member['mb_id'], $cp['cz_id'])) + die(json_encode(array('error' => '이미 다운로드하신 쿠폰입니다.'))); + +// 포인트 쿠폰은 회원포인트 체크 +if($cp['cz_type'] && ($member['mb_point'] - $cp['cz_point']) < 0) + die(json_encode(array('error' => '보유하신 포인트가 부족하여 쿠폰을 다운로드할 수 없습니다.'))); + +// 쿠폰발급 +$j = 0; +do { + $cp_id = get_coupon_id(); + + $sql3 = " select count(*) as cnt from {$g5['g5_shop_coupon_table']} where cp_id = '$cp_id' "; + $row3 = sql_fetch($sql3); + + if(!$row3['cnt']) + break; + else { + if($j > 20) + die(json_encode(array('error' => 'Coupon ID Error'))); + } +} while(1); + +$cp = array_map('addslashes', $cp); +$cp_start = G5_TIME_YMD; +$period = $cp['cz_period'] - 1; +if($period < 0) + $period = 0; +$cp_end = date('Y-m-d', strtotime("+{$period} days", G5_SERVER_TIME)); +$result = false; + +$sql = " INSERT INTO {$g5['g5_shop_coupon_table']} + ( cp_id, cp_subject, cp_method, cp_target, mb_id, cz_id, cp_start, cp_end, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum, cp_datetime ) + VALUES + ( '$cp_id', '{$cp['cz_subject']}', '{$cp['cp_method']}', '{$cp['cp_target']}', '{$member['mb_id']}', '$cz_id', '$cp_start', '$cp_end', '{$cp['cp_type']}', '{$cp['cp_price']}', '{$cp['cp_trunc']}', '{$cp['cp_minimum']}', '{$cp['cp_maximum']}', '".G5_TIME_YMDHIS."' ) "; + +$result = sql_query($sql); + +// 포인트 쿠폰이면 포인트 차감 +if($result && $cp['cz_type']) + insert_point($member['mb_id'], (-1) * $cp['cz_point'], "쿠폰 $cp_id 발급"); + +// 다운로드 증가 +sql_query(" update {$g5['g5_shop_coupon_zone_table']} set cz_download = cz_download + 1 where cz_id = '$cz_id' "); + +die(json_encode(array('error' => ''))); +?> \ No newline at end of file diff --git a/shop/couponzone.php b/shop/couponzone.php new file mode 100644 index 000000000..71f7e0a43 --- /dev/null +++ b/shop/couponzone.php @@ -0,0 +1,34 @@ += '".G5_TIME_YMD."' "; + +$sql_order = " order by cz_id desc "; + +add_javascript('', 100); + +$g5['title'] = '쿠폰존'; +include_once(G5_SHOP_PATH.'/_head.php'); + +if (!G5_IS_MOBILE && $is_admin) + echo '
    쿠폰존 관리
    '; + +if(G5_IS_MOBILE) { + define('G5_SHOP_CSS_URL', G5_MSHOP_SKIN_URL); + $skin_file = G5_MSHOP_SKIN_PATH.'/couponzone.10.skin.php'; +} else { + define('G5_SHOP_CSS_URL', G5_SHOP_SKIN_URL); + $skin_file = G5_SHOP_SKIN_PATH.'/couponzone.10.skin.php'; +} + +if (is_file($skin_file)) { + include_once($skin_file); + +} else { + echo '
    '.str_replace(G5_PATH.'/', '', $skin_file).' 파일을 찾을 수 없습니다.
    관리자에게 알려주시면 감사하겠습니다.
    '; +} + +include_once(G5_SHOP_PATH.'/_tail.php'); +?> diff --git a/shop/shop.head.php b/shop/shop.head.php index 7f63d2391..b729f1585 100644 --- a/shop/shop.head.php +++ b/shop/shop.head.php @@ -74,6 +74,7 @@ include_once(G5_LIB_PATH.'/latest.lib.php');
  • 로그인
  • 마이페이지
  • +
  • 쿠폰존
  • FAQ
  • 1:1문의
  • 개인결제
  • diff --git a/skin/shop/basic/couponzone.10.skin.php b/skin/shop/basic/couponzone.10.skin.php new file mode 100644 index 000000000..a876a2977 --- /dev/null +++ b/skin/shop/basic/couponzone.10.skin.php @@ -0,0 +1,127 @@ +', 0); +?> + +
    +

    다운로드 쿠폰

    +

    회원이시라면 쿠폰 다운로드 후 바로 사용하실 수 있습니다.

    + + '.get_text($row3['it_name']).''; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_target = ''.get_text($row3['ca_name']).''; + break; + case '2': + $cp_target = '주문금액할인'; + break; + case '3': + $cp_target = '배송비할인'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + $coupon .= '
  • '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    기한 : 다운로드 후 '.number_format($row['cz_period']).'일
    '.PHP_EOL; + $coupon .= '
    적용 : '.$cp_target.'
    '.PHP_EOL; + $coupon .= '
    '.PHP_EOL; + $coupon .= '
  • '.PHP_EOL; + } + + if($coupon) + echo ''.PHP_EOL; + else + echo '

    사용할 수 있는 쿠폰이 없습니다.

    '; + ?> +
    + +
    +

    포인트 쿠폰

    +

    보유하신 회원 포인트를 쿠폰으로 교환하실 수 있습니다.

    + + '.get_text($row3['it_name']).''; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_target = ''.get_text($row3['ca_name']).''; + break; + case '2': + $cp_target = '주문금액할인'; + break; + case '3': + $cp_target = '배송비할인'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + $coupon .= '
  • '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    기한 : 다운로드 후 '.number_format($row['cz_period']).'일
    '.PHP_EOL; + $coupon .= '
    적용 : '.$cp_target.'
    '.PHP_EOL; + $coupon .= '
    포인트 '.number_format($row['cz_point']).'점 차감
    '.PHP_EOL; + $coupon .= '
    '.PHP_EOL; + $coupon .= '
  • '.PHP_EOL; + } + + if($coupon) + echo ''.PHP_EOL; + else + echo '

    사용할 수 있는 쿠폰이 없습니다.

    '; + ?> +
    \ No newline at end of file diff --git a/skin/shop/basic/style.css b/skin/shop/basic/style.css index 031db5278..a3025c2f1 100644 --- a/skin/shop/basic/style.css +++ b/skin/shop/basic/style.css @@ -545,4 +545,23 @@ .sqa_section p {padding:0;width:100%} .sqa_con_full {padding:0;height:auto !important} .sqa_con_btn {margin:5px 0 0;text-align:right} -.sqa_con_btn button {margin:0;padding:5px;border:0;background:#565e60;color:#fff} \ No newline at end of file +.sqa_con_btn button {margin:0;padding:5px;border:0;background:#565e60;color:#fff} + +/*쿠폰존 리스트*/ +.couponzone_list{margin:0 0 50px;} +.couponzone_list h2{margin:0 0 5px} +.couponzone_list p{margin:0 0 5px;} +.couponzone_list ul{padding:0;margin:0;list-style:none} +.couponzone_list ul:after {display:block;visibility:hidden;clear:both;content:""} +.couponzone_list ul li{float:left;width:230px;height:210px;border:1px solid #e9e9e9;background:#f2f6f9;padding:0;margin:0 10px 10px 0;line-height:1.2em} +.couponzone_list ul li img{width:100%;height:auto} +.couponzone_list ul li .coupon_img{height:100px;overflow:hidden;border-bottom:1px solid #e9e9e9} +.couponzone_list ul li .coupon_tit{margin:10px 10px 5px;font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_date{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_target{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_point{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_btn{margin:10px;text-align:center;} +.couponzone_list ul li .coupon_btn .btn02{width:60%;padding:7px 0;background:#ec2037;border-color:#c92033} +.couponzone_list ul li .coupon_btn .disabled {background: #ddd;border:1px;color:#999;border-color:#ddd} +.couponzone_list .no_coupon{padding: 100px 0;text-align:center;color:#999} +#point_coupon li{height:230px;} \ No newline at end of file diff --git a/theme/basic/css/mobile_shop.css b/theme/basic/css/mobile_shop.css index 8cee72ea6..f1e51d1a5 100644 --- a/theme/basic/css/mobile_shop.css +++ b/theme/basic/css/mobile_shop.css @@ -34,7 +34,7 @@ ul,li{list-style:none;padding:0;margin:0;} #hd_tnb{margin-top:-1px} #hd_tnb:after {display:block;visibility:hidden;clear:both;content:""} -#hd_tnb li{float:left;width:25%;} +#hd_tnb li{float:left;width:20%;} #hd_tnb li a{display:block;color:#a8a8a8;background:#f9f9f9;border:1px solid #e9e9e9;border-right:none;height:30px;line-height:30px;font-size:0.92em} #hd_tnb li a:hover{background:#f1f1f1} #hd_tnb li:first-child a{border-left:none} diff --git a/theme/basic/mobile/shop/shop.head.php b/theme/basic/mobile/shop/shop.head.php index bdf906f13..1493e72c0 100644 --- a/theme/basic/mobile/shop/shop.head.php +++ b/theme/basic/mobile/shop/shop.head.php @@ -28,9 +28,9 @@ include_once(G5_LIB_PATH.'/latest.lib.php');
  • LOGIN
  • JOIN
  • -
  • MY PAGE
  • +
  • 쿠폰존
  • CART
  • diff --git a/theme/basic/mobile/skin/shop/basic/couponzone.10.skin.php b/theme/basic/mobile/skin/shop/basic/couponzone.10.skin.php new file mode 100644 index 000000000..281d62de4 --- /dev/null +++ b/theme/basic/mobile/skin/shop/basic/couponzone.10.skin.php @@ -0,0 +1,127 @@ +', 0); +?> + +
    +

    다운로드 쿠폰

    +

    회원이시라면 쿠폰 다운로드 후 바로 사용하실 수 있습니다.

    + + '.get_text($row3['it_name']).''; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_target = ''.get_text($row3['ca_name']).''; + break; + case '2': + $cp_target = '주문금액할인'; + break; + case '3': + $cp_target = '배송비할인'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + $coupon .= '
  • '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    기한 : 다운로드 후 '.number_format($row['cz_period']).'일
    '.PHP_EOL; + $coupon .= '
    적용 : '.$cp_target.'
    '.PHP_EOL; + $coupon .= '
    '.PHP_EOL; + $coupon .= '
  • '.PHP_EOL; + } + + if($coupon) + echo ''.PHP_EOL; + else + echo '

    사용할 수 있는 쿠폰이 없습니다.

    '; + ?> +
    + +
    +

    포인트 쿠폰

    +

    보유하신 회원 포인트를 쿠폰으로 교환하실 수 있습니다.

    + + '.get_text($row3['it_name']).''; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_target = ''.get_text($row3['ca_name']).''; + break; + case '2': + $cp_target = '주문금액할인'; + break; + case '3': + $cp_target = '배송비할인'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + $coupon .= '
  • '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    기한 : 다운로드 후 '.number_format($row['cz_period']).'일
    '.PHP_EOL; + $coupon .= '
    적용 : '.$cp_target.'
    '.PHP_EOL; + $coupon .= '
    포인트 '.number_format($row['cz_point']).'점 차감
    '.PHP_EOL; + $coupon .= '
    '.PHP_EOL; + $coupon .= '
  • '.PHP_EOL; + } + + if($coupon) + echo ''.PHP_EOL; + else + echo '

    사용할 수 있는 쿠폰이 없습니다.

    '; + ?> +
    \ No newline at end of file diff --git a/theme/basic/mobile/skin/shop/basic/style.css b/theme/basic/mobile/skin/shop/basic/style.css index 4c89f26f3..355cda586 100644 --- a/theme/basic/mobile/skin/shop/basic/style.css +++ b/theme/basic/mobile/skin/shop/basic/style.css @@ -315,4 +315,24 @@ a.qa_wr{padding:10px 0;display:block;width:100%;text-align:center;background:#34 #fancyalert_inner button {margin:15px 0 0;padding:10px 30px;border:0;background:#000;color:#fff} #fancyalert_bg {z-index:0;position:absolute;top:0;left:0;width:100%;height:100%;vertical-align:middle;background:#000;text-align:center;opacity: 0.7} -#sit_sms_new .tbl_frm01 th {width:100px} \ No newline at end of file +#sit_sms_new .tbl_frm01 th {width:100px} + +/*쿠폰존 리스트*/ +.couponzone_list{margin:0 0 50px;} +.couponzone_list h2{margin:10px 10px 5px} +.couponzone_list p{margin:0 10px 5px;} +.couponzone_list ul{padding:0 5px;margin:0;list-style:none} +.couponzone_list ul:after {display:block;visibility:hidden;clear:both;content:""} +.couponzone_list ul li{float:left;width:48%;height:210px;padding:0 1% 15px;} +.couponzone_list ul li .coupon_wr{border:1px solid #e9e9e9;background:#f2f6f9;line-height:1.2em;} +.couponzone_list ul li img{width:100%;height:100%} +.couponzone_list ul li .coupon_img{height:100px;overflow:hidden;border-bottom:1px solid #e9e9e9} +.couponzone_list ul li .coupon_tit{margin:10px 10px 5px;font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_date{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_target{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_point{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_btn{margin:10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-align:center} +.couponzone_list ul li .coupon_btn .btn02{width:70%;padding:7px 0;background:#ec2037;border-color:#c92033} +.couponzone_list ul li .coupon_btn .disabled {background: #ddd;border:1px;color:#999;border-color:#ddd} +.couponzone_list .no_coupon{padding: 100px 0;text-align:center;color:#999} +#point_coupon li{height:230px;} \ No newline at end of file diff --git a/theme/basic/shop/shop.head.php b/theme/basic/shop/shop.head.php index 3e4b5f047..d4b9c76fd 100644 --- a/theme/basic/shop/shop.head.php +++ b/theme/basic/shop/shop.head.php @@ -74,6 +74,7 @@ include_once(G5_LIB_PATH.'/latest.lib.php');
  • 로그인
  • 마이페이지
  • +
  • 쿠폰존
  • FAQ
  • 1:1문의
  • 개인결제
  • diff --git a/theme/basic/skin/shop/basic/couponzone.10.skin.php b/theme/basic/skin/shop/basic/couponzone.10.skin.php new file mode 100644 index 000000000..a876a2977 --- /dev/null +++ b/theme/basic/skin/shop/basic/couponzone.10.skin.php @@ -0,0 +1,127 @@ +', 0); +?> + +
    +

    다운로드 쿠폰

    +

    회원이시라면 쿠폰 다운로드 후 바로 사용하실 수 있습니다.

    + + '.get_text($row3['it_name']).''; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_target = ''.get_text($row3['ca_name']).''; + break; + case '2': + $cp_target = '주문금액할인'; + break; + case '3': + $cp_target = '배송비할인'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + $coupon .= '
  • '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    기한 : 다운로드 후 '.number_format($row['cz_period']).'일
    '.PHP_EOL; + $coupon .= '
    적용 : '.$cp_target.'
    '.PHP_EOL; + $coupon .= '
    '.PHP_EOL; + $coupon .= '
  • '.PHP_EOL; + } + + if($coupon) + echo ''.PHP_EOL; + else + echo '

    사용할 수 있는 쿠폰이 없습니다.

    '; + ?> +
    + +
    +

    포인트 쿠폰

    +

    보유하신 회원 포인트를 쿠폰으로 교환하실 수 있습니다.

    + + '.get_text($row3['it_name']).''; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_target = ''.get_text($row3['ca_name']).''; + break; + case '2': + $cp_target = '주문금액할인'; + break; + case '3': + $cp_target = '배송비할인'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + $coupon .= '
  • '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    '.$subj.'
    '.PHP_EOL; + $coupon .= '
    기한 : 다운로드 후 '.number_format($row['cz_period']).'일
    '.PHP_EOL; + $coupon .= '
    적용 : '.$cp_target.'
    '.PHP_EOL; + $coupon .= '
    포인트 '.number_format($row['cz_point']).'점 차감
    '.PHP_EOL; + $coupon .= '
    '.PHP_EOL; + $coupon .= '
  • '.PHP_EOL; + } + + if($coupon) + echo ''.PHP_EOL; + else + echo '

    사용할 수 있는 쿠폰이 없습니다.

    '; + ?> +
    \ No newline at end of file diff --git a/theme/basic/skin/shop/basic/style.css b/theme/basic/skin/shop/basic/style.css index 031db5278..4e254222a 100644 --- a/theme/basic/skin/shop/basic/style.css +++ b/theme/basic/skin/shop/basic/style.css @@ -545,4 +545,24 @@ .sqa_section p {padding:0;width:100%} .sqa_con_full {padding:0;height:auto !important} .sqa_con_btn {margin:5px 0 0;text-align:right} -.sqa_con_btn button {margin:0;padding:5px;border:0;background:#565e60;color:#fff} \ No newline at end of file +.sqa_con_btn button {margin:0;padding:5px;border:0;background:#565e60;color:#fff} + + +/*쿠폰존 리스트*/ +.couponzone_list{margin:0 0 50px;} +.couponzone_list h2{margin:0 0 5px} +.couponzone_list p{margin:0 0 5px;} +.couponzone_list ul{padding:0;margin:0;list-style:none} +.couponzone_list ul:after {display:block;visibility:hidden;clear:both;content:""} +.couponzone_list ul li{float:left;width:230px;height:210px;border:1px solid #e9e9e9;background:#f2f6f9;padding:0;margin:0 10px 10px 0;line-height:1.2em} +.couponzone_list ul li img{width:100%;height:auto} +.couponzone_list ul li .coupon_img{height:100px;overflow:hidden;border-bottom:1px solid #e9e9e9} +.couponzone_list ul li .coupon_tit{margin:10px 10px 5px;font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_date{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_target{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_point{margin: 5px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} +.couponzone_list ul li .coupon_btn{margin:10px;text-align:center} +.couponzone_list ul li .coupon_btn .btn02{width:60%;padding:7px 0;background:#ec2037;border-color:#c92033} +.couponzone_list ul li .coupon_btn .disabled {background: #ddd;border:1px;color:#999;border-color:#ddd} +.couponzone_list .no_coupon{padding: 100px 0;text-align:center;color:#999} +#point_coupon li{height:230px;} \ No newline at end of file