Compare commits

..
4 Commits
Author SHA1 Message Date
thisgun dfca17a599 버전 5.6.30 수정 2026-06-16 03:33:14 +00:00
thisgun 5ed691136d 나이스페이 가상계좌 취소금액 보정 2026-06-16 03:26:42 +00:00
thisgun cdda832081 Fix register form member defaults 2026-06-16 03:26:42 +00:00
thisgun 5374fb5f74 NHN KCP 본인확인 v2 설정 안내 보완 2026-06-16 03:17:44 +00:00
5 changed files with 32 additions and 15 deletions
+11 -5
View File
@@ -1072,14 +1072,14 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
</select>
<div id="cf_cert_hp_kcp_v2_notice" style="display:<?php echo ($config['cf_cert_hp'] == 'kcp_v2') ? 'block' : 'none'; ?>; margin-top:8px; padding:10px 12px; background:#fff8e1; border:1px solid #ffd54f; border-radius:4px; color:#5d4037; line-height:1.5;">
<strong>NHN KCP 휴대폰 본인확인(api_v2)</strong> 사용 시,<br>
NHN KCP 상점관리자 &gt; 부가서비스 &gt; 휴대폰본인확인 &gt; 연동방식 설정 에서 <strong>신규 연동방식(V2) 사용여부를 &lsquo;사용&rsquo;</strong> 으로 변경해야 정상 동작합니다.
NHN KCP 상점관리자 &gt; 부가서비스 &gt; 휴대폰본인확인 &gt; 연동방식 설정 에서 <strong>신규 연동방식(V2) 사용여부를 &lsquo;사용&rsquo;</strong> 으로 변경해야 정상 동작합니다.<br>
PHP 7.0 이상 환경에서만 동작하며, PHP 7.0 미만에서는 사용할 수 없습니다.
</div>
<script>
jQuery(function($){
function toggle_kcp_v2_notice() {
var is_kcp_v2 = $('#cf_cert_hp').val() === 'kcp_v2';
$('#cf_cert_hp_kcp_v2_notice').toggle(is_kcp_v2);
$('#cf_cert_kcp_cd_prefix').toggle(!is_kcp_v2);
}
$('#cf_cert_hp').on('change', toggle_kcp_v2_notice);
@@ -1121,9 +1121,15 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_cert_kcp_cd">NHN KCP 사이트코드</label></th>
<td class="cf_cert_service">
<?php echo help('기존 NHN KCP 휴대폰 본인확인은 SM으로 시작하는 5자리 사이트 코드 중 뒤의 3자리만 입력해 주십시오.<br>NHN KCP 휴대폰 본인확인(api_v2)은 KCP에서 발급받은 5자리 사이트코드를 그대로 입력해 주십시오.<br>서비스에 가입되어 있지 않다면, 본인확인 서비스 신청페이지에서 서비스 신청 후 사이트코드를 발급 받으실 수 있습니다.') ?>
<span class="sitecode" id="cf_cert_kcp_cd_prefix" style="display:<?php echo ($config['cf_cert_hp'] == 'kcp_v2') ? 'none' : 'inline'; ?>;">SM</span>
<input type="text" name="cf_cert_kcp_cd" value="<?php echo get_sanitize_input($config['cf_cert_kcp_cd']); ?>" id="cf_cert_kcp_cd" class="frm_input" size="10" maxlength="10"> <a href="http://sir.kr/main/service/p_cert.php" target="_blank" class="btn_frmline">NHN KCP 휴대폰 본인확인 서비스 신청페이지</a>
<?php
$cf_cert_kcp_cd = get_sanitize_input($config['cf_cert_kcp_cd']);
if (preg_match('/^SM([A-Z0-9]{3})$/i', $cf_cert_kcp_cd, $matches)) {
$cf_cert_kcp_cd = $matches[1];
}
?>
<?php echo help('SM으로 시작하는 5자리 사이트 코드중 뒤의 3자리만 입력해 주십시오.<br>서비스에 가입되어 있지 않다면, 본인확인 서비스 신청페이지에서 서비스 신청 후 사이트코드를 발급 받으실 수 있습니다.') ?>
<span class="sitecode" id="cf_cert_kcp_cd_prefix">SM</span>
<input type="text" name="cf_cert_kcp_cd" value="<?php echo $cf_cert_kcp_cd; ?>" id="cf_cert_kcp_cd" class="frm_input" size="3" maxlength="3"> <a href="http://sir.kr/main/service/p_cert.php" target="_blank" class="btn_frmline">NHN KCP 휴대폰 본인확인 서비스 신청페이지</a>
</td>
</tr>
<tr>
+10 -1
View File
@@ -150,6 +150,15 @@ $hp_readonly = (($config['cf_cert_use'] && $config['cf_cert_req']) && ($config['
$agree = isset($_REQUEST['agree']) ? preg_replace('#[^0-9]#', '', $_REQUEST['agree']) : '';
$agree2 = isset($_REQUEST['agree2']) ? preg_replace('#[^0-9]#', '', $_REQUEST['agree2']) : '';
$member['mb_marketing_agree'] = isset($member['mb_marketing_agree']) ? $member['mb_marketing_agree'] : 0;
$member['mb_marketing_date'] = isset($member['mb_marketing_date']) ? $member['mb_marketing_date'] : '0000-00-00 00:00:00';
$member['mb_thirdparty_agree'] = isset($member['mb_thirdparty_agree']) ? $member['mb_thirdparty_agree'] : 0;
$member['mb_thirdparty_date'] = isset($member['mb_thirdparty_date']) ? $member['mb_thirdparty_date'] : '0000-00-00 00:00:00';
$member['mb_mailling'] = isset($member['mb_mailling']) ? $member['mb_mailling'] : 0;
$member['mb_mailling_date'] = isset($member['mb_mailling_date']) ? $member['mb_mailling_date'] : '0000-00-00 00:00:00';
$member['mb_sms'] = isset($member['mb_sms']) ? $member['mb_sms'] : 0;
$member['mb_sms_date'] = isset($member['mb_sms_date']) ? $member['mb_sms_date'] : '0000-00-00 00:00:00';
// add_javascript('js 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
if ($config['cf_use_addr'])
add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
@@ -158,4 +167,4 @@ include_once($member_skin_path.'/register_form.skin.php');
run_event('register_form_after', $w, $agree, $agree2);
include_once('./_tail.php');
include_once('./_tail.php');
+2 -5
View File
@@ -2,7 +2,7 @@
if (!defined('_GNUBOARD_')) exit;
if (version_compare(PHP_VERSION, '7.0.0', '<')) {
alert('KCP 휴대폰 본인확인 V2 모듈은 PHP 7.0 이상 환경에서만 동작합니다.\n관리자 > 기본환경설정에서 V1 모듈을 선택해 주세요.', G5_URL);
alert('KCP 휴대폰 본인확인 V2 모듈은 PHP 7.0 이상 환경에서만 동작합니다.', G5_URL);
}
if (!extension_loaded('openssl') || !function_exists('hash_pbkdf2') || !extension_loaded('curl')) {
alert('KCP 휴대폰 본인확인 V2 모듈에 필요한 PHP 확장(openssl/curl/hash_pbkdf2)이 활성화되어 있지 않습니다.', G5_URL);
@@ -11,10 +11,7 @@ if (!extension_loaded('openssl') || !function_exists('hash_pbkdf2') || !extensio
$web_siteid = '';
if ($config['cf_cert_use'] == 2) {
$site_cd = isset($config['cf_cert_kcp_cd']) ? trim($config['cf_cert_kcp_cd']) : '';
if (strlen($site_cd) === 3) {
$site_cd = 'SM'.$site_cd;
}
$site_cd = 'SM'.trim($config['cf_cert_kcp_cd']);
$kcp_enc_key = isset($config['cf_cert_kcp_enckey']) ? $config['cf_cert_kcp_enckey'] : '';
$cert_reg_url = 'https://cert.kcp.co.kr/api/reg/certDataReg.do';
$cert_dec_url = 'https://cert.kcp.co.kr/api/query/getCertData.do';
+8 -3
View File
@@ -27,7 +27,7 @@ $ct = sql_fetch($sql);
$uid = function_exists('get_shop_uid') ? get_shop_uid('order', $od['od_id'], $od['od_time'], $od['od_ip']) : md5($od['od_id'].$od['od_time'].$od['od_ip']);
if($od['od_cancel_price'] > 0 || $ct['od_count1'] != $ct['od_count2']) {
if($od['od_cancel_price'] > 0 || $od['od_status'] != '주문' || $ct['od_count1'] != $ct['od_count2']) {
alert("취소할 수 있는 주문이 아닙니다.", G5_SHOP_URL."/orderinquiryview.php?od_id=$od_id&amp;uid=$uid");
}
@@ -102,7 +102,12 @@ if($od['od_tno']) {
$tno = $od['od_tno'];
$cancelAmt = $od['od_receipt_price'];
$cancelAmt = (int)$od['od_receipt_price'];
if($od['od_settle_case'] == '가상계좌' && $od['od_status'] == '주문' && $cancelAmt == 0)
$cancelAmt = (int)$od['od_misu'];
if($cancelAmt <= 0)
alert('취소 요청금액이 없습니다.', G5_SHOP_URL."/orderinquiryview.php?od_id=$od_id&amp;uid=$uid");
// 0:전체 취소, 1:부분 취소(별도 계약 필요)
$partialCancelCode = 0;
@@ -182,4 +187,4 @@ if ($od['od_receipt_point'] > 0 && $affected) {
insert_point($member['mb_id'], $od['od_receipt_point'], "주문번호 $od_id 본인 취소", '@shop_order', $od_id, 'cancel');
}
goto_url(G5_SHOP_URL."/orderinquiryview.php?od_id=$od_id&amp;uid=$uid");
goto_url(G5_SHOP_URL."/orderinquiryview.php?od_id=$od_id&amp;uid=$uid");
+1 -1
View File
@@ -2,7 +2,7 @@
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
define('G5_VERSION', '그누보드5');
define('G5_GNUBOARD_VER', '5.6.29');
define('G5_GNUBOARD_VER', '5.6.30');
// 그누보드5.4.5.5 버전과 영카트5.4.5.5.1 버전을 합쳐서 그누보드5.4.6 버전에서 시작함 (kagla-210617)
// G5_YOUNGCART_VER 이 상수를 사용하는 곳이 있으므로 주석 처리 해제함
// 그누보드5.4.6 이상 버전 부터는 영카트를 그누보드에 포함하여 배포하므로 영카트5의 버전은 의미가 없습니다.