From 66782b34f3331138aa4bda4aace848ac333c4f24 Mon Sep 17 00:00:00 2001 From: chicpro Date: Thu, 1 Oct 2015 13:55:37 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B9=B4=EC=B9=B4=EC=98=A4=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=20=EA=B0=84=ED=8E=B8=EA=B2=B0=EC=A0=9C=20=EB=B0=8F=20LMS=20?= =?UTF-8?q?=EB=AA=A8=EB=93=88=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adm/board_form_update.php | 9 + adm/config_form.php | 23 +- adm/config_form_update.php | 1 + adm/css/admin.css | 8 +- adm/index.php | 2 +- adm/member_form.php | 3 + adm/member_list.php | 4 +- adm/menu_list.php | 2 +- adm/shop_admin/admin.shop.lib.php | 2 +- adm/shop_admin/configform.php | 101 +- adm/shop_admin/configformupdate.php | 7 + adm/shop_admin/couponformupdate.php | 64 +- adm/shop_admin/itemlist.php | 22 +- adm/shop_admin/itemqaformupdate.php | 39 +- adm/shop_admin/itemsellrank.php | 2 +- adm/shop_admin/itemstocksmsupdate.php | 67 +- adm/shop_admin/itemuseform.php | 2 +- adm/shop_admin/itemuselist.php | 1 - adm/shop_admin/orderdeliveryupdate.php | 61 +- adm/shop_admin/orderform.php | 136 +- adm/shop_admin/orderformcartupdate.php | 10 +- adm/shop_admin/orderformreceiptupdate.php | 1 - adm/shop_admin/orderlist.php | 22 + adm/shop_admin/orderlistupdate.php | 68 +- adm/shop_admin/orderpartcancel.php | 4 +- adm/shop_admin/orderpartcancelupdate.php | 2 +- adm/shop_admin/orderprintresult.php | 4 +- adm/shop_admin/ordersms.inc.php | 59 +- adm/shop_admin/personalpayform.php | 2 +- adm/shop_admin/sendcostlist.php | 2 +- adm/sms_admin/_common.php | 1 + adm/sms_admin/config.php | 4 - adm/sms_admin/history_send.php | 207 ++- adm/sms_admin/history_view.php | 2 + adm/sms_admin/sms_write.php | 38 +- adm/sms_admin/sms_write_send.php | 212 ++- bbs/delete_all.php | 12 +- bbs/download.php | 3 +- bbs/move.php | 2 +- bbs/profile.php | 2 +- bbs/qawrite.php | 3 +- bbs/qawrite_update.php | 117 +- bbs/register_form.php | 3 + bbs/write.php | 12 +- config.php | 8 +- css/default_shop.css | 63 +- css/mobile_shop.css | 24 +- extend/sms5.extend.php | 4 - head.sub.php | 2 +- img/kakao.png | Bin 0 -> 862 bytes img/kpay_logo.png | Bin 0 -> 1520 bytes img/payco_logo.png | Bin 0 -> 711 bytes img/paynow_logo.png | Bin 0 -> 679 bytes install/gnuboard5.sql | 3 +- install/gnuboard5shop.sql | 7 + js/autosave.js | 35 +- lib/common.lib.php | 39 +- lib/icode.lms.lib.php | 249 +++ lib/outlogin.lib.php | 2 +- lib/popular.lib.php | 2 +- mobile/shop/cart.php | 10 + mobile/shop/inicis/orderform.1.php | 1 + mobile/shop/inicis/pay_return.php | 3 +- mobile/shop/inicis/settle_common.php | 42 +- mobile/shop/item.php | 2 +- mobile/shop/itemqaform.php | 2 +- mobile/shop/itemuseform.php | 2 +- mobile/shop/kcp/order_approval_form.php | 8 + mobile/shop/kcp/orderform.1.php | 1 + mobile/shop/lg/orderform.1.php | 1 + mobile/shop/lg/xpay_approval.php | 2 + mobile/shop/mypage.php | 11 +- mobile/shop/orderform.sub.php | 1511 +++++++++++++++++ mobile/shop/orderformupdate.php | 141 +- mobile/shop/orderinquiry.sub.php | 10 + mobile/shop/orderinquiryview.php | 57 +- mobile/shop/personalpayform.sub.php | 320 ++++ mobile/shop/settle_kcp.inc.php | 6 + mobile/shop/wishlist.php | 17 +- mobile/skin/board/basic/write.skin.php | 5 +- mobile/skin/board/gallery/write.skin.php | 5 +- mobile/skin/member/basic/formmail.skin.php | 2 +- .../skin/member/basic/register_form.skin.php | 26 +- .../basic/register_form_update.tail.skin.php | 38 +- mobile/skin/popular/basic/popular.skin.php | 2 +- mobile/skin/qa/basic/write.skin.php | 6 +- mobile/skin/shop/basic/itemqaform.skin.php | 4 +- orderupgrade.php | 7 + plugin/editor/smarteditor2/autosave.editor.js | 13 + plugin/sms5/sms5.lib.php | 449 +++-- plugin/sms5/write.php | 3 + plugin/sms5/write_update.php | 8 + shop/cart.php | 10 + shop/inicis/orderform.1.php | 2 +- shop/inicis/orderform.3.php | 4 +- shop/inicis/orderform.5.php | 3 - shop/inicis/orderpartcancel.inc.php | 8 +- shop/itemqaform.php | 2 +- shop/itemuseform.php | 2 +- shop/kakaopay/_common.php | 3 + shop/kakaopay/getTxnId.php | 155 ++ shop/kakaopay/incKakaopayCommon.php | 43 + shop/kakaopay/kakaopay_cancel.php | 39 + shop/kakaopay/kakaopay_result.php | 76 + shop/kakaopay/lgcns_CNSpay.php | 475 ++++++ shop/kakaopay/lgcns_KMpay.php | 384 +++++ shop/kakaopay/makehashdata.php | 21 + shop/kakaopay/orderform.1.php | 110 ++ shop/kakaopay/orderform.2.php | 38 + shop/kakaopay/orderform.3.php | 10 + shop/kakaopay/orderpartcancel.inc.php | 82 + shop/kcp/orderform.1.php | 27 +- shop/kcp/orderform.2.php | 3 + shop/kcp/orderform.3.php | 6 +- shop/kcp/orderform.5.php | 10 - shop/lg/makehashdata.php | 48 - shop/lg/orderform.1.php | 93 +- shop/lg/orderform.2.php | 12 +- shop/lg/orderform.3.php | 5 - shop/lg/orderform.5.php | 7 - shop/lg/returnurl.php | 54 + shop/lg/xpay_request.php | 92 + shop/mypage.php | 14 +- shop/orderaddress.php | 2 +- shop/orderform.php | 1476 +--------------- shop/orderform.sub.php | 1492 ++++++++++++++++ shop/orderformupdate.php | 141 +- shop/orderinquiry.sub.php | 10 + shop/orderinquiryview.php | 49 +- shop/personalpayform.php | 328 +--- shop/personalpayform.sub.php | 275 +++ shop/personalpayformupdate.php | 3 - shop/settle_kakaopay.inc.php | 9 + shop/settle_kcp.inc.php | 6 + shop/settle_lg.inc.php | 4 + shop/wishlist.php | 14 +- skin/board/basic/write.skin.php | 1 + skin/board/gallery/write.skin.php | 1 + skin/member/basic/formmail.skin.php | 2 +- skin/member/basic/register_form.skin.php | 26 +- .../basic/register_form_update.tail.skin.php | 38 +- skin/popular/basic/popular.skin.php | 2 +- skin/qa/basic/write.skin.php | 6 +- skin/shop/basic/itemqaform.skin.php | 4 +- theme/basic/css/default_shop.css | 67 +- theme/basic/css/mobile_shop.css | 24 +- theme/basic/head.sub.php | 2 +- .../mobile/skin/board/basic/write.skin.php | 5 +- .../mobile/skin/board/gallery/write.skin.php | 5 +- .../skin/member/basic/formmail.skin.php | 2 +- .../skin/member/basic/register_form.skin.php | 26 +- .../basic/register_form_update.tail.skin.php | 60 + .../skin/popular/basic/popular.skin.php | 2 +- .../basic/mobile/skin/qa/basic/write.skin.php | 6 +- .../skin/shop/basic/itemqaform.skin.php | 4 +- theme/basic/skin/board/basic/write.skin.php | 1 + theme/basic/skin/board/gallery/write.skin.php | 1 + .../basic/skin/member/basic/formmail.skin.php | 2 +- .../skin/member/basic/register_form.skin.php | 26 +- .../basic/register_form_update.tail.skin.php | 38 +- .../basic/skin/popular/basic/popular.skin.php | 2 +- theme/basic/skin/qa/basic/write.skin.php | 6 +- .../basic/skin/shop/basic/itemqaform.skin.php | 4 +- 163 files changed, 7907 insertions(+), 2604 deletions(-) create mode 100644 img/kakao.png create mode 100644 img/kpay_logo.png create mode 100644 img/payco_logo.png create mode 100644 img/paynow_logo.png create mode 100644 lib/icode.lms.lib.php create mode 100644 mobile/shop/orderform.sub.php create mode 100644 mobile/shop/personalpayform.sub.php create mode 100644 plugin/editor/smarteditor2/autosave.editor.js delete mode 100644 shop/inicis/orderform.5.php create mode 100644 shop/kakaopay/_common.php create mode 100644 shop/kakaopay/getTxnId.php create mode 100644 shop/kakaopay/incKakaopayCommon.php create mode 100644 shop/kakaopay/kakaopay_cancel.php create mode 100644 shop/kakaopay/kakaopay_result.php create mode 100644 shop/kakaopay/lgcns_CNSpay.php create mode 100644 shop/kakaopay/lgcns_KMpay.php create mode 100644 shop/kakaopay/makehashdata.php create mode 100644 shop/kakaopay/orderform.1.php create mode 100644 shop/kakaopay/orderform.2.php create mode 100644 shop/kakaopay/orderform.3.php create mode 100644 shop/kakaopay/orderpartcancel.inc.php delete mode 100644 shop/kcp/orderform.5.php delete mode 100644 shop/lg/makehashdata.php delete mode 100644 shop/lg/orderform.5.php create mode 100644 shop/lg/returnurl.php create mode 100644 shop/lg/xpay_request.php create mode 100644 shop/orderform.sub.php create mode 100644 shop/personalpayform.sub.php create mode 100644 shop/settle_kakaopay.inc.php create mode 100644 theme/basic/mobile/skin/member/basic/register_form_update.tail.skin.php diff --git a/adm/board_form_update.php b/adm/board_form_update.php index db451aac4..558561b4d 100644 --- a/adm/board_form_update.php +++ b/adm/board_form_update.php @@ -12,16 +12,25 @@ if (!preg_match("/^([A-Za-z0-9_]{1,20})$/", $bo_table)) { alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)'); } if (!$_POST['bo_subject']) { alert('게시판 제목을 입력하세요.'); } +$_POST['bo_include_head'] = preg_replace("#[\\\]+$#", "", substr($_POST['bo_include_head'], 0, 255)); +$_POST['bo_include_tail'] = preg_replace("#[\\\]+$#", "", substr($_POST['bo_include_tail'], 0, 255)); + if ($file = $_POST['bo_include_head']) { + $purl = parse_url($file); + $file = $purl['path']; if (!preg_match("/\.(php|htm['l']?)$/i", $file)) { alert('상단 파일 경로가 php, html 파일이 아닙니다.'); } + $_POST['bo_include_head'] = $file; } if ($file = $_POST['bo_include_tail']) { + $purl = parse_url($file); + $file = $purl['path']; if (!preg_match("/\.(php|htm['l']?)$/i", $file)) { alert('하단 파일 경로가 php, html 파일이 아닙니다.'); } + $_POST['bo_include_tail'] = $file; } $board_path = G5_DATA_PATH.'/file/'.$bo_table; diff --git a/adm/config_form.php b/adm/config_form.php index 6535f2272..410bbc503 100644 --- a/adm/config_form.php +++ b/adm/config_form.php @@ -180,6 +180,12 @@ ADD `cf_kakao_js_apikey` varchar(255) NOT NULL DEFAULT '' AFTER `cf_googl_shorturl_apikey` ", true); } +// SMS 전송유형 필드 추가 +if(!isset($config['cf_sms_type'])) { + sql_query(" ALTER TABLE `{$g5['config_table']}` + ADD `cf_sms_type` varchar(10) NOT NULL DEFAULT '' AFTER `cf_sms_use` ", true); +} + if(!$config['cf_faq_skin']) $config['cf_faq_skin'] = "basic"; if(!$config['cf_mobile_faq_skin']) $config['cf_mobile_faq_skin'] = "basic"; @@ -1034,6 +1040,16 @@ + + + + LMS로 선택하시면 90바이트 이하는 SMS로, 그 이상은 1500바이트까지 LMS로 전송됩니다.
요금은 건당 SMS는 16원, LMS는 48원입니다."); ?> + + + @@ -1069,7 +1085,6 @@ 아이코드 SMS 신청
회원가입 - 아이코드 회원가입 @@ -1081,12 +1096,6 @@ 충전하기 - - 건수별 금액 - - 원. - - diff --git a/adm/config_form_update.php b/adm/config_form_update.php index 7c2c7891b..2c1279df4 100644 --- a/adm/config_form_update.php +++ b/adm/config_form_update.php @@ -124,6 +124,7 @@ cf_cert_limit = '{$_POST['cf_cert_limit']}', cf_cert_req = '{$_POST['cf_cert_req']}', cf_sms_use = '{$_POST['cf_sms_use']}', + cf_sms_type = '{$_POST['cf_sms_type']}', cf_icode_id = '{$_POST['cf_icode_id']}', cf_icode_pw = '{$_POST['cf_icode_pw']}', cf_icode_server_ip = '{$_POST['cf_icode_server_ip']}', diff --git a/adm/css/admin.css b/adm/css/admin.css index 0d6575409..524dc0a9e 100644 --- a/adm/css/admin.css +++ b/adm/css/admin.css @@ -924,4 +924,10 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right} #grp_color li span{width:10px;height:10px; display:inline-block;background:rgb(75, 178, 197);margin-right:5px;} #grp_color li.color2 span{background:rgb(234, 162, 40);} #chart_wr h5{text-align:center;border:1px solid #eee;padding:30px 0} -#chart_wr{margin:20px } + +#chart_wr{margin:20px } + +/*전송실패 문자 재전송 내역*/ +.sms_table{padding:0 20px 40px;} +.sms_table table th{border:1px solid #ddd;padding:9px 0} +.sms_table table td{border:1px solid #ddd;text-align:center;width:16%;padding:9px 0} \ No newline at end of file diff --git a/adm/index.php b/adm/index.php index a579ad851..fcaa2dfe5 100644 --- a/adm/index.php +++ b/adm/index.php @@ -91,7 +91,7 @@ $leave_date = $row['mb_leave_date'] ? $row['mb_leave_date'] : date("Ymd", G5_SERVER_TIME); $intercept_date = $row['mb_intercept_date'] ? $row['mb_intercept_date'] : date("Ymd", G5_SERVER_TIME); - $mb_nick = get_sideview($row['mb_id'], $row['mb_nick'], $row['mb_email'], $row['mb_homepage']); + $mb_nick = get_sideview($row['mb_id'], get_text($row['mb_nick']), $row['mb_email'], $row['mb_homepage']); $mb_id = $row['mb_id']; if ($row['mb_leave_date']) diff --git a/adm/member_form.php b/adm/member_form.php index ddcdfbe47..3e056459e 100644 --- a/adm/member_form.php +++ b/adm/member_form.php @@ -31,6 +31,8 @@ $required_mb_password = ''; $html_title = '수정'; + $mb['mb_name'] = get_text($mb['mb_name']); + $mb['mb_nick'] = get_text($mb['mb_nick']); $mb['mb_email'] = get_text($mb['mb_email']); $mb['mb_homepage'] = get_text($mb['mb_homepage']); $mb['mb_birth'] = get_text($mb['mb_birth']); @@ -38,6 +40,7 @@ $mb['mb_hp'] = get_text($mb['mb_hp']); $mb['mb_addr1'] = get_text($mb['mb_addr1']); $mb['mb_addr2'] = get_text($mb['mb_addr2']); + $mb['mb_addr3'] = get_text($mb['mb_addr3']); $mb['mb_signature'] = get_text($mb['mb_signature']); $mb['mb_recommend'] = get_text($mb['mb_recommend']); $mb['mb_profile'] = get_text($mb['mb_profile']); diff --git a/adm/member_list.php b/adm/member_list.php index ea3c6e4c6..9eaf3e43c 100644 --- a/adm/member_list.php +++ b/adm/member_list.php @@ -166,7 +166,7 @@ $leave_date = $row['mb_leave_date'] ? $row['mb_leave_date'] : date('Ymd', G5_SERVER_TIME); $intercept_date = $row['mb_intercept_date'] ? $row['mb_intercept_date'] : date('Ymd', G5_SERVER_TIME); - $mb_nick = get_sideview($row['mb_id'], $row['mb_nick'], $row['mb_email'], $row['mb_homepage']); + $mb_nick = get_sideview($row['mb_id'], get_text($row['mb_nick']), $row['mb_email'], $row['mb_homepage']); $mb_id = $row['mb_id']; $leave_msg = ''; @@ -211,7 +211,7 @@ - + diff --git a/adm/menu_list.php b/adm/menu_list.php index daa86fdaf..2aa88b13c 100644 --- a/adm/menu_list.php +++ b/adm/menu_list.php @@ -73,7 +73,7 @@ } $search = array('"', "'"); - $replace = array('"', '''); + $replace = array('"', '''); $me_name = str_replace($search, $replace, $row['me_name']); ?> diff --git a/adm/shop_admin/admin.shop.lib.php b/adm/shop_admin/admin.shop.lib.php index 8d48213aa..baa5f3816 100644 --- a/adm/shop_admin/admin.shop.lib.php +++ b/adm/shop_admin/admin.shop.lib.php @@ -117,6 +117,6 @@ function conv_sms_contents($od_id, $contents) $sms_contents = str_replace("{회사명}", $default['de_admin_company_name'], $sms_contents); } - return iconv("utf-8", "euc-kr", stripslashes($sms_contents)); + return stripslashes($sms_contents); } ?> \ No newline at end of file diff --git a/adm/shop_admin/configform.php b/adm/shop_admin/configform.php index 5a94568d7..d8151f8b9 100644 --- a/adm/shop_admin/configform.php +++ b/adm/shop_admin/configform.php @@ -96,6 +96,22 @@ sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}` ADD `de_mobile_search_list_row` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_search_list_mod` ", true); } + +// PG 간펼결제 사용여부 필드 추가 +if(!isset($default['de_easy_pay_use'])) { + sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}` + ADD `de_easy_pay_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_iche_use` ", true); +} + +// 카카오페이 필드 추가 +if(!isset($default['de_kakaopay_mid'])) { + sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}` + ADD `de_kakaopay_mid` varchar(255) NOT NULL DEFAULT '' AFTER `de_tax_flag_use`, + ADD `de_kakaopay_key` varchar(255) NOT NULL DEFAULT '' AFTER `de_kakaopay_mid`, + ADD `de_kakaopay_enckey` varchar(255) NOT NULL DEFAULT '' AFTER `de_kakaopay_key`, + ADD `de_kakaopay_hashkey` varchar(255) NOT NULL DEFAULT '' AFTER `de_kakaopay_enckey`, + ADD `de_kakaopay_cancelpwd` varchar(255) NOT NULL DEFAULT '' AFTER `de_kakaopay_hashkey` ", true); +} ?>
@@ -542,6 +558,16 @@ + + + + + + + @@ -663,6 +689,44 @@ + + + + 카카오페이 서비스신청하기 + + + + KHSIR m + + + + + + + + + + + + + + + + + + + + + + + + + + + 입력하신 비밀번호와 상점관리자에서 설정하신 비밀번호가 일치하지 않으면 취소가 되지 않습니다."); ?> + + + 에스크로 사용 @@ -674,9 +738,9 @@ - 신용카드 결제테스트 + 결제 테스트 - + id="de_card_test1"> id="de_card_test2"> @@ -1215,6 +1279,16 @@ function byte_check(el_cont, el_byte) + + + + LMS로 선택하시면 90바이트 이하는 SMS로, 그 이상은 1500바이트까지 LMS로 전송됩니다.
요금은 건당 SMS는 16원, LMS는 50원입니다."); ?> + + + @@ -1269,12 +1343,6 @@ function byte_check(el_cont, el_byte) 충전하기 - - 건수별 금액 - - 원. - - @@ -1529,6 +1597,23 @@ function fconfig_check(f) } } } + + // 카카오페이의 경우 log 디렉토리 체크 + if($default['de_kakaopay_mid'] && $default['de_kakaopay_key'] && $default['de_kakaopay_enckey'] && $default['de_kakaopay_hashkey'] && $default['de_kakaopay_cancelpwd']) { + $log_path = G5_SHOP_PATH.'/kakaopay/log'; + + if(!is_dir($log_path)) { + echo ''.PHP_EOL; + } else { + if(!is_writable($log_path)) { + echo ''.PHP_EOL; + } + } + } } include_once (G5_ADMIN_PATH.'/admin.tail.php'); diff --git a/adm/shop_admin/configformupdate.php b/adm/shop_admin/configformupdate.php index 286165603..76d87565e 100644 --- a/adm/shop_admin/configformupdate.php +++ b/adm/shop_admin/configformupdate.php @@ -127,6 +127,7 @@ de_bank_account = '{$_POST['de_bank_account']}', de_card_test = '{$_POST['de_card_test']}', de_card_use = '{$_POST['de_card_use']}', + de_easy_pay_use = '{$_POST['de_easy_pay_use']}', de_card_noint_use = '{$_POST['de_card_noint_use']}', de_card_point = '{$_POST['de_card_point']}', de_settle_min_point = '{$_POST['de_settle_min_point']}', @@ -175,6 +176,11 @@ de_hp_use = '{$_POST['de_hp_use']}', de_escrow_use = '{$_POST['de_escrow_use']}', de_tax_flag_use = '{$_POST['de_tax_flag_use']}', + de_kakaopay_mid = '{$_POST['de_kakaopay_mid']}', + de_kakaopay_key = '{$_POST['de_kakaopay_key']}', + de_kakaopay_enckey = '{$_POST['de_kakaopay_enckey']}', + de_kakaopay_hashkey = '{$_POST['de_kakaopay_hashkey']}', + de_kakaopay_cancelpwd = '{$_POST['de_kakaopay_cancelpwd']}', de_member_reg_coupon_use = '{$_POST['de_member_reg_coupon_use']}', de_member_reg_coupon_term = '{$_POST['de_member_reg_coupon_term']}', de_member_reg_coupon_price = '{$_POST['de_member_reg_coupon_price']}', @@ -188,6 +194,7 @@ // LG, 아이코드 설정 $sql = " update {$g5['config_table']} set cf_sms_use = '{$_POST['cf_sms_use']}', + cf_sms_type = '{$_POST['cf_sms_type']}', cf_icode_id = '{$_POST['cf_icode_id']}', cf_icode_pw = '{$_POST['cf_icode_pw']}', cf_icode_server_ip = '{$_POST['cf_icode_server_ip']}', diff --git a/adm/shop_admin/couponformupdate.php b/adm/shop_admin/couponformupdate.php index de5daaf83..e33ffa7be 100644 --- a/adm/shop_admin/couponformupdate.php +++ b/adm/shop_admin/couponformupdate.php @@ -112,16 +112,10 @@ // 쿠폰생성알림 발송 if($w == '' && ($_POST['cp_sms_send'] || $_POST['cp_email_send'])) { include_once(G5_LIB_PATH.'/mailer.lib.php'); - include_once(G5_LIB_PATH.'/icode.sms.lib.php'); $sms_count = 0; - if($config['cf_sms_use'] == 'icode' && $_POST['cp_sms_send']) - { - $SMS = new SMS; - $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); - } - $arr_send_list = array(); + $sms_messages = array(); if($_POST['chk_all_mb']) { $sql = " select mb_id, mb_name, mb_hp, mb_email, mb_mailling, mb_sms @@ -151,16 +145,13 @@ // SMS if($config['cf_sms_use'] == 'icode' && $_POST['cp_sms_send'] && $arr_send_list[$i]['mb_hp'] && $arr_send_list[$i]['mb_sms']) { $sms_contents = $cp_subject.' 쿠폰이 '.get_text($arr_send_list[$i]['mb_name']).'님께 발행됐습니다. 쿠폰만료 : '.$cp_end.' '.str_replace('http://', '', G5_URL); - $sms_contents = iconv_euckr($sms_contents); if($sms_contents) { $receive_number = preg_replace("/[^0-9]/", "", $arr_send_list[$i]['mb_hp']); // 수신자번호 $send_number = preg_replace("/[^0-9]/", "", $default['de_admin_company_tel']); // 발신자번호 - if($receive_number && $send_number) { - $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], $sms_contents, ""); - $sms_count++; - } + if($receive_number) + $sms_messages[] = array('recv' => $receive_number, 'send' => $send_number, 'cont' => $sms_contents); } } @@ -195,9 +186,52 @@ } // SMS발송 - if($config['cf_sms_use'] == 'icode' && $_POST['cp_sms_send'] && $sms_count) - { - $SMS->Send(); + $sms_count = count($sms_messages); + if($sms_count > 0) { + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); + + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + for($s=0; $s<$sms_count; $s++) { + $strDest = array(); + $strDest[] = $sms_messages[$s]['recv']; + $strCallBack = $sms_messages[$s]['send']; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_messages[$s]['cont']); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + + for($s=0; $s<$sms_count; $s++) { + $recv_number = $sms_messages[$s]['recv']; + $send_number = $sms_messages[$s]['send']; + $sms_content = iconv_euckr($sms_messages[$s]['cont']); + + $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], $sms_content, ""); + } + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } } } diff --git a/adm/shop_admin/itemlist.php b/adm/shop_admin/itemlist.php index 2577aa146..544f71c7a 100644 --- a/adm/shop_admin/itemlist.php +++ b/adm/shop_admin/itemlist.php @@ -24,20 +24,6 @@ $ca_list .= ''.PHP_EOL; } -// 스킨 -$skin_list = ''.PHP_EOL; -$arr = get_skin_dir('shop'); -for ($i=0; $i'.$arr[$i].''.PHP_EOL; -} - -$mskin_list = ''.PHP_EOL; -$arr = get_skin_dir('shop', G5_MOBILE_PATH.'/'.G5_SKIN_DIR); -for ($i=0; $i'.$arr[$i].''.PHP_EOL; -} - - $where = " and "; $sql_search = ""; if ($stx != "") { @@ -243,9 +229,7 @@ - + @@ -256,9 +240,7 @@ - + SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); - $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content)), ""); - $SMS->Send(); + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); + + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + $strDest = array(); + $strDest[] = $recv_number; + $strCallBack = $send_number; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_content); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], iconv_euckr(stripslashes($sms_content)), ""); + $SMS->Send(); + } } } diff --git a/adm/shop_admin/itemsellrank.php b/adm/shop_admin/itemsellrank.php index abd78a7d7..9ebae45fd 100644 --- a/adm/shop_admin/itemsellrank.php +++ b/adm/shop_admin/itemsellrank.php @@ -53,7 +53,7 @@ $result = sql_query($sql); //$qstr = 'page='.$page.'&sort1='.$sort1.'&sort2='.$sort2; -$qstr1 = $qstr.'&sort1='.$sort1.'&sort2='.$sort2.'&fr_date='.$fr_date.'&to_date='.$to_date.'&sel_ca_id='.$sel_ca_id; +$qstr1 = $qstr.'&fr_date='.$fr_date.'&to_date='.$to_date.'&sel_ca_id='.$sel_ca_id; $listall = '전체목록'; ?> diff --git a/adm/shop_admin/itemstocksmsupdate.php b/adm/shop_admin/itemstocksmsupdate.php index 1368031de..004e15303 100644 --- a/adm/shop_admin/itemstocksmsupdate.php +++ b/adm/shop_admin/itemstocksmsupdate.php @@ -10,17 +10,9 @@ if ($_POST['act_button'] == "선택SMS전송") { - include_once(G5_LIB_PATH.'/icode.sms.lib.php'); - - if($config['cf_sms_use'] == 'icode') - { - $SMS = new SMS; - $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); - } - auth_check($auth[$sub_menu], 'w'); - $cnt = 0; + $sms_messages = array(); for ($i=0; $iAdd($receive_number, $send_number, $config['cf_icode_id'], $sms_contents, ""); - $cnt++; - } + if($receive_number) + $sms_messages[] = array('recv' => $receive_number, 'send' => $send_number, 'cont' => $sms_contents); } // SMS 전송으로 변경함 @@ -56,9 +46,52 @@ } // SMS - if($config['cf_sms_use'] == 'icode' && $cnt) - { - $SMS->Send(); + $sms_count = count($sms_messages); + if($sms_count > 0) { + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); + + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + for($s=0; $s<$sms_count; $s++) { + $strDest = array(); + $strDest[] = $sms_messages[$s]['recv']; + $strCallBack = $sms_messages[$s]['send']; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_messages[$s]['cont']); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + + for($s=0; $s<$sms_count; $s++) { + $recv_number = $sms_messages[$s]['recv']; + $send_number = $sms_messages[$s]['send']; + $sms_content = iconv_euckr($sms_messages[$s]['cont']); + + $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], $sms_content, ""); + } + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } } } else if ($_POST['act_button'] == "선택삭제") { diff --git a/adm/shop_admin/itemuseform.php b/adm/shop_admin/itemuseform.php index 9ab55a0fc..d054ca59d 100644 --- a/adm/shop_admin/itemuseform.php +++ b/adm/shop_admin/itemuseform.php @@ -61,7 +61,7 @@ '> + value=""> 내용 diff --git a/adm/shop_admin/itemuselist.php b/adm/shop_admin/itemuselist.php index 4ea9fe702..f62ad5650 100644 --- a/adm/shop_admin/itemuselist.php +++ b/adm/shop_admin/itemuselist.php @@ -121,7 +121,6 @@ SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); -} +$sms_messages = array(); if($_FILES['excelfile']['tmp_name']) { $file = $_FILES['excelfile']['tmp_name']; @@ -121,10 +117,8 @@ $receive_number = preg_replace("/[^0-9]/", "", $od['od_hp']); // 수신자번호 $send_number = preg_replace("/[^0-9]/", "", $default['de_admin_company_tel']); // 발신자번호 - if($receive_number && $send_number) { - $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], $sms_contents, ""); - $sms_count++; - } + if($receive_number) + $sms_messages[] = array('recv' => $receive_number, 'send' => $send_number, 'cont' => $sms_contents); } } @@ -144,9 +138,52 @@ } // SMS -if($config['cf_sms_use'] == 'icode' && $_POST['send_sms'] && $sms_count) -{ - $SMS->Send(); +$sms_count = count($sms_messages); +if($sms_count > 0) { + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); + + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + for($s=0; $s<$sms_count; $s++) { + $strDest = array(); + $strDest[] = $sms_messages[$s]['recv']; + $strCallBack = $sms_messages[$s]['send']; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_messages[$s]['cont']); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + + for($s=0; $s<$sms_count; $s++) { + $recv_number = $sms_messages[$s]['recv']; + $send_number = $sms_messages[$s]['send']; + $sms_content = iconv_euckr($sms_messages[$s]['cont']); + + $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], $sms_content, ""); + } + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } } $g5['title'] = '엑셀 배송일괄처리 결과'; diff --git a/adm/shop_admin/orderform.php b/adm/shop_admin/orderform.php index 429e6544f..a700c90b5 100644 --- a/adm/shop_admin/orderform.php +++ b/adm/shop_admin/orderform.php @@ -297,6 +297,23 @@ // 결제방법 $s_receipt_way = $od['od_settle_case']; + if($od['od_settle_case'] == '간편결제') { + switch($od['od_pg']) { + case 'lg': + $s_receipt_way = 'PAYNOW'; + break; + case 'inicis': + $s_receipt_way = 'KPAY'; + break; + case 'kcp': + $s_receipt_way = 'PAYCO'; + break; + default: + $s_receipt_way = $row['od_settle_case']; + break; + } + } + if ($od['od_receipt_point'] > 0) $s_receipt_way .= "+포인트"; ?> @@ -427,6 +444,44 @@ + + + KAKOPAY 결제금액 + + 0원 + + + + + + KAKAOPAY 승인일시 + + 신용카드 결제 일시 정보가 없습니다. + + + + + + + + + 결제금액 + + 0원 + + + + + + 승인일시 + + 결제 일시 정보가 없습니다. + + + + + + 결제대행사 링크 @@ -446,6 +501,10 @@ $pg_url = 'https://iniweb.inicis.com/'; $pg_test = 'KG이니시스'; break; + case 'KAKAOPAY': + $pg_url = 'https://mms.cnspay.co.kr'; + $pg_test = 'KAKAOPAY'; + break; default: $pg_url = 'http://admin8.kcp.co.kr'; $pg_test = 'KCP'; @@ -677,6 +736,42 @@ + + + + + + 원 + + + + + + " onclick="if (this.checked == true) this.form.od_receipt_time.value=this.form.od_card_chk.value; else this.form.od_receipt_time.value = this.form.od_receipt_time.defaultValue;"> +
+ " id="od_receipt_time" class="frm_input" size="19" maxlength="19"> + + + + + + + + + + 원 + + + + + + " onclick="if (this.checked == true) this.form.od_receipt_time.value=this.form.od_card_chk.value; else this.form.od_receipt_time.value = this.form.od_receipt_time.defaultValue;"> +
+ " id="od_receipt_time" class="frm_input" size="19" maxlength="19"> + + + + 점 @@ -737,7 +832,7 @@ 0) { ?> 개인결제추가 - 0 && ($od['od_settle_case'] == '신용카드' || $od['od_settle_case'] == '계좌이체')) { ?> + 0 && ($od['od_settle_case'] == '신용카드' || $od['od_settle_case'] == '계좌이체' || $od['od_settle_case'] == 'KAKAOPAY')) { ?> 부분취소 목록 @@ -804,15 +899,15 @@ - + - + - + 주문하시는 분 주소 @@ -821,14 +916,14 @@
- +
- +
- + -
+
@@ -856,15 +951,15 @@ - + - + - + 받으시는 분 주소 @@ -872,13 +967,13 @@
- + - + - + -
+
@@ -965,16 +1060,21 @@ function form_submit(f) var msg = ""; - + if(status == "취소" || status == "반품" || status == "품절") { var $ct_chk = $("input[name^=ct_chk]"); var chk_cnt = $ct_chk.size(); var chked_cnt = $ct_chk.filter(":checked").size(); + + var cancel_pg = "카카오페이"; + + var cancel_pg = "PG사의 "; + if(chk_cnt == chked_cnt) { - if(confirm("PG사의 신용카드 결제를 함께 취소하시겠습니까?\n\n한번 취소한 결제는 다시 복구할 수 없습니다.")) { + if(confirm(cancel_pg+" 결제를 함께 취소하시겠습니까?\n\n한번 취소한 결제는 다시 복구할 수 없습니다.")) { f.pg_cancel.value = 1; - msg = "PG사의 신용카드 결제 취소와 함께 "; + msg = cancel_pg+" 결제 취소와 함께 "; } else { f.pg_cancel.value = 0; msg = ""; diff --git a/adm/shop_admin/orderformcartupdate.php b/adm/shop_admin/orderformcartupdate.php index e4ce7ade7..20a051728 100644 --- a/adm/shop_admin/orderformcartupdate.php +++ b/adm/shop_admin/orderformcartupdate.php @@ -181,7 +181,7 @@ $sql = " select * from {$g5['g5_shop_order_table']} where od_id = '$od_id' "; $od = sql_fetch($sql); - if($od['od_tno'] && $od['od_settle_case'] == '신용카드') { + if($od['od_tno'] && ($od['od_settle_case'] == '신용카드' || $od['od_settle_case'] == '간편결제' || $od['od_settle_case'] == 'KAKAOPAY')) { switch($od['od_pg']) { case 'lg': include_once(G5_SHOP_PATH.'/settle_lg.inc.php'); @@ -253,6 +253,14 @@ $pg_res_msg = iconv_utf8($res_msg); } break; + case 'KAKAOPAY': + include_once(G5_SHOP_PATH.'/settle_kakaopay.inc.php'); + $_REQUEST['TID'] = $od['od_tno']; + $_REQUEST['Amt'] = $od['od_receipt_price']; + $_REQUEST['CancelMsg'] = '쇼핑몰 운영자 승인 취소'; + $_REQUEST['PartialCancelCode'] = 0; + include G5_SHOP_PATH.'/kakaopay/kakaopay_cancel.php'; + break; default: include_once(G5_SHOP_PATH.'/settle_kcp.inc.php'); require_once(G5_SHOP_PATH.'/kcp/pp_ax_hub_lib.php'); diff --git a/adm/shop_admin/orderformreceiptupdate.php b/adm/shop_admin/orderformreceiptupdate.php index 7b4472a27..666d6288c 100644 --- a/adm/shop_admin/orderformreceiptupdate.php +++ b/adm/shop_admin/orderformreceiptupdate.php @@ -3,7 +3,6 @@ include_once('./_common.php'); include_once('./admin.shop.lib.php'); include_once(G5_LIB_PATH.'/mailer.lib.php'); -include_once(G5_LIB_PATH.'/icode.sms.lib.php'); auth_check($auth[$sub_menu], "w"); diff --git a/adm/shop_admin/orderlist.php b/adm/shop_admin/orderlist.php index 61ee11354..ceadccd54 100644 --- a/adm/shop_admin/orderlist.php +++ b/adm/shop_admin/orderlist.php @@ -192,6 +192,10 @@ > + > + + > +
@@ -278,6 +282,24 @@ { $s_receipt_way = $row['od_settle_case']; $s_br = '
'; + + // 간편결제 + if($row['od_settle_case'] == '간편결제') { + switch($row['od_pg']) { + case 'lg': + $s_receipt_way = 'PAYNOW'; + break; + case 'inicis': + $s_receipt_way = 'KPAY'; + break; + case 'kcp': + $s_receipt_way = 'PAYCO'; + break; + default: + $s_receipt_way = $row['od_settle_case']; + break; + } + } } else { diff --git a/adm/shop_admin/orderlistupdate.php b/adm/shop_admin/orderlistupdate.php index 58ec1ce0a..c45f348e4 100644 --- a/adm/shop_admin/orderlistupdate.php +++ b/adm/shop_admin/orderlistupdate.php @@ -3,18 +3,13 @@ include_once('./_common.php'); include_once('./admin.shop.lib.php'); include_once(G5_LIB_PATH.'/mailer.lib.php'); -include_once(G5_LIB_PATH.'/icode.sms.lib.php'); define("_ORDERMAIL_", true); //print_r2($_POST); exit; $sms_count = 0; -if($config['cf_sms_use'] == 'icode' && $_POST['send_sms']) -{ - $SMS = new SMS; - $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); -} +$sms_messages = array(); for ($i=0; $iAdd($receive_number, $send_number, $config['cf_icode_id'], $sms_contents, ""); - $sms_count++; - } + if($receive_number) + $sms_messages[] = array('recv' => $receive_number, 'send' => $send_number, 'cont' => $sms_contents); } } @@ -85,10 +78,8 @@ $receive_number = preg_replace("/[^0-9]/", "", $od['od_hp']); // 수신자번호 $send_number = preg_replace("/[^0-9]/", "", $default['de_admin_company_tel']); // 발신자번호 - if($receive_number && $send_number) { - $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], $sms_contents, ""); - $sms_count++; - } + if($receive_number) + $sms_messages[] = array('recv' => $receive_number, 'send' => $send_number, 'cont' => $sms_contents); } } @@ -150,9 +141,52 @@ } // SMS -if($config['cf_sms_use'] == 'icode' && $_POST['send_sms'] && $sms_count) -{ - $SMS->Send(); +$sms_count = count($sms_messages); +if($sms_count > 0) { + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); + + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + for($s=0; $s<$sms_count; $s++) { + $strDest = array(); + $strDest[] = $sms_messages[$s]['recv']; + $strCallBack = $sms_messages[$s]['send']; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_messages[$s]['cont']); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + + for($s=0; $s<$sms_count; $s++) { + $recv_number = $sms_messages[$s]['recv']; + $send_number = $sms_messages[$s]['send']; + $sms_content = iconv_euckr($sms_messages[$s]['cont']); + + $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], $sms_content, ""); + } + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } } $qstr = "sort1=$sort1&sort2=$sort2&sel_field=$sel_field&search=$search"; diff --git a/adm/shop_admin/orderpartcancel.php b/adm/shop_admin/orderpartcancel.php index c1e0345c4..55df2c5a3 100644 --- a/adm/shop_admin/orderpartcancel.php +++ b/adm/shop_admin/orderpartcancel.php @@ -73,7 +73,9 @@ function form_check(f) { var max_mny = parseInt(); var tax_mny = parseInt(f.mod_tax_mny.value.replace("/[^0-9]/g", "")); - var free_mny = parseInt(f.mod_free_mny.value.replace("/[^0-9]/g", "")); + var free_mny = 0; + if(typeof f.mod_free.mny.value != "undefined") + free_mny = parseInt(f.mod_free_mny.value.replace("/[^0-9]/g", "")); if(!tax_mny && !free_mny) { alert("과세 취소금액 또는 비과세 취소금액을 입력해 주십시오."); diff --git a/adm/shop_admin/orderpartcancelupdate.php b/adm/shop_admin/orderpartcancelupdate.php index c0b80689e..69e997c6f 100644 --- a/adm/shop_admin/orderpartcancelupdate.php +++ b/adm/shop_admin/orderpartcancelupdate.php @@ -36,7 +36,7 @@ alert('비과세 취소금액을 '.display_price($od_misu).' 이하로 입력해 주십시오.'); // PG사별 부분취소 실행 -include_once(G5_SHOP_PATH.'/'.$od['od_pg'].'/orderpartcancel.inc.php'); +include_once(G5_SHOP_PATH.'/'.strtolower($od['od_pg']).'/orderpartcancel.inc.php'); include_once(G5_PATH.'/head.sub.php'); ?> diff --git a/adm/shop_admin/orderprintresult.php b/adm/shop_admin/orderprintresult.php index 461e9f111..62d7eeb11 100644 --- a/adm/shop_admin/orderprintresult.php +++ b/adm/shop_admin/orderprintresult.php @@ -104,7 +104,7 @@ function conv_telno($t) $ct_send_cost = iconv_euckr($ct_send_cost); } - echo '"'.$row['od_b_zip1'].$row['od_b_zip2'].'"'.','; + echo '"\''.$row['od_b_zip1'].$row['od_b_zip2'].'"\''.','; echo '"'.print_address($row['od_b_addr1'], $row['od_b_addr2'], $row['od_b_addr3'], $row['od_b_addr_jibeon']).'"'.','; echo '"'.$row['od_b_name'].'"'.','; //echo '"'.multibyte_digit((string)$row[od_b_tel]).'"'.','; @@ -209,7 +209,7 @@ function conv_telno($t) $row = array_map('iconv_euckr', $row); - $worksheet->write($i, 0, $row['od_b_zip1'].$row['od_b_zip2']); + $worksheet->write($i, 0, ' '.$row['od_b_zip1'].$row['od_b_zip2']); $worksheet->write($i, 1, print_address($row['od_b_addr1'], $row['od_b_addr2'], $row['od_b_addr3'], $row['od_b_addr_jibeon'])); $worksheet->write($i, 2, $row['od_b_name']); $worksheet->write($i, 3, ' '.$row['od_b_tel']); diff --git a/adm/shop_admin/ordersms.inc.php b/adm/shop_admin/ordersms.inc.php index 9a0aeb3dd..58db9bc72 100644 --- a/adm/shop_admin/ordersms.inc.php +++ b/adm/shop_admin/ordersms.inc.php @@ -6,6 +6,8 @@ $send_number = preg_replace("/[^0-9]/", "", $default['de_admin_company_tel']); // 발신자번호 if ($config['cf_sms_use']) { + $sms_messages = array(); + if ($od_sms_ipgum_check && $default['de_sms_use4']) { if ($od_bank_account && $od_receipt_price && $od_deposit_name) @@ -16,10 +18,8 @@ $sms_contents = str_replace("{주문번호}", $od_id, $sms_contents); $sms_contents = str_replace("{회사명}", $default['de_admin_company_name'], $sms_contents); - $SMS = new SMS; - $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); - $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_contents)), ""); - $SMS->Send(); + if($receive_number) + $sms_messages[] = array('recv' => $receive_number, 'send' => $send_number, 'cont' => $sms_contents); } } @@ -34,10 +34,57 @@ $sms_contents = str_replace("{주문번호}", $od_id, $sms_contents); $sms_contents = str_replace("{회사명}", $default['de_admin_company_name'], $sms_contents); - $SMS = new SMS; + if($receive_number) + $sms_messages[] = array('recv' => $receive_number, 'send' => $send_number, 'cont' => $sms_contents); + } + } + + $sms_count = count($sms_messages); + + if($sms_count > 0) { + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); + + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + for($s=0; $s<$sms_count; $s++) { + $strDest = array(); + $strDest[] = $sms_messages[$s]['recv']; + $strCallBack = $sms_messages[$s]['send']; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_messages[$s]['cont']); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); - $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_contents)), ""); + + for($s=0; $s<$sms_count; $s++) { + $recv_number = $sms_messages[$s]['recv']; + $send_number = $sms_messages[$s]['send']; + $sms_content = iconv_euckr($sms_messages[$s]['cont']); + + $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], $sms_content, ""); + } + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. } } } diff --git a/adm/shop_admin/personalpayform.php b/adm/shop_admin/personalpayform.php index 5ae284f70..abcc6e944 100644 --- a/adm/shop_admin/personalpayform.php +++ b/adm/shop_admin/personalpayform.php @@ -100,7 +100,7 @@ - + diff --git a/adm/shop_admin/sendcostlist.php b/adm/shop_admin/sendcostlist.php index 8357f9508..b6f9bb921 100644 --- a/adm/shop_admin/sendcostlist.php +++ b/adm/shop_admin/sendcostlist.php @@ -66,7 +66,7 @@ - + &icode_passwd=','icode_payment','width=650,height=500')"> - - 건별 금액 - 원 - diff --git a/adm/sms_admin/history_send.php b/adm/sms_admin/history_send.php index 214815a6a..109dfcc41 100644 --- a/adm/sms_admin/history_send.php +++ b/adm/sms_admin/history_send.php @@ -39,7 +39,8 @@ $sql = sql_query("select * from {$g5['sms5_history_table']} where wr_no='$wr_no' $sql_renum $sql_flag"); while ($res = sql_fetch_array($sql)) { - $res['bk_hp'] = get_hp($res['bk_hp'], 0); + $res['bk_hp'] = get_hp($res['hs_hp'], 0); + $res['bk_name'] = $res['hs_name']; if ($g5['sms5_demo']) $res['bk_hp'] = '0100000000'; @@ -48,6 +49,7 @@ } $wr_total = count($list); +$reply = str_replace('-', '', trim($write['wr_reply'])); if ($config['cf_sms_use'] != 'icode') { alert('기본환경설정에서 icode sms 사용이 비활성화 되어 있습니다.'); @@ -55,79 +57,170 @@ include_once(G5_ADMIN_PATH.'/admin.head.php'); $SMS = new SMS5; -$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); - -$reply = str_replace('-', '', trim($write['wr_reply'])); -$result = $SMS->Add($list, $reply, '', '', $write['wr_message'], '', $wr_total); +if($config['cf_sms_type'] == 'LMS') { + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); -if ($result) -{ - $result = $SMS->Send(); - - if ($result) //SMS 서버에 접속했습니다. - { - sql_query("insert into {$g5['sms5_write_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', wr_reply='".addslashes($write['wr_reply'])."', wr_message='".addslashes($write['wr_message'])."', wr_total='$wr_total', wr_datetime='".G5_TIME_YMDHIS."'"); + if($port_setting !== false) { + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); $wr_success = 0; $wr_failure = 0; $count = 0; - foreach ($SMS->Result as $result) + for($i=0; $i<$wr_total; $i++) { + $strDest = array(); + $strDest[] = $list[$i]['bk_hp']; + $strCallBack = $reply; + $strCaller = $config['cf_title']; + $strSubject = ''; + $strURL = ''; + $strData = $write['wr_message']; + if( !empty($list[$i]['bk_name']) ){ + $strData = str_replace("{이름}", $list[$i]['bk_name'], $strData); + } + $strDate = $booking; + $nCount = 1; + + $result = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + if($result) { + $result = $SMS->Send(); + + if ($result) //SMS 서버에 접속했습니다. + { + foreach ($SMS->Result as $result) + { + list($phone, $code) = explode(":", $result); + + if (substr($code,0,5) == "Error") + { + $hs_code = substr($code,6,2); + + switch ($hs_code) { + case '02': // "02:형식오류" + $hs_memo = "형식이 잘못되어 전송이 실패하였습니다."; + break; + case '23': // "23:인증실패,데이터오류,전송날짜오류" + $hs_memo = "데이터를 다시 확인해 주시기바랍니다."; + break; + case '97': // "97:잔여코인부족" + $hs_memo = "잔여코인이 부족합니다."; + break; + case '98': // "98:사용기간만료" + $hs_memo = "사용기간이 만료되었습니다."; + break; + case '99': // "99:인증실패" + $hs_memo = "인증 받지 못하였습니다. 계정을 다시 확인해 주세요."; + break; + default: // "미 확인 오류" + $hs_memo = "알 수 없는 오류로 전송이 실패하였습니다."; + break; + } + $wr_failure++; + $hs_flag = 0; + } + else + { + $hs_code = $code; + $hs_memo = get_hp($phone, 1)."로 전송했습니다."; + $wr_success++; + $hs_flag = 1; + } + + $row = $list[$i]; + $row['bk_hp'] = get_hp($row['bk_hp'], 1); + + $log = array_shift($SMS->Log); + $log = @iconv('euc-kr', 'utf-8', $log); + + sql_query("insert into {$g5['sms5_history_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', bg_no='{$row['bg_no']}', mb_id='{$row['mb_id']}', bk_no='{$row['bk_no']}', hs_name='".addslashes($row['bk_name'])."', hs_hp='{$row['bk_hp']}', hs_datetime='".G5_TIME_YMDHIS."', hs_flag='$hs_flag', hs_code='$hs_code', hs_memo='".addslashes($hs_memo)."', hs_log='".addslashes($log)."'", false); + } + + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } + } + + sql_query("insert into {$g5['sms5_write_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', wr_reply='".addslashes($write['wr_reply'])."', wr_message='".addslashes($write['wr_message'])."', wr_success='$wr_success', wr_failure='$wr_failure', wr_total='$wr_total', wr_datetime='".G5_TIME_YMDHIS."'"); + + sql_query("update {$g5['sms5_write_table']} set wr_re_total=wr_re_total+1 where wr_no='$wr_no' and wr_renum=0"); + } +} else { + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + + $reply = str_replace('-', '', trim($write['wr_reply'])); + + $result = $SMS->Add($list, $reply, '', '', $write['wr_message'], '', $wr_total); + + if ($result) + { + $result = $SMS->Send(); + + if ($result) //SMS 서버에 접속했습니다. { - list($phone, $code) = explode(":", $result); + sql_query("insert into {$g5['sms5_write_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', wr_reply='".addslashes($write['wr_reply'])."', wr_message='".addslashes($write['wr_message'])."', wr_total='$wr_total', wr_datetime='".G5_TIME_YMDHIS."'"); + + $wr_success = 0; + $wr_failure = 0; + $count = 0; - if (substr($code,0,5) == "Error") + foreach ($SMS->Result as $result) { - $hs_code = substr($code,6,2); - - switch ($hs_code) { - case '02': // "02:형식오류" - $hs_memo = "형식이 잘못되어 전송이 실패하였습니다."; - break; - case '23': // "23:인증실패,데이터오류,전송날짜오류" - $hs_memo = "데이터를 다시 확인해 주시기바랍니다."; - break; - case '97': // "97:잔여코인부족" - $hs_memo = "잔여코인이 부족합니다."; - break; - case '98': // "98:사용기간만료" - $hs_memo = "사용기간이 만료되었습니다."; - break; - case '99': // "99:인증실패" - $hs_memo = "인증 받지 못하였습니다. 계정을 다시 확인해 주세요."; - break; - default: // "미 확인 오류" - $hs_memo = "알 수 없는 오류로 전송이 실패하었습니다."; - break; + list($phone, $code) = explode(":", $result); + + if (substr($code,0,5) == "Error") + { + $hs_code = substr($code,6,2); + + switch ($hs_code) { + case '02': // "02:형식오류" + $hs_memo = "형식이 잘못되어 전송이 실패하였습니다."; + break; + case '23': // "23:인증실패,데이터오류,전송날짜오류" + $hs_memo = "데이터를 다시 확인해 주시기바랍니다."; + break; + case '97': // "97:잔여코인부족" + $hs_memo = "잔여코인이 부족합니다."; + break; + case '98': // "98:사용기간만료" + $hs_memo = "사용기간이 만료되었습니다."; + break; + case '99': // "99:인증실패" + $hs_memo = "인증 받지 못하였습니다. 계정을 다시 확인해 주세요."; + break; + default: // "미 확인 오류" + $hs_memo = "알 수 없는 오류로 전송이 실패하었습니다."; + break; + } + $wr_failure++; + $hs_flag = 0; + } + else + { + $hs_code = $code; + $hs_memo = get_hp($phone, 1)."로 전송했습니다."; + $wr_success++; + $hs_flag = 1; } - $wr_failure++; - $hs_flag = 0; - } - else - { - $hs_code = $code; - $hs_memo = get_hp($phone, 1)."로 전송했습니다."; - $wr_success++; - $hs_flag = 1; - } - $row = array_shift($list); - $row['bk_hp'] = get_hp($row['bk_hp'], 1); + $row = array_shift($list); + $row['bk_hp'] = get_hp($row['bk_hp'], 1); - $log = array_shift($SMS->Log); - $log = @iconv('euc-kr', 'utf-8', $log); + $log = array_shift($SMS->Log); + $log = @iconv('euc-kr', 'utf-8', $log); - sql_query("insert into {$g5['sms5_history_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', bg_no='{$row['bg_no']}', mb_id='{$row['mb_id']}', bk_no='{$row['bk_no']}', hs_name='{$row['hs_name']}', hs_hp='{$row['hs_hp']}', hs_datetime='".G5_TIME_YMDHIS."', hs_flag='$hs_flag', hs_code='$hs_code', hs_memo='".addslashes($hs_memo)."', hs_log='".addslashes($log)."'", false); - } - $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + sql_query("insert into {$g5['sms5_history_table']} set wr_no='$wr_no', wr_renum='$new_wr_renum', bg_no='{$row['bg_no']}', mb_id='{$row['mb_id']}', bk_no='{$row['bk_no']}', hs_name='{$row['hs_name']}', hs_hp='{$row['hs_hp']}', hs_datetime='".G5_TIME_YMDHIS."', hs_flag='$hs_flag', hs_code='$hs_code', hs_memo='".addslashes($hs_memo)."', hs_log='".addslashes($log)."'", false); + } + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. - sql_query("update {$g5['sms5_write_table']} set wr_success='$wr_success', wr_failure='$wr_failure' where wr_no='$wr_no' and wr_renum='$new_wr_renum'"); - sql_query("update {$g5['sms5_write_table']} set wr_re_total=wr_re_total+1 where wr_no='$wr_no' and wr_renum=0"); + sql_query("update {$g5['sms5_write_table']} set wr_success='$wr_success', wr_failure='$wr_failure' where wr_no='$wr_no' and wr_renum='$new_wr_renum'"); + sql_query("update {$g5['sms5_write_table']} set wr_re_total=wr_re_total+1 where wr_no='$wr_no' and wr_renum=0"); + } + else alert("에러: SMS 서버와 통신이 불안정합니다."); } - else alert("에러: SMS 서버와 통신이 불안정합니다."); + else alert("에러: SMS 데이터 입력도중 에러가 발생하였습니다."); } -else alert("에러: SMS 데이터 입력도중 에러가 발생하였습니다."); ?> '.PHP_EOL; } $editor_html = editor_html('wr_content', $content, $is_dhtml_editor); $editor_js = ''; diff --git a/config.php b/config.php index 6e5534627..33a01f0fb 100644 --- a/config.php +++ b/config.php @@ -8,8 +8,9 @@ -define('G5_GNUBOARD_VER', '5.1.1'); -define('G5_YOUNGCART_VER', '5.1.0'); + +define('G5_GNUBOARD_VER', '5.1.2'); +define('G5_YOUNGCART_VER', '5.1.1'); // 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음 define('_GNUBOARD_', true); @@ -196,6 +197,9 @@ // 썸네일 png Compress 설정 define('G5_THUMB_PNG_COMPRESS', 5); +// 모바일 기기에서 DHTML 에디터 사용여부를 설정합니다. +define('G5_IS_MOBILE_DHTML_USE', false); + // ip 숨김방법 설정 /* 123.456.789.012 ip의 숨김 방법을 변경하는 방법은 \\1 은 123, \\2는 456, \\3은 789, \\4는 012에 각각 대응되므로 diff --git a/css/default_shop.css b/css/default_shop.css index ba2f13246..93d7c5ad5 100644 --- a/css/default_shop.css +++ b/css/default_shop.css @@ -390,6 +390,11 @@ a.btn_admin:focus, a.btn_admin:hover {text-decoration:none} #sod_frm_paysel {margin:0 0 20px;padding:10px;border:1px solid #e9e9e9;background:#f2f5f9;text-align:center} #sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sod_frm_paysel .KPAY{background:url('../img/kpay_logo.png') no-repeat;padding-left:37px;display:inline-block} +#sod_frm_paysel .PAYNOW{background:url('../img/paynow_logo.png') no-repeat;padding-left:46px;display:inline-block} +#sod_frm_paysel .PAYCO{background:url('../img/payco_logo.png') no-repeat 1px;padding-left:46px;display:inline-block} +.kakaopay_icon{background:url('../img/kakao.png') no-repeat ;height:21px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px} + #settle_bank {margin:10px 0 0} #sod_frm_escrow {margin:30px 0 0} @@ -516,4 +521,60 @@ a.btn_admin:focus, a.btn_admin:hover {text-decoration:none} /* 쿠폰 */ #coupon .td_numbig {width:150px} -#coupon .td_datetime {width:180px} \ No newline at end of file +#coupon .td_datetime {width:180px} + +/* 모바일일때 피시버전 주문폼*/ +.sod_list {position:relative;margin:0;padding:0;list-style:none} +.sod_list .sod_li {position:relative;padding:0;border:1px solid #e9e9e9;margin:10px 0} +.sod_list .sod_li:after {display:block;visibility:hidden;clear:both;content:""} +.sod_list .li_chk{position:absolute;top:10px;left:10px;} +.sod_list .li_name{min-height:130px} +.sod_list .li_name a,.sod_list .li_name strong{display:block;padding: 0 10px 0 25px;border-bottom:1px solid #e9e9e9;height:35px;line-height:35px} +.sod_list .li_name strong{padding-left:10px} +.sod_list .total_img{position:absolute;top:45px;left:10px;} +.sod_list .sod_opt{padding:10px 10px 5px;margin-left:90px;color:#9e9e9e;font-size:0.93em;background:none;border:none} +.sod_list .sod_opt li{margin-bottom:3px;border:none} +.sod_list .li_cp{position:relative} +.sod_list .li_cp .cp_btn, .sod_list .li_cp .cp_cancel, .sod_list .li_mod .mod_btn {margin:0;padding:5px 8px;border:0;background:#000;color:#fff;font-size:0.93em} +.sod_list .li_cp .cp_cancel,.odf_tbl #od_coupon_cancel,.odf_tbl #sc_coupon_cancel{border:1px solid #999;color:#777;background:#fafafa;margin-left:3px;padding:4px 5px} +.sod_list .li_prqty{margin:10px;} +.sod_list .li_prqty:after {display:block;visibility:hidden;clear:both;content:""} +.sod_list .li_prqty .li_prqty_sp{width:33%;display:inline-block;float:left;text-align:center;line-height:2.2em;border-top:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3;border-left:1px solid #e9e9e9;color:#9e9e9e;font-size:0.93em;margin-left:-1px} +.sod_list .li_prqty .prqty_price{border-left:1px solid #d3d3d3;} +.sod_list .li_prqty .prqty_sc{border-right:1px solid #d3d3d3;} +.sod_list .li_prqty .li_prqty_sp span{display:block;background:#f2f2f2;} +.sod_list .li_total {position:relative;border-top:1px solid #e9e9e9;margin:10px 10px 0;} +.sod_list .total_span {display:block;position:relative;padding:5px 0;text-align:right;color:#343434} +.sod_list .total_span span{position:absolute;top:5px;left:0} +.sod_list .total_span strong{font-size:1.2em} + +#sod_frm {} +#sod_frm section{margin-bottom:10px} +#sod_frm p#sod_frm_pt_alert {margin:20px 0;text-align:center } +#sod_bsk_list #mod_option_frm .sit_ov_tbl{background:#ededed;margin-top:5px} +#sod_bsk_list #mod_option_frm .sit_ov_tbl th,#sod_bsk_list #mod_option_frm .sit_ov_tbl td{border:none;padding-left:5px;font-weight:normal} +#sod_bsk_list #mod_option_frm .sit_ov_tbl th{width:90px} +#cp_frm {height:auto;max-height:10000px !important;position:absolute;top:0;left:0;width:70%;background:#fff;padding:20px;border:1px solid #000;z-index:9999} +#sod_frm_deli {position:relative;line-height:2em} +#sod_frm_deli #order_address {display:block;;width:100px;background:#333;color:#fff;text-align:center} +#sod_frm_orderer {margin:15px 0 30px} +#sod_frm_orderer #od_addr_jibeon, #sod_frm_taker #od_b_addr_jibeon {display:inline-block;margin:5px 0 0} +#sod_frm .odf_tbl table{width:100%;margin:0;padding:0;border-top:1px solid #e9e9e9;border-left:1px solid #e9e9e9;border-right:1px solid #e9e9e9;border-collapse:collapse} +#sod_frm .odf_tbl table tbody td,#sod_frm .odf_tbl table tbody th{;border-bottom:1px solid #e9e9e9;padding:5px 0px 5px 10px ;text-align:left;line-height:26px;position:relative;} +#sod_frm .odf_tbl table th{width:90px;color:#343434;font-weight:normal;letter-spacing:-0.1em} +#sod_frm .odf_tbl table .frm_input{background-color:#fff !important;height:24px;line-height:24px;text-indent:5px} +#sod_frm .odf_tbl table .frm_address{margin-top:5px} +#sod_frm .odf_tbl button.btn_frmline{font-size:0.92em;padding:0 8px;height:26px;line-height:26px} +#sod_frm .odf_tbl textarea{width:99%;border:1px solid #e4eaec;} +#sod_frm_same {margin:0 0 10px} +#sod_frm_pay {position:relative} +#sod_frm_pay .tbl_head01 caption {font-size:0;line-height:0;overflow:hidden} +#sod_frm_pay .tbl_head01 th {width:auto !important;font-weight:bold;text-align:center !important} +#sod_frm_pay .tbl_head01 td {border-top:1px solid #e9e9e9 !important;border-bottom:1px solid #e9e9e9 !important;line-height:1.5em !important;word-break:break-all !important} + +html.no-overflowscrolling #sc_coupon_frm, html.no-overflowscrolling #od_coupon_frm {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#sod_frm_pay_info {margin:0 0 10px} +#sod_frm_paysel {margin:10px 0 ;padding:10px;background:#f2f2f2;border:1px solid #e0e0e0} +#sod_frm_paysel ul {margin:0;padding:0;} +#sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""} +#sod_frm_paysel li {float:left;padding:5px 2%;width:46%;height:21px;text-align:left;list-style:none} diff --git a/css/mobile_shop.css b/css/mobile_shop.css index b95c26821..4e67c0dea 100644 --- a/css/mobile_shop.css +++ b/css/mobile_shop.css @@ -351,7 +351,12 @@ html.no-overflowscrolling #sc_coupon_frm, html.no-overflowscrolling #od_coupon_f #sod_frm_paysel {margin:10px 0 ;padding:10px;background:#f2f2f2;border:1px solid #e0e0e0} #sod_frm_paysel ul {margin:0;padding:0;} #sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""} -#sod_frm_paysel li {float:left;padding:5px 2%;width:46%} +#sod_frm_paysel li {float:left;padding:5px 2%;width:46%;height:21px} +x#sod_frm_paysel .KPAY{background:url('../img/kpay_logo.png') no-repeat;padding-left:37px;} +#sod_frm_paysel .PAYNOW{background:url('../img/paynow_logo.png') no-repeat;padding-left:46px;} +#sod_frm_paysel .PAYCO{background:url('../img/payco_logo.png') no-repeat 1px ;padding-left:46px;} +.kakaopay_icon{background:url('../img/kakao.png') no-repeat ;height:21px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px} + #sod_frm_paysel #settle_bank {padding:10px;background:#fff;line-height:2em;border:1px solid #dbdbdb} #sod_frm_paysel #settle_bank label {display:inline-block;margin:0 10px 0 0;font-weight:bold} #sod_frm_paysel #settle_bank .frm_input {background:#fff;text-align:center} @@ -706,4 +711,19 @@ a.btn_admin:focus, a.btn_admin:hover {text-decoration:none} /*이벤트*/ #sev_hhtml,#sev_thtml{padding:10px} -#sev_hhtml img,#sev_thtml img{width:100%} \ No newline at end of file +#sev_hhtml img,#sev_thtml img{width:100%} + + +/*피시일때 모바일버전 주문폼*/ +#sod_frm {position:relative} +#sod_frm p{margin-bottom:10px} +#forderform .tbl_frm01 th{border-bottom:1px solid #e9e9e9;background:#f7f7f7;padding-left:10px} +#sod_list thead th{padding:8px 0 } +#sod_list .sod_opt{min-width:70px} +#sod_frm #display_pay_button .btn01{width: 49%;text-align: center;padding: 11px 0px;background: #fff;border: 1px solid #34B5A1;color:#34B5A1} + +/*피시일때 모바일버전 개인결제폼*/ +#sod_frm_pay{padding:10px} +#sod_frm_pay h2{padding:10px 0 10px} +#display_pay_button .btn_submit{padding:8px 5px} +#sod_frm_paysel{text-align:center} \ No newline at end of file diff --git a/extend/sms5.extend.php b/extend/sms5.extend.php index 5596f9ad0..6405f1373 100644 --- a/extend/sms5.extend.php +++ b/extend/sms5.extend.php @@ -49,9 +49,5 @@ // 아이코드에 실제로 보내지 않고 가상(Random)으로 전송결과를 저장합니다. $g5['sms5_demo_send'] = true; } - - include_once(G5_LIB_PATH.'/icode.sms.lib.php'); - include_once(G5_SMS5_PATH.'/sms5.lib.php'); - } ?> \ No newline at end of file diff --git a/head.sub.php b/head.sub.php index 5166a8130..1214c1910 100644 --- a/head.sub.php +++ b/head.sub.php @@ -112,7 +112,7 @@ else if ($is_admin == 'group') $sr_admin_msg = "그룹관리자 "; else if ($is_admin == 'board') $sr_admin_msg = "게시판관리자 "; - echo '
'.$sr_admin_msg.$member['mb_nick'].'님 로그인 중 '; + echo '
'.$sr_admin_msg.get_text($member['mb_nick']).'님 로그인 중 '; echo '로그아웃
'; } ?> \ No newline at end of file diff --git a/img/kakao.png b/img/kakao.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1029398b1657c6b975dcd5d5f6f890a8b2c45d GIT binary patch literal 862 zcmV-k1EKthP)2~^2?pJ|I5M!3u$Hjv)->8`TQ!eXtqT3UcgoA< zy(cIV+Zb-h&HXs%-t#}_f6jfl+k38C+{Rq45xfz+5xjrUJQrvP?>9ATY-eVFzkTYt_9CL$gzQB&4`BDaEIRK_rwM9SSURIEE;)=S(Y#o6B!`DFO>+0ACW|! z6?8elRC)d807ft{GGz)GIh-4rGRS2gi@GfKfd}6lO%)@1x5aJjFtM9w~yR+lzMDi4trd}Nq zQnUi0b8Zx4B)#pW!7~71Ecm%z%?ic{5FdKe5t_l?cv2G!eBKrwX*Tt9=ozCWTi};~ zba?SV*vKw2kiYS9QWHgOj76LaHcpV@*C%>7rf&v^BS&2|AiJ+eEbSNA0OLx#mcW+r zQZgX^R(Cstwz`fZh*)mqXs_7OR}$am`{<>wyh{l&uC9O1rEJ zLcIHY;enJoqVbom_Q7q1_eX#M00|07*qoM6N<$f>580?f?J) literal 0 HcmV?d00001 diff --git a/img/kpay_logo.png b/img/kpay_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7f7e76c753ff49368b0697f98657785aeb95ae8c GIT binary patch literal 1520 zcmV&#r28R##BI%8dRjID7M!32SZ=jlA@+ss8(s4s%fyT)wXFhQLL2KMw?Q#@ewIC zMjo{S@=|7Ymt_}sS@y}y?9A<5zV#+IGm|;@oO}QG_df)?x z=2iUpvr81FdDggw#`6S4${>m$_~| zzpLZ!N{=9b+v5S-$OueYtzbQO4(zvXfxWvM{9Z5c2!X5Z$_6$s$lB?ZueDEr3yx$ZeFcfw)`H#rx9cs zBn1r+48~5MI#DaP-(DI@)J+nl<>%1am##}g0|_WS`%lu4@l3kkzD|BJ^fonr@jqln zjw^Kkua$z;nnVkH0!mFC0+JE|=R=dO1lcpC2hNo0l2 z_}x3{iZj1l`ZpT~VJSt{5QW$@HM0NIyv2iK96z2f$5MM)V-(`@GrVl73UTQgWUX3r z$MQ~f6Sv4H`mB~rug?!$XBTis>+87ecwP~{f2=1EG4XC8Ue`M@I0y=SAByN0Ae2fF zP91NMJ8msg)-@cGmlk{tQ!ayi=0r39@qyFKY}3E|sn5QnV&lDvW8bV7H8D1(v!jx4 zYWxTY5&@D)m=0i;NCIKNATknw!esG5n#4s3&_s*yWFS-CSAAWwSW*QUZv+RD_#UOs zd!uBvFmJVYR;BOYSnT%wA>yn{Z+)DS&c1vcd`jmz5ag%9iz7`UZges6m!}HDA~#o{{5Y zV^P)&=BPEbWR1@`BoLJ*9T%3=L2FGkoVSq?#r9|h=1Itmu%w< zgv1C))SHPduUArT*IaBrH&s^NP8c#gNR)t>l`_H{KT{~*Xe&m+Kq8T1ct|ZT>Iu1A zfLbrSAz%8ThOT-4-B3sxCe@k%>g=eMers7zu)q8Y%7g?+Dk_+1Ya*Ug{R1H4rV(p0 zfp2@oW5LX+VEY~;os$bQjNo?3XcIvd6$Js08$?`0Hd}ze)FRwkncQ56&?P}=uz!KO zvZRO7>g=#-S3R=Z($J;v8_0Q!x-eWk%*?Q>!Uhk8FmxoS(hVTvrzFW3NP=b%VuLIPQNV{2k6Q9R#cpgssC%B1n0rhl+!rZkIzLLT)$>h=N?m$-K@>$R&k=`YdFIzBb{d@%zVI1s-v9RJd@8mMHUrTKul>9{=-Tn|OpSOzj@B~`nL}sJua0VX2akv8q z;3(8WFMUtLSr5Gp8sG(7gpv9b!#=nVSE17Nl~4z>p%8AvL4Vr?cca}cFcVgp%uXFb zpO>JwZ6ELYI}b2Mxr9xEZ%_fd;U(OId2YDO!_R^bP~@Hw`!PI&uh0gK@FufYL!A7F z&QYCPFvsUo=m|^IZIv&!nox^D6Q5&~MSfpyWv zH0Ettw6WSCt6`17B2W!{f+HCnr&@0IvrQeP+G@&FB4<*G@!!J(4=})kZG>SKU=u9W zKRU6wz?MaOwzLy-oNj?tI2X&*rvA3t&#fXEkdOUJXNP3L7MBIGp$S zWPw$>(Ls_o)ls}S!ifwm4mHU-2PJGS^np{EN{3xB`Hv3fby(=|9CrG{=G&=$u9xT+ zH$iodf1LllYl{?nBr>`)FY|w~bs0?+dm|)WEy-eA8xy`qI>mkoFaX;@j4%w3$name"; @@ -1367,10 +1362,16 @@ function cut_str($str, $len, $suffix="…") // TEXT 형식으로 변환 function get_text($str, $html=0) { - /* 3.22 막음 (HTML 체크 줄바꿈시 출력 오류때문) - $source[] = "/ /"; - $target[] = "  "; - */ + $source[] = "<"; + $target[] = "<"; + $source[] = ">"; + $target[] = ">"; + $source[] = "\""; + $target[] = """; + $source[] = "\'"; + $target[] = "'"; + + $str = str_replace($target, $source, $str); // 3.31 // TEXT 출력일 경우 &   등의 코드를 정상으로 출력해 주기 위함 @@ -1378,21 +1379,12 @@ function get_text($str, $html=0) $str = html_symbol($str); } - $source[] = "//"; - $target[] = ">"; - //$source[] = "/\"/"; - //$target[] = """; - $source[] = "/\'/"; - $target[] = "'"; - //$source[] = "/}/"; $target[] = "}"; if ($html) { - $source[] = "/\n/"; + $source[] = "\n"; $target[] = "
"; } - return preg_replace($source, $target, $str); + return str_replace($source, $target, $str); } @@ -2738,11 +2730,6 @@ function clean_xss_tags($str) { $str = preg_replace('#]*+>#i', '', $str); - $search = array('"', "'"); - $replace = array('"', '''); - - $str = str_replace($search, $replace, $str); - return $str; } diff --git a/lib/icode.lms.lib.php b/lib/icode.lms.lib.php new file mode 100644 index 000000000..e255d1d7b --- /dev/null +++ b/lib/icode.lms.lib.php @@ -0,0 +1,249 @@ +socket_host = $host; + $this->socket_portcode = $portcode; + $this->icode_id = FillSpace($id, 10); + $this->icode_pw = FillSpace($pw, 10); + } + + function Init() { + $this->Data = ""; // 발송하기 위한 패킷내용이 배열로 들어간다. + $this->Result = ""; // 발송결과값이 배열로 들어간다. + } + + function Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate="", $nCount) { + + // 문자 타입별 Port 설정. + $sendType = strlen($strData) > 90 ? 1 : 0; // 0: SMS / 1: LMS + + /* 개발 완료 후 아래 포트를 rand 함수를 이용하는 라인으로 변경 바랍니다.*/ + + // 충전식 + if ($this->socket_portcode == 1) { + if($sendType && $sendType == 1) { + //$this->socket_port = 8200; // LMS + $this->socket_port=(int)rand(8200,8201); // LMS + } else { + //$this->socket_port = 6295; // SMS + $this->socket_port=(int)rand(6295,6297); // SMS + } + } + // 정액제 + else { + if($sendType && $sendType == 1) { + //$this->socket_port = 8300; // LMS + $this->socket_port=(int)rand(8300,8301); // LMS + } else { + //$this->socket_port = 6291; // SMS + $this->socket_port=(int)rand(6291,6293); // SMS + } + } + + $strCallBack = FillSpace($strCallBack, 11); // 회신번호 + $strDate = FillSpace($strDate, 12); // 즉시(12byte 공백), 예약전송(YmdHi) + + if ($sendType && $sendType == 1) { + + /** LMS 제목 **/ + /* + 제목필드의 값이 없을 경우 단말기 기종및 설정에 따라 표기 방법이 다름 + 1.설정에서 제목필드보기 설정 Disable -> 제목필드값을 넣어도 미표기 + 2.설정에서 제목필드보기 설정 Enable -> 제목을 넣지 않을 경우 제목없음으로 자동표시 + + 제목의 첫글자에 "<",">", 개행문자가 있을경우 단말기종류 및 통신사에 따라 메세지 전송실패 -> 글자를 체크하거나 취환처리요망 + */ + $strSubject = str_replace("\r\n", " ", $strSubject); + $strSubject = str_replace("<", "[", $strSubject); + $strSubject = str_replace(">", "]", $strSubject); + + $strSubject = FillSpace($strSubject,30); + $strData = FillSpace(CutChar($strData,1500),1500); + } else if (!$strURL) { + $strData = FillSpace(CutChar($strData,90),90); + $strCaller = FillSpace($strCaller,10); + } else { + $strURL = FillSpace($strURL,50); + } + + $Error = CheckCommonTypeDest($strDest, $nCount); + $Error = is_vaild_callback($strCallBack); + $Error = CheckCommonTypeDate($strDate); + + for ($i=0; $i<$nCount; $i++) { + + $strDest[$i] = FillSpace($strDest[$i],11); + if ($sendType && $sendType == 1) { + $this->Data[$i] = '01144 '.$this->icode_id.$this->icode_pw.$strDest[$i].$strCallBack.$strSubject.$strDate.$strData; + } else if (!$strURL) { + $this->Data[$i] = '01144 '.$this->icode_id.$this->icode_pw.$strDest[$i].$strCallBack.$strCaller.$strDate.$strData; + } else { + $strData = FillSpace(CheckCallCenter($strURL, $strDest[$i], $strData),80); + $this->Data[$i] = '05173 '.$this->icode_id.$this->icode_pw.$strDest[$i].$strCallBack.$strURL.$strDate.$strData; + } + } + return true; + } + + + function Send() { + $fsocket = fsockopen($this->socket_host,$this->socket_port, $errno, $errstr, 2); + if (!$fsocket) return false; + set_time_limit(300); + + foreach($this->Data as $puts) { + fputs($fsocket, $puts); + while(!$gets) { $gets = fgets($fsocket,30); } + $dest = substr($puts,26,11); + if (substr($gets,0,19) == "0223 00".$dest) { + $this->Result[] = $dest.":".substr($gets,19,10); + } else { + $this->Result[$dest] = $dest.":Error(".substr($gets,6,2).")"; + } + $gets = ""; + } + + fclose($fsocket); + $this->Data = ""; + return true; + } +} + +/** + * 원하는 문자열의 길이를 원하는 길이만큼 공백을 넣어 맞추도록 합니다. + * + * @param text 원하는 문자열입니다. + * size 원하는 길이입니다. + * @return 변경된 문자열을 넘깁니다. + */ +function FillSpace($text,$size) { + for ($i=0; $i<$size; $i++) $text.= " "; + $text = substr($text,0,$size); + return $text; +} + +/** + * 원하는 문자열을 원하는 길에 맞는지 확인해서 조정하는 기능을 합니다. + * + * @param word 원하는 문자열입니다. + * cut 원하는 길이입니다. + * @return 변경된 문자열입니다. + */ +function CutChar($word, $cut) { + $word=substr($word,0,$cut); // 필요한 길이만큼 취함. + for ($k = $cut-1; $k > 1; $k--) { + if (ord(substr($word,$k,1))<128) break; // 한글값은 160 이상. + } + $word = substr($word, 0, $cut-($cut-$k+1)%2); + return $word; +} + +/** +* 수신번호의 값이 정확한 값인지 확인합니다. +* +* @param strDest 발송번호 배열입니다. +* nCount 배열의 크기입니다. +* @return 처리결과입니다. +*/ +function CheckCommonTypeDest($strDest, $nCount) { + for ($i=0; $i<$nCount; $i++) { + $strDest[$i] = preg_replace("/[^0-9]/","",$strDest[$i]); + if(!preg_match("/^01[0-9]{8,9}$/", $strDest[$i])) + return "수신번호오류"; + } +} + + +/** +* 회신번호 유효성 여부조회 * +* @param string callback 회신번호 +* @return 처리결과입니다 +* 한국인터넷진흥원 권고 +*/ +function is_vaild_callback($callback){ + + $_callback = preg_replace('/[^0-9]/', '', $callback); + + if (!preg_match("/^(02|0[3-6]\d|01(0|1|3|5|6|7|8|9)|070|080|007)\-?\d{3,4}\-?\d{4,5}$/", $_callback) && + !preg_match("/^(15|16|18)\d{2}\-?\d{4,5}$/", $_callback)){ + return "회신번호오류"; + } + + if (preg_match("/^(02|0[3-6]\d|01(0|1|3|5|6|7|8|9)|070|080)\-?0{3,4}\-?\d{4}$/", $_callback)){ + return "회신번호오류"; + } +} + + +/** +* 예약날짜의 값이 정확한 값인지 확인합니다. +* +* @param string strDate (예약시간) +* @return 처리결과입니다 +*/ +function CheckCommonTypeDate($strDate) { + $strDate = preg_replace("/[^0-9]/", "", $strDate); + if ($strDate){ + if (!checkdate(substr($strDate,4,2),substr($strDate,6,2),substr($rsvTime,0,4))) + return "예약날짜오류"; + if (substr($strDate,8,2)>23 || substr($strDate,10,2)>59) return false; + return "예약날짜오류"; + } +} + +/** +* URL콜백용으로 메세지 크기를 수정합니다. +* +* @param url URL 내용입니다. +* msg 결과메시지입니다. +* desk 문자내용입니다. +*/ +function CheckCallCenter($url, $dest, $data) { + switch (substr($dest,0,3)) { + case '010': //20바이트 + return CutChar($data,20); break; + case '011': //80바이트 + return CutChar($data,80); break; + case '016': // 80바이트 + return CutChar($data,80); break; + case '017': // URL 포함 80바이트 + return CutChar($data,80 - strlen($url)); break; + case '018': // 20바이트 + return CutChar($data,20); break; + case '019': // 20바이트 + return CutChar($data,20); break; + default: + return CutChar($data,80); break; + } +} +?> \ No newline at end of file diff --git a/lib/outlogin.lib.php b/lib/outlogin.lib.php index 7f2916ec9..912777199 100644 --- a/lib/outlogin.lib.php +++ b/lib/outlogin.lib.php @@ -7,7 +7,7 @@ function outlogin($skin_dir='basic') global $config, $member, $g5, $urlencode, $is_admin, $is_member; if (array_key_exists('mb_nick', $member)) { - $nick = cut_str($member['mb_nick'], $config['cf_cut_name']); + $nick = get_text(cut_str($member['mb_nick'], $config['cf_cut_name'])); } if (array_key_exists('mb_point', $member)) { $point = number_format($member['mb_point']); diff --git a/lib/popular.lib.php b/lib/popular.lib.php index fcb9c0801..b2b264aa6 100644 --- a/lib/popular.lib.php +++ b/lib/popular.lib.php @@ -17,7 +17,7 @@ function popular($skin_dir='basic', $pop_cnt=7, $date_cnt=3) for ($i=0; $row=sql_fetch_array($result); $i++) { $list[$i] = $row; // 스크립트등의 실행금지 - $list[$i]['pp_word'] = get_text($list[$i]['pp_word']); + //$list[$i]['pp_word'] = get_text($list[$i]['pp_word']); } if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) { diff --git a/mobile/shop/cart.php b/mobile/shop/cart.php index 0c7c68818..8cb48f886 100644 --- a/mobile/shop/cart.php +++ b/mobile/shop/cart.php @@ -1,6 +1,16 @@ + diff --git a/mobile/shop/inicis/pay_return.php b/mobile/shop/inicis/pay_return.php index 6ec615650..09f3b7643 100644 --- a/mobile/shop/inicis/pay_return.php +++ b/mobile/shop/inicis/pay_return.php @@ -46,7 +46,7 @@ $g5['body_script'] = ' onload="setPAYResult();"'; include_once(G5_PATH.'/head.sub.php'); -$exclude = array('res_cd', 'P_HASH', 'P_TYPE', 'P_AUTH_DT', 'P_VACT_BANK'); +$exclude = array('res_cd', 'P_HASH', 'P_TYPE', 'P_AUTH_DT', 'P_VACT_BANK', 'P_AUTH_NO'); echo ''.PHP_EOL; @@ -57,6 +57,7 @@ echo ''.PHP_EOL; echo ''.PHP_EOL; echo ''.PHP_EOL; +echo ''.PHP_EOL; echo ''.PHP_EOL; ?> diff --git a/mobile/shop/inicis/settle_common.php b/mobile/shop/inicis/settle_common.php index 3486c2237..6edb7d189 100644 --- a/mobile/shop/inicis/settle_common.php +++ b/mobile/shop/inicis/settle_common.php @@ -34,23 +34,25 @@ $P_RMESG2; // 결과메시지 $P_NOTI; // 노티메시지(상점에서 올린 메시지) $P_AUTH_NO; // 승인번호 - - - $P_TID = $_POST['P_TID']; - $P_MID = $_POST['P_MID']; - $P_AUTH_DT = $_POST['P_AUTH_DT']; - $P_STATUS = $_POST['P_STATUS']; - $P_TYPE = $_POST['P_TYPE']; - $P_OID = $_POST['P_OID']; - $P_FN_CD1 = $_POST['P_FN_CD1']; - $P_FN_CD2 = $_POST['P_FN_CD2']; - $P_FN_NM = $_POST['P_FN_NM']; - $P_AMT = $_POST['P_AMT']; - $P_UNAME = $_POST['P_UNAME']; - $P_RMESG1 = $_POST['P_RMESG1']; - $P_RMESG2 = $_POST['P_RMESG2']; - $P_NOTI = $_POST['P_NOTI']; - $P_AUTH_NO = $_POST['P_AUTH_NO']; + $P_SRC_CODE; // 앱연동 결제구분 + + + $P_TID = $_POST['P_TID']; + $P_MID = $_POST['P_MID']; + $P_AUTH_DT = $_POST['P_AUTH_DT']; + $P_STATUS = $_POST['P_STATUS']; + $P_TYPE = $_POST['P_TYPE']; + $P_OID = $_POST['P_OID']; + $P_FN_CD1 = $_POST['P_FN_CD1']; + $P_FN_CD2 = $_POST['P_FN_CD2']; + $P_FN_NM = $_POST['P_FN_NM']; + $P_AMT = $_POST['P_AMT']; + $P_UNAME = $_POST['P_UNAME']; + $P_RMESG1 = $_POST['P_RMESG1']; + $P_RMESG2 = $_POST['P_RMESG2']; + $P_NOTI = $_POST['P_NOTI']; + $P_AUTH_NO = $_POST['P_AUTH_NO']; + $P_SRC_CODE = $_POST['P_SRC_CODE']; //WEB 방식의 경우 가상계좌 채번 결과 무시 처리 @@ -160,11 +162,12 @@ "P_RMESG1" => $P_RMESG1, "P_RMESG2" => $P_RMESG2, "P_NOTI" => $P_NOTI, - "P_AUTH_NO" => $P_AUTH_NO + "P_AUTH_NO" => $P_AUTH_NO, + "P_SRC_CODE" => $P_SRC_CODE ); // 결과 incis log 테이블 기록 - if($P_TYPE == 'BANK') { + if($P_TYPE == 'BANK' || $P_SRC_CODE == 'A') { $sql = " insert into {$g5['g5_shop_inicis_log_table']} set oid = '$P_OID', P_TID = '$P_TID', @@ -174,6 +177,7 @@ P_TYPE = '$P_TYPE', P_OID = '$P_OID', P_FN_NM = '".iconv_utf8($P_FN_NM)."', + P_AUTH_NO = '$P_AUTH_NO', P_AMT = '$P_AMT', P_RMESG1 = '".iconv_utf8($P_RMESG1)."' "; @sql_query($sql); diff --git a/mobile/shop/item.php b/mobile/shop/item.php index f1effa851..de6fa6428 100644 --- a/mobile/shop/item.php +++ b/mobile/shop/item.php @@ -154,7 +154,7 @@ if(preg_match('#^theme/(.+)$#', $it['it_mobile_skin'], $match)) $skin_dir = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/shop/'.$match[1]; else - $skin_dir = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/shop/'.$it['it_skin']; + $skin_dir = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/shop/'.$it['it_mobile_skin']; if(is_dir($skin_dir)) { $form_skin_file = $skin_dir.'/item.form.skin.php'; diff --git a/mobile/shop/itemqaform.php b/mobile/shop/itemqaform.php index e0e338263..1b81501f5 100644 --- a/mobile/shop/itemqaform.php +++ b/mobile/shop/itemqaform.php @@ -44,7 +44,7 @@ $is_dhtml_editor = false; // 모바일에서는 DHTML 에디터 사용불가 -if ($config['cf_editor'] && !G5_IS_MOBILE) { +if ($config['cf_editor'] && (!is_mobile() || defined('G5_IS_MOBILE_DHTML_USE') && G5_IS_MOBILE_DHTML_USE)) { $is_dhtml_editor = true; } $editor_html = editor_html('iq_question', get_text($qa['iq_question'], 0), $is_dhtml_editor); diff --git a/mobile/shop/itemuseform.php b/mobile/shop/itemuseform.php index 3792c9463..2063d7eb1 100644 --- a/mobile/shop/itemuseform.php +++ b/mobile/shop/itemuseform.php @@ -39,7 +39,7 @@ $is_dhtml_editor = false; // 모바일에서는 DHTML 에디터 사용불가 -if ($config['cf_editor'] && !G5_IS_MOBILE) { +if ($config['cf_editor'] && (!is_mobile() || defined('G5_IS_MOBILE_DHTML_USE') && G5_IS_MOBILE_DHTML_USE)) { $is_dhtml_editor = true; } $editor_html = editor_html('is_content', get_text($use['is_content'], 0), $is_dhtml_editor); diff --git a/mobile/shop/kcp/order_approval_form.php b/mobile/shop/kcp/order_approval_form.php index e807ae404..07ecbbbe3 100644 --- a/mobile/shop/kcp/order_approval_form.php +++ b/mobile/shop/kcp/order_approval_form.php @@ -62,6 +62,8 @@ $comm_vat_mny = $_POST[ "comm_vat_mny" ]; // 부가세 $comm_free_mny = $_POST["comm_free_mny" ]; // 비과세금액 + $payco_direct = $_POST["payco_direct" ]; // PAYCO 결제창 호출 + /* * 기타 파라메터 추가 부분 - Start - */ @@ -99,6 +101,10 @@ $pay_method = 'VCNT'; $ActionResult = 'vcnt'; break; + case '간편결제': + $pay_method = 'CARD'; + $ActionResult = 'card'; + break; default: $pay_method = ''; $ActionResult = ''; @@ -242,6 +248,8 @@ function chk_pay() + + diff --git a/mobile/shop/kcp/orderform.1.php b/mobile/shop/kcp/orderform.1.php index 12c582f9f..312629b3e 100644 --- a/mobile/shop/kcp/orderform.1.php +++ b/mobile/shop/kcp/orderform.1.php @@ -18,6 +18,7 @@ + diff --git a/mobile/shop/lg/orderform.1.php b/mobile/shop/lg/orderform.1.php index 225008a94..1fd1a22e6 100644 --- a/mobile/shop/lg/orderform.1.php +++ b/mobile/shop/lg/orderform.1.php @@ -13,6 +13,7 @@ + \ No newline at end of file diff --git a/mobile/shop/lg/xpay_approval.php b/mobile/shop/lg/xpay_approval.php index be45cf87b..c81ce3371 100644 --- a/mobile/shop/lg/xpay_approval.php +++ b/mobile/shop/lg/xpay_approval.php @@ -17,6 +17,7 @@ $LGD_CASHRECEIPTYN = $_POST['LGD_CASHRECEIPTYN']; //현금영수증 사용설정 $LGD_BUYERID = $_POST['LGD_BUYERID']; //구매자 ID $LGD_BUYERPHONE = $_POST['LGD_BUYERPHONE']; //구매자 휴대폰번호 +$LGD_EASYPAY_ONLY = $_POST['LGD_EASYPAY_ONLY']; //페이나우결제창 호출 $LGD_RETURNURL = G5_MSHOP_URL.'/lg/returnurl.php'; $LGD_KVPMISPNOTEURL = G5_MSHOP_URL.'/lg/note_url.php'; @@ -87,6 +88,7 @@ $payReqMap['LGD_CASHRECEIPTYN'] = $LGD_CASHRECEIPTYN; $payReqMap['LGD_BUYERPHONE'] = $LGD_BUYERPHONE; $payReqMap['LGD_BUYERID'] = $LGD_BUYERID; +$payReqMap['LGD_EASYPAY_ONLY'] = $LGD_EASYPAY_ONLY; /* **************************************************** diff --git a/mobile/shop/mypage.php b/mobile/shop/mypage.php index d6865727f..43649494c 100644 --- a/mobile/shop/mypage.php +++ b/mobile/shop/mypage.php @@ -1,8 +1,15 @@ + +
+ +

주문하실 상품을 확인하세요.

+ +
    + 0) + $good_info .= chr(30); + $good_info .= "seq=".($i+1).chr(31); + $good_info .= "ordr_numb={$od_id}_".sprintf("%04d", $i).chr(31); + $good_info .= "good_name=".addslashes($row['it_name']).chr(31); + $good_info .= "good_cntx=".$row['ct_qty'].chr(31); + $good_info .= "good_amtx=".$row['ct_price'].chr(31); + } + + $a1 = ''; + $a2 = ''; + $image_width = 80; + $image_height = 80; + $image = get_it_image($row['it_id'], $image_width, $image_height); + + $it_name = $a1 . stripslashes($row['it_name']) . $a2; + $it_options = print_item_options($row['it_id'], $s_cart_id); + if($it_options) { + $it_name .= '
    '.$it_options.'
    '; + } + + // 복합과세금액 + if($default['de_tax_flag_use']) { + if($row['it_notax']) { + $comm_free_mny += $sum['price']; + } else { + $tot_tax_mny += $sum['price']; + } + } + + $point = $sum['point']; + $sell_price = $sum['price']; + + // 쿠폰 + if($is_member) { + $cp_button = ''; + $cp_count = 0; + + $sql = " select cp_id + from {$g5['g5_shop_coupon_table']} + where mb_id IN ( '{$member['mb_id']}', '전체회원' ) + and cp_start <= '".G5_TIME_YMD."' + and cp_end >= '".G5_TIME_YMD."' + and cp_minimum <= '$sell_price' + and ( + ( cp_method = '0' and cp_target = '{$row['it_id']}' ) + OR + ( cp_method = '1' and ( cp_target IN ( '{$row['ca_id']}', '{$row['ca_id2']}', '{$row['ca_id3']}' ) ) ) + ) "; + $res = sql_query($sql); + + for($k=0; $cp=sql_fetch_array($res); $k++) { + if(is_used_coupon($member['mb_id'], $cp['cp_id'])) + continue; + + $cp_count++; + } + + if($cp_count) { + $cp_button = '
    '; + $it_cp_count++; + } + } + + // 배송비 + switch($row['ct_send_cost']) + { + case 1: + $ct_send_cost = '착불'; + break; + case 2: + $ct_send_cost = '무료'; + break; + default: + $ct_send_cost = '선불'; + break; + } + + // 조건부무료 + if($row['it_sc_type'] == 2) { + $sendcost = get_item_sendcost($row['it_id'], $sum['price'], $sum['qty'], $s_cart_id); + + if($sendcost == 0) + $ct_send_cost = '무료'; + } + ?> + +
  • + + + + + + + + +
    + +
    + + +
    +
    + 판매가 + 수량 + 배송비 +
    +
    + 주문금액 + 적립포인트 +
    + +
  • + + 장바구니에 담긴 상품이 없습니다.'; + alert('장바구니가 비어 있습니다.', G5_SHOP_URL.'/cart.php'); + } else { + // 배송비 계산 + $send_cost = get_sendcost($s_cart_id); + } + + // 복합과세처리 + if($default['de_tax_flag_use']) { + $comm_tax_mny = round(($tot_tax_mny + $send_cost) / 1.1); + $comm_vat_mny = ($tot_tax_mny + $send_cost) - $comm_tax_mny; + } + ?> +
+ + + +
+
주문
+
+ 0) { ?> +
쿠폰
+
0 원
+ +
배송비
+
+
총계
+
+ + +
+
포인트
+
+
+ + +
+ + + +
+
+ + + + + + + + + + +
+

주문하시는 분

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + 영,숫자 3~20자 (주문서 조회시 필요) +
주소 + + +
+ + + + + + +
+
+ + 이후로 배송 바랍니다. +
+
+
+ +
+

받으시는 분

+ +
+ + + '.PHP_EOL; + $addr_list .= ''.PHP_EOL; + + // 기본배송지 + $sql = " select * + from {$g5['g5_shop_order_address_table']} + where mb_id = '{$member['mb_id']}' + and ad_default = '1' "; + $row = sql_fetch($sql); + if($row['ad_id']) { + $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject']; + $addr_list .= '
'.PHP_EOL; + $addr_list .= ''.PHP_EOL; + } + + // 최근배송지 + $sql = " select * + from {$g5['g5_shop_order_address_table']} + where mb_id = '{$member['mb_id']}' + and ad_default = '0' + order by ad_id desc + limit 1 "; + $result = sql_query($sql); + for($i=0; $row=sql_fetch_array($result); $i++) { + $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject']; + $val2 = ''; + $addr_list .= '
'.PHP_EOL.$val2.PHP_EOL; + } + + $addr_list .= '
'.PHP_EOL; + $addr_list .= ''.PHP_EOL; + + $addr_list .='배송지목록'; + } else { + // 주문자와 동일 + $addr_list .= ''.PHP_EOL; + $addr_list .= ''.PHP_EOL; + } + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
배송지선택 + +
+ + + +
주소 + + +
+ + + + + + + +
+
+
+ + = '".G5_TIME_YMD."' + and cp_minimum <= '$tot_sell_price' "; + $res = sql_query($sql); + + for($k=0; $cp=sql_fetch_array($res); $k++) { + if(is_used_coupon($member['mb_id'], $cp['cp_id'])) + continue; + + $oc_cnt++; + } + + if($send_cost > 0) { + // 배송비쿠폰 + $sql = " select cp_id + from {$g5['g5_shop_coupon_table']} + where mb_id IN ( '{$member['mb_id']}', '전체회원' ) + and cp_method = '3' + and cp_start <= '".G5_TIME_YMD."' + and cp_end >= '".G5_TIME_YMD."' + and cp_minimum <= '$tot_sell_price' "; + $res = sql_query($sql); + + for($k=0; $cp=sql_fetch_array($res); $k++) { + if(is_used_coupon($member['mb_id'], $cp['cp_id'])) + continue; + + $sc_cnt++; + } + } + } + ?> + +
+

결제정보 입력

+ +
+ + + 0) { ?> + + + + + + + + + + 0) { ?> + + + + + + + + + + + + + + + + + + +
주문할인쿠폰 + + +
주문할인금액0
배송비할인쿠폰 + + +
배송비할인금액0
총 주문금액
추가배송비0원 (지역에 따라 추가되는 도선료 등의 배송비입니다.)
+
+ + 무통장입금 이외의 결제 수단으로 결제하시는 경우 포인트를 적립해드리지 않습니다.

'; + + $multi_settle == 0; + $checked = ''; + + $escrow_title = ""; + if ($default['de_escrow_use']) { + $escrow_title = "에스크로 "; + } + + if ($is_kakaopay_use || $default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use'] || $default['de_easy_pay_use']) { + echo '
    '; + } + + // 카카오페이 + if($is_kakaopay_use) { + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + // 무통장입금 사용 + if ($default['de_bank_use']) { + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + // 가상계좌 사용 + if ($default['de_vbank_use']) { + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + // 계좌이체 사용 + if ($default['de_iche_use']) { + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + // 휴대폰 사용 + if ($default['de_hp_use']) { + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + // 신용카드 사용 + if ($default['de_card_use']) { + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + // PG 간편결제 + if($default['de_easy_pay_use']) { + switch($default['de_pg_service']) { + case 'lg': + $pg_easy_pay_name = 'PAYNOW'; + break; + case 'inicis': + $pg_easy_pay_name = 'KPAY'; + break; + default: + $pg_easy_pay_name = 'PAYCO'; + break; + } + + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + echo '
'; + + $temp_point = 0; + // 회원이면서 포인트사용이면 + if ($is_member && $config['cf_use_point']) + { + // 포인트 결제 사용 포인트보다 회원의 포인트가 크다면 + if ($member['mb_point'] >= $default['de_settle_min_point']) + { + $temp_point = (int)$default['de_settle_max_point']; + + if($temp_point > (int)$tot_sell_price) + $temp_point = (int)$tot_sell_price; + + if($temp_point > (int)$member['mb_point']) + $temp_point = (int)$member['mb_point']; + + $point_unit = (int)$default['de_settle_point_unit']; + $temp_point = (int)((int)($temp_point / $point_unit) * $point_unit); + + echo '
결제포인트 : 점 ('.$point_unit.'점 단위로 입력하세요.)
'; + echo '

회원님의 보유포인트('.display_point($member['mb_point']).')중 '.display_point($temp_point).'까지 사용 가능합니다.

'; + $multi_settle++; + } + } + + if ($default['de_bank_use']) { + // 은행계좌를 배열로 만든후 + $str = explode("\n", trim($default['de_bank_account'])); + if (count($str) <= 1) + { + $bank_account = ''.$str[0].PHP_EOL; + } + else + { + $bank_account = ''.PHP_EOL; + } + echo ''; + } + + if ($default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use'] || $default['de_easy_pay_use']) { + echo '
'; + } + + if ($multi_settle == 0) + echo '

결제할 방법이 없습니다.
운영자에게 알려주시면 감사하겠습니다.

'; + ?> +
+ + + + + + +
+ + + +
+ + \ No newline at end of file diff --git a/mobile/shop/orderformupdate.php b/mobile/shop/orderformupdate.php index ddb95c9fc..128cce991 100644 --- a/mobile/shop/orderformupdate.php +++ b/mobile/shop/orderformupdate.php @@ -9,7 +9,7 @@ $page_return_url .= '?sw_direct=1'; // 결제등록 완료 체크 -if($od_settle_case != '무통장') { +if($od_settle_case != '무통장' && $od_settle_case != 'KAKAOPAY') { if($default['de_pg_service'] == 'kcp' && ($_POST['tran_cd'] == '' || $_POST['enc_info'] == '' || $_POST['enc_data'] == '')) alert('결제등록 요청 후 주문해 주십시오.', $page_return_url); @@ -392,22 +392,74 @@ if($od_misu == 0) $od_status = '입금'; } +else if ($od_settle_case == "간편결제") +{ + switch($default['de_pg_service']) { + case 'lg': + include G5_SHOP_PATH.'/lg/xpay_result.php'; + break; + case 'inicis': + include G5_MSHOP_PATH.'/inicis/pay_result.php'; + break; + default: + include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php'; + $card_name = iconv("cp949", "utf-8", $card_name); + break; + } + + $od_tno = $tno; + $od_app_no = $app_no; + $od_receipt_price = $amount; + $od_receipt_point = $i_temp_point; + $od_receipt_time = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/", "\\1-\\2-\\3 \\4:\\5:\\6", $app_time); + $od_bank_account = $card_name; + $pg_price = $amount; + $od_misu = $i_price - $od_receipt_price; + if($od_misu == 0) + $od_status = '입금'; +} +else if ($od_settle_case == "KAKAOPAY") +{ + include G5_SHOP_PATH.'/kakaopay/kakaopay_result.php'; + + $od_tno = $tno; + $od_app_no = $app_no; + $od_receipt_price = $amount; + $od_receipt_point = $i_temp_point; + $od_receipt_time = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/", "\\1-\\2-\\3 \\4:\\5:\\6", $app_time); + $od_bank_account = $card_name; + $pg_price = $amount; + $od_misu = $i_price - $od_receipt_price; + if($od_misu == 0) + $od_status = '입금'; +} else { die("od_settle_case Error!!!"); } +$od_pg = $default['de_pg_service']; +if($od_settle_case == 'KAKAOPAY') + $od_pg = 'KAKAOPAY'; + // 주문금액과 결제금액이 일치하는지 체크 if($tno) { if((int)$order_price !== (int)$pg_price) { $cancel_msg = '결제금액 불일치'; - switch($default['de_pg_service']) { + switch($od_pg) { case 'lg': include G5_SHOP_PATH.'/lg/xpay_cancel.php'; break; case 'inicis': include G5_SHOP_PATH.'/inicis/inipay_cancel.php'; break; + case 'KAKAOPAY': + $_REQUEST['TID'] = $tno; + $_REQUEST['Amt'] = $amount; + $_REQUEST['CancelMsg'] = $cancel_msg; + $_REQUEST['PartialCancelCode'] = 0; + include G5_SHOP_PATH.'/kakaopay/kakaopay_cancel.php'; + break; default: include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; break; @@ -439,7 +491,6 @@ $od_free_mny = (int)$_POST['comm_free_mny']; } -$od_pg = $default['de_pg_service']; $od_email = get_email_address($od_email); $od_name = clean_xss_tags($od_name); $od_tel = clean_xss_tags($od_tel); @@ -460,6 +511,7 @@ $od_b_addr_jibeon = preg_match("/^(N|R)$/", $od_b_addr_jibeon) ? $od_b_addr_jibeon : ''; $od_memo = clean_xss_tags($od_memo); $od_deposit_name = clean_xss_tags($od_deposit_name); +$od_tax_flag = $default['de_tax_flag_use']; // 주문서에 입력 $sql = " insert {$g5['g5_shop_order_table']} @@ -503,7 +555,7 @@ od_tno = '$od_tno', od_app_no = '$od_app_no', od_escrow = '$od_escrow', - od_tax_flag = '{$default['de_tax_flag_use']}', + od_tax_flag = '$od_tax_flag', od_tax_mny = '$od_tax_mny', od_vat_mny = '$od_vat_mny', od_free_mny = '$od_free_mny', @@ -521,13 +573,20 @@ if(!$result) { if($tno) { $cancel_msg = '주문정보 입력 오류'; - switch($default['de_pg_service']) { + switch($od_pg) { case 'lg': include G5_SHOP_PATH.'/lg/xpay_cancel.php'; break; case 'inicis': include G5_SHOP_PATH.'/inicis/inipay_cancel.php'; break; + case 'KAKAOPAY': + $_REQUEST['TID'] = $tno; + $_REQUEST['Amt'] = $amount; + $_REQUEST['CancelMsg'] = $cancel_msg; + $_REQUEST['PartialCancelCode'] = 0; + include G5_SHOP_PATH.'/kakaopay/kakaopay_cancel.php'; + break; default: include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; break; @@ -538,7 +597,7 @@ $error = 'order'; include G5_SHOP_PATH.'/ordererrormail.php'; - die('

고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); + die('

고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

'.strtoupper($od_pg).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); } // 장바구니 상태변경 @@ -560,13 +619,20 @@ if(!$result) { if($tno) { $cancel_msg = '주문상태 변경 오류'; - switch($default['de_pg_service']) { + switch($od_pg) { case 'lg': include G5_SHOP_PATH.'/lg/xpay_cancel.php'; break; case 'inicis': include G5_SHOP_PATH.'/inicis/inipay_cancel.php'; break; + case 'KAKAOPAY': + $_REQUEST['TID'] = $tno; + $_REQUEST['Amt'] = $amount; + $_REQUEST['CancelMsg'] = $cancel_msg; + $_REQUEST['PartialCancelCode'] = 0; + include G5_SHOP_PATH.'/kakaopay/kakaopay_cancel.php'; + break; default: include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; break; @@ -580,7 +646,7 @@ // 주문삭제 sql_query(" delete from {$g5['g5_shop_order_table']} where od_id = '$od_id' "); - die('

고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); + die('

고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

'.strtoupper($od_pg).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); } // 회원이면서 포인트를 사용했다면 포인트 테이블에 사용을 추가 @@ -672,11 +738,8 @@ $recv_numbers = array($od_hp, $default['de_sms_hp']); $send_numbers = array($default['de_admin_company_tel'], $od_hp); - include_once(G5_LIB_PATH.'/icode.sms.lib.php'); - - $SMS = new SMS; // SMS 연결 - $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); $sms_count = 0; + $sms_messages = array(); for($s=0; $sAdd($recv_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content)), ""); + $sms_messages[] = array('recv' => $recv_number, 'send' => $send_number, 'cont' => $sms_content); $sms_count++; } } @@ -705,12 +768,58 @@ $recv_number = preg_replace("/[^0-9]/", "", $od_hp); $send_number = preg_replace("/[^0-9]/", "", $default['de_admin_company_tel']); - $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", $sms_content), ""); + + $sms_messages[] = array('recv' => $recv_number, 'send' => $send_number, 'cont' => $sms_content); $sms_count++; } - if($sms_count > 0) - $SMS->Send(); + // SMS 전송 + if($sms_count > 0) { + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); + + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + for($s=0; $sAdd($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + + for($s=0; $sAdd($recv_number, $send_number, $config['cf_icode_id'], $sms_content, ""); + } + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } } } // SMS END -------------------------------------------------------- diff --git a/mobile/shop/orderinquiry.sub.php b/mobile/shop/orderinquiry.sub.php index b0463ce45..9aa6cc35e 100644 --- a/mobile/shop/orderinquiry.sub.php +++ b/mobile/shop/orderinquiry.sub.php @@ -2,6 +2,16 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 if (!defined("_ORDERINQUIRY_")) exit; // 개별 페이지 접근 불가 + +// 테마에 orderinquiry.sub.php 있으면 include +if(defined('G5_THEME_SHOP_PATH')) { + $theme_inquiry_file = G5_THEME_MSHOP_PATH.'/orderinquiry.sub.php'; + if(is_file($theme_inquiry_file)) { + include_once($theme_inquiry_file); + return; + unset($theme_inquiry_file); + } +} ?> diff --git a/mobile/shop/orderinquiryview.php b/mobile/shop/orderinquiryview.php index b50a813fb..fc191441a 100644 --- a/mobile/shop/orderinquiryview.php +++ b/mobile/shop/orderinquiryview.php @@ -1,26 +1,16 @@ 주문일시 - 결제방식 - + 결제금액 @@ -362,6 +369,14 @@ 영수증 출력 + 영수증 출력 + diff --git a/mobile/shop/personalpayform.sub.php b/mobile/shop/personalpayform.sub.php new file mode 100644 index 000000000..54b369655 --- /dev/null +++ b/mobile/shop/personalpayform.sub.php @@ -0,0 +1,320 @@ + + +

+ +
+ +
+
+ +
+

개인결제정보

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
상세내용
결제금액
+
+ + '; + echo '결제방법 선택'; + echo '
    '; + } + + // 가상계좌 사용 + if ($default['de_vbank_use']) { + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + // 계좌이체 사용 + if ($default['de_iche_use']) { + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + // 휴대폰 사용 + if ($default['de_hp_use']) { + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + // 신용카드 사용 + if ($default['de_card_use']) { + $multi_settle++; + echo '
  • '.PHP_EOL; + $checked = ''; + } + + if ($default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) { + echo '
'; + echo ''; + + } + ?> + + 결제할 방법이 없습니다.
운영자에게 알려주시면 감사하겠습니다.

'; + ?> +
+ + + + +
+ + +
+ + \ No newline at end of file diff --git a/mobile/shop/settle_kcp.inc.php b/mobile/shop/settle_kcp.inc.php index 148eb229e..9db76f2d3 100644 --- a/mobile/shop/settle_kcp.inc.php +++ b/mobile/shop/settle_kcp.inc.php @@ -37,6 +37,12 @@ $g_conf_site_cd = $default['de_kcp_mid']; $g_conf_site_key = $default['de_kcp_site_key']; +// 테스트 결제 때 PAYCO site_cd, site_key 재설정 +if($default['de_card_test'] && ($_POST['settle_method'] == '간편결제' || $_POST['od_settle_case'] == '간편결제')) { + $g_conf_site_cd = 'S6729'; + $g_conf_site_key = ''; +} + if(!(preg_match("/^T000/", $g_conf_site_cd) || $default['de_card_test'])) { if (!preg_match("/^SR/", $g_conf_site_cd)) { alert("SR 로 시작하지 않는 KCP SITE CODE 는 지원하지 않습니다."); diff --git a/mobile/shop/wishlist.php b/mobile/shop/wishlist.php index 30ac75839..b903bbcce 100644 --- a/mobile/shop/wishlist.php +++ b/mobile/shop/wishlist.php @@ -1,8 +1,15 @@ - +
  • @@ -59,7 +66,7 @@
    삭제 - +
  • - +
    diff --git a/mobile/skin/board/basic/write.skin.php b/mobile/skin/board/basic/write.skin.php index b28d9abb7..8d9076d2f 100644 --- a/mobile/skin/board/basic/write.skin.php +++ b/mobile/skin/board/basic/write.skin.php @@ -193,8 +193,7 @@ function html_auto_br(obj) function fwrite_submit(f) { - - + var subject = ""; var content = ""; @@ -243,7 +242,7 @@ function fwrite_submit(f) } } - + document.getElementById("btn_submit").disabled = "disabled"; diff --git a/mobile/skin/board/gallery/write.skin.php b/mobile/skin/board/gallery/write.skin.php index f40d8db61..4aec1baaf 100644 --- a/mobile/skin/board/gallery/write.skin.php +++ b/mobile/skin/board/gallery/write.skin.php @@ -192,8 +192,7 @@ function html_auto_br(obj) function fwrite_submit(f) { - - + var subject = ""; var content = ""; @@ -242,7 +241,7 @@ function fwrite_submit(f) } } - + document.getElementById("btn_submit").disabled = "disabled"; diff --git a/mobile/skin/member/basic/formmail.skin.php b/mobile/skin/member/basic/formmail.skin.php index 3add8546b..bb1c32e7c 100644 --- a/mobile/skin/member/basic/formmail.skin.php +++ b/mobile/skin/member/basic/formmail.skin.php @@ -13,7 +13,7 @@ - + diff --git a/mobile/skin/member/basic/register_form.skin.php b/mobile/skin/member/basic/register_form.skin.php index 9b783960b..941399c9f 100644 --- a/mobile/skin/member/basic/register_form.skin.php +++ b/mobile/skin/member/basic/register_form.skin.php @@ -20,8 +20,8 @@ date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?> - - + +
    @@ -55,7 +55,7 @@ 아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다. - class="frm_input "> + class="frm_input "> 닉네임을 바꾸시면 앞으로 일 이내에는 변경 할 수 없습니다. - - + + @@ -111,14 +111,14 @@ - " maxlength="255" > + " maxlength="255" > - " maxlength="20" > + " maxlength="20" > @@ -126,9 +126,9 @@ - class="frm_input " maxlength="20"> + class="frm_input " maxlength="20"> - + @@ -145,13 +145,13 @@ class="frm_input " size="5" maxlength="6">
    - class="frm_input frm_address " size="50">
    + class="frm_input frm_address " size="50">
    - +
    - - + + diff --git a/mobile/skin/member/basic/register_form_update.tail.skin.php b/mobile/skin/member/basic/register_form_update.tail.skin.php index 64889697a..b16c52a14 100644 --- a/mobile/skin/member/basic/register_form_update.tail.skin.php +++ b/mobile/skin/member/basic/register_form_update.tail.skin.php @@ -18,12 +18,40 @@ { if ($config['cf_sms_use'] == 'icode') { - include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); - $SMS = new SMS; // SMS 연결 - $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); - $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_contents)), ""); - $SMS->Send(); + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + $strDest = array(); + $strDest[] = $receive_number; + $strCallBack = $send_number; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_contents); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv_euckr(stripslashes($sms_contents)), ""); + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } } } //---------------------------------------------------------- diff --git a/mobile/skin/popular/basic/popular.skin.php b/mobile/skin/popular/basic/popular.skin.php index 463b3b01c..436883642 100644 --- a/mobile/skin/popular/basic/popular.skin.php +++ b/mobile/skin/popular/basic/popular.skin.php @@ -10,7 +10,7 @@

    인기검색어

      -
    • +
    diff --git a/mobile/skin/qa/basic/write.skin.php b/mobile/skin/qa/basic/write.skin.php index 39118b80b..adbcbdfbb 100644 --- a/mobile/skin/qa/basic/write.skin.php +++ b/mobile/skin/qa/basic/write.skin.php @@ -53,7 +53,7 @@ - class="frm_input email" maxlength="100"> + class="frm_input email" maxlength="100"> > @@ -64,7 +64,7 @@ - class="frm_input" size="30"> + class="frm_input" size="30"> > 답변등록 SMS알림 수신 @@ -75,7 +75,7 @@ - + diff --git a/mobile/skin/shop/basic/itemqaform.skin.php b/mobile/skin/shop/basic/itemqaform.skin.php index e47c33f75..4c210a54a 100644 --- a/mobile/skin/shop/basic/itemqaform.skin.php +++ b/mobile/skin/shop/basic/itemqaform.skin.php @@ -31,11 +31,11 @@ - 이메일을 입력하시면 답변 등록 시 답변이 이메일로 전송됩니다. + 이메일을 입력하시면 답변 등록 시 답변이 이메일로 전송됩니다. - 휴대폰번호를 입력하시면 답변 등록 시 답변등록 알림이 SMS로 전송됩니다. + 휴대폰번호를 입력하시면 답변 등록 시 답변등록 알림이 SMS로 전송됩니다. diff --git a/orderupgrade.php b/orderupgrade.php index 16ba05bec..9dae931a4 100644 --- a/orderupgrade.php +++ b/orderupgrade.php @@ -57,6 +57,7 @@ `P_TYPE` varchar(255) NOT NULL DEFAULT '', `P_OID` varchar(255) NOT NULL DEFAULT '', `P_FN_NM` varchar(255) NOT NULL DEFAULT '', + `P_AUTH_NO` varchar(255) NOT NULL DEFAULT '', `P_AMT` int(11) NOT NULL DEFAULT '0', `P_RMESG1` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`oid`) @@ -81,6 +82,12 @@ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;", true); } +// 모바일 이니시스 결제정보 테이블 필드 추가 +if(!sql_query(" select P_AUTH_NO from {$g5['g5_shop_inicis_log_table']} limit 1 ", false)) { + sql_query(" ALTER TABLE `{$g5['g5_shop_inicis_log_table']}` + ADD `P_AUTH_NO` varchar(255) NOT NULL DEFAULT '' AFTER `P_FN_NM` ", true); +} + echo '

    테이블 업그레이드 완료!

    '; include_once(G5_PATH.'/tail.sub.php'); diff --git a/plugin/editor/smarteditor2/autosave.editor.js b/plugin/editor/smarteditor2/autosave.editor.js new file mode 100644 index 000000000..49978765a --- /dev/null +++ b/plugin/editor/smarteditor2/autosave.editor.js @@ -0,0 +1,13 @@ +function get_editor_wr_content() +{ + return oEditors.getById['wr_content'].getIR();; +} + +function put_editor_wr_content(content) +{ + oEditors.getById["wr_content"].exec("SET_CONTENTS", [""]); + //oEditors.getById["wr_content"].exec("SET_IR", [""]); + oEditors.getById["wr_content"].exec("PASTE_HTML", [content]); + + return; +} \ No newline at end of file diff --git a/plugin/sms5/sms5.lib.php b/plugin/sms5/sms5.lib.php index ea587384a..8979454dc 100644 --- a/plugin/sms5/sms5.lib.php +++ b/plugin/sms5/sms5.lib.php @@ -26,7 +26,7 @@ function sms5_sub_paging($write_pages, $cur_page, $total_page, $url, $add="", $s if( $starget ){ $url = preg_replace('#&'.$starget.'=[0-9]*#', '', $url) . '&'.$starget.'='; } - + $str = ''; if ($cur_page > 1) { $str .= '처음'.PHP_EOL; @@ -154,180 +154,331 @@ function is_ie() { * 접속, 발송, URL발송, 결과등의 실질적으로 쓰이는 모든 부분이 포함되어 있다. */ -class SMS5 extends SMS { - var $Log = array(); - - function SMS_con($sms_server,$sms_id,$sms_pw,$port) { - $this->ID=$sms_id; // 계약 후 지정 - $this->PWD=$sms_pw; // 계약 후 지정 - $this->SMS_Server=$sms_server; - $this->SMS_Port=$port; - $this->ID = spacing($this->ID,10); - $this->PWD = spacing($this->PWD,10); - } - - /** - * 발송번호의 값이 정확한 값인지 확인합니다. - * - * @param strDest 발송번호 배열입니다. - * nCount 배열의 크기입니다. - * @return 처리결과입니다. - */ - function CheckCommonTypeDest($strDest, $nCount) { - for ($i=0; $i<$nCount; $i++) { - $hp_number = preg_replace("/[^0-9]/","",$strDest[$i]['bk_hp']); - if (strlen($hp_number)<10 || strlen($hp_number)>11) return "휴대폰 번호가 틀렸습니다"; - - $CID=substr($hp_number,0,3); - if ( preg_match("/[^0-9]/",$CID) || ($CID!='010' && $CID!='011' && $CID!='016' && $CID!='017' && $CID!='018' && $CID!='019') ) return "휴대폰 앞자리 번호가 잘못되었습니다"; +if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); + + class SMS5 extends LMS { + var $icode_id; + var $icode_pw; + var $socket_host; + var $socket_port; + var $socket_portcode; + var $send_type; + var $Data = array(); + var $Result = array(); + var $Log = array(); + + // SMS 서버 접속 + function SMS_con($host, $id, $pw, $portcode) { + $this->socket_host = $host; + $this->socket_portcode = $portcode; + $this->icode_id = FillSpace($id, 10); + $this->icode_pw = FillSpace($pw, 10); } - } - /** - * 회신번호의 값이 정확한 값인지 확인합니다. - * - * @param strDest 회신번호입니다. - * @return 처리결과입니다. - */ - function CheckCommonTypeCallBack($strCallBack) { - if (preg_match("/[^0-9]/", $strCallBack)) return "회신 전화번호가 잘못되었습니다"; - } + function Init() { + $this->Data = ""; // 발송하기 위한 패킷내용이 배열로 들어간다. + $this->Result = ""; // 발송결과값이 배열로 들어간다. + } + + function Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate="", $nCount) { + // EUC-KR로 변환 + $strCaller = iconv_euckr($strCaller); + $strSubject = iconv_euckr($strSubject); + $strData = iconv_euckr($strData); + + // 문자 타입별 Port 설정. + $sendType = strlen($strData) > 90 ? 1 : 0; // 0: SMS / 1: LMS + + /* 개발 완료 후 아래 포트를 rand 함수를 이용하는 라인으로 변경 바랍니다.*/ + + // 충전식 + if ($this->socket_portcode == 1) { + if($sendType && $sendType == 1) { + //$this->socket_port = 8200; // LMS + $this->socket_port=(int)rand(8200,8201); // LMS + } else { + //$this->socket_port = 6295; // SMS + $this->socket_port=(int)rand(6295,6297); // SMS + } + } + // 정액제 + else { + if($sendType && $sendType == 1) { + //$this->socket_port = 8300; // LMS + $this->socket_port=(int)rand(8300,8301); // LMS + } else { + //$this->socket_port = 6291; // SMS + $this->socket_port=(int)rand(6291,6293); // SMS + } + } + + $strCallBack = FillSpace($strCallBack, 11); // 회신번호 + $strDate = FillSpace($strDate, 12); // 즉시(12byte 공백), 예약전송(YmdHi) + + if ($sendType && $sendType == 1) { + + /** LMS 제목 **/ + /* + 제목필드의 값이 없을 경우 단말기 기종및 설정에 따라 표기 방법이 다름 + 1.설정에서 제목필드보기 설정 Disable -> 제목필드값을 넣어도 미표기 + 2.설정에서 제목필드보기 설정 Enable -> 제목을 넣지 않을 경우 제목없음으로 자동표시 + + 제목의 첫글자에 "<",">", 개행문자가 있을경우 단말기종류 및 통신사에 따라 메세지 전송실패 -> 글자를 체크하거나 취환처리요망 + */ + $strSubject = str_replace("\r\n", " ", $strSubject); + $strSubject = str_replace("<", "[", $strSubject); + $strSubject = str_replace(">", "]", $strSubject); + + $strSubject = FillSpace($strSubject,30); + $strData = FillSpace(CutChar($strData,1500),1500); + } else if (!$strURL) { + $strData = FillSpace(CutChar($strData,90),90); + $strCaller = FillSpace($strCaller,10); + } else { + $strURL = FillSpace($strURL,50); + } + $Error = CheckCommonTypeDest($strDest, $nCount); + $Error = is_vaild_callback($strCallBack); + $Error = CheckCommonTypeDate($strDate); - /** - * 예약날짜의 값이 정확한 값인지 확인합니다. - * - * @param text 원하는 문자열입니다. - * size 원하는 길이입니다. - * @return 처리결과입니다. - */ - function CheckCommonTypeDate($strDate) { - $strDate=preg_replace("/[^0-9]/","",$strDate); - if ($strDate) { - if (!checkdate(substr($strDate,4,2),substr($strDate,6,2),substr($rsvTime,0,4))) return "예약날짜가 잘못되었습니다"; - if (substr($strDate,8,2)>23 || substr($strDate,10,2)>59) return "예약시간이 잘못되었습니다"; + for ($i=0; $i<$nCount; $i++) { + $strDest[$i] = FillSpace($strDest[$i],11); + if ($sendType && $sendType == 1) { + $this->Data[$i] = '01144 '.$this->icode_id.$this->icode_pw.$strDest[$i].$strCallBack.$strSubject.$strDate.$strData; + } else if (!$strURL) { + $this->Data[$i] = '01144 '.$this->icode_id.$this->icode_pw.$strDest[$i].$strCallBack.$strCaller.$strDate.$strData; + } else { + $strData = FillSpace(CheckCallCenter($strURL, $strDest[$i], $strData),80); + $this->Data[$i] = '05173 '.$this->icode_id.$this->icode_pw.$strDest[$i].$strCallBack.$strURL.$strDate.$strData; + } + } + return true; } - } - /** - * URL콜백용으로 메세지 크기를 수정합니다. - * - * @param url URL 내용입니다. - * msg 결과메시지입니다. - * desk 문자내용입니다. - */ - function CheckCallCenter($url, $dest, $data) { - switch (substr($dest,0,3)) { - case '010': //20바이트 - return cut_char($data,20); - break; - case '011': //80바이트 - return cut_char($data,80); - break; - case '016': // 80바이트 - return cut_char($data,80); - break; - case '017': // URL 포함 80바이트 - return cut_char($data,80 - strlen($url)); - break; - case '018': // 20바이트 - return cut_char($data,20); - break; - case '019': // 20바이트 - return cut_char($data,20); - break; - default: - return cut_char($data,80); - break; + function Send() { + global $g5; + + if ($g5['sms5_demo_send']) { + foreach($this->Data as $puts) { + if (rand(0,10)) { + $phone = substr($puts,26,11); + $code = '47022497 '; + } else { + $phone = substr($puts,26,11); + $code = 'Error(02)'; + } + $this->Result[] = "$phone:$code"; + $this->Log[] = $puts; + } + $this->Data = ""; + return true; + exit; + } + + $fsocket = fsockopen($this->socket_host,$this->socket_port, $errno, $errstr, 2); + if (!$fsocket) return false; + set_time_limit(300); + + foreach($this->Data as $puts) { + fputs($fsocket, $puts); + while(!$gets) { $gets = fgets($fsocket,30); } + $dest = substr($puts,26,11); + if (substr($gets,0,19) == "0223 00".$dest) { + $this->Result[] = $dest.":".substr($gets,19,10); + $this->Log[] = $puts; + } else { + $this->Result[$dest] = $dest.":Error(".substr($gets,6,2).")"; + $this->Log[] = $puts; + } + $gets = ""; + } + + fclose($fsocket); + $this->Data = ""; + return true; } } - function Add($strDest, $strCallBack, $strCaller, $strURL, $strMessage, $strDate="", $nCount) { - global $g5; +} else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + class SMS5 extends SMS { + var $Log = array(); + + function SMS_con($sms_server,$sms_id,$sms_pw,$port) { + $this->ID=$sms_id; // 계약 후 지정 + $this->PWD=$sms_pw; // 계약 후 지정 + $this->SMS_Server=$sms_server; + $this->SMS_Port=$port; + $this->ID = spacing($this->ID,10); + $this->PWD = spacing($this->PWD,10); + } + + /** + * 발송번호의 값이 정확한 값인지 확인합니다. + * + * @param strDest 발송번호 배열입니다. + * nCount 배열의 크기입니다. + * @return 처리결과입니다. + */ + function CheckCommonTypeDest($strDest, $nCount) { + for ($i=0; $i<$nCount; $i++) { + $hp_number = preg_replace("/[^0-9]/","",$strDest[$i]['bk_hp']); + if (strlen($hp_number)<10 || strlen($hp_number)>11) return "휴대폰 번호가 틀렸습니다"; + + $CID=substr($hp_number,0,3); + if ( preg_match("/[^0-9]/",$CID) || ($CID!='010' && $CID!='011' && $CID!='016' && $CID!='017' && $CID!='018' && $CID!='019') ) return "휴대폰 앞자리 번호가 잘못되었습니다"; + } + } + + /** + * 회신번호의 값이 정확한 값인지 확인합니다. + * + * @param strDest 회신번호입니다. + * @return 처리결과입니다. + */ + function CheckCommonTypeCallBack($strCallBack) { + if (preg_match("/[^0-9]/", $strCallBack)) return "회신 전화번호가 잘못되었습니다"; + } - $Error = $this->CheckCommonTypeDest($strDest, $nCount); - $Error = $this->CheckCommonTypeCallBack($strCallBack); - $Error = $this->CheckCommonTypeDate($strDate); - $strCallBack = spacing($strCallBack,11); - $strCaller = spacing($strCaller,10); - $strDate = spacing($strDate,12); + /** + * 예약날짜의 값이 정확한 값인지 확인합니다. + * + * @param text 원하는 문자열입니다. + * size 원하는 길이입니다. + * @return 처리결과입니다. + */ + function CheckCommonTypeDate($strDate) { + $strDate=preg_replace("/[^0-9]/","",$strDate); + if ($strDate) { + if (!checkdate(substr($strDate,4,2),substr($strDate,6,2),substr($rsvTime,0,4))) return "예약날짜가 잘못되었습니다"; + if (substr($strDate,8,2)>23 || substr($strDate,10,2)>59) return "예약시간이 잘못되었습니다"; + } + } - for ($i=0; $i<$nCount; $i++) { - $hp_number = spacing($strDest[$i]['bk_hp'],11); - $strData = $strMessage; - if( !empty($strDest[$i]['bk_name']) ){ - $strData = str_replace("{이름}", $strDest[$i]['bk_name'], $strData); + /** + * URL콜백용으로 메세지 크기를 수정합니다. + * + * @param url URL 내용입니다. + * msg 결과메시지입니다. + * desk 문자내용입니다. + */ + function CheckCallCenter($url, $dest, $data) { + switch (substr($dest,0,3)) { + case '010': //20바이트 + return cut_char($data,20); + break; + case '011': //80바이트 + return cut_char($data,80); + break; + case '016': // 80바이트 + return cut_char($data,80); + break; + case '017': // URL 포함 80바이트 + return cut_char($data,80 - strlen($url)); + break; + case '018': // 20바이트 + return cut_char($data,20); + break; + case '019': // 20바이트 + return cut_char($data,20); + break; + default: + return cut_char($data,80); + break; } - // 아이코드에서는 문자에 utf-8 인코딩 형식을 아직 지원하지 않는다. - $strData = iconv('utf-8', "euc-kr", stripslashes($strData)); + } + function Add($strDest, $strCallBack, $strCaller, $strURL, $strMessage, $strDate="", $nCount) { + global $g5; - if (!$strURL) { - $strData = spacing(cut_char($strData,80),80); + $Error = $this->CheckCommonTypeDest($strDest, $nCount); + $Error = $this->CheckCommonTypeCallBack($strCallBack); + $Error = $this->CheckCommonTypeDate($strDate); - $this->Data[$i] = '01144 '.$this->ID.$this->PWD.$hp_number.$strCallBack.$strCaller.$strDate.$strData; - } else { - $strURL = spacing($strURL,50); - $strData = spacing($this->CheckCallCenter($strURL, $hp_number, $strData),80); + $strCallBack = spacing($strCallBack,11); + $strCaller = spacing($strCaller,10); + $strDate = spacing($strDate,12); - $this->Data[$i] = '05173 '.$this->ID.$this->PWD.$hp_number.$strCallBack.$strURL.$strDate.$strData; - } - } - return true; // 수정대기 - } - function Send() { - global $g5; + for ($i=0; $i<$nCount; $i++) { + $hp_number = spacing($strDest[$i]['bk_hp'],11); + $strData = $strMessage; + if( !empty($strDest[$i]['bk_name']) ){ + $strData = str_replace("{이름}", $strDest[$i]['bk_name'], $strData); + } + // 아이코드에서는 문자에 utf-8 인코딩 형식을 아직 지원하지 않는다. + $strData = iconv('utf-8', "euc-kr", stripslashes($strData)); + + if (!$strURL) { + $strData = spacing(cut_char($strData,80),80); - $count = 1; + $this->Data[$i] = '01144 '.$this->ID.$this->PWD.$hp_number.$strCallBack.$strCaller.$strDate.$strData; + } else { + $strURL = spacing($strURL,50); + $strData = spacing($this->CheckCallCenter($strURL, $hp_number, $strData),80); + + $this->Data[$i] = '05173 '.$this->ID.$this->PWD.$hp_number.$strCallBack.$strURL.$strDate.$strData; + } + } + return true; // 수정대기 + } + + function Send() { + global $g5; + + $count = 1; + + if ($g5['sms5_demo_send']) { + foreach($this->Data as $puts) { + if (rand(0,10)) { + $phone = substr($puts,26,11); + $code = '47022497 '; + } else { + $phone = substr($puts,26,11); + $code = 'Error(02)'; + } + $this->Result[] = "$phone:$code"; + $this->Log[] = $puts; + } + $this->Data = ""; + return true; + exit; + } + + $fsocket=fsockopen($this->SMS_Server,$this->SMS_Port); + if (!$fsocket) return false; + set_time_limit(300); + + ## php4.3.10일경우 + ## zend 최신버전으로 업해주세요.. + ## 또는 69번째 줄을 $this->Data as $tmp => $puts 로 변경해 주세요. - if ($g5['sms5_demo_send']) { foreach($this->Data as $puts) { - if (rand(0,10)) { - $phone = substr($puts,26,11); - $code = '47022497 '; + $dest = substr($puts,26,11); + fputs($fsocket, $puts); + while(!$gets) { + $gets = fgets($fsocket,30); + } + if (substr($gets,0,19) == "0223 00".$dest) { + $this->Result[] = $dest.":".substr($gets,19,10); + $this->Log[] = $puts; } else { - $phone = substr($puts,26,11); - $code = 'Error(02)'; + $this->Result[$dest] = $dest.":Error(".substr($gets,6,2).")"; + $this->Log[] = $puts; } - $this->Result[] = "$phone:$code"; - $this->Log[] = $puts; + $gets = ""; + + // 1천건씩 전송 후 5초 쉼 + if ($count++%1000 == 0) sleep(5); } + fclose($fsocket); $this->Data = ""; return true; - exit; } - - $fsocket=fsockopen($this->SMS_Server,$this->SMS_Port); - if (!$fsocket) return false; - set_time_limit(300); - - ## php4.3.10일경우 - ## zend 최신버전으로 업해주세요.. - ## 또는 69번째 줄을 $this->Data as $tmp => $puts 로 변경해 주세요. - - foreach($this->Data as $puts) { - $dest = substr($puts,26,11); - fputs($fsocket, $puts); - while(!$gets) { - $gets = fgets($fsocket,30); - } - if (substr($gets,0,19) == "0223 00".$dest) { - $this->Result[] = $dest.":".substr($gets,19,10); - $this->Log[] = $puts; - } else { - $this->Result[$dest] = $dest.":Error(".substr($gets,6,2).")"; - $this->Log[] = $puts; - } - $gets = ""; - - // 1천건씩 전송 후 5초 쉼 - if ($count++%1000 == 0) sleep(5); - } - fclose($fsocket); - $this->Data = ""; - return true; - } + } } ?> \ No newline at end of file diff --git a/plugin/sms5/write.php b/plugin/sms5/write.php index eb63d2739..4a9cf412e 100644 --- a/plugin/sms5/write.php +++ b/plugin/sms5/write.php @@ -1,6 +1,9 @@ diff --git a/shop/inicis/orderform.1.php b/shop/inicis/orderform.1.php index d55e1f64c..859b3d343 100644 --- a/shop/inicis/orderform.1.php +++ b/shop/inicis/orderform.1.php @@ -2,7 +2,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 // 전자결제를 사용할 때만 실행 -if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use']) { +if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use'] || $default['de_easy_pay_use']) { ?> diff --git a/shop/inicis/orderform.3.php b/shop/inicis/orderform.3.php index e0dca41bb..398d4d448 100644 --- a/shop/inicis/orderform.3.php +++ b/shop/inicis/orderform.3.php @@ -2,11 +2,11 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 // 전자결제를 사용할 때만 실행 -if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use']) { +if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use'] || $default['de_easy_pay_use']) { ?> - - \ No newline at end of file diff --git a/shop/lg/orderform.5.php b/shop/lg/orderform.5.php deleted file mode 100644 index 71e5bc1d2..000000000 --- a/shop/lg/orderform.5.php +++ /dev/null @@ -1,7 +0,0 @@ - - - - - \ No newline at end of file diff --git a/shop/lg/returnurl.php b/shop/lg/returnurl.php new file mode 100644 index 000000000..daef9660a --- /dev/null +++ b/shop/lg/returnurl.php @@ -0,0 +1,54 @@ + + + + + + + +
    + $value) { + echo ""; + } +?> +
    + + \ No newline at end of file diff --git a/shop/lg/xpay_request.php b/shop/lg/xpay_request.php new file mode 100644 index 000000000..385de9a8e --- /dev/null +++ b/shop/lg/xpay_request.php @@ -0,0 +1,92 @@ + 계약정보 -> 상점정보관리에서 확인하실수 있습니다) + * + * MD5 해쉬데이터 암호화 검증을 위해 + * LG유플러스에서 발급한 상점키(MertKey)를 환경설정 파일(lgdacom/conf/mall.conf)에 반드시 입력하여 주시기 바랍니다. + */ + +$xpay = new XPay($configPath, $CST_PLATFORM); + +// Mert Key 설정 +$xpay->set_config_value('t'.$LGD_MID, $config['cf_lg_mert_key']); +$xpay->set_config_value($LGD_MID, $config['cf_lg_mert_key']); + +$xpay->Init_TX($LGD_MID); +$LGD_HASHDATA = md5($LGD_MID.$LGD_OID.$LGD_AMOUNT.$LGD_TIMESTAMP.$xpay->config[$LGD_MID]); +/* + ************************************************* + * 2. MD5 해쉬암호화 (수정하지 마세요) - END + ************************************************* + */ + +$payReqMap['CST_PLATFORM'] = $CST_PLATFORM; // 테스트, 서비스 구분 +$payReqMap['LGD_WINDOW_TYPE'] = $LGD_WINDOW_TYPE; // 수정불가 +$payReqMap['CST_MID'] = $CST_MID; // 상점아이디 +$payReqMap['LGD_MID'] = $LGD_MID; // 상점아이디 +$payReqMap['LGD_OID'] = $LGD_OID; // 주문번호 +$payReqMap['LGD_BUYER'] = $LGD_BUYER; // 구매자 +$payReqMap['LGD_PRODUCTINFO'] = $LGD_PRODUCTINFO; // 상품정보 +$payReqMap['LGD_AMOUNT'] = $LGD_AMOUNT; // 결제금액 +$payReqMap['LGD_BUYEREMAIL'] = $LGD_BUYEREMAIL; // 구매자 이메일 +$payReqMap['LGD_CUSTOM_SKIN'] = $LGD_CUSTOM_SKIN; // 결제창 SKIN +$payReqMap['LGD_CUSTOM_PROCESSTYPE'] = $LGD_CUSTOM_PROCESSTYPE; // 트랜잭션 처리방식 +$payReqMap['LGD_TIMESTAMP'] = $LGD_TIMESTAMP; // 타임스탬프 +$payReqMap['LGD_HASHDATA'] = $LGD_HASHDATA; // MD5 해쉬암호값 +$payReqMap['LGD_RETURNURL'] = $LGD_RETURNURL; // 응답수신페이지 +$payReqMap['LGD_VERSION'] = $LGD_VERSION; // 버전정보 (삭제하지 마세요) +$payReqMap['LGD_CUSTOM_USABLEPAY'] = $LGD_CUSTOM_USABLEPAY; // 디폴트 결제수단 +$payReqMap['LGD_CUSTOM_SWITCHINGTYPE'] = $LGD_CUSTOM_SWITCHINGTYPE; // 신용카드 카드사 인증 페이지 연동 방식 +$payReqMap['LGD_WINDOW_VER'] = $LGD_WINDOW_VER; +$payReqMap['LGD_ENCODING'] = 'UTF-8'; +$payReqMap['LGD_ENCODING_RETURNURL'] = 'UTF-8'; + + +// 가상계좌(무통장) 결제연동을 하시는 경우 할당/입금 결과를 통보받기 위해 반드시 LGD_CASNOTEURL 정보를 LG 유플러스에 전송해야 합니다 . +$payReqMap['LGD_CASNOTEURL'] = $LGD_CASNOTEURL; // 가상계좌 NOTEURL + +//Return URL에서 인증 결과 수신 시 셋팅될 파라미터 입니다.*/ +$payReqMap['LGD_RESPCODE'] = ''; +$payReqMap['LGD_RESPMSG'] = ''; +$payReqMap['LGD_PAYKEY'] = ''; + +$_SESSION['PAYREQ_MAP'] = $payReqMap; + +die(json_encode(array('LGD_HASHDATA' => $LGD_HASHDATA, 'error' => ''))); +?> \ No newline at end of file diff --git a/shop/mypage.php b/shop/mypage.php index 321a47615..bb5d3afa2 100644 --- a/shop/mypage.php +++ b/shop/mypage.php @@ -1,13 +1,23 @@ - + diff --git a/shop/orderform.php b/shop/orderform.php index 3123f980a..a92a1d672 100644 --- a/shop/orderform.php +++ b/shop/orderform.php @@ -7,10 +7,8 @@ // 주문상품 재고체크 js 파일 add_javascript('', 0); -if (G5_IS_MOBILE) { - include_once(G5_MSHOP_PATH.'/orderform.php'); - return; -} +// 모바일 주문인지 +$is_mobile_order = is_mobile(); set_session("ss_direct", $sw_direct); // 장바구니가 비어있는가? @@ -24,1455 +22,51 @@ if (get_cart_count($tmp_cart_id) == 0) alert('장바구니가 비어 있습니다.', G5_SHOP_URL.'/cart.php'); -$g5['title'] = '주문서 작성'; - -// 전자결제를 사용할 때만 실행 -if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use']) { - switch($default['de_pg_service']) { - case 'lg': - $g5['body_script'] = ' onload="isActiveXOK();"'; - break; - case 'inicis': - $g5['body_script'] = ' onload="javascript:enable_click()"'; - break; - default: - $g5['body_script'] = ' onload="CheckPayplusInstall();"'; - break; - } -} - -include_once('./_head.php'); -if ($default['de_hope_date_use']) { - include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php'); -} - // 새로운 주문번호 생성 $od_id = get_uniqid(); set_session('ss_order_id', $od_id); $s_cart_id = $tmp_cart_id; -$order_action_url = G5_HTTPS_SHOP_URL.'/orderformupdate.php'; - -require_once('./settle_'.$default['de_pg_service'].'.inc.php'); - -// 결제대행사별 코드 include (스크립트 등) -require_once('./'.$default['de_pg_service'].'/orderform.1.php'); -?> - -
    -
    - -

    주문하실 상품을 확인하세요.

    - -
    - - - - - - - - - - - - - - - 0) - $good_info .= chr(30); - $good_info .= "seq=".($i+1).chr(31); - $good_info .= "ordr_numb={$od_id}_".sprintf("%04d", $i).chr(31); - $good_info .= "good_name=".addslashes($row['it_name']).chr(31); - $good_info .= "good_cntx=".$row['ct_qty'].chr(31); - $good_info .= "good_amtx=".$row['ct_price'].chr(31); - } - - $image = get_it_image($row['it_id'], 50, 50); - - $it_name = '' . stripslashes($row['it_name']) . ''; - $it_options = print_item_options($row['it_id'], $s_cart_id); - if($it_options) { - $it_name .= '
    '.$it_options.'
    '; - } - - // 복합과세금액 - if($default['de_tax_flag_use']) { - if($row['it_notax']) { - $comm_free_mny += $sum['price']; - } else { - $tot_tax_mny += $sum['price']; - } - } - - $point = $sum['point']; - $sell_price = $sum['price']; - - // 쿠폰 - if($is_member) { - $cp_button = ''; - $cp_count = 0; - - $sql = " select cp_id - from {$g5['g5_shop_coupon_table']} - where mb_id IN ( '{$member['mb_id']}', '전체회원' ) - and cp_start <= '".G5_TIME_YMD."' - and cp_end >= '".G5_TIME_YMD."' - and cp_minimum <= '$sell_price' - and ( - ( cp_method = '0' and cp_target = '{$row['it_id']}' ) - OR - ( cp_method = '1' and ( cp_target IN ( '{$row['ca_id']}', '{$row['ca_id2']}', '{$row['ca_id3']}' ) ) ) - ) "; - $res = sql_query($sql); - - for($k=0; $cp=sql_fetch_array($res); $k++) { - if(is_used_coupon($member['mb_id'], $cp['cp_id'])) - continue; - - $cp_count++; - } - - if($cp_count) { - $cp_button = ''; - $it_cp_count++; - } - } - - // 배송비 - switch($row['ct_send_cost']) - { - case 1: - $ct_send_cost = '착불'; - break; - case 2: - $ct_send_cost = '무료'; - break; - default: - $ct_send_cost = '선불'; - break; - } - - // 조건부무료 - if($row['it_sc_type'] == 2) { - $sendcost = get_item_sendcost($row['it_id'], $sum['price'], $sum['qty'], $s_cart_id); - - if($sendcost == 0) - $ct_send_cost = '무료'; - } - ?> - - - - - - - - - - - - - '; - alert('장바구니가 비어 있습니다.', G5_SHOP_URL.'/cart.php'); - } else { - // 배송비 계산 - $send_cost = get_sendcost($s_cart_id); - } - - // 복합과세처리 - if($default['de_tax_flag_use']) { - $comm_tax_mny = round(($tot_tax_mny + $send_cost) / 1.1); - $comm_vat_mny = ($tot_tax_mny + $send_cost) - $comm_tax_mny; - } - ?> - -
    상품이미지상품명총수량판매가쿠폰소계포인트배송비
    - - - - - - - - - -
    장바구니에 담긴 상품이 없습니다.
    -
    - - - - - -
    -
    주문
    -
    - 0) { ?> -
    쿠폰할인
    -
    0 원
    - -
    배송비
    -
    -
    총계
    -
    - - -
    -
    포인트
    -
    -
    - - - - - - - - - - - - - -
    -

    주문하시는 분

    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - 영,숫자 3~20자 (주문서 조회시 필요) - -
    주소 - - -
    - -
    - - -
    - -
    - -
    - - 이후로 배송 바랍니다. -
    -
    -
    - - - -
    -

    받으시는 분

    - -
    - - - '.PHP_EOL; - $addr_list .= ''.PHP_EOL; - - // 기본배송지 - $sql = " select * - from {$g5['g5_shop_order_address_table']} - where mb_id = '{$member['mb_id']}' - and ad_default = '1' "; - $row = sql_fetch($sql); - if($row['ad_id']) { - $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject']; - $addr_list .= ''.PHP_EOL; - $addr_list .= ''.PHP_EOL; - } - - // 최근배송지 - $sql = " select * - from {$g5['g5_shop_order_address_table']} - where mb_id = '{$member['mb_id']}' - and ad_default = '0' - order by ad_id desc - limit 1 "; - $result = sql_query($sql); - for($i=0; $row=sql_fetch_array($result); $i++) { - $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject']; - $val2 = ''; - $addr_list .= ' '.PHP_EOL.$val2.PHP_EOL; - } - - $addr_list .= ''.PHP_EOL; - $addr_list .= ''.PHP_EOL; - - $addr_list .='배송지목록'; - } else { - // 주문자와 동일 - $addr_list .= ''.PHP_EOL; - $addr_list .= ''.PHP_EOL; - } - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    배송지선택 - -
    - - - -
    주소 - - -
    - -
    - - -
    - -
    - -
    -
    -
    - - - - = '".G5_TIME_YMD."' - and cp_minimum <= '$tot_sell_price' "; - $res = sql_query($sql); - - for($k=0; $cp=sql_fetch_array($res); $k++) { - if(is_used_coupon($member['mb_id'], $cp['cp_id'])) - continue; - - $oc_cnt++; - } - - if($send_cost > 0) { - // 배송비쿠폰 - $sql = " select cp_id - from {$g5['g5_shop_coupon_table']} - where mb_id IN ( '{$member['mb_id']}', '전체회원' ) - and cp_method = '3' - and cp_start <= '".G5_TIME_YMD."' - and cp_end >= '".G5_TIME_YMD."' - and cp_minimum <= '$tot_sell_price' "; - $res = sql_query($sql); - - for($k=0; $cp=sql_fetch_array($res); $k++) { - if(is_used_coupon($member['mb_id'], $cp['cp_id'])) - continue; - - $sc_cnt++; - } - } - } - ?> - -
    -

    결제정보

    - -
    - - - 0) { ?> - - - - - - - - - - 0) { ?> - - - - - - - - - - - - - - - - - - -
    주문할인쿠폰 - - -
    주문할인금액0
    배송비할인쿠폰 - - -
    배송비할인금액0
    총 주문금액
    추가배송비0원 (지역에 따라 추가되는 도선료 등의 배송비입니다.)
    -
    - - 무통장입금 이외의 결제 수단으로 결제하시는 경우 포인트를 적립해드리지 않습니다.

    '; - - $multi_settle == 0; - $checked = ''; - - $escrow_title = ""; - if ($default['de_escrow_use']) { - $escrow_title = "에스크로 "; - } - - if ($default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) { - echo '
    '; - echo '결제방법 선택'; - } - - // 무통장입금 사용 - if ($default['de_bank_use']) { - $multi_settle++; - echo ' '.PHP_EOL; - $checked = ''; - } - - // 가상계좌 사용 - if ($default['de_vbank_use']) { - $multi_settle++; - echo ' '.PHP_EOL; - $checked = ''; - } - - // 계좌이체 사용 - if ($default['de_iche_use']) { - $multi_settle++; - echo ' '.PHP_EOL; - $checked = ''; - } - - // 휴대폰 사용 - if ($default['de_hp_use']) { - $multi_settle++; - echo ' '.PHP_EOL; - $checked = ''; - } - - // 신용카드 사용 - if ($default['de_card_use']) { - $multi_settle++; - echo ' '.PHP_EOL; - $checked = ''; - } - - $temp_point = 0; - // 회원이면서 포인트사용이면 - if ($is_member && $config['cf_use_point']) - { - // 포인트 결제 사용 포인트보다 회원의 포인트가 크다면 - if ($member['mb_point'] >= $default['de_settle_min_point']) - { - $temp_point = (int)$default['de_settle_max_point']; - - if($temp_point > (int)$tot_sell_price) - $temp_point = (int)$tot_sell_price; - - if($temp_point > (int)$member['mb_point']) - $temp_point = (int)$member['mb_point']; - - $point_unit = (int)$default['de_settle_point_unit']; - $temp_point = (int)((int)($temp_point / $point_unit) * $point_unit); - ?> -

    보유포인트()중 최대 까지 사용 가능

    - - - 점 (점 단위로 입력하세요.) - '.$str[0].PHP_EOL; - } - else - { - $bank_account = ''.PHP_EOL; - } - echo ''; - } - - if ($default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) { - echo '
    '; - } - - if ($multi_settle == 0) - echo '

    결제할 방법이 없습니다.
    운영자에게 알려주시면 감사하겠습니다.

    '; - ?> -
    - - - - - - - -
    - - - - \ No newline at end of file +if(G5_IS_MOBILE) + include_once(G5_MSHOP_PATH.'/_tail.php'); +else + include_once(G5_SHOP_PATH.'/_tail.php'); +?> diff --git a/shop/orderform.sub.php b/shop/orderform.sub.php new file mode 100644 index 000000000..cc5bc8d39 --- /dev/null +++ b/shop/orderform.sub.php @@ -0,0 +1,1492 @@ + + +
    +
    + +

    주문하실 상품을 확인하세요.

    + +
    + + + + + + + + + + + + + + + 0) + $good_info .= chr(30); + $good_info .= "seq=".($i+1).chr(31); + $good_info .= "ordr_numb={$od_id}_".sprintf("%04d", $i).chr(31); + $good_info .= "good_name=".addslashes($row['it_name']).chr(31); + $good_info .= "good_cntx=".$row['ct_qty'].chr(31); + $good_info .= "good_amtx=".$row['ct_price'].chr(31); + } + + $image = get_it_image($row['it_id'], 50, 50); + + $it_name = '' . stripslashes($row['it_name']) . ''; + $it_options = print_item_options($row['it_id'], $s_cart_id); + if($it_options) { + $it_name .= '
    '.$it_options.'
    '; + } + + // 복합과세금액 + if($default['de_tax_flag_use']) { + if($row['it_notax']) { + $comm_free_mny += $sum['price']; + } else { + $tot_tax_mny += $sum['price']; + } + } + + $point = $sum['point']; + $sell_price = $sum['price']; + + // 쿠폰 + if($is_member) { + $cp_button = ''; + $cp_count = 0; + + $sql = " select cp_id + from {$g5['g5_shop_coupon_table']} + where mb_id IN ( '{$member['mb_id']}', '전체회원' ) + and cp_start <= '".G5_TIME_YMD."' + and cp_end >= '".G5_TIME_YMD."' + and cp_minimum <= '$sell_price' + and ( + ( cp_method = '0' and cp_target = '{$row['it_id']}' ) + OR + ( cp_method = '1' and ( cp_target IN ( '{$row['ca_id']}', '{$row['ca_id2']}', '{$row['ca_id3']}' ) ) ) + ) "; + $res = sql_query($sql); + + for($k=0; $cp=sql_fetch_array($res); $k++) { + if(is_used_coupon($member['mb_id'], $cp['cp_id'])) + continue; + + $cp_count++; + } + + if($cp_count) { + $cp_button = ''; + $it_cp_count++; + } + } + + // 배송비 + switch($row['ct_send_cost']) + { + case 1: + $ct_send_cost = '착불'; + break; + case 2: + $ct_send_cost = '무료'; + break; + default: + $ct_send_cost = '선불'; + break; + } + + // 조건부무료 + if($row['it_sc_type'] == 2) { + $sendcost = get_item_sendcost($row['it_id'], $sum['price'], $sum['qty'], $s_cart_id); + + if($sendcost == 0) + $ct_send_cost = '무료'; + } + ?> + + + + + + + + + + + + + '; + alert('장바구니가 비어 있습니다.', G5_SHOP_URL.'/cart.php'); + } else { + // 배송비 계산 + $send_cost = get_sendcost($s_cart_id); + } + + // 복합과세처리 + if($default['de_tax_flag_use']) { + $comm_tax_mny = round(($tot_tax_mny + $send_cost) / 1.1); + $comm_vat_mny = ($tot_tax_mny + $send_cost) - $comm_tax_mny; + } + ?> + +
    상품이미지상품명총수량판매가쿠폰소계포인트배송비
    + + + + + + + + + +
    장바구니에 담긴 상품이 없습니다.
    +
    + + + + + +
    +
    주문
    +
    + 0) { ?> +
    쿠폰할인
    +
    0 원
    + +
    배송비
    +
    +
    총계
    +
    + + +
    +
    포인트
    +
    +
    + + + + + + + + + + + + + +
    +

    주문하시는 분

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + 영,숫자 3~20자 (주문서 조회시 필요) + +
    주소 + + +
    + +
    + + +
    + +
    + +
    + + 이후로 배송 바랍니다. +
    +
    +
    + + + +
    +

    받으시는 분

    + +
    + + + '.PHP_EOL; + $addr_list .= ''.PHP_EOL; + + // 기본배송지 + $sql = " select * + from {$g5['g5_shop_order_address_table']} + where mb_id = '{$member['mb_id']}' + and ad_default = '1' "; + $row = sql_fetch($sql); + if($row['ad_id']) { + $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject']; + $addr_list .= ''.PHP_EOL; + $addr_list .= ''.PHP_EOL; + } + + // 최근배송지 + $sql = " select * + from {$g5['g5_shop_order_address_table']} + where mb_id = '{$member['mb_id']}' + and ad_default = '0' + order by ad_id desc + limit 1 "; + $result = sql_query($sql); + for($i=0; $row=sql_fetch_array($result); $i++) { + $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject']; + $val2 = ''; + $addr_list .= ' '.PHP_EOL.$val2.PHP_EOL; + } + + $addr_list .= ''.PHP_EOL; + $addr_list .= ''.PHP_EOL; + + $addr_list .='배송지목록'; + } else { + // 주문자와 동일 + $addr_list .= ''.PHP_EOL; + $addr_list .= ''.PHP_EOL; + } + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    배송지선택 + +
    + + + +
    주소 + + +
    + +
    + + +
    + +
    + +
    +
    +
    + + + + = '".G5_TIME_YMD."' + and cp_minimum <= '$tot_sell_price' "; + $res = sql_query($sql); + + for($k=0; $cp=sql_fetch_array($res); $k++) { + if(is_used_coupon($member['mb_id'], $cp['cp_id'])) + continue; + + $oc_cnt++; + } + + if($send_cost > 0) { + // 배송비쿠폰 + $sql = " select cp_id + from {$g5['g5_shop_coupon_table']} + where mb_id IN ( '{$member['mb_id']}', '전체회원' ) + and cp_method = '3' + and cp_start <= '".G5_TIME_YMD."' + and cp_end >= '".G5_TIME_YMD."' + and cp_minimum <= '$tot_sell_price' "; + $res = sql_query($sql); + + for($k=0; $cp=sql_fetch_array($res); $k++) { + if(is_used_coupon($member['mb_id'], $cp['cp_id'])) + continue; + + $sc_cnt++; + } + } + } + ?> + +
    +

    결제정보

    + +
    + + + 0) { ?> + + + + + + + + + + 0) { ?> + + + + + + + + + + + + + + + + + + +
    주문할인쿠폰 + + +
    주문할인금액0
    배송비할인쿠폰 + + +
    배송비할인금액0
    총 주문금액
    추가배송비0원 (지역에 따라 추가되는 도선료 등의 배송비입니다.)
    +
    + + 무통장입금 이외의 결제 수단으로 결제하시는 경우 포인트를 적립해드리지 않습니다.

    '; + + $multi_settle == 0; + $checked = ''; + + $escrow_title = ""; + if ($default['de_escrow_use']) { + $escrow_title = "에스크로 "; + } + + if ($is_kakaopay_use || $default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use'] || $default['de_easy_pay_use']) { + echo '
    '; + echo '결제방법 선택'; + } + + // 카카오페이 + if($is_kakaopay_use) { + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + // 무통장입금 사용 + if ($default['de_bank_use']) { + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + // 가상계좌 사용 + if ($default['de_vbank_use']) { + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + // 계좌이체 사용 + if ($default['de_iche_use']) { + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + // 휴대폰 사용 + if ($default['de_hp_use']) { + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + // 신용카드 사용 + if ($default['de_card_use']) { + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + // PG 간편결제 + if($default['de_easy_pay_use']) { + switch($default['de_pg_service']) { + case 'lg': + $pg_easy_pay_name = 'PAYNOW'; + break; + case 'inicis': + $pg_easy_pay_name = 'KPAY'; + break; + default: + $pg_easy_pay_name = 'PAYCO'; + break; + } + + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + $temp_point = 0; + // 회원이면서 포인트사용이면 + if ($is_member && $config['cf_use_point']) + { + // 포인트 결제 사용 포인트보다 회원의 포인트가 크다면 + if ($member['mb_point'] >= $default['de_settle_min_point']) + { + $temp_point = (int)$default['de_settle_max_point']; + + if($temp_point > (int)$tot_sell_price) + $temp_point = (int)$tot_sell_price; + + if($temp_point > (int)$member['mb_point']) + $temp_point = (int)$member['mb_point']; + + $point_unit = (int)$default['de_settle_point_unit']; + $temp_point = (int)((int)($temp_point / $point_unit) * $point_unit); + ?> +

    보유포인트()중 최대 까지 사용 가능

    + + + 점 (점 단위로 입력하세요.) + '.$str[0].PHP_EOL; + } + else + { + $bank_account = ''.PHP_EOL; + } + echo ''; + } + + if ($default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) { + echo '
    '; + } + + if ($multi_settle == 0) + echo '

    결제할 방법이 없습니다.
    운영자에게 알려주시면 감사하겠습니다.

    '; + ?> +
    + + + + + + + +
    + + \ No newline at end of file diff --git a/shop/orderformupdate.php b/shop/orderformupdate.php index cb1041ac1..823423441 100644 --- a/shop/orderformupdate.php +++ b/shop/orderformupdate.php @@ -2,7 +2,7 @@ include_once('./_common.php'); include_once(G5_LIB_PATH.'/mailer.lib.php'); -if($od_settle_case != '무통장' && $default['de_pg_service'] == 'lg' && !$_POST['LGD_PAYKEY']) +if(($od_settle_case != '무통장' && $od_settle_case != 'KAKAOPAY') && $default['de_pg_service'] == 'lg' && !$_POST['LGD_PAYKEY']) alert('결제등록 요청 후 주문해 주십시오.'); // 장바구니가 비어있는가? @@ -377,22 +377,74 @@ if($od_misu == 0) $od_status = '입금'; } +else if ($od_settle_case == "간편결제") +{ + switch($default['de_pg_service']) { + case 'lg': + include G5_SHOP_PATH.'/lg/xpay_result.php'; + break; + case 'inicis': + include G5_SHOP_PATH.'/inicis/inipay_result.php'; + break; + default: + include G5_SHOP_PATH.'/kcp/pp_ax_hub.php'; + $card_name = iconv("cp949", "utf-8", $card_name); + break; + } + + $od_tno = $tno; + $od_app_no = $app_no; + $od_receipt_price = $amount; + $od_receipt_point = $i_temp_point; + $od_receipt_time = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/", "\\1-\\2-\\3 \\4:\\5:\\6", $app_time); + $od_bank_account = $card_name; + $pg_price = $amount; + $od_misu = $i_price - $od_receipt_price; + if($od_misu == 0) + $od_status = '입금'; +} +else if ($od_settle_case == "KAKAOPAY") +{ + include G5_SHOP_PATH.'/kakaopay/kakaopay_result.php'; + + $od_tno = $tno; + $od_app_no = $app_no; + $od_receipt_price = $amount; + $od_receipt_point = $i_temp_point; + $od_receipt_time = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/", "\\1-\\2-\\3 \\4:\\5:\\6", $app_time); + $od_bank_account = $card_name; + $pg_price = $amount; + $od_misu = $i_price - $od_receipt_price; + if($od_misu == 0) + $od_status = '입금'; +} else { die("od_settle_case Error!!!"); } +$od_pg = $default['de_pg_service']; +if($od_settle_case == 'KAKAOPAY') + $od_pg = 'KAKAOPAY'; + // 주문금액과 결제금액이 일치하는지 체크 if($tno) { if((int)$order_price !== (int)$pg_price) { $cancel_msg = '결제금액 불일치'; - switch($default['de_pg_service']) { + switch($od_pg) { case 'lg': include G5_SHOP_PATH.'/lg/xpay_cancel.php'; break; case 'inicis': include G5_SHOP_PATH.'/inicis/inipay_cancel.php'; break; + case 'KAKAOPAY': + $_REQUEST['TID'] = $tno; + $_REQUEST['Amt'] = $amount; + $_REQUEST['CancelMsg'] = $cancel_msg; + $_REQUEST['PartialCancelCode'] = 0; + include G5_SHOP_PATH.'/kakaopay/kakaopay_cancel.php'; + break; default: include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; break; @@ -424,7 +476,6 @@ $od_free_mny = (int)$_POST['comm_free_mny']; } -$od_pg = $default['de_pg_service']; $od_email = get_email_address($od_email); $od_name = clean_xss_tags($od_name); $od_tel = clean_xss_tags($od_tel); @@ -445,6 +496,7 @@ $od_b_addr_jibeon = preg_match("/^(N|R)$/", $od_b_addr_jibeon) ? $od_b_addr_jibeon : ''; $od_memo = clean_xss_tags($od_memo); $od_deposit_name = clean_xss_tags($od_deposit_name); +$od_tax_flag = $default['de_tax_flag_use']; // 주문서에 입력 $sql = " insert {$g5['g5_shop_order_table']} @@ -488,7 +540,7 @@ od_tno = '$od_tno', od_app_no = '$od_app_no', od_escrow = '$od_escrow', - od_tax_flag = '{$default['de_tax_flag_use']}', + od_tax_flag = '$od_tax_flag', od_tax_mny = '$od_tax_mny', od_vat_mny = '$od_vat_mny', od_free_mny = '$od_free_mny', @@ -505,13 +557,20 @@ if(!$result) { if($tno) { $cancel_msg = '주문정보 입력 오류'; - switch($default['de_pg_service']) { + switch($od_pg) { case 'lg': include G5_SHOP_PATH.'/lg/xpay_cancel.php'; break; case 'inicis': include G5_SHOP_PATH.'/inicis/inipay_cancel.php'; break; + case 'KAKAOPAY': + $_REQUEST['TID'] = $tno; + $_REQUEST['Amt'] = $amount; + $_REQUEST['CancelMsg'] = $cancel_msg; + $_REQUEST['PartialCancelCode'] = 0; + include G5_SHOP_PATH.'/kakaopay/kakaopay_cancel.php'; + break; default: include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; break; @@ -522,7 +581,7 @@ $error = 'order'; include G5_SHOP_PATH.'/ordererrormail.php'; - die('

    고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

    '.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); + die('

    고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

    '.strtoupper($od_pg).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); } // 장바구니 상태변경 @@ -544,13 +603,20 @@ if(!$result) { if($tno) { $cancel_msg = '주문상태 변경 오류'; - switch($default['de_pg_service']) { + switch($od_pg) { case 'lg': include G5_SHOP_PATH.'/lg/xpay_cancel.php'; break; case 'inicis': include G5_SHOP_PATH.'/inicis/inipay_cancel.php'; break; + case 'KAKAOPAY': + $_REQUEST['TID'] = $tno; + $_REQUEST['Amt'] = $amount; + $_REQUEST['CancelMsg'] = $cancel_msg; + $_REQUEST['PartialCancelCode'] = 0; + include G5_SHOP_PATH.'/kakaopay/kakaopay_cancel.php'; + break; default: include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; break; @@ -564,7 +630,7 @@ // 주문삭제 sql_query(" delete from {$g5['g5_shop_order_table']} where od_id = '$od_id' "); - die('

    고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

    '.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); + die('

    고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

    '.strtoupper($od_pg).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); } // 회원이면서 포인트를 사용했다면 테이블에 사용을 추가 @@ -657,11 +723,8 @@ $recv_numbers = array($od_hp, $default['de_sms_hp']); $send_numbers = array($default['de_admin_company_tel'], $od_hp); - include_once(G5_LIB_PATH.'/icode.sms.lib.php'); - - $SMS = new SMS; // SMS 연결 - $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); $sms_count = 0; + $sms_messages = array(); for($s=0; $sAdd($recv_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content)), ""); + $sms_messages[] = array('recv' => $recv_number, 'send' => $send_number, 'cont' => $sms_content); $sms_count++; } } @@ -690,12 +753,58 @@ $recv_number = preg_replace("/[^0-9]/", "", $od_hp); $send_number = preg_replace("/[^0-9]/", "", $default['de_admin_company_tel']); - $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", $sms_content), ""); + + $sms_messages[] = array('recv' => $recv_number, 'send' => $send_number, 'cont' => $sms_content); $sms_count++; } - if($sms_count > 0) - $SMS->Send(); + // SMS 전송 + if($sms_count > 0) { + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); + + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + for($s=0; $sAdd($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + + for($s=0; $sAdd($recv_number, $send_number, $config['cf_icode_id'], $sms_content, ""); + } + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } } } // SMS END -------------------------------------------------------- diff --git a/shop/orderinquiry.sub.php b/shop/orderinquiry.sub.php index ad3227a44..270411d93 100644 --- a/shop/orderinquiry.sub.php +++ b/shop/orderinquiry.sub.php @@ -2,6 +2,16 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 if (!defined("_ORDERINQUIRY_")) exit; // 개별 페이지 접근 불가 + +// 테마에 orderinquiry.sub.php 있으면 include +if(defined('G5_THEME_SHOP_PATH')) { + $theme_inquiry_file = G5_THEME_SHOP_PATH.'/orderinquiry.sub.php'; + if(is_file($theme_inquiry_file)) { + include_once($theme_inquiry_file); + return; + unset($theme_inquiry_file); + } +} ?> diff --git a/shop/orderinquiryview.php b/shop/orderinquiryview.php index 117ed5de8..b8a5634d8 100644 --- a/shop/orderinquiryview.php +++ b/shop/orderinquiryview.php @@ -1,11 +1,6 @@ 결제방식 - + 결제금액 @@ -379,6 +406,14 @@ 영수증 출력 + 영수증 출력 + diff --git a/shop/personalpayform.php b/shop/personalpayform.php index 39a3eabf3..802207a49 100644 --- a/shop/personalpayform.php +++ b/shop/personalpayform.php @@ -1,10 +1,8 @@ 0 "; $pp = sql_fetch($sql); @@ -18,23 +16,26 @@ $g5['title'] = $pp['pp_name'].'님 개인결제'; // 전자결제를 사용할 때만 실행 -if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use']) { - switch($default['de_pg_service']) { - case 'lg': - $g5['body_script'] = ' onload="isActiveXOK();"'; - break; - case 'inicis': - $g5['body_script'] = ' onload="javascript:enable_click()"'; - break; - default: - $g5['body_script'] = ' onload="CheckPayplusInstall();"'; - break; +if(!$is_mobile_pay) { + if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use']) { + switch($default['de_pg_service']) { + case 'lg': + $g5['body_script'] = ''; + break; + case 'inicis': + $g5['body_script'] = ' onload="javascript:enable_click()"'; + break; + default: + $g5['body_script'] = ' onload="CheckPayplusInstall();"'; + break; + } } } -include_once('./_head.php'); - -$action_url = G5_HTTPS_SHOP_URL.'/personalpayformupdate.php'; +if(G5_IS_MOBILE) + include_once(G5_MSHOP_PATH.'/_head.php'); +else + include_once(G5_SHOP_PATH.'/_head.php'); // 개인결제 체크를 위한 hash $hash_data = md5($pp['pp_id'].$pp['pp_price'].$pp['pp_time']); @@ -55,286 +56,17 @@ $tot_price = $pp['pp_price']; $goods = $pp['pp_name'].'님 개인결제'; -require_once('./settle_'.$default['de_pg_service'].'.inc.php'); - -// 결제대행사별 코드 include (스크립트 등) -require_once('./'.$default['de_pg_service'].'/orderform.1.php'); -?> - -

    - - - - -
    -

    개인결제정보

    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    상세내용
    결제금액
    -
    - - '; - echo '결제방법 선택'; - } - - // 가상계좌 사용 - if ($default['de_vbank_use']) { - $multi_settle++; - echo ' '.PHP_EOL; - $checked = ''; - } - - // 계좌이체 사용 - if ($default['de_iche_use']) { - $multi_settle++; - echo ' '.PHP_EOL; - $checked = ''; - } - - // 휴대폰 사용 - if ($default['de_hp_use']) { - $multi_settle++; - echo ' '.PHP_EOL; - $checked = ''; - } - - // 신용카드 사용 - if ($default['de_card_use']) { - $multi_settle++; - echo ' '.PHP_EOL; - $checked = ''; - } - - if ($default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) { - echo ''; - - } - - if ($multi_settle == 0) - echo '

    결제할 방법이 없습니다.
    운영자에게 알려주시면 감사하겠습니다.

    '; - ?> -
    - - - -
    - - - - - - \ No newline at end of file diff --git a/shop/personalpayform.sub.php b/shop/personalpayform.sub.php new file mode 100644 index 000000000..680c60e1e --- /dev/null +++ b/shop/personalpayform.sub.php @@ -0,0 +1,275 @@ + + +
    + + + + +
    +

    개인결제정보

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    상세내용
    결제금액
    +
    + + '; + echo '결제방법 선택'; + } + + // 가상계좌 사용 + if ($default['de_vbank_use']) { + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + // 계좌이체 사용 + if ($default['de_iche_use']) { + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + // 휴대폰 사용 + if ($default['de_hp_use']) { + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + // 신용카드 사용 + if ($default['de_card_use']) { + $multi_settle++; + echo ' '.PHP_EOL; + $checked = ''; + } + + if ($default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) { + echo ''; + + } + + if ($multi_settle == 0) + echo '

    결제할 방법이 없습니다.
    운영자에게 알려주시면 감사하겠습니다.

    '; + ?> +
    + + + +
    + + + + \ No newline at end of file diff --git a/shop/personalpayformupdate.php b/shop/personalpayformupdate.php index 59c66dad4..556782289 100644 --- a/shop/personalpayformupdate.php +++ b/shop/personalpayformupdate.php @@ -5,9 +5,6 @@ if($default['de_pg_service'] == 'lg' && !$_POST['LGD_PAYKEY']) alert('결제등록 요청 후 결제해 주십시오.'); -if($default['de_pg_service'] == 'inicis' && !$_POST['P_HASH']) - alert('결제등록 요청 후 결제해 주십시오.'); - // 개인결제 정보 $pp_check = false; $sql = " select * from {$g5['g5_shop_personalpay_table']} where pp_id = '{$_POST['pp_id']}' and pp_use = '1' "; diff --git a/shop/settle_kakaopay.inc.php b/shop/settle_kakaopay.inc.php new file mode 100644 index 000000000..4032d6b51 --- /dev/null +++ b/shop/settle_kakaopay.inc.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/shop/settle_kcp.inc.php b/shop/settle_kcp.inc.php index 883bc972a..1473bcf6b 100644 --- a/shop/settle_kcp.inc.php +++ b/shop/settle_kcp.inc.php @@ -32,6 +32,12 @@ $g_conf_site_cd = $default['de_kcp_mid']; $g_conf_site_key = $default['de_kcp_site_key']; +// 테스트 결제 때 PAYCO site_cd, site_key 재설정 +if($default['de_card_test'] && isset($_POST['od_settle_case']) && $_POST['od_settle_case'] == '간편결제') { + $g_conf_site_cd = 'S6729'; + $g_conf_site_key = ''; +} + if (preg_match("/^T000/", $g_conf_site_cd) || $default['de_card_test']) { $g_conf_gw_url = "testpaygw.kcp.co.kr"; // real url : paygw.kcp.co.kr , test url : testpaygw.kcp.co.kr } diff --git a/shop/settle_lg.inc.php b/shop/settle_lg.inc.php index 3c36b6daa..c941ace1b 100644 --- a/shop/settle_lg.inc.php +++ b/shop/settle_lg.inc.php @@ -26,6 +26,10 @@ public function set_config_value($key, $val) $LGD_CUSTOM_SKIN = 'red'; //상점정의 결제창 스킨 (red, purple, yellow) $LGD_WINDOW_VER = '2.5'; //결제창 버젼정보 $LGD_MERTKEY = ''; //상점MertKey(mertkey는 상점관리자 -> 계약정보 -> 상점정보관리에서 확인하실수 있습니다) +$LGD_WINDOW_TYPE = 'iframe'; //결제창 호출 방식 +$LGD_CUSTOM_SWITCHINGTYPE = 'IFRAME'; //신용카드 카드사 인증 페이지 연동 방식 +$LGD_RETURNURL = G5_SHOP_URL.'/lg/returnurl.php'; //LGD_RETURNURL 을 설정하여 주시기 바랍니다. 반드시 현재 페이지와 동일한 프로트콜 및 호스트이어야 합니다. 아래 부분을 반드시 수정하십시요. +$LGD_VERSION = 'PHP_Non-ActiveX_Standard'; // 버전정보 (삭제하지 마세요) // 결제가능 수단 $useablepay = array(); diff --git a/shop/wishlist.php b/shop/wishlist.php index 6491c76cd..6b81f656d 100644 --- a/shop/wishlist.php +++ b/shop/wishlist.php @@ -1,13 +1,23 @@ " id="wr_subject" required class="frm_input required" size="50" maxlength="255"> +
    임시 저장된 글 목록 diff --git a/skin/board/gallery/write.skin.php b/skin/board/gallery/write.skin.php index 898489957..e8bcf7bd6 100644 --- a/skin/board/gallery/write.skin.php +++ b/skin/board/gallery/write.skin.php @@ -111,6 +111,7 @@ +
    임시 저장된 글 목록 diff --git a/skin/member/basic/formmail.skin.php b/skin/member/basic/formmail.skin.php index 76e7bc910..9f821b06a 100644 --- a/skin/member/basic/formmail.skin.php +++ b/skin/member/basic/formmail.skin.php @@ -14,7 +14,7 @@ - + diff --git a/skin/member/basic/register_form.skin.php b/skin/member/basic/register_form.skin.php index f531052ae..3f2076758 100644 --- a/skin/member/basic/register_form.skin.php +++ b/skin/member/basic/register_form.skin.php @@ -22,8 +22,8 @@ date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?> - - + +
    @@ -60,7 +60,7 @@ 아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다. - class="frm_input " size="10"> + class="frm_input " size="10"> 닉네임을 바꾸시면 앞으로 일 이내에는 변경 할 수 없습니다. - - + + @@ -116,14 +116,14 @@ - class="frm_input " size="70" maxlength="255"> + class="frm_input " size="70" maxlength="255"> - class="frm_input " maxlength="20"> + class="frm_input " maxlength="20"> @@ -131,9 +131,9 @@ - class="frm_input " maxlength="20"> + class="frm_input " maxlength="20"> - + @@ -149,14 +149,14 @@ class="frm_input " size="5" maxlength="6">
    - class="frm_input frm_address " size="50"> + class="frm_input frm_address " size="50">
    - +
    - + - + diff --git a/skin/member/basic/register_form_update.tail.skin.php b/skin/member/basic/register_form_update.tail.skin.php index 64889697a..b16c52a14 100644 --- a/skin/member/basic/register_form_update.tail.skin.php +++ b/skin/member/basic/register_form_update.tail.skin.php @@ -18,12 +18,40 @@ { if ($config['cf_sms_use'] == 'icode') { - include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); - $SMS = new SMS; // SMS 연결 - $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); - $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_contents)), ""); - $SMS->Send(); + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + $strDest = array(); + $strDest[] = $receive_number; + $strCallBack = $send_number; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_contents); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv_euckr(stripslashes($sms_contents)), ""); + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } } } //---------------------------------------------------------- diff --git a/skin/popular/basic/popular.skin.php b/skin/popular/basic/popular.skin.php index 14fe12281..49e0b99e6 100644 --- a/skin/popular/basic/popular.skin.php +++ b/skin/popular/basic/popular.skin.php @@ -11,7 +11,7 @@

    인기검색어

      -
    • +
    diff --git a/skin/qa/basic/write.skin.php b/skin/qa/basic/write.skin.php index d81465a50..088914615 100644 --- a/skin/qa/basic/write.skin.php +++ b/skin/qa/basic/write.skin.php @@ -53,7 +53,7 @@ - class="frm_input email" size="50" maxlength="100"> + class="frm_input email" size="50" maxlength="100"> > @@ -64,7 +64,7 @@ - class="frm_input" size="30"> + class="frm_input" size="30"> > 답변등록 SMS알림 수신 @@ -75,7 +75,7 @@ - + diff --git a/skin/shop/basic/itemqaform.skin.php b/skin/shop/basic/itemqaform.skin.php index 4662f3e52..9a3aeceac 100644 --- a/skin/shop/basic/itemqaform.skin.php +++ b/skin/shop/basic/itemqaform.skin.php @@ -30,11 +30,11 @@ - 이메일을 입력하시면 답변 등록 시 답변이 이메일로 전송됩니다. + 이메일을 입력하시면 답변 등록 시 답변이 이메일로 전송됩니다. - 휴대폰번호를 입력하시면 답변 등록 시 답변등록 알림이 SMS로 전송됩니다. + 휴대폰번호를 입력하시면 답변 등록 시 답변등록 알림이 SMS로 전송됩니다. diff --git a/theme/basic/css/default_shop.css b/theme/basic/css/default_shop.css index ba2f13246..e530b69e4 100644 --- a/theme/basic/css/default_shop.css +++ b/theme/basic/css/default_shop.css @@ -100,9 +100,9 @@ a:hover, a:focus, a:active {color:#000;text-decoration:underline} #captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} #captcha #captcha_img {width:100px;height:41px;border:1px solid #e9e9e9} #captcha #captcha_mp3 {position:absolute;top:0;left:101px;;margin:0;padding:0;width:23px;height:22px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer} -#captcha #captcha_mp3 span {position:absolute;top:0;left:0;width:23px;height:22px;background:url('../plugin/kcaptcha/img/sound.gif')} +#captcha #captcha_mp3 span {position:absolute;top:0;left:0;width:23px;height:22px;background:url('../../../plugin/kcaptcha/img/sound.gif')} #captcha #captcha_reload {position:absolute;top:21px;left:101px;margin:0;padding:0;width:23px;height:22px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer} -#captcha #captcha_reload span {position:absolute;top:0;left:0;width:23px;height:22px;background:url('../plugin/kcaptcha/img/reload.gif')} +#captcha #captcha_reload span {position:absolute;top:0;left:0;width:23px;height:22px;background:url('../../../plugin/kcaptcha/img/reload.gif')} #captcha #captcha_key {margin:0 0 0 25px;padding:0 5px;width:70px;height:41px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:2.8em} #captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em} @@ -390,6 +390,11 @@ a.btn_admin:focus, a.btn_admin:hover {text-decoration:none} #sod_frm_paysel {margin:0 0 20px;padding:10px;border:1px solid #e9e9e9;background:#f2f5f9;text-align:center} #sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sod_frm_paysel .KPAY{background:url('../../../img/kpay_logo.png') no-repeat;padding-left:37px;display:inline-block} +#sod_frm_paysel .PAYNOW{background:url('../../../img/paynow_logo.png') no-repeat;padding-left:46px;display:inline-block} +#sod_frm_paysel .PAYCO{background:url('../../../img/payco_logo.png') no-repeat 1px;padding-left:46px;display:inline-block} +.kakaopay_icon{background:url('../../../img/kakao.png') no-repeat ;height:21px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px} + #settle_bank {margin:10px 0 0} #sod_frm_escrow {margin:30px 0 0} @@ -516,4 +521,60 @@ a.btn_admin:focus, a.btn_admin:hover {text-decoration:none} /* 쿠폰 */ #coupon .td_numbig {width:150px} -#coupon .td_datetime {width:180px} \ No newline at end of file +#coupon .td_datetime {width:180px} + +/* 모바일일때 피시버전 주문폼*/ +.sod_list {position:relative;margin:0;padding:0;list-style:none} +.sod_list .sod_li {position:relative;padding:0;border:1px solid #e9e9e9;margin:10px 0} +.sod_list .sod_li:after {display:block;visibility:hidden;clear:both;content:""} +.sod_list .li_chk{position:absolute;top:10px;left:10px;} +.sod_list .li_name{min-height:130px} +.sod_list .li_name a,.sod_list .li_name strong{display:block;padding: 0 10px 0 25px;border-bottom:1px solid #e9e9e9;height:35px;line-height:35px} +.sod_list .li_name strong{padding-left:10px} +.sod_list .total_img{position:absolute;top:45px;left:10px;} +.sod_list .sod_opt{padding:10px 10px 5px;margin-left:90px;color:#9e9e9e;font-size:0.93em;background:none;border:none} +.sod_list .sod_opt li{margin-bottom:3px;border:none} +.sod_list .li_cp{position:relative} +.sod_list .li_cp .cp_btn, .sod_list .li_cp .cp_cancel, .sod_list .li_mod .mod_btn {margin:0;padding:5px 8px;border:0;background:#000;color:#fff;font-size:0.93em} +.sod_list .li_cp .cp_cancel,.odf_tbl #od_coupon_cancel,.odf_tbl #sc_coupon_cancel{border:1px solid #999;color:#777;background:#fafafa;margin-left:3px;padding:4px 5px} +.sod_list .li_prqty{margin:10px;} +.sod_list .li_prqty:after {display:block;visibility:hidden;clear:both;content:""} +.sod_list .li_prqty .li_prqty_sp{width:33%;display:inline-block;float:left;text-align:center;line-height:2.2em;border-top:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3;border-left:1px solid #e9e9e9;color:#9e9e9e;font-size:0.93em;margin-left:-1px} +.sod_list .li_prqty .prqty_price{border-left:1px solid #d3d3d3;} +.sod_list .li_prqty .prqty_sc{border-right:1px solid #d3d3d3;} +.sod_list .li_prqty .li_prqty_sp span{display:block;background:#f2f2f2;} +.sod_list .li_total {position:relative;border-top:1px solid #e9e9e9;margin:10px 10px 0;} +.sod_list .total_span {display:block;position:relative;padding:5px 0;text-align:right;color:#343434} +.sod_list .total_span span{position:absolute;top:5px;left:0} +.sod_list .total_span strong{font-size:1.2em} + +#sod_frm {} +#sod_frm section{margin-bottom:10px} +#sod_frm p#sod_frm_pt_alert {margin:20px 0;text-align:center } +#sod_bsk_list #mod_option_frm .sit_ov_tbl{background:#ededed;margin-top:5px} +#sod_bsk_list #mod_option_frm .sit_ov_tbl th,#sod_bsk_list #mod_option_frm .sit_ov_tbl td{border:none;padding-left:5px;font-weight:normal} +#sod_bsk_list #mod_option_frm .sit_ov_tbl th{width:90px} + #cp_frm {height:auto;max-height:10000px !important;position:absolute;top:0;left:0;width:70%;background:#fff;padding:20px;border:1px solid #000;z-index:9999} +#sod_frm_deli {position:relative;line-height:2em} +#sod_frm_deli #order_address {display:block;;width:100px;background:#333;color:#fff;text-align:center} +#sod_frm_orderer {margin:15px 0 30px} +#sod_frm_orderer #od_addr_jibeon, #sod_frm_taker #od_b_addr_jibeon {display:inline-block;margin:5px 0 0} +#sod_frm .odf_tbl table{width:100%;margin:0;padding:0;border-top:1px solid #e9e9e9;border-left:1px solid #e9e9e9;border-right:1px solid #e9e9e9;border-collapse:collapse} +#sod_frm .odf_tbl table tbody td,#sod_frm .odf_tbl table tbody th{;border-bottom:1px solid #e9e9e9;padding:5px 0px 5px 10px ;text-align:left;line-height:26px;position:relative;} +#sod_frm .odf_tbl table th{width:90px;color:#343434;font-weight:normal;letter-spacing:-0.1em} +#sod_frm .odf_tbl table .frm_input{background-color:#fff !important;height:24px;line-height:24px;text-indent:5px} +#sod_frm .odf_tbl table .frm_address{margin-top:5px} +#sod_frm .odf_tbl button.btn_frmline{font-size:0.92em;padding:0 8px;height:26px;line-height:26px} +#sod_frm .odf_tbl textarea{width:99%;border:1px solid #e4eaec;} +#sod_frm_same {margin:0 0 10px} +#sod_frm_pay {position:relative} +#sod_frm_pay .tbl_head01 caption {font-size:0;line-height:0;overflow:hidden} +#sod_frm_pay .tbl_head01 th {width:auto !important;font-weight:bold;text-align:center !important} +#sod_frm_pay .tbl_head01 td {border-top:1px solid #e9e9e9 !important;border-bottom:1px solid #e9e9e9 !important;line-height:1.5em !important;word-break:break-all !important} + +html.no-overflowscrolling #sc_coupon_frm, html.no-overflowscrolling #od_coupon_frm {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#sod_frm_pay_info {margin:0 0 10px} +#sod_frm_paysel {margin:10px 0 ;padding:10px;background:#f2f2f2;border:1px solid #e0e0e0} +#sod_frm_paysel ul {margin:0;padding:0;} +#sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""} +#sod_frm_paysel li {float:left;padding:5px 2%;width:46%;height:21px;text-align:left;list-style:none} diff --git a/theme/basic/css/mobile_shop.css b/theme/basic/css/mobile_shop.css index 3376f6d22..aa29ee0e7 100644 --- a/theme/basic/css/mobile_shop.css +++ b/theme/basic/css/mobile_shop.css @@ -350,7 +350,13 @@ html.no-overflowscrolling #sc_coupon_frm, html.no-overflowscrolling #od_coupon_f #sod_frm_paysel {margin:10px 0 ;padding:10px;background:#f2f2f2;border:1px solid #e0e0e0} #sod_frm_paysel ul {margin:0;padding:0;} #sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""} -#sod_frm_paysel li {float:left;padding:5px 2%;width:46%} +#sod_frm_paysel li {float:left;padding:5px 2%;width:46%;height:21px} +#sod_frm_paysel .KPAY{background:url('../../../img/kpay_logo.png') no-repeat;padding-left:37px;} +#sod_frm_paysel .PAYNOW{background:url('../../../img/paynow_logo.png') no-repeat;padding-left:46px;} +#sod_frm_paysel .PAYCO{background:url('../../../img/payco_logo.png') no-repeat 1px ;padding-left:46px;} +.kakaopay_icon{background:url('../../../img/kakao.png') no-repeat ;height:21px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px} + + #sod_frm_paysel #settle_bank {padding:10px;background:#fff;line-height:2em;border:1px solid #dbdbdb} #sod_frm_paysel #settle_bank label {display:inline-block;margin:0 10px 0 0;font-weight:bold} #sod_frm_paysel #settle_bank .frm_input {background:#fff;text-align:center} @@ -705,4 +711,18 @@ a.btn_admin:focus, a.btn_admin:hover {text-decoration:none} /*이벤트*/ #sev_hhtml,#sev_thtml{padding:10px} -#sev_hhtml img,#sev_thtml img{width:100%} \ No newline at end of file +#sev_hhtml img,#sev_thtml img{width:100%} + +/*피시일때 모바일버전 주문폼*/ +#sod_frm {position:relative} +#sod_frm p{margin-bottom:10px} +#forderform .tbl_frm01 th{border-bottom:1px solid #e9e9e9;background:#f7f7f7;padding-left:10px} +#sod_list thead th{padding:8px 0 } +#sod_list .sod_opt{min-width:70px} +#sod_frm #display_pay_button .btn01{width: 49%;text-align: center;padding: 11px 0px;background: #fff;border: 1px solid #34B5A1;color:#34B5A1} + +/*피시일때 모바일버전 개인결제폼*/ +#sod_frm_pay{padding:10px} +#sod_frm_pay h2{padding:10px 0 10px} +#display_pay_button .btn_submit{padding:8px 5px} +#sod_frm_paysel{text-align:center} \ No newline at end of file diff --git a/theme/basic/head.sub.php b/theme/basic/head.sub.php index ebe48081b..fc9159a1e 100644 --- a/theme/basic/head.sub.php +++ b/theme/basic/head.sub.php @@ -89,7 +89,7 @@ else if ($is_admin == 'group') $sr_admin_msg = "그룹관리자 "; else if ($is_admin == 'board') $sr_admin_msg = "게시판관리자 "; - echo '
    '.$sr_admin_msg.$member['mb_nick'].'님 로그인 중 '; + echo '
    '.$sr_admin_msg.get_text($member['mb_nick']).'님 로그인 중 '; echo '로그아웃
    '; } ?> \ No newline at end of file diff --git a/theme/basic/mobile/skin/board/basic/write.skin.php b/theme/basic/mobile/skin/board/basic/write.skin.php index b28d9abb7..aa5f5b4ad 100644 --- a/theme/basic/mobile/skin/board/basic/write.skin.php +++ b/theme/basic/mobile/skin/board/basic/write.skin.php @@ -193,8 +193,7 @@ function html_auto_br(obj) function fwrite_submit(f) { - - + var subject = ""; var content = ""; @@ -243,7 +242,7 @@ function fwrite_submit(f) } } - + document.getElementById("btn_submit").disabled = "disabled"; diff --git a/theme/basic/mobile/skin/board/gallery/write.skin.php b/theme/basic/mobile/skin/board/gallery/write.skin.php index f40d8db61..4aec1baaf 100644 --- a/theme/basic/mobile/skin/board/gallery/write.skin.php +++ b/theme/basic/mobile/skin/board/gallery/write.skin.php @@ -192,8 +192,7 @@ function html_auto_br(obj) function fwrite_submit(f) { - - + var subject = ""; var content = ""; @@ -242,7 +241,7 @@ function fwrite_submit(f) } } - + document.getElementById("btn_submit").disabled = "disabled"; diff --git a/theme/basic/mobile/skin/member/basic/formmail.skin.php b/theme/basic/mobile/skin/member/basic/formmail.skin.php index 3add8546b..bb1c32e7c 100644 --- a/theme/basic/mobile/skin/member/basic/formmail.skin.php +++ b/theme/basic/mobile/skin/member/basic/formmail.skin.php @@ -13,7 +13,7 @@ - + diff --git a/theme/basic/mobile/skin/member/basic/register_form.skin.php b/theme/basic/mobile/skin/member/basic/register_form.skin.php index 9b783960b..941399c9f 100644 --- a/theme/basic/mobile/skin/member/basic/register_form.skin.php +++ b/theme/basic/mobile/skin/member/basic/register_form.skin.php @@ -20,8 +20,8 @@ date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?> - - + +
    @@ -55,7 +55,7 @@ 아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다. - class="frm_input "> + class="frm_input "> 닉네임을 바꾸시면 앞으로 일 이내에는 변경 할 수 없습니다. - - + + @@ -111,14 +111,14 @@ - " maxlength="255" > + " maxlength="255" > - " maxlength="20" > + " maxlength="20" > @@ -126,9 +126,9 @@ - class="frm_input " maxlength="20"> + class="frm_input " maxlength="20"> - + @@ -145,13 +145,13 @@ class="frm_input " size="5" maxlength="6">
    - class="frm_input frm_address " size="50">
    + class="frm_input frm_address " size="50">
    - +
    - - + + diff --git a/theme/basic/mobile/skin/member/basic/register_form_update.tail.skin.php b/theme/basic/mobile/skin/member/basic/register_form_update.tail.skin.php new file mode 100644 index 000000000..b16c52a14 --- /dev/null +++ b/theme/basic/mobile/skin/member/basic/register_form_update.tail.skin.php @@ -0,0 +1,60 @@ +SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + $strDest = array(); + $strDest[] = $receive_number; + $strCallBack = $send_number; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_contents); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv_euckr(stripslashes($sms_contents)), ""); + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } +} +//---------------------------------------------------------- +// SMS 문자전송 끝 +//---------------------------------------------------------- +?> diff --git a/theme/basic/mobile/skin/popular/basic/popular.skin.php b/theme/basic/mobile/skin/popular/basic/popular.skin.php index 463b3b01c..436883642 100644 --- a/theme/basic/mobile/skin/popular/basic/popular.skin.php +++ b/theme/basic/mobile/skin/popular/basic/popular.skin.php @@ -10,7 +10,7 @@

    인기검색어

      -
    • +
    diff --git a/theme/basic/mobile/skin/qa/basic/write.skin.php b/theme/basic/mobile/skin/qa/basic/write.skin.php index 39118b80b..adbcbdfbb 100644 --- a/theme/basic/mobile/skin/qa/basic/write.skin.php +++ b/theme/basic/mobile/skin/qa/basic/write.skin.php @@ -53,7 +53,7 @@ - class="frm_input email" maxlength="100"> + class="frm_input email" maxlength="100"> > @@ -64,7 +64,7 @@ - class="frm_input" size="30"> + class="frm_input" size="30"> > 답변등록 SMS알림 수신 @@ -75,7 +75,7 @@ - + diff --git a/theme/basic/mobile/skin/shop/basic/itemqaform.skin.php b/theme/basic/mobile/skin/shop/basic/itemqaform.skin.php index e47c33f75..4c210a54a 100644 --- a/theme/basic/mobile/skin/shop/basic/itemqaform.skin.php +++ b/theme/basic/mobile/skin/shop/basic/itemqaform.skin.php @@ -31,11 +31,11 @@ - 이메일을 입력하시면 답변 등록 시 답변이 이메일로 전송됩니다. + 이메일을 입력하시면 답변 등록 시 답변이 이메일로 전송됩니다. - 휴대폰번호를 입력하시면 답변 등록 시 답변등록 알림이 SMS로 전송됩니다. + 휴대폰번호를 입력하시면 답변 등록 시 답변등록 알림이 SMS로 전송됩니다. diff --git a/theme/basic/skin/board/basic/write.skin.php b/theme/basic/skin/board/basic/write.skin.php index f0e7e91e8..34d190e7e 100644 --- a/theme/basic/skin/board/basic/write.skin.php +++ b/theme/basic/skin/board/basic/write.skin.php @@ -111,6 +111,7 @@ +
    임시 저장된 글 목록 diff --git a/theme/basic/skin/board/gallery/write.skin.php b/theme/basic/skin/board/gallery/write.skin.php index 898489957..e8bcf7bd6 100644 --- a/theme/basic/skin/board/gallery/write.skin.php +++ b/theme/basic/skin/board/gallery/write.skin.php @@ -111,6 +111,7 @@ +
    임시 저장된 글 목록 diff --git a/theme/basic/skin/member/basic/formmail.skin.php b/theme/basic/skin/member/basic/formmail.skin.php index 76e7bc910..5d1ec65b5 100644 --- a/theme/basic/skin/member/basic/formmail.skin.php +++ b/theme/basic/skin/member/basic/formmail.skin.php @@ -14,7 +14,7 @@ - + diff --git a/theme/basic/skin/member/basic/register_form.skin.php b/theme/basic/skin/member/basic/register_form.skin.php index f531052ae..3f2076758 100644 --- a/theme/basic/skin/member/basic/register_form.skin.php +++ b/theme/basic/skin/member/basic/register_form.skin.php @@ -22,8 +22,8 @@ date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?> - - + +
    @@ -60,7 +60,7 @@ 아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다. - class="frm_input " size="10"> + class="frm_input " size="10"> 닉네임을 바꾸시면 앞으로 일 이내에는 변경 할 수 없습니다. - - + + @@ -116,14 +116,14 @@ - class="frm_input " size="70" maxlength="255"> + class="frm_input " size="70" maxlength="255"> - class="frm_input " maxlength="20"> + class="frm_input " maxlength="20"> @@ -131,9 +131,9 @@ - class="frm_input " maxlength="20"> + class="frm_input " maxlength="20"> - + @@ -149,14 +149,14 @@ class="frm_input " size="5" maxlength="6">
    - class="frm_input frm_address " size="50"> + class="frm_input frm_address " size="50">
    - +
    - + - + diff --git a/theme/basic/skin/member/basic/register_form_update.tail.skin.php b/theme/basic/skin/member/basic/register_form_update.tail.skin.php index 64889697a..b16c52a14 100644 --- a/theme/basic/skin/member/basic/register_form_update.tail.skin.php +++ b/theme/basic/skin/member/basic/register_form_update.tail.skin.php @@ -18,12 +18,40 @@ { if ($config['cf_sms_use'] == 'icode') { - include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + if($config['cf_sms_type'] == 'LMS') { + include_once(G5_LIB_PATH.'/icode.lms.lib.php'); - $SMS = new SMS; // SMS 연결 - $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); - $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_contents)), ""); - $SMS->Send(); + $port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']); + + // SMS 모듈 클래스 생성 + if($port_setting !== false) { + $SMS = new LMS; + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + $strDest = array(); + $strDest[] = $receive_number; + $strCallBack = $send_number; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_contents); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv_euckr(stripslashes($sms_contents)), ""); + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } } } //---------------------------------------------------------- diff --git a/theme/basic/skin/popular/basic/popular.skin.php b/theme/basic/skin/popular/basic/popular.skin.php index 14fe12281..49e0b99e6 100644 --- a/theme/basic/skin/popular/basic/popular.skin.php +++ b/theme/basic/skin/popular/basic/popular.skin.php @@ -11,7 +11,7 @@

    인기검색어

      -
    • +
    diff --git a/theme/basic/skin/qa/basic/write.skin.php b/theme/basic/skin/qa/basic/write.skin.php index d81465a50..088914615 100644 --- a/theme/basic/skin/qa/basic/write.skin.php +++ b/theme/basic/skin/qa/basic/write.skin.php @@ -53,7 +53,7 @@ - class="frm_input email" size="50" maxlength="100"> + class="frm_input email" size="50" maxlength="100"> > @@ -64,7 +64,7 @@ - class="frm_input" size="30"> + class="frm_input" size="30"> > 답변등록 SMS알림 수신 @@ -75,7 +75,7 @@ - + diff --git a/theme/basic/skin/shop/basic/itemqaform.skin.php b/theme/basic/skin/shop/basic/itemqaform.skin.php index 4662f3e52..9a3aeceac 100644 --- a/theme/basic/skin/shop/basic/itemqaform.skin.php +++ b/theme/basic/skin/shop/basic/itemqaform.skin.php @@ -30,11 +30,11 @@ - 이메일을 입력하시면 답변 등록 시 답변이 이메일로 전송됩니다. + 이메일을 입력하시면 답변 등록 시 답변이 이메일로 전송됩니다. - 휴대폰번호를 입력하시면 답변 등록 시 답변등록 알림이 SMS로 전송됩니다. + 휴대폰번호를 입력하시면 답변 등록 시 답변등록 알림이 SMS로 전송됩니다.