팝빌 알림톡 기능 추가

This commit is contained in:
chym1217
2025-09-04 12:32:31 +09:00
parent 37d0dcb48f
commit 66f6a75a10
99 changed files with 8876 additions and 260 deletions

View File

@ -55,6 +55,16 @@ border:1px solid #558ab7 !important;
#container_wr,
#ft_wr {width:1200px}
/* 공통 - display none/block */
.is-hidden { display: none !important; }
.is-visible { display: block !important; }
/* 공통 - 뷰포트 (pc / mobile) 별 display none/block */
.pc-only { display: none; }
@media (min-width: 769px) { .pc-only { display: block !important; }}
.mobile-only { display: block; }
@media (min-width: 769px) { .mobile-only { display: none !important; }}
/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
@ -333,6 +343,8 @@ box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}
.frm_info.add_info { margin-top: 10px !important; padding: 8px 12px; background: #fff; border: 1px solid #ddd; border-radius: 6px; line-height: 1.6; }
.btn_info_toggle { display: block; margin: 5px 0 0 21px; font-size: 12px; color: #3f51b5; background: none; border: none; cursor: pointer; text-decoration: underline; }
/*기본 리스트*/
.list_01 ul {border-top:1px solid #ececec}

View File

@ -27,6 +27,16 @@ ul {list-style:none}
box-sizing:border-box;
}
/* 공통 - display none/block */
.is-hidden { display: none !important; }
.is-visible { display: block !important; }
/* 공통 - 뷰포트 (pc / mobile) 별 display none/block */
.pc-only { display: none; }
@media (min-width: 769px) { .pc-only { display: block !important; }}
.mobile-only { display: block; }
@media (min-width: 769px) { .mobile-only { display: none !important; }}
/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;width:100%;height:0}
#hd_pop h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
@ -267,6 +277,8 @@ transition:background-color 0.3s ease-out}
.form_01 .frm_file {display:block;margin-bottom:5px;width:100%}
.form_01 select {height:40px;background-color:#fff}
.form_01 .frm_info {font-size:0.92em;color:#3a8afd;text-align:left;margin:3px 0 10px;display:block;line-height:1.3em}
.form_01 .frm_info.add_info { padding: 8px 12px; background: #fff; border: 1px solid #ddd; border-radius: 6px; line-height: 1.6; }
.btn_info_toggle { display: block; margin: 5px 0 0 21px; font-size: 12px; color: #3f51b5; background: none; border: none; cursor: pointer; text-decoration: underline; }
/* 자료 없는 목록 */
.empty_table {padding:100px 0 !important;color:#777;text-align:center}

View File

@ -0,0 +1,85 @@
<!-- HTML -->
<?php if (!defined('_GNUBOARD_')) exit; ?>
<dialog id="consentDialog" aria-labelledby="consentDialogTitle" aria-describedby="consentDialogBody">
<form method="dialog" class="cd-card">
<header class="cd-head">
<h3 id="consentDialogTitle" class="cd-title">안내</h3>
</header>
<div id="consentDialogBody" class="cd-body"></div>
<footer class="cd-actions">
<button type="button" class="cd-agree">동의합니다</button>
<button value="close" class="cd-close">닫기</button>
</footer>
</form>
</dialog>
<!-- 스타일 -->
<style>
#consentDialog { padding:0; border:none; border-radius:12px; }
#consentDialog::backdrop { background: rgba(0,0,0,.45); backdrop-filter: blur(5px);}
.cd-card { max-width: 560px; background:#fff; border-radius:12px; }
.cd-head { display:flex; align-items:center; justify-content:space-between; padding:16px; }
.cd-title { margin:0; font-size:18px; font-weight:bold; word-break:keep-all; }
.cd-body { max-height:500px; overflow-y:auto; padding:16px; border-top:1px solid #e6e6e9; border-bottom:1px solid #e6e6e9; line-height:1.6; font-size:14px; color:#222; }
.cd-actions { display:flex; gap:8px; justify-content:flex-end; padding:12px 16px 16px; }
.cd-actions .cd-agree { padding:8px 14px; border:1px solid #3a8afd; background:#3a8afd; color:#fff; border-radius:8px; }
.cd-actions .cd-close { padding:8px 14px; border:1px solid #ccc; background:#fff; color:#111; border-radius:8px; }
</style>
<!-- JS -->
<script>
(function(){
const dlg = document.getElementById('consentDialog');
if (!dlg) return;
const body = document.getElementById('consentDialogBody');
const titleE = document.getElementById('consentDialogTitle');
let opener = null;
const openFrom = (btn) => {
opener = btn;
const tplSel = btn.getAttribute('data-template');
const title = btn.getAttribute('data-title') || '안내';
const tpl = tplSel ? document.querySelector(tplSel) : null;
titleE.textContent = title;
body.innerHTML = tpl ? tpl.innerHTML : '';
dlg.dataset.check = btn.getAttribute('data-check') || '';
dlg.dataset.checkGroup = btn.getAttribute('data-check-group') || '';
if (dlg.showModal) dlg.showModal(); else dlg.setAttribute('open','');
};
const closeDialog = () => {
if (dlg.close) dlg.close(); else dlg.removeAttribute('open');
if (opener) opener.focus();
};
document.addEventListener('click', (e)=>{
const trigger = e.target.closest('.js-open-consent');
if (trigger) { openFrom(trigger); return; }
if (e.target.classList.contains('cd-agree')) {
const sel = dlg.dataset.check;
const groupSel = dlg.dataset.checkGroup;
if (groupSel) {
document.querySelectorAll(groupSel).forEach(cb => {
cb.checked = true;
cb.dispatchEvent(new Event('change', {bubbles:true}));
});
}
if (sel) {
const cb = document.querySelector(sel);
if (cb) { cb.checked = true; cb.dispatchEvent(new Event('change', {bubbles:true})); }
}
closeDialog();
e.preventDefault();
return;
}
});
dlg.addEventListener('cancel', (e)=>{ e.preventDefault(); closeDialog(); });
})();
</script>

View File

@ -22,7 +22,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
</div>
<section id="fregister_term">
<h2>회원가입약관</h2>
<h2>(필수) 회원가입약관</h2>
<textarea readonly><?php echo get_text($config['cf_stipulation']) ?></textarea>
<fieldset class="fregister_agree">
<input type="checkbox" name="agree" value="1" id="agree11" class="selec_chk">
@ -31,7 +31,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
</section>
<section id="fregister_private">
<h2>개인정보 수집 및 이용</h2>
<h2>(필수) 개인정보 수집 및 이용</h2>
<div class="tbl_head01 tbl_wrap">
<table>
<caption>개인정보 수집 및 이용</caption>

View File

@ -45,8 +45,7 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
<div class="form_01">
<h2>개인정보 입력</h2>
<ul>
<li>
<?php
<?php
$desc_name = '';
$desc_phone = '';
if ($config['cf_cert_use']) {
@ -56,7 +55,9 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
if (!$config['cf_cert_simple'] && !$config['cf_cert_hp'] && $config['cf_cert_ipin']) {
$desc_phone = '';
}
?>
<li>
<?php
if ($config['cf_cert_simple']) {
echo '<button type="button" id="win_sa_kakao_cert" class="btn_frmline btn win_sa_cert" data-type="">간편인증</button>'.PHP_EOL;
}
@ -67,11 +68,10 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
echo '<span class="cert_req">(필수)</span>';
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;
}
?>
<?php
if ($config['cf_cert_use'] && $member['mb_certify']) {
switch ($member['mb_certify']) {
if ($member['mb_certify']) {
switch ($member['mb_certify']) {
case "simple":
$mb_cert = "간편인증";
break;
@ -86,8 +86,9 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
<div id="msg_certify">
<strong><?php echo $mb_cert; ?> 본인확인</strong><?php if ($member['mb_adult']) { ?> 및 <strong>성인인증</strong><?php } ?> 완료
</div>
<?php } ?>
<?php } ?>
</li>
<?php } ?>
<li class="rgs_name_li">
<label for="reg_mb_name" class="sound_only">이름 (필수)<?php echo $desc_name ?></label>
<input type="text" id="reg_mb_name" name="mb_name" value="<?php echo get_text($member['mb_name']) ?>" <?php echo $required ?> <?php echo $name_readonly; ?> class="frm_input full_input <?php echo $required ?> <?php echo $name_readonly ?>" placeholder="이름 (필수)<?php echo $desc_name ?>">
@ -217,26 +218,6 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
</li>
<?php } ?>
<li class="chk_box">
<input type="checkbox" name="mb_mailling" value="1" id="reg_mb_mailling" <?php echo ($w=='' || $member['mb_mailling'])?'checked':''; ?> class="selec_chk">
<label for="reg_mb_mailling">
<span></span>
<b class="sound_only">메일링서비스</b>
</label>
<span class="chk_li">정보 메일을 받겠습니다.</span>
</li>
<?php if ($config['cf_use_hp']) { ?>
<li class="chk_box">
<input type="checkbox" name="mb_sms" value="1" id="reg_mb_sms" <?php echo ($w=='' || $member['mb_sms'])?'checked':''; ?> class="selec_chk">
<label for="reg_mb_sms">
<span></span>
<b class="sound_only">SMS 수신여부</b>
</label>
<span class="chk_li">휴대폰 문자메세지를 받겠습니다.</span>
</li>
<?php } ?>
<?php if (isset($member['mb_open_date']) && $member['mb_open_date'] <= date("Y-m-d", G5_SERVER_TIME - ($config['cf_open_modify'] * 86400)) || empty($member['mb_open_date'])) { // 정보공개 수정일이 지났다면 수정가능 ?>
<li class="chk_box">
<input type="checkbox" name="mb_open" value="1" id="reg_mb_open" <?php echo ($w=='' || $member['mb_open'])?'checked':''; ?> class="selec_chk">
@ -245,7 +226,7 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
<b class="sound_only">정보공개</b>
</label>
<span class="chk_li">다른분들이 나의 정보를 볼 수 있도록 합니다.</span>
<span class="frm_info">
<span class="frm_info add_info">
정보공개를 바꾸시면 앞으로 <?php echo (int)$config['cf_open_modify'] ?>일 이내에는 변경이 안됩니다.
</span>
<input type="hidden" name="mb_open_default" value="<?php echo $member['mb_open'] ?>">
@ -275,20 +256,174 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
<input type="text" name="mb_recommend" id="reg_mb_recommend" class="frm_input full_input" placeholder="추천인아이디">
</li>
<?php } ?>
<li class="is_captcha_use">
<span class="frm_label">자동등록방지</span>
<?php echo captcha_html(); ?>
</li>
</ul>
</div>
<?php if($config['cf_kakaotalk_use'] != "") { ?>
<div class="form_01">
<h2>게시판 알림설정</h2>
<span class="frm_info add_info">게시판이나 댓글이 등록되면 알림톡으로 안내를 받을 수 있습니다.<br>알림은 등록된 휴대폰 번호로 발송됩니다.</span>
<ul>
<!-- 게시글 알림 -->
<li class="chk_box consent-group">
<label><b>게시글 알림</b></label>
<ul class="sub-consents">
<li class="chk_box is-inline">
<input type="checkbox" name="mb_board_post" value="1" id="mb_board_post" <?php echo ($w=='' || $member['mb_board_post'])?'checked':''; ?> class="selec_chk">
<label for="mb_board_post"><span></span><b class="sound_only">내 게시글 작성 완료 알림</b></label>
<span class="chk_li">내 게시글 작성 완료 알림</span>
</li>
<li class="chk_box is-inline">
<input type="checkbox" name="mb_board_reply" value="1" id="mb_board_reply" <?php echo ($w=='' || $member['mb_board_reply'])?'checked':''; ?> class="selec_chk">
<label for="mb_board_reply"><span></span><b class="sound_only">내 게시글에 달린 답변 알림</b></label>
<span class="chk_li">내 게시글에 달린 답변 알림</span>
</li>
</ul>
</li>
<br>
<!-- 댓글 알림 -->
<li class="chk_box consent-group">
<label><b>댓글 알림</b></label>
<ul class="sub-consents">
<li class="chk_box is-inline">
<input type="checkbox" name="mb_board_comment" value="1" id="mb_board_comment" <?php echo ($w=='' || $member['mb_board_comment'])?'checked':''; ?> class="selec_chk">
<label for="mb_board_comment"><span></span><b class="sound_only">내 게시글에 달린 댓글 알림</b></label>
<span class="chk_li">내 게시글에 달린 댓글 알림</span>
</li>
<li class="chk_box is-inline">
<input type="checkbox" name="mb_board_recomment" value="1" id="mb_board_recomment" <?php echo ($w=='' || $member['mb_board_recomment'])?'checked':''; ?> class="selec_chk">
<label for="mb_board_recomment"><span></span><b class="sound_only">댓글에 대댓글 알림</b></label>
<span class="chk_li">내 댓글에 달린 대댓글 알림</span>
</li>
</ul>
</li>
</ul>
</div>
<?php } ?>
<!-- 회원가입 약관 동의에 광고성 정보 수신 동의 표시 여부가 사용시에만 -->
<?php if($config['cf_use_promotion'] == 1) { ?>
<div class="form_01">
<h2>수신설정</h2>
<!-- 수신설정만 팝업 및 체크박스 관련 class 적용 -->
<ul>
<!-- (선택) 마케팅 목적의 개인정보 수집 및 이용 -->
<li class="chk_box">
<div class="consent-line">
<input type="checkbox" name="mb_marketing_agree" value="1" id="reg_mb_marketing_agree" aria-describedby="desc_marketing" <?php echo $member['mb_marketing_agree'] ? 'checked' : ''; ?> class="selec_chk marketing-sync">
<label for="reg_mb_marketing_agree"><span></span><b class="sound_only">(선택) 마케팅 목적의 개인정보 수집 및 이용</b></label>
<span class="chk_li">(선택) 마케팅 목적의 개인정보 수집 및 이용</span>
<button type="button" class="js-open-consent" data-title="마케팅 목적의 개인정보 수집 및 이용" data-template="#tpl_marketing" data-check="#reg_mb_marketing_agree" aria-controls="consentDialog">자세히보기</button>
</div>
<input type="hidden" name="mb_marketing_agree_default" value="<?php echo $member['mb_marketing_agree'] ?>">
<div id="desc_marketing" class="sound_only">마케팅 목적의 개인정보 수집·이용에 대한 안내입니다. 자세히보기를 눌러 전문을 확인할 수 있습니다.</div>
<div class="consent-date"><?php if ($member['mb_marketing_agree'] == 1 && $member['mb_marketing_date'] != "0000-00-00 00:00:00") echo "(동의일자: ".$member['mb_marketing_date'].")"; ?></div>
<template id="tpl_marketing">
* 목적: 서비스 마케팅 및 프로모션<br>
* 항목: 이름, 이메일<?php echo ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_simple']))) ? ", 휴대폰 번호" : "";?><br>
* 보유기간: 회원 탈퇴 시까지<br>
동의를 거부하셔도 서비스 기본 이용은 가능하나, 맞춤형 혜택 제공은 제한될 수 있습니다.
</template>
</li>
<!-- (선택) 광고성 정보 수신 동의 (상위) -->
<li class="chk_box consent-group">
<div class="consent-line">
<input type="checkbox" name="mb_promotion_agree" value="1" id="reg_mb_promotion_agree" aria-describedby="desc_promotion" class="selec_chk marketing-sync parent-promo">
<label for="reg_mb_promotion_agree"><span></span><b class="sound_only">(선택) 광고성 정보 수신 동의</b></label>
<span class="chk_li">(선택) 광고성 정보 수신 동의</span>
<button type="button" class="js-open-consent" data-title="광고성 정보 수신 동의" data-template="#tpl_promotion" data-check="#reg_mb_promotion_agree" data-check-group=".child-promo" aria-controls="consentDialog">자세히보기</button>
</div>
<div id="desc_promotion" class="sound_only">광고성 정보(이메일/SMS·카카오톡) 수신 동의의 상위 항목입니다. 자세히보기를 눌러 전문을 확인할 수 있습니다.</div>
<!-- 하위 채널(이메일/SMS) -->
<ul class="sub-consents">
<li class="chk_box is-inline">
<input type="checkbox" name="mb_mailling" value="1" id="reg_mb_mailling" <?php echo $member['mb_mailling'] ? 'checked' : ''; ?> class="selec_chk child-promo">
<label for="reg_mb_mailling"><span></span><b class="sound_only">광고성 이메일 수신 동의</b></label>
<span class="chk_li">광고성 이메일 수신 동의</span>
<input type="hidden" name="mb_mailling_default" value="<?php echo $member['mb_mailling']; ?>">
<div class="consent-date"><?php if ($w == 'u' && $member['mb_mailling'] == 1 && $member['mb_mailling_date'] != "0000-00-00 00:00:00") echo "(동의일자: ".$member['mb_mailling_date'].")"; ?></div>
</li>
<!-- 휴대폰번호 입력 보이기 or 필수입력일 경우에만 -->
<?php if ($config['cf_use_hp'] || $config['cf_req_hp']) { ?>
<li class="chk_box is-inline">
<input type="checkbox" name="mb_sms" value="1" id="reg_mb_sms" <?php echo $member['mb_sms'] ? 'checked' : ''; ?> class="selec_chk child-promo">
<label for="reg_mb_sms"><span></span><b class="sound_only">광고성 SMS/카카오톡 수신 동의</b></label>
<span class="chk_li">광고성 SMS/카카오톡 수신 동의</span>
<input type="hidden" name="mb_sms_default" value="<?php echo $member['mb_sms']; ?>">
<div class="consent-date"><?php if ($w == 'u' && $member['mb_sms'] == 1 && $member['mb_sms_date'] != "0000-00-00 00:00:00") echo "(동의일자: ".$member['mb_sms_date'].")"; ?></div>
</li>
<?php } ?>
</ul>
<template id="tpl_promotion">
수집·이용에 동의한 개인정보를 이용하여 이메일/SMS/카카오톡 등으로 오전 8시~오후 9시에 광고성 정보를 전송할 수 있습니다.<br>
동의는 언제든지 마이페이지에서 철회할 수 있습니다.
</template>
</li>
<!-- (선택) 개인정보 제3자 제공 동의 -->
<!-- SMS 및 카카오톡 사용시에만 -->
<?php
$configKeys = ['cf_sms_use', 'cf_kakaotalk_use'];
$companies = ['icode' => '아이코드', 'popbill' => '팝빌'];
$usedCompanies = [];
foreach ($configKeys as $key) {
if (!empty($config[$key]) && isset($companies[$config[$key]])) {
$usedCompanies[] = $companies[$config[$key]];
}
}
?>
<?php if (!empty($usedCompanies)) { ?>
<li class="chk_box">
<div class="consent-line">
<input type="checkbox" name="mb_thirdparty_agree" value="1" id="reg_mb_thirdparty_agree" aria-describedby="desc_thirdparty" <?php echo $member['mb_thirdparty_agree'] ? 'checked' : ''; ?> class="selec_chk marketing-sync">
<label for="reg_mb_thirdparty_agree"><span></span><b class="sound_only">(선택) 개인정보 제3자 제공 동의</b></label>
<span class="chk_li">(선택) 개인정보 제3자 제공 동의</span>
<button type="button" class="js-open-consent" data-title="개인정보 제3자 제공 동의" data-template="#tpl_thirdparty" data-check="#reg_mb_thirdparty_agree" aria-controls="consentDialog">자세히보기</button>
</div>
<input type="hidden" name="mb_thirdparty_agree_default" value="<?php echo $member['mb_thirdparty_agree'] ?>">
<div id="desc_thirdparty" class="sound_only">개인정보 제3자 제공 동의에 대한 안내입니다. 자세히보기를 눌러 전문을 확인할 수 있습니다.</div>
<div class="consent-date"><?php if ($member['mb_thirdparty_agree'] == 1 && $member['mb_thirdparty_date'] != "0000-00-00 00:00:00") echo "(동의일자: ".$member['mb_thirdparty_date'].")"; ?></div>
<template id="tpl_thirdparty">
* 목적: 상품/서비스, 사은/판촉행사, 이벤트 등의 마케팅 안내(카카오톡 등)<br>
* 항목: 이름, 휴대폰 번호<br>
* 제공받는 자: <?php echo implode(', ', $usedCompanies);?><br>
* 보유기간: 제공 목적 서비스 기간 또는 동의 철회 시까지
</template>
</li>
<?php } ?>
</ul>
</div>
<?php } ?>
<div class="form_01">
<h2>자동등록방지</h2>
<ul>
<li class="is_captcha_use">
<span class="frm_label">자동등록방지</span>
<?php echo captcha_html(); ?>
</li>
</ul>
</div>
<div class="btn_confirm">
<a href="<?php echo G5_URL; ?>/" class="btn_cancel">취소</a>
<button type="submit" id="btn_submit" class="btn_submit" accesskey="s"><?php echo $w==''?'회원가입':'정보수정'; ?></button>
</div>
</form>
<?php include_once(__DIR__ . '/consent_modal.inc.php'); ?>
<script>
$(function() {
$("#reg_zip_find").css("display", "inline-block");
@ -512,5 +647,29 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
}
$(this).siblings('.fileName').val(filename);
});
document.addEventListener('DOMContentLoaded', function () {
const parentPromo = document.getElementById('reg_mb_promotion_agree');
const childPromo = Array.from(document.querySelectorAll('.child-promo'));
if (!parentPromo || childPromo.length === 0) return;
const syncParentFromChildren = () => {
const anyChecked = childPromo.some(cb => cb.checked);
parentPromo.checked = anyChecked; // 하나라도 체크되면 부모 체크
};
const syncChildrenFromParent = () => {
const isChecked = parentPromo.checked;
childPromo.forEach(cb => {
cb.checked = isChecked;
cb.dispatchEvent(new Event('change', { bubbles: true }));
});
};
syncParentFromChildren();
parentPromo.addEventListener('change', syncChildrenFromParent);
childPromo.forEach(cb => cb.addEventListener('change', syncParentFromChildren));
});
</script>
</div>

View File

@ -70,6 +70,10 @@
.fregister_agree input[type="checkbox"]:checked + label {color:#000}
.fregister_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.fregister_agree.chk_all input[type="checkbox"] + label span {top:15px}
#fregisterform .consent-line {display: flex; align-items: baseline;}
#fregisterform .consent-date { margin: 5px 0 0 20px !important; }
#fregisterform .consent-group .sub-consents {padding: 10px 20px 0;}
#fregisterform .js-open-consent {flex:1 0 auto; margin-left: 10px; text-align: right; font-size: 12px; color: #3f51b5; background: none; border: none; cursor: pointer; text-decoration: underline; }
/* 회원가입 완료 */
#reg_result {padding:20px 10px 10px}

View File

@ -545,11 +545,11 @@ function popup_item_recommend(it_id)
}
}
// 재입고SMS 알림
// 재입고 알림
function popup_stocksms(it_id)
{
url = "<?php echo G5_SHOP_URL; ?>/itemstocksms.php?it_id=" + it_id;
opt = "scrollbars=yes,width=616,height=420,top=10,left=10";
opt = "scrollbars=yes,width=616,height=500,top=10,left=10";
popup_window(url, "itemstocksms", opt);
}

View File

@ -0,0 +1,85 @@
<!-- HTML -->
<?php if (!defined('_GNUBOARD_')) exit; ?>
<dialog id="consentDialog" aria-labelledby="consentDialogTitle" aria-describedby="consentDialogBody">
<form method="dialog" class="cd-card">
<header class="cd-head">
<h3 id="consentDialogTitle" class="cd-title">안내</h3>
</header>
<div id="consentDialogBody" class="cd-body"></div>
<footer class="cd-actions">
<button type="button" class="cd-agree">동의합니다</button>
<button value="close" class="cd-close">닫기</button>
</footer>
</form>
</dialog>
<!-- 스타일 -->
<style>
#consentDialog { padding:0; border:none; border-radius:12px; }
#consentDialog::backdrop { background: rgba(0,0,0,.45); backdrop-filter: blur(5px);}
.cd-card { min-width: 320px; max-width: 560px; background:#fff; border-radius:12px; }
.cd-head { display:flex; align-items:center; justify-content:space-between; padding:16px; }
.cd-title { margin:0; font-size:18px; font-weight:bold; }
.cd-body { max-height:500px; overflow-y:auto; padding:16px; border-top:1px solid #e6e6e9; border-bottom:1px solid #e6e6e9; line-height:1.6; font-size:14px; color:#222; }
.cd-actions { display:flex; gap:8px; justify-content:flex-end; padding:12px 16px 16px; }
.cd-actions .cd-agree { padding:8px 14px; border:1px solid #3a8afd; background:#3a8afd; color:#fff; border-radius:8px; }
.cd-actions .cd-close { padding:8px 14px; border:1px solid #ccc; background:#fff; color:#111; border-radius:8px; }
</style>
<!-- JS -->
<script>
(function(){
const dlg = document.getElementById('consentDialog');
if (!dlg) return;
const body = document.getElementById('consentDialogBody');
const titleE = document.getElementById('consentDialogTitle');
let opener = null;
const openFrom = (btn) => {
opener = btn;
const tplSel = btn.getAttribute('data-template');
const title = btn.getAttribute('data-title') || '안내';
const tpl = tplSel ? document.querySelector(tplSel) : null;
titleE.textContent = title;
body.innerHTML = tpl ? tpl.innerHTML : '';
dlg.dataset.check = btn.getAttribute('data-check') || '';
dlg.dataset.checkGroup = btn.getAttribute('data-check-group') || '';
if (dlg.showModal) dlg.showModal(); else dlg.setAttribute('open','');
};
const closeDialog = () => {
if (dlg.close) dlg.close(); else dlg.removeAttribute('open');
if (opener) opener.focus();
};
document.addEventListener('click', (e)=>{
const trigger = e.target.closest('.js-open-consent');
if (trigger) { openFrom(trigger); return; }
if (e.target.classList.contains('cd-agree')) {
const sel = dlg.dataset.check;
const groupSel = dlg.dataset.checkGroup;
if (groupSel) {
document.querySelectorAll(groupSel).forEach(cb => {
cb.checked = true;
cb.dispatchEvent(new Event('change', {bubbles:true}));
});
}
if (sel) {
const cb = document.querySelector(sel);
if (cb) { cb.checked = true; cb.dispatchEvent(new Event('change', {bubbles:true})); }
}
closeDialog();
e.preventDefault();
return;
}
});
dlg.addEventListener('cancel', (e)=>{ e.preventDefault(); closeDialog(); });
})();
</script>

View File

@ -17,7 +17,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
@include_once(get_social_skin_path().'/social_register.skin.php');
?>
<section id="fregister_term">
<h2>회원가입약관</h2>
<h2>(필수) 회원가입약관</h2>
<textarea readonly><?php echo get_text($config['cf_stipulation']) ?></textarea>
<fieldset class="fregister_agree">
<input type="checkbox" name="agree" value="1" id="agree11" class="selec_chk">
@ -25,8 +25,8 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
</fieldset>
</section>
<section id="fregister_private">
<h2>개인정보 수집 및 이용</h2>
<section id="fregister_private" class="fregister_terms">
<h2>(필수) 개인정보 수집 및 이용</h2>
<div>
<table>
<caption>개인정보 수집 및 이용</caption>

View File

@ -51,18 +51,19 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
<div class="tbl_frm01 tbl_wrap register_form_inner">
<h2>개인정보 입력</h2>
<ul>
<li>
<?php
<?php
$desc_name = '';
$desc_phone = '';
if ($config['cf_cert_use']) {
$desc_name = '<span class="cert_desc"> 본인확인 시 자동입력</span>';
$desc_phone = '<span class="cert_desc"> 본인확인 시 자동입력</span>';
if (!$config['cf_cert_simple'] && !$config['cf_cert_hp'] && $config['cf_cert_ipin']) {
$desc_phone = '';
}
?>
<li>
<?php
if ($config['cf_cert_simple']) {
echo '<button type="button" id="win_sa_kakao_cert" class="btn_frmline win_sa_cert" data-type="">간편인증</button>'.PHP_EOL;
}
@ -73,11 +74,10 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
echo '<span class="cert_req">(필수)</span>';
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;
}
?>
<?php
if ($config['cf_cert_use'] && $member['mb_certify']) {
switch ($member['mb_certify']) {
if ($member['mb_certify']) {
switch ($member['mb_certify']) {
case "simple":
$mb_cert = "간편인증";
break;
@ -92,11 +92,12 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
<div id="msg_certify">
<strong><?php echo $mb_cert; ?> 본인확인</strong><?php if ($member['mb_adult']) { ?> 및 <strong>성인인증</strong><?php } ?> 완료
</div>
<?php } ?>
<?php } ?>
</li>
<?php } ?>
<li>
<label for="reg_mb_name">이름 (필수)<?php echo $desc_name ?></label>
<input type="text" id="reg_mb_name" name="mb_name" value="<?php echo get_text($member['mb_name']) ?>" <?php echo $required ?> <?php echo $readonly; ?> class="frm_input full_input <?php echo $required ?> <?php echo $name_readonly ?>" size="10" placeholder="이름">
<input type="text" id="reg_mb_name" name="mb_name" value="<?php echo get_text($member['mb_name']) ?>" <?php echo $required ?> <?php echo $name_readonly; ?> class="frm_input full_input <?php echo $required ?> <?php echo $name_readonly ?>" size="10" placeholder="이름">
</li>
<?php if ($req_nick) { ?>
<li>
@ -135,13 +136,12 @@ if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipi
</li>
<?php } ?>
<?php if ($config['cf_use_tel']) { ?>
<li>
<?php if ($config['cf_use_tel']) { ?>
<label for="reg_mb_tel">전화번호<?php if ($config['cf_req_tel']) { ?> (필수)<?php } ?></label>
<input type="text" name="mb_tel" value="<?php echo get_text($member['mb_tel']) ?>" id="reg_mb_tel" <?php echo $config['cf_req_tel']?"required":""; ?> class="frm_input full_input <?php echo $config['cf_req_tel']?"required":""; ?>" maxlength="20" placeholder="전화번호">
<?php } ?>
</li>
<?php } ?>
<li>
<?php if ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_simple']))) { ?>
<label for="reg_mb_hp">휴대폰번호<?php if (!empty($hp_required)) { ?> (필수)<?php } ?><?php echo $desc_phone ?></label>
@ -227,26 +227,6 @@ gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_
</li>
<?php } ?>
<li class="chk_box">
<input type="checkbox" name="mb_mailling" value="1" id="reg_mb_mailling" <?php echo ($w=='' || $member['mb_mailling'])?'checked':''; ?> class="selec_chk">
<label for="reg_mb_mailling">
<span></span>
<b class="sound_only">메일링서비스</b>
</label>
<span class="chk_li">정보 메일을 받겠습니다.</span>
</li>
<?php if ($config['cf_use_hp']) { ?>
<li class="chk_box">
<input type="checkbox" name="mb_sms" value="1" id="reg_mb_sms" <?php echo ($w=='' || $member['mb_sms'])?'checked':''; ?> class="selec_chk">
<label for="reg_mb_sms">
<span></span>
<b class="sound_only">SMS 수신여부</b>
</label>
<span class="chk_li">휴대폰 문자메세지를 받겠습니다.</span>
</li>
<?php } ?>
<?php if (isset($member['mb_open_date']) && $member['mb_open_date'] <= date("Y-m-d", G5_SERVER_TIME - ($config['cf_open_modify'] * 86400)) || empty($member['mb_open_date'])) { // 정보공개 수정일이 지났다면 수정가능 ?>
<li class="chk_box">
@ -288,13 +268,167 @@ gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_
<input type="text" name="mb_recommend" id="reg_mb_recommend" class="frm_input" placeholder="추천인아이디">
</li>
<?php } ?>
<li class="is_captcha_use">
자동등록방지
<?php echo captcha_html(); ?>
</li>
</ul>
</div>
<?php if($config['cf_kakaotalk_use'] != "") { ?>
<div class="tbl_frm01 tbl_wrap register_form_inner">
<h2>
게시판 알림설정
<button type="button" class="tooltip_icon"><i class="fa fa-question-circle-o" aria-hidden="true"></i><span class="sound_only">설명보기</span></button>
<span class="tooltip">게시판이나 댓글이 등록되면 알림톡으로 안내를 받을 수 있습니다.<br>알림은 등록된 휴대폰 번호로 발송됩니다.</span>
</h2>
<ul>
<!-- 게시글 알림 -->
<li class="chk_box consent-group">
<label><b>게시글 알림</b></label>
<ul class="sub-consents">
<li class="chk_box is-inline">
<input type="checkbox" name="mb_board_post" value="1" id="mb_board_post" <?php echo ($w=='' || $member['mb_board_post'])?'checked':''; ?> class="selec_chk">
<label for="mb_board_post"><span></span><b class="sound_only">내 게시글 작성 완료 알림</b></label>
<span class="chk_li">내 게시글 작성 완료 알림</span>
</li>
<li class="chk_box is-inline">
<input type="checkbox" name="mb_board_reply" value="1" id="mb_board_reply" <?php echo ($w=='' || $member['mb_board_reply'])?'checked':''; ?> class="selec_chk">
<label for="mb_board_reply"><span></span><b class="sound_only">내 게시글에 달린 답변 알림</b></label>
<span class="chk_li">내 게시글에 달린 답변 알림</span>
</li>
</ul>
</li>
<br>
<!-- 댓글 알림 -->
<li class="chk_box consent-group">
<label><b>댓글 알림</b></label>
<ul class="sub-consents">
<li class="chk_box is-inline">
<input type="checkbox" name="mb_board_comment" value="1" id="mb_board_comment" <?php echo ($w=='' || $member['mb_board_comment'])?'checked':''; ?> class="selec_chk">
<label for="mb_board_comment"><span></span><b class="sound_only">내 게시글에 달린 댓글 알림</b></label>
<span class="chk_li">내 게시글에 달린 댓글 알림</span>
</li>
<li class="chk_box is-inline">
<input type="checkbox" name="mb_board_recomment" value="1" id="mb_board_recomment" <?php echo ($w=='' || $member['mb_board_recomment'])?'checked':''; ?> class="selec_chk">
<label for="mb_board_recomment"><span></span><b class="sound_only">댓글에 대댓글 알림</b></label>
<span class="chk_li">내 댓글에 달린 대댓글 알림</span>
</li>
</ul>
</li>
</ul>
</div>
<?php } ?>
<!-- 회원가입 약관 동의에 광고성 정보 수신 동의 표시 여부가 사용시에만 -->
<?php if($config['cf_use_promotion'] == 1) { ?>
<div class="tbl_frm01 tbl_wrap register_form_inner">
<h2>수신설정</h2>
<!-- 수신설정만 팝업 및 체크박스 관련 class 적용 -->
<ul>
<!-- (선택) 마케팅 목적의 개인정보 수집 및 이용 -->
<li class="chk_box">
<div class="consent-line">
<input type="checkbox" name="mb_marketing_agree" value="1" id="reg_mb_marketing_agree" aria-describedby="desc_marketing" <?php echo $member['mb_marketing_agree'] ? 'checked' : ''; ?> class="selec_chk marketing-sync">
<label for="reg_mb_marketing_agree"><span></span><b class="sound_only">(선택) 마케팅 목적의 개인정보 수집 및 이용</b></label>
<span class="chk_li">(선택) 마케팅 목적의 개인정보 수집 및 이용</span>
<button type="button" class="js-open-consent" data-title="마케팅 목적의 개인정보 수집 및 이용" data-template="#tpl_marketing" data-check="#reg_mb_marketing_agree" aria-controls="consentDialog">자세히보기</button>
</div>
<input type="hidden" name="mb_marketing_agree_default" value="<?php echo $member['mb_marketing_agree'] ?>">
<div id="desc_marketing" class="sound_only">마케팅 목적의 개인정보 수집·이용에 대한 안내입니다. 자세히보기를 눌러 전문을 확인할 수 있습니다.</div>
<div class="consent-date"><?php if ($member['mb_marketing_agree'] == 1 && $member['mb_marketing_date'] != "0000-00-00 00:00:00") echo "(동의일자: ".$member['mb_marketing_date'].")"; ?></div>
<template id="tpl_marketing">
* 목적: 서비스 마케팅 및 프로모션<br>
* 항목: 이름, 이메일<?php echo ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_simple']))) ? ", 휴대폰 번호" : "";?><br>
* 보유기간: 회원 탈퇴 시까지<br>
동의를 거부하셔도 서비스 기본 이용은 가능하나, 맞춤형 혜택 제공은 제한될 수 있습니다.
</template>
</li>
<!-- (선택) 광고성 정보 수신 동의 (상위) -->
<li class="chk_box consent-group">
<div class="consent-line">
<input type="checkbox" name="mb_promotion_agree" value="1" id="reg_mb_promotion_agree" aria-describedby="desc_promotion" class="selec_chk marketing-sync parent-promo">
<label for="reg_mb_promotion_agree"><span></span><b class="sound_only">(선택) 광고성 정보 수신 동의</b></label>
<span class="chk_li">(선택) 광고성 정보 수신 동의</span>
<button type="button" class="js-open-consent" data-title="광고성 정보 수신 동의" data-template="#tpl_promotion" data-check="#reg_mb_promotion_agree" data-check-group=".child-promo" aria-controls="consentDialog">자세히보기</button>
</div>
<div id="desc_promotion" class="sound_only">광고성 정보(이메일/SMS·카카오톡) 수신 동의의 상위 항목입니다. 자세히보기를 눌러 전문을 확인할 수 있습니다.</div>
<!-- 하위 채널(이메일/SMS) -->
<ul class="sub-consents">
<li class="chk_box is-inline">
<input type="checkbox" name="mb_mailling" value="1" id="reg_mb_mailling" <?php echo $member['mb_mailling'] ? 'checked' : ''; ?> class="selec_chk child-promo">
<label for="reg_mb_mailling"><span></span><b class="sound_only">광고성 이메일 수신 동의</b></label>
<span class="chk_li">광고성 이메일 수신 동의</span>
<input type="hidden" name="mb_mailling_default" value="<?php echo $member['mb_mailling']; ?>">
<div class="consent-date"><?php if ($w == 'u' && $member['mb_mailling'] == 1 && $member['mb_mailling_date'] != "0000-00-00 00:00:00") echo " (동의일자: ".$member['mb_mailling_date'].")"; ?></div>
</li>
<!-- 휴대폰번호 입력 보이기 or 필수입력일 경우에만 -->
<?php if ($config['cf_use_hp'] || $config['cf_req_hp']) { ?>
<li class="chk_box is-inline">
<input type="checkbox" name="mb_sms" value="1" id="reg_mb_sms" <?php echo $member['mb_sms'] ? 'checked' : ''; ?> class="selec_chk child-promo">
<label for="reg_mb_sms"><span></span><b class="sound_only">광고성 SMS/카카오톡 수신 동의</b></label>
<span class="chk_li">광고성 SMS/카카오톡 수신 동의</span>
<input type="hidden" name="mb_sms_default" value="<?php echo $member['mb_sms']; ?>">
<div class="consent-date"><?php if ($w == 'u' && $member['mb_sms'] == 1 && $member['mb_sms_date'] != "0000-00-00 00:00:00") echo " (동의일자: ".$member['mb_sms_date'].")"; ?></div>
</li>
<?php } ?>
</ul>
<template id="tpl_promotion">
수집·이용에 동의한 개인정보를 이용하여 이메일/SMS/카카오톡 등으로 오전 8시~오후 9시에 광고성 정보를 전송할 수 있습니다.<br>
동의는 언제든지 마이페이지에서 철회할 수 있습니다.
</template>
</li>
<!-- (선택) 개인정보 제3자 제공 동의 -->
<!-- SMS 및 카카오톡 사용시에만 -->
<?php
$configKeys = ['cf_sms_use', 'cf_kakaotalk_use'];
$companies = ['icode' => '아이코드', 'popbill' => '팝빌'];
$usedCompanies = [];
foreach ($configKeys as $key) {
if (!empty($config[$key]) && isset($companies[$config[$key]])) {
$usedCompanies[] = $companies[$config[$key]];
}
}
?>
<?php if (!empty($usedCompanies)) { ?>
<li class="chk_box">
<div class="consent-line">
<input type="checkbox" name="mb_thirdparty_agree" value="1" id="reg_mb_thirdparty_agree" aria-describedby="desc_thirdparty" <?php echo $member['mb_thirdparty_agree'] ? 'checked' : ''; ?> class="selec_chk marketing-sync">
<label for="reg_mb_thirdparty_agree"><span></span><b class="sound_only">(선택) 개인정보 제3자 제공 동의</b></label>
<span class="chk_li">(선택) 개인정보 제3자 제공 동의</span>
<button type="button" class="js-open-consent" data-title="개인정보 제3자 제공 동의" data-template="#tpl_thirdparty" data-check="#reg_mb_thirdparty_agree" aria-controls="consentDialog">자세히보기</button>
</div>
<input type="hidden" name="mb_thirdparty_agree_default" value="<?php echo $member['mb_thirdparty_agree'] ?>">
<div id="desc_thirdparty" class="sound_only">개인정보 제3자 제공 동의에 대한 안내입니다. 자세히보기를 눌러 전문을 확인할 수 있습니다.</div>
<div class="consent-date"><?php if ($member['mb_thirdparty_agree'] == 1 && $member['mb_thirdparty_date'] != "0000-00-00 00:00:00") echo "(동의일자: ".$member['mb_thirdparty_date'].")"; ?></div>
<template id="tpl_thirdparty">
* 목적: 상품/서비스, 사은/판촉행사, 이벤트 등의 마케팅 안내(카카오톡 등)<br>
* 항목: 이름, 휴대폰 번호<br>
* 제공받는 자: <?php echo implode(', ', $usedCompanies);?><br>
* 보유기간: 제공 목적 서비스 기간 또는 동의 철회 시까지
</template>
</li>
<?php } ?>
</ul>
</div>
<?php } ?>
<div class="tbl_frm01 tbl_wrap register_form_inner">
<h2>자동등록방지</h2>
<ul>
<li class="is_captcha_use">
자동등록방지
<?php echo captcha_html(); ?>
</li>
</ul>
</div>
</div>
<div class="btn_confirm">
<a href="<?php echo G5_URL ?>" class="btn_close">취소</a>
@ -302,6 +436,9 @@ gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_
</div>
</form>
</div>
<?php include_once(__DIR__ . '/consent_modal.inc.php'); ?>
<script>
$(function() {
$("#reg_zip_find").css("display", "inline-block");
@ -509,6 +646,31 @@ jQuery(function($){
});
});
document.addEventListener('DOMContentLoaded', function () {
const parentPromo = document.getElementById('reg_mb_promotion_agree');
const childPromo = Array.from(document.querySelectorAll('.child-promo'));
if (!parentPromo || childPromo.length === 0) return;
const syncParentFromChildren = () => {
const anyChecked = childPromo.some(cb => cb.checked);
parentPromo.checked = anyChecked; // 하나라도 체크되면 부모 체크
};
const syncChildrenFromParent = () => {
const isChecked = parentPromo.checked;
childPromo.forEach(cb => {
cb.checked = isChecked;
cb.dispatchEvent(new Event('change', { bubbles: true }));
});
};
syncParentFromChildren();
parentPromo.addEventListener('change', syncChildrenFromParent);
childPromo.forEach(cb => cb.addEventListener('change', syncParentFromChildren));
});
</script>
<!-- } 회원정보 입력/수정 끝 -->

View File

@ -30,12 +30,11 @@
#fregister_chkall {position:relative;text-align:center;background:#f5f7fa;line-height:50px;border:1px solid #e5e9f0;border-radius:3px;margin-bottom:15px}
#fregister h2 {text-align:left;padding:20px;border-bottom:1px solid #dde7e9;font-size:1.2em}
#fregister textarea {display:block;padding:20px;width:100%;height:150px;background:#fff;border:0;line-height:1.6em}
#fregister_private {position:relative}
#fregister_private div {padding:20px;background:#fff}
#fregister_private table {width:100%;border-collapse:collapse;font-size:1em;}
#fregister_private table caption {position:absolute;font-size:0;line-height:0;overflow:hidden}
#fregister_private table th {background:#f7f7f9;width:33.33%;color:#000;padding:10px;border:1px solid #d8dbdf}
#fregister_private table td {border:1px solid #e7e9ec;padding:10px;border-top:0}
.fregister_terms div {padding:20px;background:#fff}
.fregister_terms table {width:100%;border-collapse:collapse;font-size:1em;}
.fregister_terms table caption {position:absolute;font-size:0;line-height:0;overflow:hidden}
.fregister_terms table th {background:#f7f7f9;width:33.33%;color:#000;padding:10px;border:1px solid #d8dbdf}
.fregister_terms table td {border:1px solid #e7e9ec;padding:10px;border-top:0}
.fregister_agree {position:absolute;top:0;right:0}
.fregister_agree input[type="checkbox"] + label {color:#676e70}
@ -69,6 +68,11 @@
#fregisterform .captcha {display:block;margin:5px 0 0}
#fregisterform .reg_mb_img_file img {max-width:100%;height:auto}
#reg_mb_icon, #reg_mb_img {float:right}
#fregisterform .consent-line {display: flex; margin: 0 !important;}
#fregisterform .consent-line .chk_li {padding-left: 0;}
#fregisterform .consent-date { margin: 5px 0 0 20px !important; }
#fregisterform .consent-group .sub-consents {padding: 0 20px 0px}
#fregisterform .js-open-consent {display: block; margin-left: 10px; font-size: 12px; color: #3f51b5; background: none; border: none; cursor: pointer; text-decoration: underline; }
/* 회원가입 완료 */
#reg_result {padding:40px 30px;text-align:center;background:#edf3fc;border:1px solid #d6e2f4;border-radius:5px}

View File

@ -59,6 +59,6 @@
.chk_box {position:relative}
.chk_box input[type="checkbox"] + label {padding-left:20px;color:#676e70}
.chk_box input[type="checkbox"] + label:hover{color:#2172f8}
.chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.chk_box input[type="checkbox"] + label span {position:absolute;top:3px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.chk_box input[type="checkbox"]:checked + label {color:#000}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}

View File

@ -340,11 +340,11 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_CSS_URL.'/style.css">', 0
}
}
// 재입고SMS 알림
// 재입고 알림
function popup_stocksms(it_id)
{
url = "<?php echo G5_SHOP_URL; ?>/itemstocksms.php?it_id=" + it_id;
opt = "scrollbars=yes,width=616,height=420,top=10,left=10";
opt = "scrollbars=yes,width=616,height=500,top=10,left=10";
popup_window(url, "itemstocksms", opt);
}
</script>