Compare commits
164
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b4bb06d74 | ||
|
|
1e515ab177 | ||
|
|
cacaf29ff6 | ||
|
|
105ac603bb | ||
|
|
8815c4527c | ||
|
|
70173fbccb | ||
|
|
81a0537f66 | ||
|
|
dc2dc8bce2 | ||
|
|
b654fbd186 | ||
|
|
1eabc482f2 | ||
|
|
3681c64132 | ||
|
|
8f3acd13e1 | ||
|
|
d2310221cc | ||
|
|
0ddb2a97be | ||
|
|
779623b4e3 | ||
|
|
1f0a2dfc2f | ||
|
|
ab0824e5d5 | ||
|
|
3841cbd2ec | ||
|
|
0d226ef6fb | ||
|
|
80639b4fff | ||
|
|
6ab674b475 | ||
|
|
68153d4afa | ||
|
|
f038dc98bf | ||
|
|
d689d10ada | ||
|
|
ab9f980aea | ||
|
|
736aa92769 | ||
|
|
40694f2b75 | ||
|
|
1eee9e46a4 | ||
|
|
cce78676c0 | ||
|
|
f600cc65da | ||
|
|
c69090fc4d | ||
|
|
e3aa70a886 | ||
|
|
21269e632b | ||
|
|
166c5e92bd | ||
|
|
497ac75031 | ||
|
|
8eadd8b33f | ||
|
|
1b2729c2ff | ||
|
|
4938bd75f4 | ||
|
|
4e52b8c047 | ||
|
|
facdeb2f00 | ||
|
|
c6265aee2a | ||
|
|
781c99b35d | ||
|
|
8f7f468910 | ||
|
|
49283792d2 | ||
|
|
15821991f2 | ||
|
|
c74c04bf16 | ||
|
|
816b658252 | ||
|
|
3d668f1a1d | ||
|
|
fa780a5aa3 | ||
|
|
f029210122 | ||
|
|
54080f516a | ||
|
|
a42041a645 | ||
|
|
0b74f2ec32 | ||
|
|
b2041758f4 | ||
|
|
469e1ff890 | ||
|
|
abe801a7ac | ||
|
|
f283e6c3d9 | ||
|
|
50612db75a | ||
|
|
63217a6a67 | ||
|
|
688440eb18 | ||
|
|
6724b2d59f | ||
|
|
8a355b2b98 | ||
|
|
2e10febd85 | ||
|
|
88b781e631 | ||
|
|
7a8eca575c | ||
|
|
df62e80d0a | ||
|
|
6f30fed6fa | ||
|
|
20bb92025f | ||
|
|
d2efd07536 | ||
|
|
1c7b4d5501 | ||
|
|
6dc37c2162 | ||
|
|
a3e8c97ef5 | ||
|
|
7a9e66542b | ||
|
|
a034428b25 | ||
|
|
0f527be72e | ||
|
|
28dbc78cdc | ||
|
|
20842daa0d | ||
|
|
24467e69ae | ||
|
|
3c7439fc0a | ||
|
|
1d32545552 | ||
|
|
d48ff6cffe | ||
|
|
430e6d29e7 | ||
|
|
7dea8e6866 | ||
|
|
353a1ad784 | ||
|
|
5fc6fcd4ac | ||
|
|
84a9f8eb3d | ||
|
|
41057b9f2e | ||
|
|
d9617a8c1e | ||
|
|
2818da8bc6 | ||
|
|
d2eb7a9c6a | ||
|
|
a18b7b7d30 | ||
|
|
eeff1e7181 | ||
|
|
f2f8c01293 | ||
|
|
96d37a8ef6 | ||
|
|
ebf00b6834 | ||
|
|
6090b0de18 | ||
|
|
0b11cee221 | ||
|
|
ce7de94486 | ||
|
|
fc0f67d4c2 | ||
|
|
d713fbd1e3 | ||
|
|
f75202786e | ||
|
|
5c73de46a9 | ||
|
|
e14e392488 | ||
|
|
53e5d179d4 | ||
|
|
d97f0d87c3 | ||
|
|
9d0ead3140 | ||
|
|
02fac2bfa5 | ||
|
|
f133acda17 | ||
|
|
543ed66fc4 | ||
|
|
2e3ef9cf43 | ||
|
|
e333412be6 | ||
|
|
007389b299 | ||
|
|
c4544671a2 | ||
|
|
38308f887b | ||
|
|
bdd52dae6f | ||
|
|
ae515803f6 | ||
|
|
5d31a5505d | ||
|
|
99087027a2 | ||
|
|
6b5ca5c5e6 | ||
|
|
0731b57c80 | ||
|
|
8d7bdb331d | ||
|
|
1accc143ec | ||
|
|
8e87434e99 | ||
|
|
b3e53e3c78 | ||
|
|
8e20e39e3f | ||
|
|
c7de15f7f5 | ||
|
|
4595fefe7d | ||
|
|
e3bfefab55 | ||
|
|
c024c7552b | ||
|
|
8ed56ec293 | ||
|
|
ed3143b6fd | ||
|
|
1491ae6e17 | ||
|
|
b29ced4553 | ||
|
|
77064a40c6 | ||
|
|
52ed0f3d64 | ||
|
|
d0e101b3e8 | ||
|
|
3f97138715 | ||
|
|
d76b371a58 | ||
|
|
42bf3d6044 | ||
|
|
1d89af99b0 | ||
|
|
81635f7737 | ||
|
|
e1e20f2dc2 | ||
|
|
0260fb9e33 | ||
|
|
d9e6342c09 | ||
|
|
8abf0dfcae | ||
|
|
c2ce0f1d95 | ||
|
|
4183ae5a42 | ||
|
|
8468a87f26 | ||
|
|
fdbbe2d307 | ||
|
|
9bc012f7f8 | ||
|
|
76bbc41043 | ||
|
|
bda235bf01 | ||
|
|
57e41498bc | ||
|
|
6b293876da | ||
|
|
cf3570586a | ||
|
|
d8df299366 | ||
|
|
b3b92d4e1c | ||
|
|
f27e4c3c0c | ||
|
|
bd33a31a10 | ||
|
|
8ac1d25242 | ||
|
|
c82add0eca | ||
|
|
58f5e9b5cd | ||
|
|
74798b93c1 | ||
|
|
178886c87a |
+1
-1
@@ -9,7 +9,7 @@ test.php
|
||||
log
|
||||
g5_tree
|
||||
cheditor5.*/
|
||||
ckeditor*/
|
||||
!ckeditor*/
|
||||
log/
|
||||
g5_tree/
|
||||
.vscode/
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@ function get_skin_dir($skin, $skin_path=G5_SKIN_PATH)
|
||||
|
||||
$dirname = $skin_path.'/'.$skin.'/';
|
||||
if(!is_dir($dirname))
|
||||
return;
|
||||
return array();
|
||||
|
||||
$handle = opendir($dirname);
|
||||
while ($file = readdir($handle)) {
|
||||
|
||||
+1
-4
@@ -11,8 +11,6 @@ if (!$row['cnt'])
|
||||
alert('게시판그룹이 한개 이상 생성되어야 합니다.', './boardgroup_form.php');
|
||||
|
||||
$html_title = '게시판';
|
||||
$reaonly = '';
|
||||
$required_valid = '';
|
||||
|
||||
if (!isset($board['bo_device'])) {
|
||||
// 게시판 사용 필드 추가
|
||||
@@ -142,6 +140,7 @@ run_event('adm_board_form_before', $board, $w);
|
||||
$required = "";
|
||||
$readonly = "";
|
||||
$sound_only = "";
|
||||
$required_valid = "";
|
||||
if ($w == '') {
|
||||
|
||||
$html_title .= ' 생성';
|
||||
@@ -706,8 +705,6 @@ $pg_anchor = '<ul class="anchor">
|
||||
if ($config['cf_cert_use']) {
|
||||
echo option_selected("cert", $board['bo_use_cert'], "본인확인된 회원전체");
|
||||
echo option_selected("adult", $board['bo_use_cert'], "본인확인된 성인회원만");
|
||||
echo option_selected("hp-cert", $board['bo_use_cert'], "휴대폰 본인확인된 회원전체");
|
||||
echo option_selected("hp-adult", $board['bo_use_cert'], "휴대폰 본인확인된 성인회원만");
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
|
||||
+58
-7
@@ -272,12 +272,25 @@ if(!isset($member['mb_scrap_cnt'])) {
|
||||
}
|
||||
|
||||
// 아이코드 토큰키 추가
|
||||
if( ! isset($config['cf_icode_token_key']) ){
|
||||
if(!isset($config['cf_icode_token_key']) ){
|
||||
$sql = "ALTER TABLE `{$g5['config_table']}`
|
||||
ADD COLUMN `cf_icode_token_key` VARCHAR(100) NOT NULL DEFAULT '' AFTER `cf_icode_server_port`; ";
|
||||
sql_query($sql, false);
|
||||
}
|
||||
|
||||
// 아이디/비밀번호 찾기에 본인확인 사용 여부 필드 추가
|
||||
if(!isset($config['cf_cert_find']) ){
|
||||
$sql = "ALTER TABLE `{$g5['config_table']}`
|
||||
ADD COLUMN `cf_cert_find` TINYINT(4) NOT NULL DEFAULT '0' AFTER `cf_cert_use`; ";
|
||||
sql_query($sql, false);
|
||||
}
|
||||
// 통합인증 필드 추가
|
||||
if(!isset($config['cf_cert_sa']) ){
|
||||
$sql = "ALTER TABLE `{$g5['config_table']}`
|
||||
ADD COLUMN `cf_cert_sa` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_hp`,
|
||||
ADD COLUMN `cf_cert_kg_cd` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_sa`,
|
||||
ADD COLUMN `cf_cert_kg_mid` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_kg_cd`; ";
|
||||
sql_query($sql, false);
|
||||
}
|
||||
if(!$config['cf_faq_skin']) $config['cf_faq_skin'] = "basic";
|
||||
if(!$config['cf_mobile_faq_skin']) $config['cf_mobile_faq_skin'] = "basic";
|
||||
|
||||
@@ -836,14 +849,15 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<?php echo option_selected("1", $config['cf_cert_use'], "테스트"); ?>
|
||||
<?php echo option_selected("2", $config['cf_cert_use'], "실서비스"); ?>
|
||||
</select>
|
||||
<input type="checkbox" name="cf_cert_find" id="cf_cert_find" value="1" <?php if($config['cf_cert_find'] == 1) { ?> checked <?php } ?>><label for="cf_cert_find">아이디/비밀번호 찾기에 사용하기</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" class="cf_cert_service"><label for="cf_cert_ipin">아이핀 본인확인</label></th>
|
||||
<th scope="row" class="cf_cert_service"><label for="cf_cert_sa">통합인증</label></th>
|
||||
<td class="cf_cert_service">
|
||||
<select name="cf_cert_ipin" id="cf_cert_ipin">
|
||||
<?php echo option_selected("", $config['cf_cert_ipin'], "사용안함"); ?>
|
||||
<?php echo option_selected("kcb", $config['cf_cert_ipin'], "코리아크레딧뷰로(KCB) 아이핀"); ?>
|
||||
<select name="cf_cert_sa" id="cf_cert_sa">
|
||||
<?php echo option_selected("", $config['cf_cert_sa'], "사용안함"); ?>
|
||||
<?php echo option_selected("sa", $config['cf_cert_sa'], "KG이니시스 통합인증"); ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -858,6 +872,26 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" class="cf_cert_service"><label for="cf_cert_ipin">아이핀 본인확인</label></th>
|
||||
<td class="cf_cert_service">
|
||||
<select name="cf_cert_ipin" id="cf_cert_ipin">
|
||||
<?php echo option_selected("", $config['cf_cert_ipin'], "사용안함"); ?>
|
||||
<?php echo option_selected("kcb", $config['cf_cert_ipin'], "코리아크레딧뷰로(KCB) 아이핀"); ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" class="cf_cert_service"><label for="cf_cert_kg_cd">KG이니시스 통합인증</label></th>
|
||||
<td class="cf_cert_service">
|
||||
<span class="sitecode title">MID</span>
|
||||
<span class="sitecode">SRA</span>
|
||||
<input type="text" name="cf_cert_kg_mid" value="<?php echo get_sanitize_input($config['cf_cert_kg_mid']); ?>" id="cf_cert_kg_mid" class="frm_input" size="20" minlength="7" maxlength="7"><br>
|
||||
<br>
|
||||
<span class="sitecode title">API Key</span>
|
||||
<input type="text" name="cf_cert_kg_cd" value="<?php echo get_sanitize_input($config['cf_cert_kg_cd']); ?>" id="cf_cert_kg_cd" class="frm_input" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" class="cf_cert_service"><label for="cf_cert_kcb_cd">코리아크레딧뷰로<br>KCB 회원사ID</label></th>
|
||||
<td class="cf_cert_service">
|
||||
@@ -892,7 +926,7 @@ 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_limit">본인확인 이용제한</label></th>
|
||||
<td class="cf_cert_service">
|
||||
<?php echo help('하루동안 아이핀과 휴대폰 본인확인 인증 이용회수를 제한할 수 있습니다.<br>회수제한은 실서비스에서 아이핀과 휴대폰 본인확인 인증에 개별 적용됩니다.<br>0 으로 설정하시면 회수제한이 적용되지 않습니다.'); ?>
|
||||
<?php echo help('1일 단위 본인인증을 시도할 수 있는 최대횟수를 지정합니다. (0으로 설정 시 무한으로 인증시도 가능)<br>아이핀/휴대폰/통합인증에서 개별 적용됩니다.)'); ?>
|
||||
<input type="text" name="cf_cert_limit" value="<?php echo (int) $config['cf_cert_limit']; ?>" id="cf_cert_limit" class="frm_input" size="3"> 회
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1388,6 +1422,14 @@ $(function(){
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
$("#cf_cert_find").on("click", function() {
|
||||
if($(this).attr("checked")) {
|
||||
let flag = confirm("휴대폰/아이핀 본인확인을 이용하시다가 통합인증을 이용하시는 경우, 기존 회원은 아이디/비밀번호 찾기에 사용할 수 없을 수 있습니다.\n\n그래도 사용하시겠습니까?");
|
||||
$(this).attr("checked", flag);
|
||||
};
|
||||
});
|
||||
|
||||
$("#cf_captcha").on("change", function(){
|
||||
if ($(this).val() == 'recaptcha' || $(this).val() == 'recaptcha_inv') {
|
||||
$("[class^='kcaptcha_']").hide();
|
||||
@@ -1530,4 +1572,13 @@ if($config['cf_cert_use']) {
|
||||
}
|
||||
}
|
||||
|
||||
if (stripos($config['cf_image_extension'], "webp") !== false) {
|
||||
if (!function_exists("imagewebp")) {
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'alert("이 서버는 webp 이미지를 지원하고 있지 않습니다.\n이미지 업로드 확장자에서 webp 확장자를 제거해 주십시오.\n제거하지 않으면 이미지와 관련된 오류가 발생할 수 있습니다.");'.PHP_EOL;
|
||||
echo 'document.getElementById("cf_image_extension").focus();'.PHP_EOL;
|
||||
echo '</script>'.PHP_EOL;
|
||||
}
|
||||
}
|
||||
|
||||
include_once ('./admin.tail.php');
|
||||
@@ -22,7 +22,7 @@ check_admin_token();
|
||||
|
||||
$cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',', $_POST['cf_social_servicelist']) : '';
|
||||
|
||||
$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret');
|
||||
$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret','cf_cert_kg_cd','cf_cert_kg_mid');
|
||||
|
||||
foreach( $check_keys as $key ){
|
||||
if ( isset($_POST[$key]) && $_POST[$key] ){
|
||||
@@ -99,8 +99,10 @@ $check_keys = array(
|
||||
'cf_social_login_use' => 'int',
|
||||
'cf_cert_req' => 'int',
|
||||
'cf_cert_use' => 'int',
|
||||
'cf_cert_find' => 'int',
|
||||
'cf_cert_ipin' => 'char',
|
||||
'cf_cert_hp' => 'char',
|
||||
'cf_cert_sa' => 'char',
|
||||
'cf_admin_email' => 'char',
|
||||
'cf_admin_email_name' => 'char',
|
||||
'cf_add_script' => 'text',
|
||||
@@ -171,12 +173,13 @@ foreach( $check_keys as $k => $v ){
|
||||
}
|
||||
|
||||
// 본인확인을 사용할 경우 아이핀, 휴대폰인증 중 하나는 선택되어야 함
|
||||
if($_POST['cf_cert_use'] && !$_POST['cf_cert_ipin'] && !$_POST['cf_cert_hp'])
|
||||
alert('본인확인을 위해 아이핀 또는 휴대폰 본인학인 서비스를 하나이상 선택해 주십시오');
|
||||
if($_POST['cf_cert_use'] && !$_POST['cf_cert_ipin'] && !$_POST['cf_cert_hp'] && !$_POST['cf_cert_sa'])
|
||||
alert('본인확인을 위해 아이핀, 휴대폰 본인확인, KG이니시스 통합인증 서비스 중 하나이상 선택해 주십시오');
|
||||
|
||||
if(!$_POST['cf_cert_use']) {
|
||||
$posts[$key] = $_POST['cf_cert_ipin'] = '';
|
||||
$posts[$key] = $_POST['cf_cert_hp'] = '';
|
||||
$posts[$key] = $_POST['cf_cert_sa'] = '';
|
||||
}
|
||||
|
||||
$sql = " update {$g5['config_table']}
|
||||
@@ -274,8 +277,12 @@ $sql = " update {$g5['config_table']}
|
||||
cf_captcha_mp3 = '{$_POST['cf_captcha_mp3']}',
|
||||
cf_editor = '{$_POST['cf_editor']}',
|
||||
cf_cert_use = '{$_POST['cf_cert_use']}',
|
||||
cf_cert_find = '{$_POST['cf_cert_find']}',
|
||||
cf_cert_ipin = '{$_POST['cf_cert_ipin']}',
|
||||
cf_cert_hp = '{$_POST['cf_cert_hp']}',
|
||||
cf_cert_sa = '{$_POST['cf_cert_sa']}',
|
||||
cf_cert_kg_cd = '{$_POST['cf_cert_kg_cd']}',
|
||||
cf_cert_kg_mid = '".trim($_POST['cf_cert_kg_mid'])."',
|
||||
cf_cert_kcb_cd = '{$_POST['cf_cert_kcb_cd']}',
|
||||
cf_cert_kcp_cd = '{$_POST['cf_cert_kcp_cd']}',
|
||||
cf_lg_mid = '{$_POST['cf_lg_mid']}',
|
||||
|
||||
+15
-15
@@ -144,7 +144,7 @@ box-shadow: 2px 0 2px rgba(150,150,150,0.1);}
|
||||
.btn_submit{background:#ff4081;color:#fff}
|
||||
a.btn_submit{background:#ff4081;color:#fff}
|
||||
|
||||
|
||||
|
||||
.btn_confirm .btn_submit {padding:0 15px;border:0;height:30px;color:#fff}
|
||||
.btn_frmline {display:inline-block;padding:0 7px;height:24px;border:0;background:#444;color:#fff !important;letter-spacing:-0.1em;text-decoration:none;vertical-align:middle;line-height:2em} /* 우편번호검색버튼 등 */
|
||||
.btn_frmline:focus, .btn_frmline:hover, .btn_frmline:active {text-decoration:none}
|
||||
@@ -182,10 +182,10 @@ a.btn_submit{background:#ff4081;color:#fff}
|
||||
.btn_add01 button {margin:0}
|
||||
|
||||
|
||||
|
||||
|
||||
.td_mng a.btn,.td_mng a{display:inline-block;height:26px;line-height:26px;border:0;border-radius:3px;padding:0 8px;margin:1px;font-weight:normal}
|
||||
.td_mng button,.td_mng button.btn{height:26px;border:0;border-radius:3px;padding:0 8px;margin:1px;font-weight:normal}
|
||||
|
||||
|
||||
.btn{height:30px;border:0;border-radius:5px;padding:0 10px;font-weight:bold;font-size:1.09em;vertical-align:middle}
|
||||
a.btn{display:inline-block;height:30px;line-height:30px;border:0;border-radius:5px;padding:0 10px;font-weight:bold;font-size:1.09em;vertical-align:middle}
|
||||
.btn_submit{background:#ff4081;color:#fff}
|
||||
@@ -218,7 +218,7 @@ legend {position:absolute;width:0;height:0;font-size:0;line-height:0;text-indent
|
||||
|
||||
/* 외부서비스 사이트코드 */
|
||||
.sitecode {display:inline-block;font:bold 15px 'Verdana';vertical-align:middle}
|
||||
|
||||
.sitecode.title {width:80px}
|
||||
|
||||
.readonly {}
|
||||
|
||||
@@ -249,7 +249,7 @@ legend {position:absolute;width:0;height:0;font-size:0;line-height:0;text-indent
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#sort_mb {width:800px}
|
||||
|
||||
#sort_sodr {width:600px}
|
||||
@@ -310,7 +310,7 @@ border-bottom: 5px solid black;}
|
||||
.local_ov01 .ov_a{display:inline-block;line-height:30px;height:30px;font-size:0.92em;background:#ff4081;color:#fff;vertical-align:top;border-radius:5px;padding:0 7px}
|
||||
.local_ov01 .ov_a:hover{background:#ff1464}
|
||||
|
||||
|
||||
|
||||
/* 테이블 */
|
||||
table {clear:both;width:100%;border-collapse:collapse;border-spacing:0;}
|
||||
table caption {height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
@@ -750,7 +750,7 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right}
|
||||
/* 분류관리 목록 */
|
||||
#sct .sct_name {width:130px}
|
||||
#sct th{padding:5px}
|
||||
|
||||
|
||||
#sct .sct_name div {position:relative}
|
||||
#sct .sct_name1 {padding-left:25px}
|
||||
#sct .sct_name2 {padding-left:50px}
|
||||
@@ -1001,7 +1001,7 @@ box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);}
|
||||
.service_wrap{ width:965px;margin:0 0 10px;overflow:hidden}
|
||||
.sevice_1{border:1px solid #ebe8e8;width:310px;float:left;border-radius:5px;text-align:center;margin-right:6px;}
|
||||
.sevice_1 .svc_img{padding:30px 0 0;}
|
||||
.sevice_1 h3{font-size:16px;margin:185px 0 10px;color:#525252}
|
||||
.sevice_1 h3{font-size:16px;margin:190px 0 10px;min-height:45px;color:#525252}
|
||||
.sevice_1 p{padding:20px;background:#f8f8f8;font-size:12px;text-align:left;color:#898989;line-height:18px}
|
||||
.sevice_1 ul {width:100%;padding:0; margin:0;border-top:1px solid #ebe8e8;}
|
||||
.sevice_1 ul li{list-style:none;float:left;border-right:1px solid #ebe8e8;}
|
||||
@@ -1014,7 +1014,7 @@ box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);}
|
||||
.svc_card{background:url('../img/service_img1.jpg') no-repeat top center;margin-right:13px;}
|
||||
.svc_card ul li{width:33%;}
|
||||
.svc_phone {background:url('../img/service_img2.jpg') no-repeat top center;margin-right:13px;}
|
||||
.svc_phone ul li{width:33%;}
|
||||
.svc_phone ul li{width:50%;}
|
||||
.svc_ipin {background:url('../img/service_img3.jpg') no-repeat top center;}
|
||||
|
||||
.service_2{padding-top:15px;clear:both}
|
||||
@@ -1053,7 +1053,7 @@ box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);}
|
||||
#theme_list{padding:0;margin:0;list-style:none; width: 1000px;position:relative}
|
||||
#theme_list:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
#theme_list li{margin:10px 10px 10px 0;float:left}
|
||||
|
||||
|
||||
#theme_list li:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
#theme_list li .tmli_if{border: 1px solid #d1dee2;width:302px;}
|
||||
#theme_list li .tmli_if>img{width:300px;height:225px;}
|
||||
@@ -1111,9 +1111,9 @@ box-shadow: 1px 2px 5px rgba(150,150,150,0.5);z-index:1000}
|
||||
#processing{margin: 0 auto;padding: 70px 0;border: 1px solid #eee;background: #f9f9f9;text-align:center;}
|
||||
#processing p{font-size:1.2em}
|
||||
.check_processing {width:300px;height:300px;margin:0 auto;background:url(../img/check.png) no-repeat 50% 50% }
|
||||
|
||||
|
||||
#processing button{background:#ff3061;border:none;color:#fff;padding: 15px;width:200px;margin-top:15px;border-radius:5px;font-weight:bold;font-size:1.167em}
|
||||
|
||||
|
||||
#processing button{background:#ff3061;border:none;color:#fff;padding: 15px;width:200px;margin-top:15px;border-radius:5px;font-weight:bold;font-size:1.167em}
|
||||
|
||||
|
||||
/*미완료 주문*/
|
||||
@@ -1134,7 +1134,7 @@ box-shadow: 1px 2px 5px rgba(150,150,150,0.5);z-index:1000}
|
||||
#itemuselist .use_href{font-weight:bold;text-decoration:none;display:block;}
|
||||
#itemuselist .use_href .tit_op{background:url(./../img/op_btn1.gif) no-repeat 50% 50%;display:inline-block;text-indent:-999px;overflow:hidden;width:7px;height:4px;margin-left:5px}
|
||||
#itemuselist .use_div{background:#d8dfe9;padding:10px;margin:5px 0 0;display:none;}
|
||||
#itemuselist .td_select{width:100px}
|
||||
#itemuselist .td_select{width:100px}
|
||||
|
||||
|
||||
@media only screen and (max-device-width : 768px) and (orientation : landscape){
|
||||
@@ -1145,4 +1145,4 @@ input[type="text"]{max-width:200px}
|
||||
@media only screen and (max-device-width : 480px) and (orientation : portrait){
|
||||
/* Styles */
|
||||
input[type="text"]{max-width:200px}
|
||||
}
|
||||
}
|
||||
|
||||
+25
-23
@@ -177,31 +177,33 @@ if( !$row ) {
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 임시저장 테이블이 없을 경우 생성
|
||||
if(!sql_query(" DESC {$g5['g5_shop_post_log_table']} ", false)) {
|
||||
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['g5_shop_post_log_table']}` (
|
||||
`log_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`oid` bigint(20) unsigned NOT NULL,
|
||||
`mb_id` varchar(255) NOT NULL DEFAULT '',
|
||||
`post_data` text NOT NULL,
|
||||
`ol_code` varchar(255) NOT NULL DEFAULT '',
|
||||
`ol_msg` text NOT NULL,
|
||||
`ol_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`ol_ip` varchar(25) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`log_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", true);
|
||||
if (defined('G5_USE_SHOP') && G5_USE_SHOP) {
|
||||
// 임시저장 테이블이 없을 경우 생성
|
||||
if(!sql_query(" DESC {$g5['g5_shop_post_log_table']} ", false)) {
|
||||
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['g5_shop_post_log_table']}` (
|
||||
`log_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`oid` bigint(20) unsigned NOT NULL,
|
||||
`mb_id` varchar(255) NOT NULL DEFAULT '',
|
||||
`post_data` text NOT NULL,
|
||||
`ol_code` varchar(255) NOT NULL DEFAULT '',
|
||||
`ol_msg` text NOT NULL,
|
||||
`ol_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`ol_ip` varchar(25) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`log_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
$result = sql_query("describe `{$g5['g5_shop_post_log_table']}`");
|
||||
while ($row = sql_fetch_array($result)){
|
||||
if( $row['Field'] === 'ol_msg' && $row['Type'] === 'varchar(255)' ){
|
||||
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` MODIFY ol_msg TEXT NOT NULL;", false);
|
||||
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` DROP PRIMARY KEY;", false);
|
||||
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` ADD `log_id` int(11) NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (`log_id`);", false);
|
||||
$is_check = true;
|
||||
break;
|
||||
}
|
||||
|
||||
$result = sql_query("describe `{$g5['g5_shop_post_log_table']}`");
|
||||
while ($row = sql_fetch_array($result)){
|
||||
if( $row['Field'] === 'ol_msg' && $row['Type'] === 'varchar(255)' ){
|
||||
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` MODIFY ol_msg TEXT NOT NULL;", false);
|
||||
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` DROP PRIMARY KEY;", false);
|
||||
sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` ADD `log_id` int(11) NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (`log_id`);", false);
|
||||
$is_check = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+8
-2
@@ -96,6 +96,10 @@ else
|
||||
|
||||
// 본인확인방법
|
||||
switch($mb['mb_certify']) {
|
||||
case 'sa':
|
||||
$mb_certify_case = '통합인증';
|
||||
$mb_certify_val = 'sa';
|
||||
break;
|
||||
case 'hp':
|
||||
$mb_certify_case = '휴대폰';
|
||||
$mb_certify_val = 'hp';
|
||||
@@ -233,10 +237,12 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
<tr>
|
||||
<th scope="row">본인확인방법</th>
|
||||
<td colspan="3">
|
||||
<input type="radio" name="mb_certify_case" value="ipin" id="mb_certify_ipin" <?php if($mb['mb_certify'] == 'ipin') echo 'checked="checked"'; ?>>
|
||||
<label for="mb_certify_ipin">아이핀</label>
|
||||
<input type="radio" name="mb_certify_case" value="sa" id="mb_certify_sa" <?php if($mb['mb_certify'] == 'sa') echo 'checked="checked"'; ?>>
|
||||
<label for="mb_certify_sa">통합인증</label>
|
||||
<input type="radio" name="mb_certify_case" value="hp" id="mb_certify_hp" <?php if($mb['mb_certify'] == 'hp') echo 'checked="checked"'; ?>>
|
||||
<label for="mb_certify_hp">휴대폰</label>
|
||||
<input type="radio" name="mb_certify_case" value="ipin" id="mb_certify_ipin" <?php if($mb['mb_certify'] == 'ipin') echo 'checked="checked"'; ?>>
|
||||
<label for="mb_certify_ipin">아이핀</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
+9
-3
@@ -194,6 +194,10 @@ $colspan = 16;
|
||||
$mb_certify_case = '아이핀';
|
||||
$mb_certify_val = '';
|
||||
break;
|
||||
case 'sa':
|
||||
$mb_certify_case = '통합인증';
|
||||
$mb_certify_val = '';
|
||||
break;
|
||||
case 'admin':
|
||||
$mb_certify_case = '관리자';
|
||||
$mb_certify_val = 'admin';
|
||||
@@ -236,10 +240,12 @@ $colspan = 16;
|
||||
?>
|
||||
</td>
|
||||
<td headers="mb_list_cert" rowspan="2" class="td_mbcert">
|
||||
<input type="radio" name="mb_certify[<?php echo $i; ?>]" value="ipin" id="mb_certify_ipin_<?php echo $i; ?>" <?php echo $row['mb_certify']=='ipin'?'checked':''; ?>>
|
||||
<label for="mb_certify_ipin_<?php echo $i; ?>">아이핀</label><br>
|
||||
<input type="radio" name="mb_certify[<?php echo $i; ?>]" value="sa" id="mb_certify_sa_<?php echo $i; ?>" <?php echo $row['mb_certify']=='sa'?'checked':''; ?>>
|
||||
<label for="mb_certify_sa_<?php echo $i; ?>">통합인증</label><br>
|
||||
<input type="radio" name="mb_certify[<?php echo $i; ?>]" value="hp" id="mb_certify_hp_<?php echo $i; ?>" <?php echo $row['mb_certify']=='hp'?'checked':''; ?>>
|
||||
<label for="mb_certify_hp_<?php echo $i; ?>">휴대폰</label>
|
||||
<label for="mb_certify_hp_<?php echo $i; ?>">휴대폰</label><br>
|
||||
<input type="radio" name="mb_certify[<?php echo $i; ?>]" value="ipin" id="mb_certify_ipin_<?php echo $i; ?>" <?php echo $row['mb_certify']=='ipin'?'checked':''; ?>>
|
||||
<label for="mb_certify_ipin_<?php echo $i; ?>">아이핀</label>
|
||||
</td>
|
||||
<td headers="mb_list_mailc"><?php echo preg_match('/[1-9]/', $row['mb_email_certify'])?'<span class="txt_true">Yes</span>':'<span class="txt_false">No</span>'; ?></td>
|
||||
<td headers="mb_list_open">
|
||||
|
||||
+11
-22
@@ -15,45 +15,34 @@ include_once('./admin.head.php');
|
||||
<div class="service_wrap">
|
||||
<div class="sevice_1 svc_card">
|
||||
<h3>신용카드 전자결제 서비스<br><span>(계좌이체, 가상계좌 결제 포함)</span></h3>
|
||||
<p>이곳을 통하여 가입하시면 신용카드 결제를 국내 최저 수수료인 3.2%에 이용 할 수 있습니다. 영카트를 사용하지 않아도 이 수수료를 적용 받을 수 있습니다. 아래 가입을 희망하시는 회사의 로고를 클릭하시면 가입페이지로 이동합니다.</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://sir.kr/main/service/p_pg.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_01.jpg" alt="KCP 신용카드 전자결제 신청하기"></a></li>
|
||||
<li ><a href="http://sir.kr/main/service/lg_pg.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_02.jpg?v2" alt="토스페이먼츠 전자결제 신청하기"></a></li>
|
||||
<li><a href="http://sir.kr/main/service/lg_pg.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_02.jpg?v2" alt="토스페이먼츠 전자결제 신청하기"></a></li>
|
||||
<li class="last"><a href="http://sir.kr/main/service/inicis_pg.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_06.jpg" alt="KG 이니시스 전자결제 신청하기"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="sevice_1 svc_phone">
|
||||
<h3>휴대폰 본인확인 서비스</h3>
|
||||
<p>정보통신망법 23조 2항(주민등록번호의 사용제한)에 따라 기존 주민등록번호 기반의 인증서비스 이용이 불가합니다. 주민등록번호 대체수단으로 최소한의 정보(생년월일, 휴대폰번호, 성별)를 입력받아 본인임을 확인하는 인증수단 입니다</p>
|
||||
<h3>본인확인 서비스</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://sir.kr/main/service/p_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_01.jpg" alt="KCP 휴대폰 본인확인 신청하기"></a></li>
|
||||
<li><a href="http://sir.kr/main/service/lg_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_02.jpg?v2" alt="유플러스 휴대폰 본인확인 신청하기"></a></li>
|
||||
<li class="last"><a href="http://sir.kr/main/service/b_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_03.jpg" alt="오케이네임 휴대폰대체인증 신청하기"></a></li>
|
||||
|
||||
<li><a href="http://sir.kr/main/service/p_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_01.jpg" alt="KCP 신청하기"></a></li>
|
||||
<li><a href="http://sir.kr/main/service/inicis_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_06.jpg" alt="KG이니시스 신청하기"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sevice_1 svc_ipin">
|
||||
<h3>아이핀 본인확인 서비스</h3>
|
||||
<p>정부가 주관하는 주민등록번호 대체 수단으로 본인의 개인정보를 아이핀 사이트에 한번만 발급해 놓고, 이후부터는 아이디와 패스워드 만으로 본인임을 확인하는 인증수단 입니다. </p>
|
||||
|
||||
<h4><a href="http://sir.kr/main/service/b_ipin.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_04.jpg" alt="오케이네임 아이핀 본인확인 신청하기"></a></h4>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="service_2">
|
||||
<div class="svc_ri svc_sms">
|
||||
<div class="svc_a">
|
||||
<h3>SMS 문자 서비스</h3>
|
||||
<p>주문이나 배송시에 상점운영자 또는 고객에게 휴대폰으로 단문메세지 (최대 한글 40자, 영문 80자)를 발송합니다.</p>
|
||||
</div>
|
||||
<div class="svc_btn2"><a href="http://icodekorea.com/res/join_company_fix_a.php?sellid=sir2" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_05.jpg" alt="아이코드 SMS 서비스 신청하기"></a></div>
|
||||
<div class="svc_a">
|
||||
<h3>SMS 문자 서비스</h3>
|
||||
<p>주문이나 배송시에 상점운영자 또는 고객에게 휴대폰으로 단문메세지 (최대 한글 40자, 영문 80자)를 발송합니다.</p>
|
||||
</div>
|
||||
<div class="svc_btn2"><a href="http://icodekorea.com/res/join_company_fix_a.php?sellid=sir2" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_05.jpg" alt="아이코드 SMS 서비스 신청하기"></a></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
include_once('./admin.tail.php');
|
||||
include_once('./admin.tail.php');
|
||||
|
||||
@@ -178,7 +178,8 @@ function no_hp_click(val)
|
||||
}
|
||||
$line = 0;
|
||||
$qry = sql_query("select * from {$g5['sms5_book_table']} where 1 $sql_group $sql_search $sql_korean $sql_no_hp order by bk_no desc limit $page_start, $page_size");
|
||||
while($res = sql_fetch_array($qry))
|
||||
// while($res = sql_fetch_array($qry))
|
||||
for ($i=0; $res = sql_fetch_array($qry); $i++)
|
||||
{
|
||||
$bg = 'bg'.($line++%2);
|
||||
|
||||
|
||||
+23
-16
@@ -60,22 +60,25 @@ if ((isset($wr_id) && $wr_id) || (isset($wr_seo_title) && $wr_seo_title)) {
|
||||
if ($board['bo_use_cert'] != '' && $is_guest) {
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
|
||||
}
|
||||
if ($board['bo_use_cert'] && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
|
||||
goto_url(G5_BBS_URL."/member_cert_refresh.php");
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
|
||||
if ($board['bo_use_cert'] && !$member['mb_certify']) {
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) {
|
||||
if ($board['bo_use_cert'] && !$member['mb_adult']) {
|
||||
alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
|
||||
alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
// if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
|
||||
// alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
|
||||
// }
|
||||
|
||||
if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
|
||||
alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
// if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
|
||||
// alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
|
||||
// }
|
||||
}
|
||||
|
||||
// 자신의 글이거나 관리자라면 통과
|
||||
@@ -154,21 +157,25 @@ if ((isset($wr_id) && $wr_id) || (isset($wr_seo_title) && $wr_seo_title)) {
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
|
||||
if ($board['bo_use_cert'] && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
|
||||
goto_url(G5_BBS_URL."/member_cert_refresh.php");
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] && !$member['mb_certify']) {
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) {
|
||||
if ($board['bo_use_cert'] && !$member['mb_adult']) {
|
||||
alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
|
||||
alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
// if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
|
||||
// alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
|
||||
// }
|
||||
|
||||
if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
|
||||
alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
// if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
|
||||
// alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
|
||||
// }
|
||||
}
|
||||
|
||||
if (!isset($page) || (isset($page) && $page == 0)) $page = 1;
|
||||
|
||||
@@ -23,6 +23,7 @@ if (!$file['bf_file'])
|
||||
alert_close('파일 정보가 존재하지 않습니다.');
|
||||
|
||||
// JavaScript 불가일 때
|
||||
$js = (isset($_GET['js'])) ? $_GET['js'] : '';
|
||||
if($js != 'on' && $board['bo_download_point'] < 0) {
|
||||
$msg = $file['bf_source'].' 파일을 다운로드 하시면 포인트가 차감('.number_format($board['bo_download_point']).'점)됩니다.\\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\\n그래도 다운로드 하시겠습니까?';
|
||||
$url1 = G5_BBS_URL.'/download.php?'.clean_query_string($_SERVER['QUERY_STRING'], false).'&js=on';
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
define('G5_CERT_IN_PROG', true);
|
||||
include_once('./_common.php');
|
||||
|
||||
if(function_exists('social_provider_logout')){
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
define('G5_CERT_IN_PROG', true);
|
||||
include_once('./_common.php');
|
||||
|
||||
if (!empty($member['mb_certify']) && strlen($member['mb_dupinfo']) != 64) { // di로 인증되어 있거나 본인인증이 안된 계정일때
|
||||
alert("잘못된 접근입니다.", G5_URL);
|
||||
}
|
||||
|
||||
if(!$is_member) { alert("잘못된 접근입니다.", G5_URL); }
|
||||
|
||||
if($config['cf_cert_use'] == 0) alert("본인인증을 이용 할 수 없습니다. 관리자에게 문의 하십시오.");
|
||||
|
||||
$g5['title'] = '본인인증을 다시 해주세요.';
|
||||
include_once(G5_PATH.'/_head.php');
|
||||
|
||||
$action_url = G5_HTTPS_BBS_URL."/member_cert_refresh_update.php";
|
||||
include_once($member_skin_path.'/member_cert_refresh.skin.php');
|
||||
|
||||
include_once(G5_PATH.'/_tail.php');
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
define('G5_CERT_IN_PROG', true);
|
||||
include_once('./_common.php');
|
||||
global $g5;
|
||||
|
||||
if (!($w == '' || $w == 'u')) {
|
||||
alert('w 값이 제대로 넘어오지 않았습니다.');
|
||||
}
|
||||
|
||||
if($w == '') {
|
||||
$mb_id = isset($_POST['mb_id']) ? trim($_POST['mb_id']) : '';
|
||||
$mb_name = isset($_POST['mb_name']) ? trim($_POST['mb_name']) : '';
|
||||
$mb_hp = isset($_POST['mb_hp']) ? trim($_POST['mb_hp']) : '';
|
||||
} else
|
||||
alert('잘못된 접근입니다', G5_URL);
|
||||
|
||||
if(!$mb_id)
|
||||
alert('회원아이디 값이 없습니다. 올바른 방법으로 이용해 주십시오.');
|
||||
|
||||
//===============================================================
|
||||
// 본인확인
|
||||
//---------------------------------------------------------------
|
||||
$mb_hp = hyphen_hp_number($mb_hp);
|
||||
if($config['cf_cert_use'] && get_session('ss_cert_type') && get_session('ss_cert_dupinfo')) {
|
||||
// 중복체크
|
||||
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
|
||||
$row = sql_fetch($sql);
|
||||
if (!empty($row['mb_id'])) {
|
||||
alert("입력하신 본인확인 정보로 가입된 내역이 존재합니다.");
|
||||
}
|
||||
}
|
||||
|
||||
$sql = '';
|
||||
$sql_certify = '';
|
||||
$md5_cert_no = get_session('ss_cert_no');
|
||||
$cert_type = get_session('ss_cert_type');
|
||||
if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
|
||||
// 해시값이 같은 경우에만 본인확인 값을 저장한다.
|
||||
if (get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) {
|
||||
$sql_certify .= " mb_hp = '{$mb_hp}' ";
|
||||
$sql_certify .= " , mb_certify = '{$cert_type}' ";
|
||||
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
|
||||
$sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";
|
||||
$sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";
|
||||
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
|
||||
$sql_certify .= " , mb_name = '{$mb_name}' ";
|
||||
} else {
|
||||
$sql_certify .= " mb_hp = '{$mb_hp}' ";
|
||||
$sql_certify .= " , mb_certify = '' ";
|
||||
$sql_certify .= " , mb_adult = 0 ";
|
||||
$sql_certify .= " , mb_birth = '' ";
|
||||
$sql_certify .= " , mb_sex = '' ";
|
||||
}
|
||||
} else {
|
||||
if (get_session("ss_reg_mb_name") != $mb_name || get_session("ss_reg_mb_hp") != $mb_hp) {
|
||||
$sql_certify .= " mb_hp = '{$mb_hp}' ";
|
||||
$sql_certify .= " , mb_certify = '' ";
|
||||
$sql_certify .= " , mb_adult = 0 ";
|
||||
$sql_certify .= " , mb_birth = '' ";
|
||||
$sql_certify .= " , mb_sex = '' ";
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "update {$g5['member_table']} set {$sql_certify} where mb_id = '{$mb_id}'";
|
||||
sql_query($sql);
|
||||
|
||||
//===============================================================
|
||||
|
||||
goto_url(G5_URL);
|
||||
@@ -3,13 +3,13 @@ include_once('./_common.php');
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if ($is_member) {
|
||||
alert("이미 로그인중입니다.");
|
||||
alert("이미 로그인중입니다.", G5_URL);
|
||||
}
|
||||
|
||||
$g5['title'] = '회원정보 찾기';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
include_once(G5_PATH.'/_head.php');
|
||||
|
||||
$action_url = G5_HTTPS_BBS_URL."/password_lost2.php";
|
||||
include_once($member_skin_path.'/password_lost.skin.php');
|
||||
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
include_once(G5_PATH.'/_tail.php');
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
//include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if ($is_member) { alert("이미 로그인중입니다."); goto_url(G5_URL); }
|
||||
|
||||
if(!$_POST['mb_id']) { alert("잘못된 접근입니다."); goto_url(G5_URL); }
|
||||
|
||||
if($config['cf_cert_find'] != 1) alert("본인인증을 이용하여 아이디/비밀번호 찾기를 할 수 없습니다. 관리자에게 문의 하십시오.");
|
||||
|
||||
$g5['title'] = '패스워드 변경';
|
||||
include_once(G5_PATH.'/_head.php');
|
||||
|
||||
$action_url = G5_HTTPS_BBS_URL."/password_reset_update.php";
|
||||
include_once($member_skin_path.'/password_reset.skin.php');
|
||||
|
||||
include_once(G5_PATH.'/_tail.php');
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
if($w == '')
|
||||
$mb_id = isset($_POST['mb_id']) ? trim($_POST['mb_id']) : '';
|
||||
else
|
||||
alert('잘못된 접근입니다', G5_URL);
|
||||
|
||||
if(!$mb_id)
|
||||
alert('회원아이디 값이 없습니다. 올바른 방법으로 이용해 주십시오.');
|
||||
|
||||
$mb_password = isset($_POST['mb_password']) ? trim($_POST['mb_password_re']) : '';
|
||||
$mb_password_re = isset($_POST['mb_password_re']) ? trim($_POST['mb_password_re']) : '';
|
||||
|
||||
|
||||
if ($w == '' && !$mb_password)
|
||||
alert('비밀번호가 넘어오지 않았습니다.');
|
||||
if($w == '' && $mb_password != $mb_password_re)
|
||||
alert('비밀번호가 일치하지 않습니다.');
|
||||
|
||||
$sql_password = "";
|
||||
if ($mb_password)
|
||||
$sql_password = "mb_password = '".get_encrypt_string($mb_password)."' ";
|
||||
|
||||
sql_query("update {$g5['member_table']} set {$sql_password} where mb_id = '{$mb_id}'");
|
||||
|
||||
goto_url(G5_BBS_URL.'/login.php');
|
||||
+23
-5
@@ -58,15 +58,33 @@ if(is_file($skin_file)) {
|
||||
|
||||
$stx = trim($stx);
|
||||
if($stx) {
|
||||
if (preg_match("/[a-zA-Z]/", $stx))
|
||||
$sql_search .= " and ( INSTR(LOWER(qa_subject), LOWER('$stx')) > 0 or INSTR(LOWER(qa_content), LOWER('$stx')) > 0 )";
|
||||
else
|
||||
$sql_search .= " and ( INSTR(qa_subject, '$stx') > 0 or INSTR(qa_content, '$stx') > 0 ) ";
|
||||
$sfl = trim($sfl);
|
||||
if ($sfl) {
|
||||
switch ($sfl) {
|
||||
case "qa_subject" :
|
||||
case "qa_content" :
|
||||
case "qa_name" :
|
||||
case "mb_id" :
|
||||
break;
|
||||
default :
|
||||
$sfl = "qa_subject";
|
||||
}
|
||||
} else {
|
||||
$sfl = "qa_subject";
|
||||
}
|
||||
$sql_search .= " and (`{$sfl}` like '%{$stx}%') ";
|
||||
}
|
||||
// $stx = trim($stx);
|
||||
// if($stx) {
|
||||
// if (preg_match("/[a-zA-Z]/", $stx))
|
||||
// $sql_search .= " and ( INSTR(LOWER(qa_subject), LOWER('$stx')) > 0 or INSTR(LOWER(qa_content), LOWER('$stx')) > 0 )";
|
||||
// else
|
||||
// $sql_search .= " and ( INSTR(qa_subject, '$stx') > 0 or INSTR(qa_content, '$stx') > 0 ) ";
|
||||
// }
|
||||
|
||||
$sql_order = " order by qa_num ";
|
||||
|
||||
$sql = " select count(*) as cnt
|
||||
$sql = " select count(*) as cnt
|
||||
$sql_common
|
||||
$sql_search ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
@@ -12,6 +12,7 @@ $content = '';
|
||||
|
||||
$token = _token();
|
||||
set_session('ss_qa_delete_token', $token);
|
||||
set_session('ss_qa_write_token', $token);
|
||||
|
||||
$g5['title'] = $qaconfig['qa_title'];
|
||||
include_once('./qahead.php');
|
||||
|
||||
@@ -96,6 +96,7 @@ if(is_file($skin_file)) {
|
||||
$upload_max_filesize = number_format($qaconfig['qa_upload_size']) . ' 바이트';
|
||||
|
||||
$html_value = '';
|
||||
$html_checked = '';
|
||||
if (isset($write['qa_html']) && $write['qa_html']) {
|
||||
$html_checked = 'checked';
|
||||
$html_value = $write['qa_html'];
|
||||
|
||||
@@ -197,7 +197,8 @@ for ($i=1; $i<=$upload_count; $i++) {
|
||||
// image type
|
||||
if ( preg_match("/\.({$config['cf_image_extension']})$/i", $filename) ||
|
||||
preg_match("/\.({$config['cf_flash_extension']})$/i", $filename) ) {
|
||||
if ($timg['2'] < 1 || $timg['2'] > 16)
|
||||
// webp 파일의 type 이 18 이므로 업로드가 가능하도록 수정
|
||||
if ($timg['2'] < 1 || $timg['2'] > 18)
|
||||
continue;
|
||||
}
|
||||
//=================================================================
|
||||
|
||||
@@ -39,7 +39,7 @@ if ($w == "") {
|
||||
}
|
||||
|
||||
if (!isset($_POST['agree2']) || !$_POST['agree2']) {
|
||||
alert('개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.', G5_BBS_URL.'/register.php');
|
||||
alert('개인정보 수집 및 이용의 내용에 동의하셔야 회원가입 하실 수 있습니다.', G5_BBS_URL.'/register.php');
|
||||
}
|
||||
|
||||
$agree = preg_replace('#[^0-9]#', '', $_POST['agree']);
|
||||
@@ -143,6 +143,9 @@ $register_action_url = G5_HTTPS_BBS_URL.'/register_form_update.php';
|
||||
$req_nick = !isset($member['mb_nick_date']) || (isset($member['mb_nick_date']) && $member['mb_nick_date'] <= date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400)));
|
||||
$required = ($w=='') ? 'required' : '';
|
||||
$readonly = ($w=='u') ? 'readonly' : '';
|
||||
$name_readonly = ($w=='u' || ($config['cf_cert_use'] && $config['cf_cert_req']))? 'readonly' : '';
|
||||
$hp_required = ($config['cf_req_hp'] || (($config['cf_cert_use'] && $config['cf_cert_req']) && ($config['cf_cert_hp'] || $config['cf_cert_sa']) && $member['mb_certify'] != "ipin")) ? 'required':'';
|
||||
$hp_readonly = (($config['cf_cert_use'] && $config['cf_cert_req']) && ($config['cf_cert_hp'] || $config['cf_cert_sa']) && $member['mb_certify'] != "ipin") ? 'readonly':'';
|
||||
|
||||
$agree = isset($_REQUEST['agree']) ? preg_replace('#[^0-9]#', '', $_REQUEST['agree']) : '';
|
||||
$agree2 = isset($_REQUEST['agree2']) ? preg_replace('#[^0-9]#', '', $_REQUEST['agree2']) : '';
|
||||
|
||||
@@ -110,7 +110,7 @@ if ($w == '' || $w == 'u') {
|
||||
if ($msg = prohibit_mb_email($mb_email))alert($msg, "", true, true);
|
||||
|
||||
// 휴대폰 필수입력일 경우 휴대폰번호 유효성 체크
|
||||
if (($config['cf_use_hp'] || $config['cf_cert_hp']) && $config['cf_req_hp']) {
|
||||
if ($config['cf_use_hp'] || ($config['cf_cert_hp'] || $config['cf_cert_sa']) && $config['cf_req_hp']) {
|
||||
if ($msg = valid_mb_hp($mb_hp)) alert($msg, "", true, true);
|
||||
}
|
||||
|
||||
@@ -166,8 +166,8 @@ if($config['cf_cert_use'] && get_session('ss_cert_type') && get_session('ss_cert
|
||||
// 중복체크
|
||||
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['mb_id']) {
|
||||
alert("입력하신 본인확인 정보로 가입된 내역이 존재합니다.\\n회원아이디 : ".$row['mb_id']);
|
||||
if (!empty($row['mb_id'])) {
|
||||
alert("입력하신 본인확인 정보로 가입된 내역이 존재합니다.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ if(function_exists('clean_relative_paths')){
|
||||
|
||||
$extension = pathinfo($filename, PATHINFO_EXTENSION);
|
||||
|
||||
if ( ! preg_match('/(jpg|jpeg|png|gif|bmp)$/i', $extension) ){
|
||||
if ( ! preg_match('/(jpg|jpeg|png|gif|bmp|webp)$/i', $extension) ){
|
||||
alert_close('이미지 확장자가 아닙니다.');
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR'])
|
||||
$referer = "";
|
||||
if (isset($_SERVER['HTTP_REFERER']))
|
||||
$referer = escape_trim(clean_xss_tags(strip_tags($_SERVER['HTTP_REFERER'])));
|
||||
$user_agent = escape_trim(clean_xss_tags(strip_tags($_SERVER['HTTP_USER_AGENT'])));
|
||||
$user_agent = '';
|
||||
if (isset($_SERVER['HTTP_USER_AGENT']))
|
||||
$user_agent = escape_trim(clean_xss_tags(strip_tags($_SERVER['HTTP_USER_AGENT'])));
|
||||
$vi_browser = '';
|
||||
$vi_os = '';
|
||||
$vi_device = '';
|
||||
|
||||
+19
-10
@@ -29,6 +29,11 @@ if ($w == 'u' || $w == 'r') {
|
||||
} else {
|
||||
alert("글이 존재하지 않습니다.\\n삭제되었거나 이동된 경우입니다.", G5_URL);
|
||||
}
|
||||
} else if ($w == '') { // 게시글 입력시에도 $wr_1 ~ $wr_10 변수 사용시 오류 나오지 않도록 가변변수 생성 (다온테마님,210806)
|
||||
for ($i=1; $i<=10; $i++) {
|
||||
$vvar = "wr_".$i;
|
||||
$$vvar = '';
|
||||
}
|
||||
}
|
||||
|
||||
run_event('bbs_write', $board, $wr_id, $w);
|
||||
@@ -185,24 +190,28 @@ if (!empty($group['gr_use_access'])) {
|
||||
if ($config['cf_cert_use'] && !$is_admin) {
|
||||
// 인증된 회원만 가능
|
||||
if ($board['bo_use_cert'] != '' && $is_guest) {
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', 'login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
|
||||
if ($board['bo_use_cert'] && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
|
||||
goto_url(G5_BBS_URL."/member_cert_refresh.php");
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) {
|
||||
alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글쓰기가 가능합니다.\\n\\n성인인데 글쓰기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
|
||||
if ($board['bo_use_cert'] && !$member['mb_certify']) {
|
||||
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
|
||||
alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
|
||||
if ($board['bo_use_cert'] && !$member['mb_adult']) {
|
||||
alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
|
||||
if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
|
||||
alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
|
||||
}
|
||||
// if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
|
||||
// alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
|
||||
// }
|
||||
|
||||
// if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
|
||||
// alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
|
||||
// }
|
||||
}
|
||||
|
||||
// 글자수 제한 설정값
|
||||
|
||||
@@ -532,7 +532,7 @@ if(isset($_FILES['bf_file']['name']) && is_array($_FILES['bf_file']['name'])) {
|
||||
// image type
|
||||
if ( preg_match("/\.({$config['cf_image_extension']})$/i", $filename) ||
|
||||
preg_match("/\.({$config['cf_flash_extension']})$/i", $filename) ) {
|
||||
if ($timg['2'] < 1 || $timg['2'] > 16)
|
||||
if ($timg['2'] < 1 || $timg['2'] > 18)
|
||||
continue;
|
||||
}
|
||||
//=================================================================
|
||||
@@ -658,7 +658,7 @@ for ($i=(int)$row['max_bf_no']; $i>=0; $i--)
|
||||
$row2 = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
|
||||
|
||||
// 정보가 있다면 빠집니다.
|
||||
if ($row2['bf_file']) break;
|
||||
if (isset($row2['bf_file']) && $row2['bf_file']) break;
|
||||
|
||||
// 그렇지 않다면 정보를 삭제합니다.
|
||||
sql_query(" delete from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
|
||||
@@ -725,8 +725,10 @@ if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_emai
|
||||
}
|
||||
|
||||
// 옵션에 메일받기가 체크되어 있고, 게시자의 메일이 있다면
|
||||
if (strstr($wr['wr_option'], 'mail') && $wr['wr_email'])
|
||||
$array_email[] = $wr['wr_email'];
|
||||
if (isset($wr['wr_option']) && isset($wr['wr_email'])) {
|
||||
if (strstr($wr['wr_option'], 'mail') && $wr['wr_email'])
|
||||
$array_email[] = $wr['wr_email'];
|
||||
}
|
||||
|
||||
// 중복된 메일 주소는 제거
|
||||
$unique_email = array_unique($array_email);
|
||||
|
||||
+24
-3
@@ -101,6 +101,15 @@ function sql_escape_string($str)
|
||||
//==============================================================================
|
||||
// SQL Injection 등으로 부터 보호를 위해 sql_escape_string() 적용
|
||||
//------------------------------------------------------------------------------
|
||||
// magic_quotes_gpc 에 의한 backslashes 제거
|
||||
if (7.0 > (float)phpversion()) {
|
||||
if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) {
|
||||
$_POST = array_map_deep('stripslashes', $_POST);
|
||||
$_GET = array_map_deep('stripslashes', $_GET);
|
||||
$_COOKIE = array_map_deep('stripslashes', $_COOKIE);
|
||||
$_REQUEST = array_map_deep('stripslashes', $_REQUEST);
|
||||
}
|
||||
}
|
||||
|
||||
// sql_escape_string 적용
|
||||
$_POST = array_map_deep(G5_ESCAPE_FUNCTION, $_POST);
|
||||
@@ -223,7 +232,7 @@ function chrome_domain_session_name(){
|
||||
'.maru.net', // 마루호스팅
|
||||
);
|
||||
|
||||
if(preg_match('/('.implode('|', $domain_array).')/i', $_SERVER['HTTP_HOST'])){ // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다.
|
||||
if(isset($_SERVER['HTTP_HOST']) && preg_match('/('.implode('|', $domain_array).')/i', $_SERVER['HTTP_HOST'])){ // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다.
|
||||
if(! defined('G5_SESSION_NAME')) define('G5_SESSION_NAME', 'G5PHPSESSID');
|
||||
@session_name(G5_SESSION_NAME);
|
||||
}
|
||||
@@ -275,8 +284,10 @@ if( ! class_exists('XenoPostToForm') ){
|
||||
if( !function_exists('shop_check_is_pay_page') ){
|
||||
function shop_check_is_pay_page(){
|
||||
$shop_dir = 'shop';
|
||||
$plugin_dir = 'plugin';
|
||||
$mobile_dir = G5_MOBILE_DIR;
|
||||
|
||||
|
||||
// PG 결제사의 리턴페이지 목록들
|
||||
$pg_checks_pages = array(
|
||||
$shop_dir.'/inicis/INIStdPayReturn.php', // 영카트 5.2.9.5 이하에서 사용됨, 그 이상버전에서는 파일 삭제됨
|
||||
@@ -288,6 +299,8 @@ if( !function_exists('shop_check_is_pay_page') ){
|
||||
$mobile_dir.'/'.$shop_dir.'/lg/xpay_approval.php',
|
||||
$mobile_dir.'/'.$shop_dir.'/kcp/order_approval_form.php',
|
||||
$shop_dir.'/kakaopay/inicis_kk_return.php', // 이니시스 카카오페이 (SIRK 로 시작하는 아이디 전용)
|
||||
$plugin_dir."/kgcert/kg_result.php", // 이니시스 통합인증 모듈 2021-09-10 http <-> https 간 세션 공유 문제로 인해 추가
|
||||
$plugin_dir."/kgcert/kg_find_result.php", // 이니시스 통합인증 모듈 2021-09-10 http <-> https 간 세션 공유 문제로 인해 추가
|
||||
);
|
||||
|
||||
$server_script_name = str_replace('\\', '/', $_SERVER['SCRIPT_NAME']);
|
||||
@@ -330,8 +343,10 @@ if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER)
|
||||
$res = @session_start($options);
|
||||
|
||||
// IE 브라우저 또는 엣지브라우저 또는 IOS 모바일과 http환경에서는 secure; SameSite=None을 설정하지 않습니다.
|
||||
if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/(iPhone|iPod|iPad).*AppleWebKit.*Safari/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){
|
||||
return $res;
|
||||
if (isset($_SERVER['HTTP_USER_AGENT'])) {
|
||||
if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/(iPhone|iPod|iPad).*AppleWebKit.*Safari/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
|
||||
$headers = headers_list();
|
||||
@@ -780,6 +795,12 @@ if(!empty($extend_file) && is_array($extend_file)) {
|
||||
}
|
||||
unset($extend_file);
|
||||
|
||||
if(!$is_admin && $is_member && (!defined("G5_CERT_IN_PROG") || !G5_CERT_IN_PROG) && $config['cf_cert_use'] <> 0 && $config['cf_cert_req']) { // 본인인증이 필수일때
|
||||
if ((empty($member['mb_certify']) || (!empty($member['mb_certify']) && strlen($member['mb_dupinfo']) == 64))) { // di로 인증되어 있거나 본인인증이 안된 계정일때
|
||||
goto_url(G5_BBS_URL."/member_cert_refresh.php");
|
||||
}
|
||||
}
|
||||
|
||||
ob_start();
|
||||
|
||||
// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면
|
||||
|
||||
+6
-6
@@ -4,15 +4,11 @@
|
||||
상수 선언
|
||||
********************/
|
||||
|
||||
define('G5_VERSION', '그누보드5');
|
||||
define('G5_GNUBOARD_VER', '5.4.10');
|
||||
// 그누보드5.4.5.5 버전과 영카트5.4.5.5.1 버전을 합쳐서 그누보드5.4.6 버전에서 시작함 (kagla-210617)
|
||||
// G5_YOUNGCART_VER 이 상수를 사용하는 곳이 있으므로 주석 처리 해제함
|
||||
define('G5_YOUNGCART_VER', '5.4.5.5.1');
|
||||
|
||||
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
|
||||
define('_GNUBOARD_', true);
|
||||
|
||||
include_once($g5_path['path'].'/version.php'); // 설정 파일
|
||||
|
||||
// 기본 시간대 설정
|
||||
date_default_timezone_set("Asia/Seoul");
|
||||
|
||||
@@ -63,6 +59,7 @@ define('G5_MOBILE_DIR', 'mobile');
|
||||
define('G5_OKNAME_DIR', 'okname');
|
||||
|
||||
define('G5_KCPCERT_DIR', 'kcpcert');
|
||||
define('G5_KGCERT_DIR', 'kgcert');
|
||||
define('G5_LGXPAY_DIR', 'lgxpay');
|
||||
|
||||
define('G5_SNS_DIR', 'sns');
|
||||
@@ -101,6 +98,7 @@ define('G5_PLUGIN_URL', G5_URL.'/'.G5_PLUGIN_DIR);
|
||||
define('G5_EDITOR_URL', G5_PLUGIN_URL.'/'.G5_EDITOR_DIR);
|
||||
define('G5_OKNAME_URL', G5_PLUGIN_URL.'/'.G5_OKNAME_DIR);
|
||||
define('G5_KCPCERT_URL', G5_PLUGIN_URL.'/'.G5_KCPCERT_DIR);
|
||||
define('G5_KGCERT_URL', G5_PLUGIN_URL.'/'.G5_KGCERT_DIR);
|
||||
define('G5_LGXPAY_URL', G5_PLUGIN_URL.'/'.G5_LGXPAY_DIR);
|
||||
define('G5_SNS_URL', G5_PLUGIN_URL.'/'.G5_SNS_DIR);
|
||||
define('G5_SYNDI_URL', G5_PLUGIN_URL.'/'.G5_SYNDI_DIR);
|
||||
@@ -120,6 +118,7 @@ define('G5_EDITOR_PATH', G5_PLUGIN_PATH.'/'.G5_EDITOR_DIR);
|
||||
define('G5_OKNAME_PATH', G5_PLUGIN_PATH.'/'.G5_OKNAME_DIR);
|
||||
|
||||
define('G5_KCPCERT_PATH', G5_PLUGIN_PATH.'/'.G5_KCPCERT_DIR);
|
||||
define('G5_KGCERT_PATH', G5_PLUGIN_PATH.'/'.G5_KGCERT_DIR);
|
||||
define('G5_LGXPAY_PATH', G5_PLUGIN_PATH.'/'.G5_LGXPAY_DIR);
|
||||
|
||||
define('G5_SNS_PATH', G5_PLUGIN_PATH.'/'.G5_SNS_DIR);
|
||||
@@ -136,6 +135,7 @@ define('G5_PHPMAILER_PATH', G5_PLUGIN_PATH.'/'.G5_PHPMAILER_DIR);
|
||||
//------------------------------------------------------------------------------
|
||||
define('G5_SET_DEVICE', 'both');
|
||||
|
||||
// define('G5_CERT_IN_PROG', false); // 재인증페이지 리디렉션 사용여부
|
||||
define('G5_USE_MOBILE', true); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정
|
||||
define('G5_USE_CACHE', true); // 최신글등에 cache 기능 사용 여부
|
||||
|
||||
|
||||
+4
-3
@@ -165,7 +165,7 @@ box-shadow:0 2px 5px rgba(0,0,0,0.2)}
|
||||
/* 중간 레이아웃 */
|
||||
#wrapper {}
|
||||
#container_wr:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#container_wr {margin:0 auto;height:100%;zoom:1}
|
||||
#container_wr {margin:0 auto;zoom:1}
|
||||
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}
|
||||
|
||||
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
|
||||
@@ -272,7 +272,7 @@ a.btn_close {text-align:center;line-height:50px}
|
||||
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
.btn_cancel:hover {background:#aaa}
|
||||
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
|
||||
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 25px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
|
||||
a.btn_frmline {}
|
||||
button.btn_frmline {font-size:1em}
|
||||
|
||||
@@ -402,7 +402,8 @@ box-shadow:0 1px 10px rgba(0,0,0,.1)}
|
||||
.new_win .new_win_con2 {margin:20px 0}
|
||||
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.new_win .win_btn {text-align:center}
|
||||
.new_win .btn_close {height:45px;width:60px;overflow:hidden;cursor:pointer}
|
||||
.new_win .cert_btn {margin-bottom:30px;text-align:center}
|
||||
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
|
||||
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}
|
||||
|
||||
/* 검색결과 색상 */
|
||||
|
||||
@@ -329,7 +329,7 @@ a.btn_close {text-align:center;line-height:50px}
|
||||
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
.btn_cancel:hover {background:#aaa}
|
||||
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
|
||||
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 25px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
|
||||
a.btn_frmline {}
|
||||
button.btn_frmline {font-size:1em}
|
||||
a.btn_frmline {line-height:24px}
|
||||
@@ -504,7 +504,7 @@ box-shadow:0 1px 10px rgba(0,0,0,.1)}
|
||||
.new_win .new_win_con2 {margin:20px 0 0}
|
||||
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.new_win .win_btn {text-align:center;padding-bottom:30px}
|
||||
.new_win .btn_close {height:45px;width:60px;overflow:hidden;cursor:pointer}
|
||||
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
|
||||
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}
|
||||
|
||||
|
||||
|
||||
@@ -321,6 +321,7 @@ box-shadow:0 1px 10px rgba(0,0,0,.1)}
|
||||
|
||||
.new_win .win_btn {clear:both;padding:10px 0 30px;text-align:center}
|
||||
.new_win .win_btn a {display:inline-block;height:45px;line-height:40px;font-weight:bold}
|
||||
.new_win .cert_btn {text-align:center}
|
||||
.new_win .btn_close {width:60px;height:45px;overflow:hidden;cursor:pointer}
|
||||
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
$g5_path['path'] = '..';
|
||||
include_once ('../config.php');
|
||||
include_once('../lib/json.lib.php');
|
||||
include_once('../lib/common.lib.php'); // 공통 라이브러리
|
||||
@@ -56,4 +57,4 @@ if(sql_query("DESCRIBE `{$table_prefix}config`", G5_DISPLAY_SQL_ERROR, $dblink))
|
||||
die(install_json_msg('주의! 이미 테이블이 존재하므로, 기존 DB 자료가 망실됩니다. 계속 진행하겠습니까?', 'exists'));
|
||||
}
|
||||
|
||||
die(install_json_msg('ok', 'success'));
|
||||
die(install_json_msg('ok', 'success'));
|
||||
|
||||
@@ -285,8 +285,12 @@ CREATE TABLE IF NOT EXISTS `g5_config` (
|
||||
`cf_captcha_mp3` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_editor` varchar(50) NOT NULL DEFAULT '',
|
||||
`cf_cert_use` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`cf_cert_find` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`cf_cert_ipin` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_hp` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_sa` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_kg_cd` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_kg_mid` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_kcb_cd` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_cert_kcp_cd` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_lg_mid` varchar(100) NOT NULL DEFAULT '',
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
@header('Content-Type: text/html; charset=utf-8');
|
||||
@header('X-Robots-Tag: noindex');
|
||||
$g5_path['path'] = '..';
|
||||
include_once ('../config.php');
|
||||
$title = G5_VERSION." 라이센스 확인 1/3";
|
||||
include_once ('./install.inc.php');
|
||||
@@ -50,4 +51,4 @@ function frm_submit(f)
|
||||
?>
|
||||
|
||||
<?php
|
||||
include_once ('./install.inc2.php');
|
||||
include_once ('./install.inc2.php');
|
||||
|
||||
@@ -8,6 +8,7 @@ header('Pragma: no-cache'); // HTTP/1.0
|
||||
@header('Content-Type: text/html; charset=utf-8');
|
||||
@header('X-Robots-Tag: noindex');
|
||||
|
||||
$g5_path['path'] = '..';
|
||||
include_once ('../config.php');
|
||||
$title = G5_VERSION." 초기환경설정 2/3";
|
||||
include_once ('./install.inc.php');
|
||||
@@ -221,4 +222,4 @@ function frm_install_submit(f)
|
||||
</script>
|
||||
|
||||
<?php
|
||||
include_once ('./install.inc2.php');
|
||||
include_once ('./install.inc2.php');
|
||||
|
||||
+10
-2
@@ -9,6 +9,7 @@ header('Pragma: no-cache'); // HTTP/1.0
|
||||
@header('Content-Type: text/html; charset=utf-8');
|
||||
@header('X-Robots-Tag: noindex');
|
||||
|
||||
$g5_path['path'] = '..';
|
||||
include_once ('../config.php');
|
||||
include_once ('../lib/common.lib.php');
|
||||
include_once('./install.function.php'); // 인스톨 과정 함수 모음
|
||||
@@ -141,6 +142,13 @@ $download_point = 0;
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
// config 테이블 설정
|
||||
if($g5_install || !$result) {
|
||||
// 기본 이미지 확장자를 설정하고
|
||||
$image_extension = "gif|jpg|jpeg|png";
|
||||
// 서버에서 webp 를 지원하면 확장자를 추가한다.
|
||||
if (function_exists("imagewebp")) {
|
||||
$image_extension .= "|webp";
|
||||
}
|
||||
|
||||
$sql = " insert into `{$table_prefix}config`
|
||||
set cf_title = '".G5_VERSION."',
|
||||
cf_theme = 'basic',
|
||||
@@ -197,7 +205,7 @@ if($g5_install || !$result) {
|
||||
cf_member_img_width = '60',
|
||||
cf_member_img_height = '60',
|
||||
cf_login_minutes = '10',
|
||||
cf_image_extension = 'gif|jpg|jpeg|png',
|
||||
cf_image_extension = '{$image_extension}',
|
||||
cf_flash_extension = 'swf',
|
||||
cf_movie_extension = 'asx|asf|wmv|wma|mpg|mpeg|mov|avi|mp3',
|
||||
cf_formmail_is_member = '1',
|
||||
@@ -667,4 +675,4 @@ if($g5_shop_install) {
|
||||
</div>
|
||||
|
||||
<?php
|
||||
include_once ('./install.inc2.php');
|
||||
include_once ('./install.inc2.php');
|
||||
|
||||
+27
-6
@@ -1,7 +1,5 @@
|
||||
// 본인확인 인증창 호출
|
||||
function certify_win_open(type, url, event)
|
||||
{
|
||||
|
||||
function certify_win_open(type, url, event) {
|
||||
if (typeof event == "undefined") {
|
||||
event = window.event;
|
||||
}
|
||||
@@ -94,12 +92,15 @@ function certify_win_open(type, url, event)
|
||||
}
|
||||
|
||||
// 인증체크
|
||||
function cert_confirm()
|
||||
{
|
||||
function cert_confirm() {
|
||||
|
||||
var type;
|
||||
var val = document.fregisterform.cert_type.value
|
||||
var val = document.fregisterform.cert_type.value;
|
||||
|
||||
switch(val) {
|
||||
case "sa":
|
||||
type = "통합인증";
|
||||
break;
|
||||
case "ipin":
|
||||
type = "아이핀";
|
||||
break;
|
||||
@@ -114,4 +115,24 @@ function cert_confirm()
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
function call_sa(url) {
|
||||
let window = popup_center();
|
||||
if(window != undefined && window != null) {
|
||||
window.location.href = url;
|
||||
}
|
||||
}
|
||||
|
||||
function popup_center() {
|
||||
let _width = 400;
|
||||
let _height = 620;
|
||||
var xPos = (document.body.offsetWidth/2) - (_width/2); // 가운데 정렬
|
||||
xPos += window.screenLeft; // 듀얼 모니터일 때
|
||||
if( navigator.userAgent.indexOf("Android") > - 1 || navigator.userAgent.indexOf("iPhone") > - 1 ) // 모바일일때
|
||||
{
|
||||
return window;
|
||||
}else {
|
||||
return window.open("", "sa_popup", "width="+_width+", height="+_height+", left="+xPos+", menubar=yes, status=yes, titlebar=yes, resizable=yes");
|
||||
}
|
||||
}
|
||||
+15
-6
@@ -850,12 +850,14 @@ function get_admin($admin='super', $fields='*')
|
||||
$is = true;
|
||||
}
|
||||
|
||||
if (($is && !$mb['mb_id']) || $admin == 'group') {
|
||||
// if (($is && !$mb['mb_id']) || $admin == 'group') {
|
||||
if (($is && !isset($mb['mb_id'])) || $admin == 'group') {
|
||||
$mb = sql_fetch("select {$fields} from {$g5['member_table']} where mb_id in ('{$group['gr_admin']}') limit 1 ");
|
||||
$is = true;
|
||||
}
|
||||
|
||||
if (($is && !$mb['mb_id']) || $admin == 'super') {
|
||||
// if (($is && !$mb['mb_id']) || $admin == 'super') {
|
||||
if (($is && !isset($mb['mb_id'])) || $admin == 'super') {
|
||||
$mb = sql_fetch("select {$fields} from {$g5['member_table']} where mb_id in ('{$config['cf_admin']}') limit 1 ");
|
||||
}
|
||||
|
||||
@@ -2217,7 +2219,10 @@ function get_checked($field, $value)
|
||||
|
||||
function is_mobile()
|
||||
{
|
||||
return preg_match('/'.G5_MOBILE_AGENT.'/i', $_SERVER['HTTP_USER_AGENT']);
|
||||
if (isset($_SERVER['HTTP_USER_AGENT']))
|
||||
return preg_match('/'.G5_MOBILE_AGENT.'/i', $_SERVER['HTTP_USER_AGENT']);
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
@@ -2344,8 +2349,9 @@ function delete_editor_thumbnail($contents)
|
||||
for($i=0; $i<count($matchs[1]); $i++) {
|
||||
// 이미지 path 구함
|
||||
$imgurl = @parse_url($matchs[1][$i]);
|
||||
$srcfile = dirname(G5_PATH).$imgurl['path'];
|
||||
if(! preg_match('/(\.jpe?g|\.gif|\.png)$/i', $srcfile)) continue;
|
||||
// $srcfile = dirname(G5_PATH).$imgurl['path'];
|
||||
$srcfile = (G5_PATH).$imgurl['path'];
|
||||
if(!preg_match('/(\.jpe?g|\.gif|\.png|\.webp)$/i', $srcfile)) continue;
|
||||
$filename = preg_replace("/\.[^\.]+$/i", "", basename($srcfile));
|
||||
$filepath = dirname($srcfile);
|
||||
$files = glob($filepath.'/thumb-'.$filename.'*');
|
||||
@@ -2782,6 +2788,9 @@ function certify_count_check($mb_id, $type)
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
switch($type) {
|
||||
case 'sa' :
|
||||
$cert = '통합인증';
|
||||
break;
|
||||
case 'hp':
|
||||
$cert = '휴대폰';
|
||||
break;
|
||||
@@ -3138,7 +3147,7 @@ function member_delete($mb_id)
|
||||
}
|
||||
|
||||
// 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025
|
||||
$sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."' where mb_id = '{$mb_id}' ";
|
||||
$sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_addr3 = '', mb_point = 0, mb_profile = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."' where mb_id = '{$mb_id}' ";
|
||||
|
||||
sql_query($sql);
|
||||
|
||||
|
||||
+15
-1
@@ -294,7 +294,7 @@ function get_thumbnail_find_cache($bo_table, $wr_id, $wr_key){
|
||||
return get_write($write_table, $wr_id, true);
|
||||
}
|
||||
|
||||
return get_board_file_db($bo_table, $wr_id, 'bf_file, bf_content', "and bf_type between '1' and '3'", true);
|
||||
return get_board_file_db($bo_table, $wr_id, 'bf_file, bf_content', "and bf_type in (1, 2, 3, 18) ", true);
|
||||
}
|
||||
|
||||
function get_write_table_name($bo_table){
|
||||
@@ -457,6 +457,20 @@ function get_board_sfl_select_options($sfl){
|
||||
return run_replace('get_board_sfl_select_options', $str, $sfl);
|
||||
}
|
||||
|
||||
function get_qa_sfl_select_options($sfl) {
|
||||
|
||||
global $is_admin;
|
||||
|
||||
$str = '';
|
||||
$str .= '<option value="qa_subject" '.get_selected($sfl, 'qa_subject', true).'>제목</option>';
|
||||
$str .= '<option value="qa_content" '.get_selected($sfl, 'qa_content').'>내용</option>';
|
||||
$str .= '<option value="qa_name" '.get_selected($sfl, 'qa_name').'>글쓴이</option>';
|
||||
if ($is_admin)
|
||||
$str .= '<option value="mb_id" '.get_selected($sfl, 'mb_id').'>회원아이디</option>';
|
||||
|
||||
return run_replace('get_qa_sfl_select_options', $str, $sfl);
|
||||
}
|
||||
|
||||
// 읽지 않은 메모 갯수 반환
|
||||
function get_memo_not_read($mb_id, $add_where='')
|
||||
{
|
||||
|
||||
+1
-1
@@ -70,7 +70,7 @@ function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=
|
||||
}
|
||||
$list[$i] = get_list($row, $board, $latest_skin_url, $subject_len);
|
||||
|
||||
$list[$i]['first_file_thumb'] = (isset($row['wr_file']) && $row['wr_file']) ? get_board_file_db($bo_table, $row['wr_id'], 'bf_file, bf_content', "and bf_type between '1' and '3'", true) : array('bf_file'=>'', 'bf_content'=>'');
|
||||
$list[$i]['first_file_thumb'] = (isset($row['wr_file']) && $row['wr_file']) ? get_board_file_db($bo_table, $row['wr_id'], 'bf_file, bf_content', "and bf_type in (1, 2, 3, 18) ", true) : array('bf_file'=>'', 'bf_content'=>'');
|
||||
$list[$i]['bo_table'] = $bo_table;
|
||||
// 썸네일 추가
|
||||
if($options && is_string($options)) {
|
||||
|
||||
@@ -2035,6 +2035,10 @@ function shop_member_cert_check($id, $type)
|
||||
$sql = " select ca_cert_use, ca_adult_use from {$g5['g5_shop_category_table']} where ca_id = '$ca_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if (($ca['ca_cert_use'] || $ca['ca_adult_use']) && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
|
||||
goto_url(G5_BBS_URL."/member_cert_refresh.php");
|
||||
}
|
||||
|
||||
// 본인확인체크
|
||||
if($row['ca_cert_use'] && !$member['mb_certify']) {
|
||||
if($member['mb_id'])
|
||||
@@ -2065,6 +2069,11 @@ function shop_member_cert_check($id, $type)
|
||||
$sql = " select * from {$g5['g5_shop_category_table']} where ca_id = '$id' ";
|
||||
$ca = sql_fetch($sql);
|
||||
|
||||
if (($ca['ca_cert_use'] || $ca['ca_adult_use']) && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
|
||||
goto_url(G5_BBS_URL."/member_cert_refresh.php");
|
||||
|
||||
}
|
||||
|
||||
// 본인확인체크
|
||||
if($ca['ca_cert_use'] && !$member['mb_certify']) {
|
||||
if($member['mb_id'])
|
||||
|
||||
+61
-21
@@ -85,7 +85,7 @@ function get_file_thumbnail($file){
|
||||
|
||||
if( ! is_array($file) ) return '';
|
||||
|
||||
if( preg_match('/(\.jpg|\.jpeg|\.gif|\.png|\.bmp)$/i', $file['file']) && $contents = run_replace('get_file_thumbnail_tags', '', $file) ){
|
||||
if( preg_match('/(\.jpg|\.jpeg|\.gif|\.png|\.bmp|\.webp)$/i', $file['file']) && $contents = run_replace('get_file_thumbnail_tags', '', $file) ){
|
||||
return $contents;
|
||||
} else if ($file['view']) {
|
||||
return get_view_thumbnail($file['view']);
|
||||
@@ -108,6 +108,8 @@ function get_view_thumbnail($contents, $thumb_width=0)
|
||||
if(empty($matches))
|
||||
return $contents;
|
||||
|
||||
$extensions = array(1=>'gif', 2=>'jpg', 3=>'png', 18=>'webp');
|
||||
|
||||
for($i=0; $i<count($matches[1]); $i++) {
|
||||
|
||||
$img = $matches[1][$i];
|
||||
@@ -138,8 +140,11 @@ function get_view_thumbnail($contents, $thumb_width=0)
|
||||
if(empty($size))
|
||||
continue;
|
||||
|
||||
$file_ext = $extensions[$size[2]];
|
||||
if (!$file_ext) continue;
|
||||
|
||||
// jpg 이면 exif 체크
|
||||
if($size[2] == 2 && function_exists('exif_read_data')) {
|
||||
if( $file_ext === 'jpg' && function_exists('exif_read_data')) {
|
||||
$degree = 0;
|
||||
$exif = @exif_read_data($srcfile);
|
||||
if(!empty($exif['Orientation'])) {
|
||||
@@ -166,7 +171,7 @@ function get_view_thumbnail($contents, $thumb_width=0)
|
||||
|
||||
// Animated GIF 체크
|
||||
$is_animated = false;
|
||||
if($size[2] == 1) {
|
||||
if($file_ext === 'gif') {
|
||||
$is_animated = is_animated_gif($srcfile);
|
||||
|
||||
if($replace_content = run_replace('thumbnail_is_animated_gif_content', '', $contents, $srcfile, $is_animated, $img_tag, $data_path, $size)){
|
||||
@@ -226,9 +231,20 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
||||
if(!is_file($source_file)) // 원본 파일이 없다면
|
||||
return;
|
||||
|
||||
|
||||
$size = @getimagesize($source_file);
|
||||
if(!isset($size[2]) || $size[2] < 1 || $size[2] > 3) // gif, jpg, png 에 대해서만 적용
|
||||
return;
|
||||
|
||||
$extensions = array(1 => 'gif', 2 => 'jpg', 3 => 'png', 18 => 'webp');
|
||||
$file_ext = $extensions[$size[2]]; // 파일 확장자
|
||||
if (!$file_ext) return;
|
||||
|
||||
// gif, jpg, png, webp 에 대해서만 적용
|
||||
// if ( !(isset($size[2]) && ($size[2] == 1 || $size[2] == 2 || $size[2] == 3 || $size[2] == 18)) )
|
||||
// return;
|
||||
|
||||
// $extensions 배열에 없는 확장자 라면 썸네일 만들지 않음
|
||||
// if (!in_array($file_ext, $extensions))
|
||||
// return;
|
||||
|
||||
if (!is_dir($target_path)) {
|
||||
@mkdir($target_path, G5_DIR_PERMISSION);
|
||||
@@ -240,16 +256,19 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
||||
return '';
|
||||
|
||||
// Animated GIF는 썸네일 생성하지 않음
|
||||
if($size[2] == 1) {
|
||||
if($file_ext === 'gif') {
|
||||
if(is_animated_gif($source_file))
|
||||
return basename($source_file);
|
||||
} else if ($file_ext === 'webp') {
|
||||
if(is_animated_webp($source_file))
|
||||
return basename($source_file);
|
||||
}
|
||||
|
||||
$ext = array(1 => 'gif', 2 => 'jpg', 3 => 'png');
|
||||
|
||||
$thumb_filename = preg_replace("/\.[^\.]+$/i", "", $filename); // 확장자제거
|
||||
$thumb_file = "$target_path/thumb-{$thumb_filename}_{$thumb_width}x{$thumb_height}.".$ext[$size[2]];
|
||||
|
||||
// $thumb_file = "$target_path/thumb-{$thumb_filename}_{$thumb_width}x{$thumb_height}.".$ext[$size[2]];
|
||||
$thumb_file = "$target_path/thumb-{$thumb_filename}_{$thumb_width}x{$thumb_height}.".$file_ext;
|
||||
|
||||
$thumb_time = @filemtime($thumb_file);
|
||||
$source_time = @filemtime($source_file);
|
||||
|
||||
@@ -263,10 +282,10 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
||||
$src = null;
|
||||
$degree = 0;
|
||||
|
||||
if ($size[2] == 1) {
|
||||
if ($file_ext === 'gif') {
|
||||
$src = @imagecreatefromgif($source_file);
|
||||
$src_transparency = @imagecolortransparent($src);
|
||||
} else if ($size[2] == 2) {
|
||||
} else if ($file_ext === 'jpg') {
|
||||
$src = @imagecreatefromjpeg($source_file);
|
||||
|
||||
if(function_exists('exif_read_data')) {
|
||||
@@ -298,9 +317,12 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ($size[2] == 3) {
|
||||
} else if ($file_ext === 'png') {
|
||||
$src = @imagecreatefrompng($source_file);
|
||||
@imagealphablending($src, true);
|
||||
} else if ($file_ext === 'webp') {
|
||||
$src = @imagecreatefromwebp($source_file);
|
||||
@imagealphablending($src, true);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
@@ -363,10 +385,10 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
||||
|
||||
$dst = imagecreatetruecolor($dst_w, $dst_h);
|
||||
|
||||
if($size[2] == 3) {
|
||||
if($file_ext === 'png') {
|
||||
imagealphablending($dst, false);
|
||||
imagesavealpha($dst, true);
|
||||
} else if($size[2] == 1) {
|
||||
} else if($file_ext === 'gif') {
|
||||
$palletsize = imagecolorstotal($src);
|
||||
if($src_transparency >= 0 && $src_transparency < $palletsize) {
|
||||
$transparent_color = imagecolorsforindex($src, $src_transparency);
|
||||
@@ -391,12 +413,12 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
||||
}
|
||||
}
|
||||
|
||||
if($size[2] == 3) {
|
||||
if($file_ext === 'png') {
|
||||
$bgcolor = imagecolorallocatealpha($dst, 0, 0, 0, 127);
|
||||
imagefill($dst, 0, 0, $bgcolor);
|
||||
imagealphablending($dst, false);
|
||||
imagesavealpha($dst, true);
|
||||
} else if($size[2] == 1) {
|
||||
} else if($file_ext === 'gif') {
|
||||
$palletsize = imagecolorstotal($src);
|
||||
if($src_transparency >= 0 && $src_transparency < $palletsize) {
|
||||
$transparent_color = imagecolorsforindex($src, $src_transparency);
|
||||
@@ -474,12 +496,12 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
||||
}
|
||||
}
|
||||
|
||||
if($size[2] == 3) {
|
||||
if($file_ext === 'png') {
|
||||
$bgcolor = imagecolorallocatealpha($dst, 0, 0, 0, 127);
|
||||
imagefill($dst, 0, 0, $bgcolor);
|
||||
imagealphablending($dst, false);
|
||||
imagesavealpha($dst, true);
|
||||
} else if($size[2] == 1) {
|
||||
} else if($file_ext === 'gif') {
|
||||
$palletsize = imagecolorstotal($src);
|
||||
if($src_transparency >= 0 && $src_transparency < $palletsize) {
|
||||
$transparent_color = imagecolorsforindex($src, $src_transparency);
|
||||
@@ -502,22 +524,24 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
||||
UnsharpMask($dst, $val[0], $val[1], $val[2]);
|
||||
}
|
||||
|
||||
if($size[2] == 1) {
|
||||
if($file_ext === 'gif') {
|
||||
imagegif($dst, $thumb_file);
|
||||
} else if($size[2] == 3) {
|
||||
} else if($file_ext === 'png') {
|
||||
if(!defined('G5_THUMB_PNG_COMPRESS'))
|
||||
$png_compress = 5;
|
||||
else
|
||||
$png_compress = G5_THUMB_PNG_COMPRESS;
|
||||
|
||||
imagepng($dst, $thumb_file, $png_compress);
|
||||
} else {
|
||||
} else if ($file_ext === 'jpg') {
|
||||
if(!defined('G5_THUMB_JPG_QUALITY'))
|
||||
$jpg_quality = 90;
|
||||
else
|
||||
$jpg_quality = G5_THUMB_JPG_QUALITY;
|
||||
|
||||
imagejpeg($dst, $thumb_file, $jpg_quality);
|
||||
} else if ($file_ext === 'webp') {
|
||||
imagewebp($dst, $thumb_file);
|
||||
}
|
||||
|
||||
chmod($thumb_file, G5_FILE_PERMISSION); // 추후 삭제를 위하여 파일모드 변경
|
||||
@@ -695,6 +719,22 @@ and the roundoff errors in the Gaussian blur process, are welcome.
|
||||
|
||||
}
|
||||
|
||||
// 움직이는 webp 파일인지 검사한다.
|
||||
// 출처) https://stackoverflow.com/questions/45190469/how-to-identify-whether-webp-image-is-static-or-animated?answertab=votes#tab-top
|
||||
function is_animated_webp($filename) {
|
||||
$contents = file_get_contents($filename);
|
||||
$where = strpos($contents, "ANMF");
|
||||
if ($where !== false){
|
||||
// animated
|
||||
$is_animated = true;
|
||||
}
|
||||
else{
|
||||
// non animated
|
||||
$is_animated = false;
|
||||
}
|
||||
return $is_animated;
|
||||
}
|
||||
|
||||
function is_animated_gif($filename) {
|
||||
|
||||
static $cache = array();
|
||||
|
||||
@@ -185,7 +185,6 @@ $cart_count = sql_num_rows($result);
|
||||
<?php if ($naverpay_button_js) { ?>
|
||||
<div class="naverpay-cart"><?php echo $naverpay_request_js.$naverpay_button_js; ?></div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -182,7 +182,8 @@ if(isset($data['pp_id']) && !empty($data['pp_id'])) {
|
||||
$P_VACT_NUM = $_POST['P_VACT_NUM'] = isset($PAY['P_VACT_NUM']) ? $PAY['P_VACT_NUM'] : '';
|
||||
$P_VACT_NAME = $_POST['P_VACT_NAME'] = isset($PAY['P_VACT_NAME']) ? iconv_utf8($PAY['P_VACT_NAME']) : '';
|
||||
$P_VACT_BANK = $_POST['P_VACT_BANK'] = (isset($PAY['P_VACT_BANK_CODE']) && isset($BANK_CODE[$PAY['P_VACT_BANK_CODE']])) ? $BANK_CODE[$PAY['P_VACT_BANK_CODE']] : '';
|
||||
$P_CARD_ISSUER = $_POST['P_CARD_ISSUER'] = isset($CARD_CODE[$PAY['P_CARD_ISSUER_CODE']]) ? $CARD_CODE[$PAY['P_CARD_ISSUER_CODE']] : '';
|
||||
// $P_CARD_ISSUER = $_POST['P_CARD_ISSUER'] = isset($CARD_CODE[$PAY['P_CARD_ISSUER_CODE']]) ? $CARD_CODE[$PAY['P_CARD_ISSUER_CODE']] : '';
|
||||
$P_CARD_ISSUER = $_POST['P_CARD_ISSUER'] = isset($CARD_CODE[$PAY['P_FN_CD1']]) ? $CARD_CODE[$PAY['P_FN_CD1']] : '';
|
||||
$P_UNAME = $_POST['P_UNAME'] = isset($PAY['P_UNAME']) ? iconv_utf8($PAY['P_UNAME']) : '';
|
||||
|
||||
$check_keys = array('od_name', 'od_tel', 'od_pwd', 'od_hp', 'od_zip', 'od_addr1', 'od_addr2', 'od_addr3', 'od_addr_jibeon', 'od_email', 'ad_default', 'ad_subject', 'od_hope_date', 'od_b_name', 'od_b_tel', 'od_b_hp', 'od_b_zip', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon', 'od_memo', 'od_settle_case', 'max_temp_point', 'od_temp_point', 'od_send_cost', 'od_send_cost2', 'od_bank_account', 'od_deposit_name', 'od_test', 'od_ip');
|
||||
|
||||
@@ -147,6 +147,9 @@ if((int)$pp['pp_price'] !== (int)$pg_price) {
|
||||
case 'lg':
|
||||
include G5_SHOP_PATH.'/lg/xpay_cancel.php';
|
||||
break;
|
||||
case 'inicis':
|
||||
include G5_SHOP_PATH.'/inicis/inipay_cancel.php';
|
||||
break;
|
||||
default:
|
||||
include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php';
|
||||
break;
|
||||
@@ -209,7 +212,7 @@ if($pp_receipt_price > 0 && $pp['pp_id'] && $pp['od_id']) {
|
||||
where od_id = '{$pp['od_id']}' ";
|
||||
$result = sql_query($sql, false);
|
||||
|
||||
// 결제정보 입력 오류시 kcp 결제 취소
|
||||
// 결제정보 입력 오류시 결제 취소
|
||||
if(!$result) {
|
||||
$cancel_msg = '결제정보 입력 오류';
|
||||
switch($default['de_pg_service']) {
|
||||
|
||||
@@ -2,31 +2,8 @@
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 시작 ### */
|
||||
|
||||
/* 게시판 버튼 */
|
||||
/* 목록 버튼 */
|
||||
#bo_list a.btn_b01 {}
|
||||
#bo_list a.btn_b01:focus, #bo_list .btn_b01:hover {}
|
||||
#bo_list a.btn_b02 {}
|
||||
#bo_list a.btn_b02:focus, #bo_list .btn_b02:hover {}
|
||||
#bo_list a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_list a.btn_admin:focus, #bo_list a.btn_admin:hover {}
|
||||
.chk_all {margin:10px 0}
|
||||
|
||||
/* 읽기 버튼 */
|
||||
#bo_v a.btn_b01 {}
|
||||
#bo_v a.btn_b01:focus, #bo_v .btn_b01:hover {}
|
||||
#bo_v a.btn_b02 {}
|
||||
#bo_v a.btn_b02:focus, #bo_v .btn_b02:hover {}
|
||||
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
|
||||
|
||||
/* 쓰기 버튼 */
|
||||
#bo_w .btn_confirm {} /* 서식단계 진행 */
|
||||
#bo_w .btn_submit {}
|
||||
#bo_w .btn_cancel {}
|
||||
#bo_w .btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
|
||||
|
||||
/* 게시판 목록 */
|
||||
#bo_list .td_chk {width:30px;text-align:center}
|
||||
#bo_list .td_group {width:100px;text-align:center}
|
||||
|
||||
@@ -1,67 +1,5 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 시작 ### */
|
||||
|
||||
/* 게시판 버튼 */
|
||||
/* 목록 버튼 */
|
||||
#bo_gall a.btn_b01 {}
|
||||
#bo_gall a.btn_b01:focus, #bo_gall .btn_b01:hover {}
|
||||
#bo_gall a.btn_b02 {}
|
||||
#bo_gall a.btn_b02:focus, #bo_gall .btn_b02:hover {}
|
||||
#bo_gall a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_gall a.btn_admin:focus, #bo_gall a.btn_admin:hover {}
|
||||
|
||||
/* 읽기 버튼 */
|
||||
#bo_v a.btn_b01 {}
|
||||
#bo_v a.btn_b01:focus, #bo_v .btn_b01:hover {}
|
||||
#bo_v a.btn_b02 {}
|
||||
#bo_v a.btn_b02:focus, #bo_v .btn_b02:hover {}
|
||||
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
|
||||
|
||||
/* 쓰기 버튼 */
|
||||
#bo_w .btn_confirm {} /* 서식단계 진행 */
|
||||
#bo_w .btn_submit {}
|
||||
#bo_w .btn_cancel {}
|
||||
#bo_w .btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
|
||||
/* 기본테이블 */
|
||||
/* 읽기 내 테이블 */
|
||||
#bo_v .tbl_head01 {}
|
||||
#bo_v .tbl_head01 caption {}
|
||||
#bo_v .tbl_head01 thead th {}
|
||||
#bo_v .tbl_head01 thead a {}
|
||||
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_v .tbl_head01 tfoot th {}
|
||||
#bo_v .tbl_head01 tfoot td {}
|
||||
#bo_v .tbl_head01 tbody th {}
|
||||
#bo_v .tbl_head01 td {}
|
||||
#bo_v .tbl_head01 a {}
|
||||
#bo_v td.empty_table {}
|
||||
|
||||
/* 쓰기 테이블 */
|
||||
#bo_w table {}
|
||||
#bo_w caption {}
|
||||
#bo_w .frm_address {}
|
||||
#bo_w .frm_file {}
|
||||
#bo_w .frm_info {}
|
||||
|
||||
#bo_w .tbl_frm01 {}
|
||||
#bo_w .tbl_frm01 caption {}
|
||||
#bo_w .tbl_frm01 th {}
|
||||
#bo_w .tbl_frm01 td {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea {}
|
||||
/*
|
||||
#bo_w .tbl_frm01 #captcha {}
|
||||
#bo_w .tbl_frm01 #captcha input {}
|
||||
*/
|
||||
#bo_w .tbl_frm01 a {}
|
||||
|
||||
#bo_w .required, #bo_w textarea.required {}
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 끝 ### */
|
||||
|
||||
/* 갤러리 공통 */
|
||||
.bo_fx {margin-bottom:5px;padding:0 10px}
|
||||
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
@@ -32,7 +32,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<section class="mb_login_join">
|
||||
<h2>회원로그인 안내</h2>
|
||||
<div>
|
||||
<a href="<?php echo G5_BBS_URL ?>/password_lost.php" target="_blank" id="login_password_lost">회원정보찾기</a>
|
||||
<a href="<?php echo G5_BBS_URL ?>/password_lost.php">아이디/비밀번호 찾기</a>
|
||||
<a href="./register.php">회원 가입</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -0,0 +1,176 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="' . $member_skin_url . '/style.css">', 0);
|
||||
if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
|
||||
add_javascript('<script src="'.G5_JS_URL.'/certify.js?v='.G5_JS_VER.'"></script>', 0);
|
||||
?>
|
||||
<!-- 기존 회원 본인인증 시작 { -->
|
||||
<div class="member_cert_refresh">
|
||||
<form name="fcertrefreshform" id="member_cert_refresh" action="<?php echo $action_url ?>" onsubmit="return fcertrefreshform_submit(this);" method="POST" autocomplete="off">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>">
|
||||
<input type="hidden" name="url" value="<?php echo $urlencode ?>">
|
||||
<input type="hidden" name="cert_type" value="<?php echo $member['mb_certify']; ?>">
|
||||
<input type="hidden" name="mb_id" value="<?php echo $member['mb_id']; ?>">
|
||||
<input type="hidden" name="mb_hp" value="<?php echo $member['mb_hp']; ?>">
|
||||
<input type="hidden" name="mb_name" value="<?php echo $member['mb_name']; ?>">
|
||||
<input type="hidden" name="cert_no" value="">
|
||||
<section id="member_cert_refresh_private">
|
||||
<h2>추가 개인정보처리방침 안내</h2>
|
||||
<div>
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>추가 개인정보처리방침 안내</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">목적</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>항목</th>
|
||||
<th>보유기간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">이용자 식별 및 본인여부 확인</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>생년월일<?php echo (empty($member['mb_dupinfo']))? ", 휴대폰 번호(아이핀 제외)" : ""; ?>, 암호화된 개인식별부호(CI)</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="member_cert_refresh_agree">
|
||||
<input type="checkbox" name="agree2" value="1" id="agree21" class="selec_chk">
|
||||
<label for="agree21"><span></span><b class="sound_only">개인정보 수집 및 이용의 내용에 동의합니다.</b></label>
|
||||
</fieldset>
|
||||
</section>
|
||||
|
||||
<div id="find_info" class="new_win">
|
||||
<h3>본인인증으로 찾기</h3>
|
||||
|
||||
<?php
|
||||
if ($config['cf_cert_use']) {
|
||||
echo '<div class="cert_btn">';
|
||||
if ($config['cf_cert_sa']) {
|
||||
echo '<button type="button" id="win_sa_toss_cert" class="btn_close win_sa_cert" data-type="TOSS">토스 인증</button>' . PHP_EOL;
|
||||
echo '<button type="button" id="win_sa_pass_cert" class="btn_close win_sa_cert" data-type="PASS">PASS 인증</button>' . PHP_EOL;
|
||||
echo '<button type="button" id="win_sa_payco_cert" class="btn_close win_sa_cert" data-type="PAYCO">페이코 인증</button>' . PHP_EOL;
|
||||
echo '<button type="button" id="win_sa_kftc_cert" class="btn_close win_sa_cert" data-type="KFTC">금융인증서</button>' . PHP_EOL;
|
||||
}
|
||||
echo '</div>';
|
||||
echo '<div class="win_btn">';
|
||||
if ($config['cf_cert_hp'])
|
||||
echo '<button type="button" id="win_hp_cert" class="btn_submit">휴대폰 본인확인</button>' . PHP_EOL;
|
||||
if ($config['cf_cert_ipin'])
|
||||
echo '<button type="button" id="win_ipin_cert" class="btn_submit">아이핀 본인확인</button>' . PHP_EOL;
|
||||
echo '</div>';
|
||||
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>' . PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
var pageTypeParam = "pageType=register";
|
||||
var f = document.fcertrefreshform;
|
||||
|
||||
<?php if ($config['cf_cert_use'] && $config['cf_cert_sa']) { ?>
|
||||
// 이니시스 통합인증
|
||||
var url = "<?php echo G5_KGCERT_URL; ?>/kg_request.php";
|
||||
var type = "";
|
||||
var params = "";
|
||||
var request_url = "";
|
||||
|
||||
$(".win_sa_cert").click(function() {
|
||||
if (!fcertrefreshform_submit(f)) return false;
|
||||
type = $(this).data("type");
|
||||
switch (type) {
|
||||
case "TOSS":
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "PASS":
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "PAYCO":
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "KFTC":
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
|
||||
// 아이핀인증
|
||||
var params = "";
|
||||
$("#win_ipin_cert").click(function() {
|
||||
if (!fcertrefreshform_submit(f)) return false;
|
||||
params = "?" + pageTypeParam;
|
||||
var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php" + params;
|
||||
certify_win_open('kcb-ipin', url);
|
||||
return;
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
|
||||
// 휴대폰인증
|
||||
var params = "";
|
||||
$("#win_hp_cert").click(function() {
|
||||
if (!fcertrefreshform_submit(f)) return false;
|
||||
params = "?" + pageTypeParam;
|
||||
<?php
|
||||
switch ($config['cf_cert_hp']) {
|
||||
case 'kcb':
|
||||
$cert_url = G5_OKNAME_URL.'/hpcert1.php';
|
||||
$cert_type = 'kcb-hp';
|
||||
break;
|
||||
case 'kcp':
|
||||
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
|
||||
$cert_type = 'kcp-hp';
|
||||
break;
|
||||
case 'lg':
|
||||
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
|
||||
$cert_type = 'lg-hp';
|
||||
break;
|
||||
default:
|
||||
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
|
||||
echo 'return false;';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>" + params);
|
||||
return;
|
||||
});
|
||||
<?php } ?>
|
||||
});
|
||||
|
||||
function fcertrefreshform_submit(f) {
|
||||
if (!f.agree2.checked) {
|
||||
alert("개인정보 수집 및 이용의 내용에 동의하셔야 인증을 진행하실 수 있습니다.");
|
||||
f.agree2.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<!-- } 기존 회원 본인인증 끝 -->
|
||||
@@ -3,44 +3,142 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
if($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?>
|
||||
<script src="<?php echo G5_JS_URL ?>/certify.js?v=<?php echo G5_JS_VER; ?>"></script>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 회원정보 찾기 시작 { -->
|
||||
<div id="find_info" class="new_win">
|
||||
<h1 id="win_title">아이디 / 비밀번호 찾기</h1>
|
||||
<div id="find_info" class="new_win <?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?> cert <?php } ?>">
|
||||
<div class="new_win_con">
|
||||
<form name="fpasswordlost" action="<?php echo $action_url ?>" onsubmit="return fpasswordlost_submit(this);" method="post" autocomplete="off">
|
||||
<h3>이메일로 찾기</h3>
|
||||
<fieldset id="info_fs">
|
||||
<p>
|
||||
회원가입 시 등록하신 이메일 주소를 입력해 주세요.<br>
|
||||
해당 이메일로 아이디와 비밀번호 정보를 보내드립니다.
|
||||
</p>
|
||||
<input type="email" id="mb_email" name="mb_email" placeholder="이메일주소(필수)" required class="frm_input email">
|
||||
<label for="mb_email" class="sound_only">E-mail 주소<strong class="sound_only">필수</strong></label>
|
||||
<input type="text" name="mb_email" id="mb_email" required class="required frm_input full_input email" size="30" placeholder="E-mail 주소">
|
||||
</fieldset>
|
||||
<?php echo captcha_html(); ?>
|
||||
<?php echo captcha_html(); ?>
|
||||
|
||||
<div class="win_btn">
|
||||
<button type="submit" class="btn_submit">정보찾기</button>
|
||||
<button type="button" onclick="window.close();" class="btn_close">창닫기</button>
|
||||
<button type="submit" class="btn_submit">인증메일 보내기</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?>
|
||||
<div class="new_win_con">
|
||||
<h3>본인인증으로 찾기</h3>
|
||||
<?php if(!empty($config['cf_cert_sa'])) { ?>
|
||||
<div class="cert_btn">
|
||||
<button type="button" id="win_sa_toss_cert" class="btn_close win_sa_cert" data-type="TOSS">토스 인증</button>
|
||||
<button type="button" id="win_sa_pass_cert" class="btn_close win_sa_cert" data-type="PASS">PASS 인증</button>
|
||||
<button type="button" id="win_sa_payco_cert" class="btn_close win_sa_cert" data-type="PAYCO">페이코 인증</button>
|
||||
<button type="button" id="win_sa_kftc_cert" class="btn_close win_sa_cert" data-type="KFTC">금융인증서</button>
|
||||
</div>
|
||||
<?php } if(!empty($config['cf_cert_hp']) || !empty($config['cf_cert_ipin'])) { ?>
|
||||
<div class="win_btn">
|
||||
<?php if(!empty($config['cf_cert_hp'])) { ?>
|
||||
<button type="button" id="win_hp_cert" class="btn_submit">휴대폰 본인확인</button>
|
||||
<?php } if(!empty($config['cf_cert_ipin'])) { ?>
|
||||
<button type="button" id="win_ipin_cert" class="btn_submit">아이핀 본인확인</button>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<script>
|
||||
$(function() {
|
||||
$("#reg_zip_find").css("display", "inline-block");
|
||||
var pageTypeParam = "pageType=find";
|
||||
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_sa']) { ?>
|
||||
// TOSS 통합인증
|
||||
var url = "<?php echo G5_KGCERT_URL; ?>/kg_request.php";
|
||||
var type = "";
|
||||
var params = "";
|
||||
var request_url = "";
|
||||
|
||||
|
||||
$(".win_sa_cert").click(function() {
|
||||
type = $(this).data("type");
|
||||
switch(type) {
|
||||
case "TOSS" :
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "PASS" :
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "PAYCO" :
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "KFTC" :
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
default :
|
||||
return;
|
||||
}
|
||||
});
|
||||
<?php } ?>
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
|
||||
// 아이핀인증
|
||||
var params = "";
|
||||
$("#win_ipin_cert").click(function() {
|
||||
params = "?" + pageTypeParam;
|
||||
var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php"+params;
|
||||
certify_win_open('kcb-ipin', url);
|
||||
return;
|
||||
});
|
||||
|
||||
<?php } ?>
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
|
||||
// 휴대폰인증
|
||||
var params = "";
|
||||
$("#win_hp_cert").click(function() {
|
||||
params = "?" + pageTypeParam;
|
||||
<?php
|
||||
switch($config['cf_cert_hp']) {
|
||||
case 'kcb':
|
||||
$cert_url = G5_OKNAME_URL.'/hpcert1.php';
|
||||
$cert_type = 'kcb-hp';
|
||||
break;
|
||||
case 'kcp':
|
||||
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
|
||||
$cert_type = 'kcp-hp';
|
||||
break;
|
||||
case 'lg':
|
||||
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
|
||||
$cert_type = 'lg-hp';
|
||||
break;
|
||||
default:
|
||||
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
|
||||
echo 'return false;';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>"+params);
|
||||
return;
|
||||
});
|
||||
<?php } ?>
|
||||
});
|
||||
|
||||
<script>
|
||||
function fpasswordlost_submit(f)
|
||||
{
|
||||
<?php echo chk_captcha_js(); ?>
|
||||
<?php echo chk_captcha_js(); ?>
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
$(function() {
|
||||
var sw = screen.width;
|
||||
var sh = screen.height;
|
||||
var cw = document.body.clientWidth;
|
||||
var ch = document.body.clientHeight;
|
||||
var top = sh / 2 - ch / 2 - 100;
|
||||
var left = sw / 2 - cw / 2;
|
||||
moveTo(left, top);
|
||||
});
|
||||
</script>
|
||||
<!-- } 회원정보 찾기 끝 -->
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="' . $member_skin_url . '/style.css">', 0);
|
||||
?>
|
||||
|
||||
<!-- 비밀번호 재설정 시작 { -->
|
||||
<div id="pw_reset" class="new_win">
|
||||
<div class="new_win_con">
|
||||
<form name="fpasswordreset" action="<?php echo $action_url; ?>" onsubmit="return fpasswordreset_submit(this);" method="post" autocomplete="off">
|
||||
<fieldset id="info_fs">
|
||||
<p>새로운 비밀번호를 입력해주세요.</p>
|
||||
<label for="mb_id" class="sound_only">아이디</label>
|
||||
<input type="text" name="mb_id" id="mb_id" value="<?php echo $_POST['mb_id']; ?>" required class="required frm_input full_input" size="30" placeholder="아이디" readonly>
|
||||
<label for="mb_pw" class="sound_only">새 비밀번호<strong class="sound_only">필수</strong></label>
|
||||
<input type="password" name="mb_password" id="mb_pw" required class="required frm_input full_input" size="30" placeholder="새 비밀번호">
|
||||
<label for="mb_pw2" class="sound_only">새 비밀번호 확인<strong class="sound_only">필수</strong></label>
|
||||
<input type="password" name="mb_password_re" id="mb_pw2" required class="required frm_input full_input" size="30" placeholder="새 비밀번호 확인">
|
||||
</fieldset>
|
||||
<div class="win_btn">
|
||||
<button type="submit" class="btn_submit">확인</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function fpasswordreset_submit(f) {
|
||||
if ($("#mb_pw").val() == $("#mb_pw2").val()) {
|
||||
alert("비밀번호가 변경되었습니다. 다시 로그인해주세요.");
|
||||
} else {
|
||||
alert("새 비밀번호와 비밀번호 확인이 일치하지 않습니다.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<!-- } 비밀번호 재설정 끝 -->
|
||||
@@ -14,7 +14,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
|
||||
<form name="fregister" id="fregister" action="<?php echo $register_action_url ?>" onsubmit="return fregister_submit(this);" method="POST" autocomplete="off">
|
||||
|
||||
<p>회원가입약관 및 개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.</p>
|
||||
<p>회원가입약관 및 개인정보 수집 및 이용의 내용에 동의하셔야 회원가입 하실 수 있습니다.</p>
|
||||
|
||||
<div id="fregister_chkall" class="chk_all fregister_agree">
|
||||
<input type="checkbox" name="chk_all" id="chk_all" class="selec_chk">
|
||||
@@ -31,10 +31,10 @@ 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>
|
||||
<caption>개인정보 수집 및 이용</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">목적</th>
|
||||
@@ -49,7 +49,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<td colspan="2">이용자 식별 및 본인여부 확인</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>아이디, 이름, 비밀번호</td>
|
||||
<td>아이디, 이름, 비밀번호<?php echo ($config['cf_cert_use'])? ", 생년월일, 휴대폰 번호(본인인증 할 때만, 아이핀 제외), 암호화된 개인식별부호(CI)" : ""; ?></td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -64,7 +64,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
</div>
|
||||
<fieldset class="fregister_agree">
|
||||
<input type="checkbox" name="agree2" value="1" id="agree21" class="selec_chk">
|
||||
<label for="agree21"><span></span><b class="sound_only">개인정보처리방침안내의 내용에 동의합니다.</b></label>
|
||||
<label for="agree21"><span></span><b class="sound_only">개인정보 수집 및 이용의 내용에 동의합니다.</b></label>
|
||||
</fieldset>
|
||||
</section>
|
||||
|
||||
@@ -84,7 +84,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
}
|
||||
|
||||
if (!f.agree2.checked) {
|
||||
alert("개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
|
||||
alert("개인정보 수집 및 이용의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
|
||||
f.agree2.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3,14 +3,12 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/jquery.register_form.js"></script>', 0);
|
||||
if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
|
||||
add_javascript('<script src="'.G5_JS_URL.'/certify.js?v='.G5_JS_VER.'"></script>', 0);
|
||||
?>
|
||||
|
||||
<div class="register">
|
||||
<script src="<?php echo G5_JS_URL ?>/jquery.register_form.js"></script>
|
||||
<?php if($config['cf_cert_use'] && ($config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?>
|
||||
<script src="<?php echo G5_JS_URL ?>/certify.js?v=<?php echo G5_JS_VER; ?>"></script>
|
||||
<?php } ?>
|
||||
|
||||
<form name="fregisterform" id="fregisterform" action="<?php echo $register_action_url ?>" onsubmit="return fregisterform_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>">
|
||||
<input type="hidden" name="url" value="<?php echo $urlencode ?>">
|
||||
@@ -47,33 +45,46 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<div class="form_01">
|
||||
<h2>개인정보 입력</h2>
|
||||
<ul>
|
||||
<li class="rgs_name_li">
|
||||
<label for="reg_mb_name" class="sound_only">이름<strong>필수</strong></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 $readonly ?>" placeholder="이름">
|
||||
<?php
|
||||
<li>
|
||||
<?php
|
||||
if($config['cf_cert_use']) {
|
||||
if($config['cf_cert_ipin'])
|
||||
echo '<button type="button" id="win_ipin_cert" class="btn_frmline btn">아이핀 본인확인</button>'.PHP_EOL;
|
||||
if($config['cf_cert_hp'])
|
||||
echo '<button type="button" id="win_hp_cert" class="btn_frmline btn">휴대폰 본인확인</button>'.PHP_EOL;
|
||||
if($config['cf_cert_sa']) {
|
||||
echo '<button type="button" id="win_sa_toss_cert" class="btn_frmline btn win_sa_cert" data-type="TOSS">토스 인증</button>'.PHP_EOL;
|
||||
echo '<button type="button" id="win_sa_pass_cert" class="btn_frmline btn win_sa_cert" data-type="PASS">PASS 인증</button>'.PHP_EOL;
|
||||
echo '<button type="button" id="win_sa_payco_cert" class="btn_frmline btn win_sa_cert" data-type="PAYCO">페이코 인증</button>'.PHP_EOL;
|
||||
echo '<button type="button" id="win_sa_kftc_cert" class="btn_frmline btn win_sa_cert" data-type="KFTC">금융인증서</button>'.PHP_EOL;
|
||||
}
|
||||
if($config['cf_cert_hp'])
|
||||
echo '<button type="button" id="win_hp_cert" class="btn_frmline btn">휴대폰 본인확인</button>'.PHP_EOL;
|
||||
if($config['cf_cert_ipin'])
|
||||
echo '<button type="button" id="win_ipin_cert" class="btn_frmline btn">아이핀 본인확인</button>'.PHP_EOL;
|
||||
|
||||
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
if ($config['cf_cert_use'] && $member['mb_certify']) {
|
||||
if($member['mb_certify'] == 'ipin')
|
||||
$mb_cert = '아이핀';
|
||||
else
|
||||
$mb_cert = '휴대폰';
|
||||
switch ($member['mb_certify']) {
|
||||
case "sa":
|
||||
$mb_cert = "통합인증";
|
||||
break;
|
||||
case "ipin":
|
||||
$mb_cert = "아이핀";
|
||||
break;
|
||||
case "hp":
|
||||
$mb_cert = "휴대폰";
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<?php if ($config['cf_cert_use']) { ?>
|
||||
<span class="frm_info">아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다.</span>
|
||||
<?php } ?>
|
||||
<div id="msg_certify">
|
||||
<strong><?php echo $mb_cert; ?> 본인확인</strong><?php if ($member['mb_adult']) { ?> 및 <strong>성인인증</strong><?php } ?> 완료
|
||||
</div>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</li>
|
||||
<li class="rgs_name_li">
|
||||
<label for="reg_mb_name" class="sound_only">이름<strong>필수</strong></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="이름">
|
||||
|
||||
</li>
|
||||
<?php if ($req_nick) { ?>
|
||||
<li>
|
||||
@@ -111,16 +122,16 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<?php if ($config['cf_use_tel']) { ?>
|
||||
<li>
|
||||
<label for="reg_mb_tel" class="sound_only">전화번호<?php if ($config['cf_req_tel']) { ?><strong>필수</strong><?php } ?></label>
|
||||
<input type="text" name="mb_tel" value="<?php echo get_text($member['mb_tel']) ?>" id="reg_mb_tel" class="frm_input full_input <?php echo $config['cf_req_tel']?"required":""; ?>" maxlength="20" <?php echo $config['cf_req_tel']?"required":""; ?> placeholder="전화번호">
|
||||
<input type="text" name="mb_tel" value="<?php echo get_text($member['mb_tel']) ?>" id="reg_mb_tel" class="frm_input full_input <?php echo $config['cf_req_tel']?"required":""; ?>" <?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_sa']) && $member['mb_certify']) { echo "readonly"; } ?> maxlength="20" <?php echo $config['cf_req_tel']?"required":""; ?> placeholder="전화번호">
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($config['cf_use_hp'] || $config['cf_cert_hp']) { ?>
|
||||
<?php if ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_sa']))) { ?>
|
||||
<li>
|
||||
<label for="reg_mb_hp" class="sound_only">휴대폰번호<?php if ($config['cf_req_hp']) { ?><strong>필수</strong><?php } ?></label>
|
||||
|
||||
<input type="text" name="mb_hp" value="<?php echo get_text($member['mb_hp']) ?>" id="reg_mb_hp" <?php echo ($config['cf_req_hp'])?"required":""; ?> class="frm_input full_input <?php echo ($config['cf_req_hp'])?"required":""; ?>" maxlength="20" placeholder="휴대폰번호">
|
||||
<?php if ($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
|
||||
<label for="reg_mb_hp">휴대폰번호<?php if (!empty($hp_required)) { ?><strong class="sound_only">필수</strong><?php } ?></label>
|
||||
|
||||
<input type="text" name="mb_hp" value="<?php echo get_text($member['mb_hp']) ?>" id="reg_mb_hp" <?php echo $hp_required; ?> <?php echo $hp_readonly; ?> class="frm_input full_input <?php echo $hp_required; ?> <?php echo $hp_readonly; ?>" maxlength="20" placeholder="휴대폰번호">
|
||||
<?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_sa'])) { ?>
|
||||
<input type="hidden" name="old_mb_hp" value="<?php echo get_text($member['mb_hp']) ?>">
|
||||
<?php } ?>
|
||||
|
||||
@@ -275,28 +286,65 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
<script>
|
||||
$(function() {
|
||||
$("#reg_zip_find").css("display", "inline-block");
|
||||
var pageTypeParam = "pageType=register";
|
||||
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_sa']) { ?>
|
||||
// 이니시스 통합인증
|
||||
var url = "<?php echo G5_KGCERT_URL; ?>/kg_request.php";
|
||||
var type = "";
|
||||
var params = "";
|
||||
var request_url = "";
|
||||
|
||||
$(".win_sa_cert").click(function() {
|
||||
if(!cert_confirm()) return false;
|
||||
type = $(this).data("type");
|
||||
switch(type) {
|
||||
case "TOSS" :
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "PASS" :
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "PAYCO" :
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "KFTC" :
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
default :
|
||||
return;
|
||||
}
|
||||
});
|
||||
<?php } ?>
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
|
||||
// 아이핀인증
|
||||
$("#win_ipin_cert").click(function(e) {
|
||||
if(!cert_confirm())
|
||||
return false;
|
||||
|
||||
var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php";
|
||||
certify_win_open('kcb-ipin', url, e);
|
||||
var params = "";
|
||||
$("#win_ipin_cert").click(function() {
|
||||
if(!cert_confirm()) return false;
|
||||
params = "?" + pageTypeParam;
|
||||
var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php"+params;
|
||||
certify_win_open('kcb-ipin', url);
|
||||
return;
|
||||
});
|
||||
|
||||
<?php } ?>
|
||||
<?php if($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
|
||||
// 휴대폰인증
|
||||
$("#win_hp_cert").click(function(e) {
|
||||
if(!cert_confirm())
|
||||
return false;
|
||||
|
||||
<?php
|
||||
var params = "";
|
||||
$("#win_hp_cert").click(function() {
|
||||
if(!cert_confirm()) return false;
|
||||
params = "?" + pageTypeParam;
|
||||
<?php
|
||||
switch($config['cf_cert_hp']) {
|
||||
case 'kcb':
|
||||
case 'kcb':
|
||||
$cert_url = G5_OKNAME_URL.'/hpcert1.php';
|
||||
$cert_type = 'kcb-hp';
|
||||
break;
|
||||
@@ -313,9 +361,8 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
echo 'return false;';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>", e);
|
||||
?>
|
||||
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>"+params);
|
||||
return;
|
||||
});
|
||||
<?php } ?>
|
||||
@@ -328,6 +375,9 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
var type;
|
||||
|
||||
switch(val) {
|
||||
case "sa":
|
||||
type = "통합인증";
|
||||
break;
|
||||
case "ipin":
|
||||
type = "아이핀";
|
||||
break;
|
||||
|
||||
@@ -5,75 +5,7 @@
|
||||
.mbskin h1 {font-size:1.75em;margin:40px 0 25px}
|
||||
.mbskin p {padding-bottom:20px;border-bottom:1px solid #c8c8c8}
|
||||
.mbskin p strong {color:#4162ff;padding-bottom:5px;display:block;font-size:1.083em}
|
||||
|
||||
/* 버튼 */
|
||||
.mbskin a.btn01 {}
|
||||
.mbskin a.btn01:focus, .mbskin a.btn01:hover {}
|
||||
.mbskin a.btn02 {}
|
||||
.mbskin a.btn02:focus, .mbskin .btn02:hover {}
|
||||
.mbskin .btn_confirm {} /* 서식단계 진행 */
|
||||
.mbskin .btn_submit {display:block;width:100%;height:40px;line-height:40px;padding:0 10px;border:0;font-weight:bold;background:#3a8afd;color:#fff;border-radius:3px}
|
||||
.mbskin .btn_cancel {}
|
||||
.mbskin .btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
.mbskin .win_btn {} /* 새창용 */
|
||||
.mbskin .win_btn a {}
|
||||
.mbskin .win_btn button {}
|
||||
.mbskin .win_btn input {}
|
||||
|
||||
/* 게시판용 버튼 */
|
||||
.mbskin a.btn_b01 {}
|
||||
.mbskin a.btn_b01:focus, .mbskin .btn_b01:hover {}
|
||||
.mbskin a.btn_b02 {}
|
||||
.mbskin a.btn_b02:focus, .mbskin .btn_b02:hover {}
|
||||
.mbskin a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
.mbskin a.btn_admin:focus, .mbskin a.btn_admin:hover {}
|
||||
|
||||
/* 기본테이블 */
|
||||
.mbskin .tbl_head01 {}
|
||||
.mbskin .tbl_head01 caption {}
|
||||
.mbskin .tbl_head01 thead th {}
|
||||
.mbskin .tbl_head01 thead a {}
|
||||
.mbskin .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
.mbskin .tbl_head01 tfoot th {}
|
||||
.mbskin .tbl_head01 tfoot td {}
|
||||
.mbskin .tbl_head01 tbody th {}
|
||||
.mbskin .tbl_head01 td {}
|
||||
.mbskin .tbl_head01 a {}
|
||||
.mbskin td.empty_table {}
|
||||
|
||||
/* 폼 테이블 */
|
||||
.mb_skin table {}
|
||||
.mb_skin caption {}
|
||||
.mb_skin .frm_info {}
|
||||
.mb_skin .frm_file {}
|
||||
|
||||
.mbskin .tbl_frm01 {}
|
||||
.mbskin .tbl_frm01 caption {}
|
||||
.mbskin .tbl_frm01 th {}
|
||||
.mbskin .tbl_frm01 td {}
|
||||
.mbskin .tbl_frm01 textarea, .mbskin .frm_input {}
|
||||
.mbskin .tbl_frm01 textarea {}
|
||||
/*
|
||||
.mbskin .tbl_frm01 #captcha {}
|
||||
.mbskin .tbl_frm01 #captcha input {}
|
||||
*/
|
||||
.mbskin .tbl_frm01 a {}
|
||||
|
||||
.mbskin .required, .mbskin textarea.required {} /* 필수입력 */
|
||||
|
||||
/* 테이블 항목별 정의 */
|
||||
.mbskin .td_board {}
|
||||
.mbskin .td_chk {}
|
||||
.mbskin .td_date {}
|
||||
.mbskin .td_datetime {}
|
||||
.mbskin .td_group {}
|
||||
.mbskin .td_mb_id {}
|
||||
.mbskin .td_mng {}
|
||||
.mbskin .td_name {}
|
||||
.mbskin .td_nick {}
|
||||
.mbskin .td_num {}
|
||||
.mbskin .td_numbig {}
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 끝 ### */
|
||||
|
||||
/* 회원가입 공통 */
|
||||
@@ -107,8 +39,8 @@
|
||||
#fregisterform .form_01 {margin-bottom:30px}
|
||||
#fregisterform .form_01 h2 {font-size:1.167em;margin:0 0 5px}
|
||||
#fregisterform .frm_label {display:block;font-size:1.083em;margin:15px 0 5px;color:#555}
|
||||
#fregisterform .btn_frmline {width:70px;height:30px;line-height:30px;padding:0 10px;font-weight:bold}
|
||||
#fregisterform .rgs_name_li button {margin:5px 0 0}
|
||||
#fregisterform .btn_frmline {margin-bottom:5px;width:auto;height:30px;line-height:30px;padding:0 10px;font-weight:bold}
|
||||
#fregisterform .rgs_name_li button {margin:5px 0 0;width:auto}
|
||||
#fregisterform .reg_mb_img_file {margin-bottom:30px}
|
||||
#fregisterform .reg_mb_img_file img {max-width:100%;height:auto}
|
||||
|
||||
@@ -118,7 +50,7 @@
|
||||
|
||||
.adress {background:red;width:100%}
|
||||
.adress #reg_mb_zip {width:100%;position:relative}
|
||||
.adress .btn_frmline {position:absolute;top:8px;right:8px;height:40px;padding:0 10px;border-radius:3px}
|
||||
.adress .btn_frmline {position:absolute;top:8px;right:15px;height:40px;padding:0 10px;border-radius:3px}
|
||||
|
||||
.chk_box {position:relative}
|
||||
.chk_box input[type="checkbox"] + label {padding-left:10px;color:#676e70}
|
||||
@@ -152,10 +84,36 @@
|
||||
#reg_result .btn_confirm a {display:inline-block;padding:0 20px;height:40px;line-height:38px;border:1px solid #ed6478;color:#ed6478;border-radius:3px;font-weight:bold}
|
||||
|
||||
/* 아이디/비밀번호 찾기 */
|
||||
#find_info h3 {display:none;margin-bottom:30px;text-align:center;font-size:1.1em;}
|
||||
#find_info.cert h3 {display:block;}
|
||||
#find_info #info_fs p {margin:0 0 10px;line-height:1.5em;font-size:0.92em;color:#4162ff}
|
||||
#find_info #info_fs #mb_email {width:100%}
|
||||
#find_info #captcha {margin:5px 0}
|
||||
|
||||
/* 비밀번호 재설정 */
|
||||
#pw_reset #info_fs {margin-bottom: 10px}
|
||||
#pw_reset .frm_input {margin:10px 0 0}
|
||||
|
||||
/* 기존 회원 본인인증 */
|
||||
#member_cert_refresh section {position:relative;background:#fff;border-bottom:1px solid #e5e9f0;padding:15px}
|
||||
#member_cert_refresh_chkall {position:relative;font-size:bold;text-align:left;background:#fff;padding:15px;border-top:1px solid #e5e9f0;border-bottom:1px solid #e5e9f0;border-radius:3px}
|
||||
#member_cert_refresh h2 {text-align:left;padding-bottom:15px;line-height:1.7em;font-size:1.4em}
|
||||
#member_cert_refresh textarea {display:block;width:100%;height:180px;padding:10px;background:#fbfbfb;border:1px solid #d1d7d8;line-height:1.5em;color:#555}
|
||||
#member_cert_refresh p {position:relative;text-align:left;color:#fff;line-height:18px;padding:15px;font-size:1.1em;background:#f2838f;margin:15px;border-radius:5px}
|
||||
#member_cert_refresh p:before {content:"";position:absolute;top:0;left:0;width:5px;height:100%;border-radius:5px 0 0 5px;background:#da4453}
|
||||
#member_cert_refresh p i {font-size:1.2em;vertical-align:middle}
|
||||
#member_cert_refresh .btn_confirm {margin:15px 10px}
|
||||
#member_cert_refresh_private .tbl_head01 {margin:0}
|
||||
#member_cert_refresh_private .tbl_head01 caption {position:absolute;font-size:0;line-height:0;overflow:hidden;top:0;color:#fff}
|
||||
.member_cert_refresh_agree input[type="checkbox"] + label {color:#676e70}
|
||||
.member_cert_refresh_agree input[type="checkbox"] + label:hover {color:#2172f8}
|
||||
.member_cert_refresh_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
|
||||
.member_cert_refresh_agree input[type="checkbox"]:checked + label {color:#000}
|
||||
.member_cert_refresh_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
|
||||
.member_cert_refresh_agree.chk_all input[type="checkbox"] + label span {top:15px}
|
||||
|
||||
#member_cert_refresh #find_info {padding:30px 0}
|
||||
|
||||
/* 로그인 */
|
||||
#mb_login {}
|
||||
#mb_login h1 {font-size:2em;text-align:center;margin:30px 0 20px}
|
||||
|
||||
@@ -23,21 +23,21 @@ add_stylesheet('<link rel="stylesheet" href="'.$outlogin_skin_url.'/style.css">'
|
||||
|
||||
<ul id="ol_after_private">
|
||||
<li id="ol_after_memo">
|
||||
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank">
|
||||
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank" class="win_memo">
|
||||
<i class="fa fa-envelope-o" aria-hidden="true"></i>
|
||||
<span class="sound_only">안 읽은</span>쪽지
|
||||
<strong><?php echo $memo_not_read ?></strong>
|
||||
</a>
|
||||
</li>
|
||||
<li id="ol_after_pt">
|
||||
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank">
|
||||
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank" class="win_point">
|
||||
<i class="fa fa-database" aria-hidden="true"></i>
|
||||
포인트
|
||||
<strong><?php echo $point ?></strong>
|
||||
</a>
|
||||
</li>
|
||||
<li id="ol_after_scrap">
|
||||
<a href="<?php echo G5_BBS_URL ?>/scrap.php" target="_blank">
|
||||
<a href="<?php echo G5_BBS_URL ?>/scrap.php" target="_blank" class="win_scrap">
|
||||
<i class="fa fa-thumb-tack" aria-hidden="true"></i>스크랩
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -15,7 +15,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$outlogin_skin_url.'/style.css">'
|
||||
<a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=register_form.php" id="ol_after_info"><i class="fa fa-cog" aria-hidden="true"></i><span class="sound_only">정보수정</span></a>
|
||||
</span>
|
||||
<strong class="nickname"><?php echo $nick ?>님</strong>
|
||||
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank" class="point"><strong><?php echo $point ?></strong> 포인트
|
||||
<a href="<?php echo G5_BBS_URL ?>/point.php" target="_blank" class="point win_point"><strong><?php echo $point ?></strong> 포인트
|
||||
</a>
|
||||
<div id="ol_after_btn">
|
||||
<?php if ($is_admin == 'super' || $is_auth) { ?><a href="<?php echo G5_ADMIN_URL ?>" class="btn_admin">관리자</a><?php } ?>
|
||||
@@ -26,7 +26,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$outlogin_skin_url.'/style.css">'
|
||||
|
||||
<ul id="ol_after_private">
|
||||
<li id="ol_after_memo">
|
||||
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank">
|
||||
<a href="<?php echo G5_BBS_URL ?>/memo.php" target="_blank" class="win_memo">
|
||||
<i class="fa fa-envelope" aria-hidden="true"></i>쪽지
|
||||
<strong><?php echo $memo_not_read; ?></strong>
|
||||
</a>
|
||||
|
||||
@@ -1,36 +1,5 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 시작 ### */
|
||||
#poll a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#poll a.btn_admin:focus, #poll a.btn_admin:hover {}
|
||||
|
||||
/* 폼 테이블 */
|
||||
#poll .tbl_frm table {}
|
||||
#poll .tbl_frm .frm_address {}
|
||||
#poll .tbl_frm .frm_file {}
|
||||
#poll .tbl_frm .frm_info {}
|
||||
|
||||
#poll .tbl_frm01 {}
|
||||
#poll .tbl_frm01 caption {}
|
||||
#poll .tbl_frm01 th {}
|
||||
#poll .tbl_frm01 td {}
|
||||
#poll .tbl_frm01 textarea, #poll .frm_input {}
|
||||
#poll .tbl_frm01 textarea {}
|
||||
#poll .tbl_frm01 a {}
|
||||
|
||||
#poll .required, #poll textarea.required {}
|
||||
|
||||
#poll .btn_confirm {} /* 서식단계 진행 */
|
||||
#poll .btn_submit {}
|
||||
#poll .btn_cancel {}
|
||||
#poll .btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
#poll .win_btn {} /* 새창용 */
|
||||
#poll .win_btn a {}
|
||||
#poll .win_btn button {}
|
||||
#poll .win_btn input {}
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 끝 ### */
|
||||
|
||||
/* 설문조사 스킨 */
|
||||
#poll {background:#fff;border:1px solid #dde7e9;margin:15px 10px}
|
||||
#poll header {position:relative;padding:15px;border-bottom:1px solid #dde7e9}
|
||||
|
||||
@@ -115,6 +115,11 @@ add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
<legend>게시물 검색</legend>
|
||||
<form name="fsearch" method="get">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sop" value="and">
|
||||
<label for="sfl" class="sound_only">검색대상</label>
|
||||
<select name="sfl" id="sfl">
|
||||
<?php echo get_qa_sfl_select_options($sfl); ?>
|
||||
</select>
|
||||
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required placeholder="검색어를 입력하세요" id="stx" class="sch_input" size="15" maxlength="15">
|
||||
<button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i> <span class="sound_only">검색</span></button>
|
||||
|
||||
@@ -136,7 +136,8 @@
|
||||
#bo_sch {background:#fff;border:1px solid #d0d3db;position:relative;margin:10px}
|
||||
#bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
#bo_sch .sch_input {float:left;width:100%;height:38px;border:0;padding:0;background-color:transparent;padding:0 0 0 10px}
|
||||
#bo_sch select {border:0;height:38px;border-right:1px solid #f8f8f8;float:left;width:30%}
|
||||
#bo_sch .sch_input {height:38px;border:0;padding:0;background-color:transparent;float:left;width:70%;padding:0 40px 0 10px}
|
||||
#bo_sch .sch_btn {height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px}
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if( ! $config['cf_social_login_use']) { //소셜 로그인을 사용하지 않으면
|
||||
if (!$config['cf_social_login_use']) { //소셜 로그인을 사용하지 않으면
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -10,93 +10,170 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal.css">
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal-default-theme.css">', 12);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 13);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/remodal/remodal.js"></script>', 10);
|
||||
add_javascript('<script src="<?php echo G5_JS_URL ?>/jquery.register_form.js"></script>', 14);
|
||||
if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
|
||||
add_javascript('<script src="'.G5_JS_URL.'/certify.js?v='.G5_JS_VER.'"></script>', 15);
|
||||
|
||||
$email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : '';
|
||||
$email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : '';
|
||||
?>
|
||||
|
||||
<!-- 회원정보 입력/수정 시작 { -->
|
||||
<div class="mbskin" id="register_member">
|
||||
|
||||
<script src="<?php echo G5_JS_URL ?>/jquery.register_form.js"></script>
|
||||
<!-- 회원가입약관 동의 시작 { -->
|
||||
<div class="social_register">
|
||||
|
||||
<!-- 새로가입 시작 -->
|
||||
<form id="fregisterform" name="fregisterform" action="<?php echo $register_action_url; ?>" onsubmit="return fregisterform_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
|
||||
<input type="hidden" name="w" value="<?php echo $w; ?>">
|
||||
<input type="hidden" name="url" value="<?php echo $urlencode; ?>">
|
||||
<input type="hidden" name="mb_name" value="<?php echo $user_nick; ?>" >
|
||||
<input type="hidden" name="provider" value="<?php echo $provider_name;?>" >
|
||||
<input type="hidden" name="action" value="register">
|
||||
<form name="fregisterform" id="fregisterform" action="<?php echo $register_action_url; ?>" onsubmit="return fregisterform_submit(this);" method="POST" autocomplete="off">
|
||||
|
||||
<input type="hidden" name="mb_id" value="<?php echo $user_id; ?>" id="reg_mb_id">
|
||||
<input type="hidden" name="mb_nick_default" value="<?php echo isset($user_nick)?get_text($user_nick):''; ?>">
|
||||
<input type="hidden" name="mb_nick" value="<?php echo isset($user_nick)?get_text($user_nick):''; ?>" id="reg_mb_nick">
|
||||
<p><i class="fa fa-check-circle" aria-hidden="true"></i> 회원가입약관 및 개인정보 수집 및 이용의 내용에 동의하셔야 회원가입 하실 수 있습니다.</p>
|
||||
|
||||
<div class="toggle">
|
||||
<div class="toggle-title">
|
||||
<span class="right_i"><i></i> 자세히보기</span>
|
||||
<span class="title-name"><input type="checkbox" name="agree" value="1" id="agree11"> <label for="agree11">회원가입약관</label></span>
|
||||
<div id="fregister_chkall" class="chk_all fregister_agree">
|
||||
<input type="checkbox" name="chk_all" id="chk_all" class="selec_chk">
|
||||
<label for="chk_all"><span></span>회원가입 약관에 모두 동의합니다</label>
|
||||
</div>
|
||||
<div class="toggle-inner">
|
||||
<p><?php echo conv_content($config['cf_stipulation'], 0); ?></p>
|
||||
</div>
|
||||
</div> <!-- END OF TOGGLE -->
|
||||
<div class="toggle">
|
||||
<div class="toggle-title">
|
||||
<span class="right_i"><i></i> 자세히보기</span>
|
||||
<span class="title-name"><input type="checkbox" name="agree2" value="1" id="agree21"> <label for="agree21">개인정보처리방침안내</label></span>
|
||||
</div>
|
||||
<div class="toggle-inner">
|
||||
<p><?php echo conv_content($config['cf_privacy'], 0); ?></p>
|
||||
</div>
|
||||
</div> <!-- END OF TOGGLE -->
|
||||
<div class="all_agree">
|
||||
<span class="title-name"><input type="checkbox" name="chk_all" value="1" id="chk_all"> <label for="chk_all"><strong>전체약관에 동의합니다.</strong></label></span>
|
||||
</div>
|
||||
|
||||
<div class="sns_tbl tbl_wrap">
|
||||
<table>
|
||||
<caption>개인정보 입력</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="reg_mb_email">E-mail<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<input type="text" name="mb_email" value="<?php echo isset($user_email)?$user_email:''; ?>" id="reg_mb_email" required class="frm_input email required" size="70" maxlength="100" placeholder="이메일을 입력해주세요." >
|
||||
<p class="email_msg"><?php echo $email_msg; ?></p>
|
||||
</td>
|
||||
</tr>
|
||||
<section id="fregister_term">
|
||||
<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">
|
||||
<label for="agree11"><span></span><b class="sound_only">회원가입약관의 내용에 동의합니다.</b></label>
|
||||
</fieldset>
|
||||
</section>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<section id="fregister_private">
|
||||
<h2>개인정보 수집 및 이용</h2>
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption>개인정보 수집 및 이용</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">목적</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>항목</th>
|
||||
<th>보유기간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">이용자 식별 및 본인여부 확인</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>아이디, 이름, 비밀번호<?php echo ($config['cf_cert_use']) ? ", 생년월일, 휴대폰 번호(본인인증 할 때만, 아이핀 제외), 암호화된 개인식별부호(CI)" : ""; ?></td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">고객서비스 이용에 관한 통지,<br>CS대응을 위한 이용자 식별</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>연락처 (이메일, 휴대전화번호)</td>
|
||||
<td>회원 탈퇴 시까지</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<fieldset class="fregister_agree">
|
||||
<input type="checkbox" name="agree2" value="1" id="agree21" class="selec_chk">
|
||||
<label for="agree21"><span></span><b class="sound_only">개인정보 수집 및 이용의 내용에 동의합니다.</b></label>
|
||||
</fieldset>
|
||||
</section>
|
||||
<!-- } 회원가입 약관 동의 끝 -->
|
||||
|
||||
<!-- 회원정보 입력/수정 시작 { -->
|
||||
|
||||
<!-- 새로가입 시작 -->
|
||||
<input type="hidden" name="w" value="<?php echo $w; ?>">
|
||||
<input type="hidden" name="url" value="<?php echo $urlencode; ?>">
|
||||
<input type="hidden" name="provider" value="<?php echo $provider_name; ?>">
|
||||
<input type="hidden" name="action" value="register">
|
||||
<input type="hidden" name="cert_type" value="<?php echo $member['mb_certify']; ?>">
|
||||
<input type="hidden" name="cert_no" value="">
|
||||
<input type="hidden" name="mb_id" value="<?php echo $user_id; ?>" id="reg_mb_id">
|
||||
<?php if ($config["cf_cert_use"]) { ?>
|
||||
<input type="hidden" id="reg_mb_name" name="mb_name" value="<?php echo $user_name ? $user_name : $user_nick ?>">
|
||||
<?php } ?>
|
||||
<?php if ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_sa']))) { ?>
|
||||
<input type="hidden" name="mb_hp" value="<?php echo get_text($user_phone); ?>" id="reg_mb_hp">
|
||||
<?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_sa'])) { ?>
|
||||
<input type="hidden" name="old_mb_hp" value="<?php echo get_text($user_phone); ?>">
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
<div id="register_form" class="form_01">
|
||||
<h2>개인정보 입력</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<?php
|
||||
if ($config['cf_cert_use']) {
|
||||
if ($config['cf_cert_sa']) {
|
||||
echo '<button type="button" id="win_sa_toss_cert" class="btn_frmline btn win_sa_cert" data-type="TOSS">토스 인증</button>'.PHP_EOL;
|
||||
echo '<button type="button" id="win_sa_pass_cert" class="btn_frmline btn win_sa_cert" data-type="PASS">PASS 인증</button>'.PHP_EOL;
|
||||
echo '<button type="button" id="win_sa_payco_cert" class="btn_frmline btn win_sa_cert" data-type="PAYCO">페이코 인증</button>'.PHP_EOL;
|
||||
echo '<button type="button" id="win_sa_kftc_cert" class="btn_frmline btn win_sa_cert" data-type="KFTC">금융인증서</button>'.PHP_EOL;
|
||||
}
|
||||
if ($config['cf_cert_hp'])
|
||||
echo '<button type="button" id="win_hp_cert" class="btn_frmline btn">휴대폰 본인확인</button>' . PHP_EOL;
|
||||
if ($config['cf_cert_ipin'])
|
||||
echo '<button type="button" id="win_ipin_cert" class="btn_frmline btn">아이핀 본인확인</button>' . PHP_EOL;
|
||||
|
||||
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>' . PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</li>
|
||||
<?php if ($req_nick) { ?>
|
||||
<li>
|
||||
<label for="reg_mb_nick" class="sound_only">닉네임<strong>필수</strong></label>
|
||||
|
||||
<span class="frm_info">
|
||||
공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)<br>
|
||||
닉네임을 바꾸시면 앞으로 <?php echo (int)$config['cf_nick_modify'] ?>일 이내에는 변경 할 수 없습니다.
|
||||
</span>
|
||||
<input type="hidden" name="mb_nick_default" value="<?php echo isset($user_nick) ? get_text($user_nick) : ''; ?>">
|
||||
<input type="text" name="mb_nick" value="<?php echo isset($user_nick) ? get_text($user_nick) : ''; ?>" id="reg_mb_nick" required class="frm_input required nospace full_input" size="10" maxlength="20" placeholder="닉네임">
|
||||
<span id="msg_mb_nick"></span>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li>
|
||||
<label for="reg_mb_email" class="sound_only">E-mail<strong>필수</strong></label>
|
||||
<?php if ($config['cf_use_email_certify']) { ?>
|
||||
<span class="frm_info">
|
||||
<?php if ($w=='') { echo "E-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다."; } ?>
|
||||
<?php if ($w=='u') { echo "E-mail 주소를 변경하시면 다시 인증하셔야 합니다."; } ?>
|
||||
</span>
|
||||
<?php } ?>
|
||||
<input type="hidden" name="old_email" value="<?php echo $member['mb_email'] ?>">
|
||||
<input type="text" name="mb_email" value="<?php echo isset($user_email) ? $user_email : ''; ?>" id="reg_mb_email" required <?php echo (isset($user_email) && $user_email != '' && !$is_exists_email)? "readonly":''; ?> class="frm_input email full_input required" size="70" maxlength="100" placeholder="E-mail">
|
||||
<div class="check"><?php echo $email_msg; ?></div>
|
||||
</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>
|
||||
|
||||
<div class="btn_top top">
|
||||
<a href="<?php echo G5_URL ?>" class="btn_cancel">취소</a>
|
||||
<input type="submit" value="회원가입" id="btn_submit" class="btn_submit" accesskey="s">
|
||||
</div>
|
||||
</form>
|
||||
<!-- 새로가입 끝 -->
|
||||
|
||||
<div class="btn_group_trigger">
|
||||
<a class="btn_submit_trigger">회원가입</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 기존 계정 연결 -->
|
||||
|
||||
<div class="member_connect">
|
||||
<p class="strong">혹시 기존 회원이신가요?</p>
|
||||
<button type="button" class="connect-opener btn-txt" data-remodal-target="modal">
|
||||
기존 계정에 연결하기
|
||||
<i class="fa fa-angle-double-right"></i>
|
||||
</button>
|
||||
</div>
|
||||
<!-- 기존 계정 연결 -->
|
||||
|
||||
<div id="sns-link-pnl" class="remodal" data-remodal-id="modal" role="dialog" aria-labelledby="modal1Title" aria-describedby="modal1Desc">
|
||||
<button type="button" class="connect-close" data-remodal-action="close">
|
||||
<i class="fa fa-close"></i>
|
||||
<span class="txt">닫기</span>
|
||||
</button>
|
||||
<div class="connect-fg">
|
||||
<form method="post" action="<?php echo $login_action_url ?>" onsubmit="return social_obj.flogin_submit(this);">
|
||||
<div class="member_connect">
|
||||
<p class="strong">혹시 기존 회원이신가요?</p>
|
||||
<button type="button" class="connect-opener btn-txt" data-remodal-target="modal">
|
||||
기존 계정에 연결하기
|
||||
<i class="fa fa-angle-double-right"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div id="sns-link-pnl" class="remodal" data-remodal-id="modal" role="dialog" aria-labelledby="modal1Title" aria-describedby="modal1Desc">
|
||||
<button type="button" class="connect-close" data-remodal-action="close">
|
||||
<i class="fa fa-close"></i>
|
||||
<span class="txt">닫기</span>
|
||||
</button>
|
||||
<div class="connect-fg">
|
||||
<form method="post" action="<?php echo $login_action_url ?>" onsubmit="return social_obj.flogin_submit(this);">
|
||||
<input type="hidden" id="url" name="url" value="<?php echo $login_url ?>">
|
||||
<input type="hidden" id="provider" name="provider" value="<?php echo $provider_name ?>">
|
||||
<input type="hidden" id="action" name="action" value="social_account_linking">
|
||||
@@ -110,22 +187,121 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
|
||||
|
||||
<div id="login_fs">
|
||||
<label for="login_id" class="login_id">아이디<strong class="sound_only"> 필수</strong></label>
|
||||
<span class="lg_id"><input type="text" name="mb_id" id="login_id" class="frm_input required" size="20" maxLength="20" ></span>
|
||||
<span class="lg_id"><input type="text" name="mb_id" id="login_id" class="frm_input required" size="20" maxLength="20"></span>
|
||||
<label for="login_pw" class="login_pw">비밀번호<strong class="sound_only"> 필수</strong></label>
|
||||
<span class="lg_pw"><input type="password" name="mb_password" id="login_pw" class="frm_input required" size="20" maxLength="20"></span>
|
||||
<br>
|
||||
<input type="submit" value="연결하기" class="login_submit btn_submit">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<script>
|
||||
$(function() {
|
||||
// 모두선택
|
||||
$("input[name=chk_all]").click(function() {
|
||||
if ($(this).prop('checked')) {
|
||||
$("input[name^=agree]").prop('checked', true);
|
||||
} else {
|
||||
$("input[name^=agree]").prop("checked", false);
|
||||
}
|
||||
});
|
||||
|
||||
$("#reg_zip_find").css("display", "inline-block");
|
||||
var pageTypeParam = "pageType=register";
|
||||
|
||||
<?php if ($config['cf_cert_use'] && $config['cf_cert_sa']) { ?>
|
||||
// 이니시스 통합인증
|
||||
var url = "<?php echo G5_KGCERT_URL; ?>/kg_request.php";
|
||||
var type = "";
|
||||
var params = "";
|
||||
var request_url = "";
|
||||
|
||||
$(".win_sa_cert").click(function() {
|
||||
if (!cert_confirm()) return false;
|
||||
type = $(this).data("type");
|
||||
switch (type) {
|
||||
case "TOSS":
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "PASS":
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "PAYCO":
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
case "KFTC":
|
||||
params = "?directAgency=" + type + "&" + pageTypeParam;
|
||||
request_url = url + params;
|
||||
call_sa(request_url);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
});
|
||||
<?php } ?>
|
||||
<?php if ($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
|
||||
// 아이핀인증
|
||||
var params = "";
|
||||
$("#win_ipin_cert").click(function() {
|
||||
if (!cert_confirm()) return false;
|
||||
params = "?" + pageTypeParam;
|
||||
var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php" + params;
|
||||
certify_win_open('kcb-ipin', url);
|
||||
return;
|
||||
});
|
||||
|
||||
<?php } ?>
|
||||
<?php if ($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
|
||||
// 휴대폰인증
|
||||
var params = "";
|
||||
$("#win_hp_cert").click(function() {
|
||||
if (!cert_confirm()) return false;
|
||||
params = "?" + pageTypeParam;
|
||||
<?php
|
||||
switch ($config['cf_cert_hp']) {
|
||||
case 'kcb':
|
||||
$cert_url = G5_OKNAME_URL.'/hpcert1.php';
|
||||
$cert_type = 'kcb-hp';
|
||||
break;
|
||||
case 'kcp':
|
||||
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
|
||||
$cert_type = 'kcp-hp';
|
||||
break;
|
||||
case 'lg':
|
||||
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
|
||||
$cert_type = 'lg-hp';
|
||||
break;
|
||||
default:
|
||||
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
|
||||
echo 'return false;';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>" + params);
|
||||
return;
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
//tooltip
|
||||
$(document).on("click", ".tooltip_icon", function(e) {
|
||||
$(this).next(".tooltip").fadeIn(400).css("display", "inline-block");
|
||||
}).on("mouseout", ".tooltip_icon", function(e) {
|
||||
$(this).next(".tooltip").fadeOut();
|
||||
});
|
||||
});
|
||||
|
||||
// submit 최종 폼체크
|
||||
function fregisterform_submit(f)
|
||||
{
|
||||
function fregisterform_submit(f) {
|
||||
|
||||
if (!f.agree.checked) {
|
||||
alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
|
||||
@@ -134,17 +310,34 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
|
||||
}
|
||||
|
||||
if (!f.agree2.checked) {
|
||||
alert("개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
|
||||
alert("개인정보 수집 및 이용의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
|
||||
f.agree2.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
<?php if ($w == '' && $config['cf_cert_use'] && $config['cf_cert_req']) { ?>
|
||||
// 본인확인 체크
|
||||
if (f.cert_no.value == "") {
|
||||
alert("회원가입을 위해서는 본인확인을 해주셔야 합니다.");
|
||||
return false;
|
||||
}
|
||||
<?php } ?>
|
||||
|
||||
// 닉네임 검사
|
||||
if ((f.w.value == "") || (f.w.value == "u" && f.mb_nick.defaultValue != f.mb_nick.value)) {
|
||||
var msg = reg_mb_nick_check();
|
||||
if (msg) {
|
||||
alert(msg);
|
||||
f.reg_mb_nick.select();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// E-mail 검사
|
||||
if ((f.w.value == "") || (f.w.value == "u" && f.mb_email.defaultValue != f.mb_email.value)) {
|
||||
var msg = reg_mb_email_check();
|
||||
if (msg) {
|
||||
alert(msg);
|
||||
jQuery(".email_msg").html(msg);
|
||||
f.reg_mb_email.select();
|
||||
return false;
|
||||
}
|
||||
@@ -155,47 +348,16 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
|
||||
return true;
|
||||
}
|
||||
|
||||
function flogin_submit(f)
|
||||
{
|
||||
function flogin_submit(f) {
|
||||
var mb_id = $.trim($(f).find("input[name=mb_id]").val()),
|
||||
mb_password = $.trim($(f).find("input[name=mb_password]").val());
|
||||
|
||||
if(!mb_id || !mb_password){
|
||||
if (!mb_id || !mb_password) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
jQuery(function($){
|
||||
if( jQuery(".toggle .toggle-title").hasClass('active') ){
|
||||
jQuery(".toggle .toggle-title.active").closest('.toggle').find('.toggle-inner').show();
|
||||
}
|
||||
jQuery(".toggle .toggle-title .right_i").click(function(){
|
||||
|
||||
var $parent = $(this).parent();
|
||||
|
||||
if( $parent.hasClass('active') ){
|
||||
$parent.removeClass("active").closest('.toggle').find('.toggle-inner').slideUp(200);
|
||||
} else {
|
||||
$parent.addClass("active").closest('.toggle').find('.toggle-inner').slideDown(200);
|
||||
}
|
||||
});
|
||||
// 모두선택
|
||||
$("input[name=chk_all]").click(function() {
|
||||
if ($(this).prop('checked')) {
|
||||
$("input[name^=agree]").prop('checked', true);
|
||||
} else {
|
||||
$("input[name^=agree]").prop("checked", false);
|
||||
}
|
||||
});
|
||||
|
||||
$(".btn_submit_trigger").on("click", function(e){
|
||||
e.preventDefault();
|
||||
$("#btn_submit").trigger("click");
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<!-- } 회원정보 입력/수정 끝 -->
|
||||
@@ -80,7 +80,7 @@
|
||||
#sns_register {margin:0 0 10px;padding:0;text-align:center;background:#fff;border:1px solid #dbdbdb}
|
||||
#sns_register h2 {font-size:1.167em;text-align:left;padding:15px 20px;border-bottom:1px solid #dbdbdb}
|
||||
#sns_register .sns-wrap:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#sns_register .sns-wrap {display:inline-block;padding:20px;vertical-align:top;margin:0}
|
||||
#sns_register .sns-wrap {display:inline-block;width:100%;padding:20px;vertical-align:top;margin:0}
|
||||
#sns_register .sns-icon {position:relative;display:inline-block;height:40px;line-height:40px;width:100%;margin:0 0 5px;padding-left:40px;text-align:left;color:#fff;border-radius:2px;float:left}
|
||||
#sns_register .sns-icon:nth-child(3n+1) {clear:both}
|
||||
#sns_register .sns-naver {background-color:#1fc800;background-position:5px 5px;border-bottom:1px solid #1ea505}
|
||||
@@ -93,6 +93,73 @@
|
||||
#sns_register .sns-payco {background-color:#df0b00;background-position:5px 5px;border-bottom:1px solid #9d0800}
|
||||
#sns_register .txt {display:block;padding-left:10px;border-left:1px solid rgba(0,0,0,0.1);font-weight:bold}
|
||||
|
||||
/* 회원가입 공통 */
|
||||
.social_register {padding:15px}
|
||||
.social_register #register_form {margin-top:30px}
|
||||
|
||||
/* 회원가입 약관 */
|
||||
#fregisterform section {position:relative;background:#fff;border-bottom:1px solid #e5e9f0;padding:15px}
|
||||
#fregister_chkall {position:relative;font-size:bold;text-align:left;background:#fff;padding:15px;border-top:1px solid #e5e9f0;border-bottom:1px solid #e5e9f0;border-radius:3px}
|
||||
#fregisterform h2 {text-align:left;padding-bottom:15px;line-height:1.7em;font-size:1.4em}
|
||||
#fregisterform textarea {display:block;width:100%;height:180px;padding:10px;background:#fbfbfb;border:1px solid #d1d7d8;line-height:1.5em;color:#555}
|
||||
#fregisterform p {position:relative;text-align:left;color:#fff;line-height:18px;padding:15px;font-size:1.1em;background:#f2838f;margin:15px;border-radius:5px}
|
||||
#fregisterform p:before {content:"";position:absolute;top:0;left:0;width:5px;height:100%;border-radius:5px 0 0 5px;background:#da4453}
|
||||
#fregisterform p i {font-size:1.2em;vertical-align:middle}
|
||||
#fregisterform .btn_confirm {margin:15px 10px}
|
||||
#fregister_private .tbl_head01 {margin:0}
|
||||
#fregister_private .tbl_head01 caption {position:absolute;font-size:0;line-height:0;overflow:hidden;top:0;color:#fff}
|
||||
|
||||
/* 회원가입 입력 */
|
||||
#fregisterform .btn_confirm {text-align:center;margin:20px 0}
|
||||
#fregisterform .btn_confirm .btn_submit {width:49%;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em}
|
||||
#fregisterform .btn_confirm .btn_cancel {width:49%;line-height:45px;height:45px;padding:0 30px;font-weight:bold;border-radius:3px;border:1px solid #dcdcdc;font-size:1.083em;background:#fff}
|
||||
|
||||
#fregisterform #reg_mb_email, #fregisterform .frm_address {width:100%}
|
||||
#fregisterform textarea {width:100%;height:84px}
|
||||
#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
|
||||
#fregisterform .frm_address,
|
||||
#fregisterform .password {margin:-1px 0 0}
|
||||
#fregisterform .password .frm_input {border-bottom:0}
|
||||
#fregisterform #mb_addr3 {display:block;margin:5px 0 0}
|
||||
#fregisterform #mb_addr_jibeon {display:block;margin:5px 0 0}
|
||||
#fregisterform .form_01 {margin-bottom:30px}
|
||||
#fregisterform .form_01 h2 {font-size:1.167em;margin:0 0 5px}
|
||||
#fregisterform .frm_label {display:block;font-size:1.083em;margin:15px 0 5px;color:#555}
|
||||
#fregisterform .btn_frmline {margin-bottom:5px;width:auto;height:30px;line-height:30px;padding:0 10px;font-weight:bold}
|
||||
#fregisterform .rgs_name_li button {margin:5px 0 0;width:auto}
|
||||
#fregisterform .reg_mb_img_file {margin-bottom:30px}
|
||||
#fregisterform .reg_mb_img_file img {max-width:100%;height:auto}
|
||||
|
||||
.filebox .fileName {display:inline-block;position:relative;width:100%;height:45px;padding-left:10px;margin-right:5px;line-height:30px;border: 1px solid #d0d3db;background-color:#fff;color:red;vertical-align:middle}
|
||||
.filebox .btn_file {display:inline-block;position:absolute;right:8px;top:8px;border:1px solid #3a8afd;border-radius:3px;width:70px;height:30px;color:#3a8afd;font-size:1em;line-height:30px;font-weight:bold;text-align:center;vertical-align:middle}
|
||||
.filebox input[type="file"] {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
|
||||
|
||||
.adress {background:red;width:100%}
|
||||
.adress #reg_mb_zip {width:100%;position:relative}
|
||||
.adress .btn_frmline {position:absolute;top:8px;right:15px;height:40px;padding:0 10px;border-radius:3px}
|
||||
|
||||
.chk_box {position:relative}
|
||||
.chk_box input[type="checkbox"] + label {padding-left:10px;color:#676e70}
|
||||
.chk_box input[type="checkbox"] + label:hover{color:#2172f8}
|
||||
.chk_box input[type="checkbox"] + label span {position:absolute;top:1px;left:0;width:17px;height:17px;display:block;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}
|
||||
.chk_li {padding-left:10px;line-height:20px}
|
||||
|
||||
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
|
||||
.fregister_agree input[type="checkbox"] + label {color:#676e70}
|
||||
.fregister_agree input[type="checkbox"] + label:hover {color:#2172f8}
|
||||
.fregister_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
|
||||
.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}
|
||||
|
||||
.member_connect:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.member_connect {margin-top:1em;border:2px solid #cacaca;margin:10px;padding:10px;text-align:left}
|
||||
.member_connect .strong {font-weight:bold;margin:0 0 10px;font-size:0.97em}
|
||||
.member_connect button {color:#fff;border:0;padding:7px 13px;border:1px solid #6446e7;font-weight:bold;background:#6f50e7;border-radius:3px;font-size:0.92em}
|
||||
.member_connect button:hover {background:#6446e7}
|
||||
.member_connect {margin-top:30px}
|
||||
|
||||
/* LOGIN LOADING */
|
||||
.social-login-loading {width:100%;height:auto;text-align:center}
|
||||
|
||||
@@ -9,10 +9,11 @@ if( !function_exists('che_reprocessImage') ){
|
||||
function che_reprocessImage($file_path, $callback){
|
||||
|
||||
$MIME_TYPES_PROCESSORS = array(
|
||||
"image/gif" => array("imagecreatefromgif", "imagegif"),
|
||||
"image/gif" => array("imagecreatefromgif", "imagegif"),
|
||||
"image/jpg" => array("imagecreatefromjpeg", "imagejpeg"),
|
||||
"image/jpeg" => array("imagecreatefromjpeg", "imagejpeg"),
|
||||
"image/png" => array("imagecreatefrompng", "imagepng"),
|
||||
"image/png" => array("imagecreatefrompng", "imagepng"),
|
||||
"image/webp" => array("imagecreatefromwebp", "imagewebp"),
|
||||
"image/bmp" => array("imagecreatefromwbmp", "imagewbmp")
|
||||
);
|
||||
|
||||
@@ -76,7 +77,7 @@ run_event('cheditor_photo_upload', $data_dir, $data_url);
|
||||
//
|
||||
$tempfile = $_FILES['file']['tmp_name'];
|
||||
$filename = $_FILES['file']['name'];
|
||||
|
||||
$filename_len = strrpos($filename, ".");
|
||||
$type = substr($filename, strrpos($filename, ".")+1);
|
||||
$found = false;
|
||||
switch ($type) {
|
||||
@@ -84,10 +85,11 @@ switch ($type) {
|
||||
case "jpeg":
|
||||
case "gif":
|
||||
case "png":
|
||||
case "webp":
|
||||
$found = true;
|
||||
}
|
||||
|
||||
if ($found != true) {
|
||||
if ($found != true || $filename_len != 23) {
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<div style="margin: 0px 0px 10px 0px;">
|
||||
<img src="../icons/imageUpload/remove_all.gif" class="remove-button" onclick="removeImages();"
|
||||
alt="" style="vertical-align: middle" />
|
||||
<input type="file" name="imageUpload[]" accept="image/jpeg,image/png,image/gif" id="inputImageUpload" multiple="multiple"
|
||||
<input type="file" name="imageUpload[]" accept="image/jpeg,image/png,image/gif,image/webp" id="inputImageUpload" multiple="multiple"
|
||||
onchange="selectedFiles(event)" style="vertical-align: middle; visibility: hidden; width: 0px"/>
|
||||
<img id="fileSelectButton" src="../icons/imageUpload/add.gif" alt="image button" onclick="inputImageUpload.click()"
|
||||
style="vertical-align: middle; margin-left: -5px; cursor: pointer"/>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<div style="margin: 0px 0px 10px 0px;">
|
||||
<img src="../icons/imageUpload/remove_all.gif" class="remove-button" onclick="removeImages();"
|
||||
alt="" style="vertical-align: middle" />
|
||||
<input type="file" name="imageUpload[]" accept="image/jpeg,image/png,image/gif" id="inputImageUpload" multiple="multiple"
|
||||
<input type="file" name="imageUpload[]" accept="image/jpeg,image/png,image/gif,image/webp" id="inputImageUpload" multiple="multiple"
|
||||
onchange="selectedFiles(event)" style="vertical-align: middle; visibility: hidden; width: 0px"/>
|
||||
<img id="fileSelectButton" src="../icons/imageUpload/add.gif" alt="image button" onclick="inputImageUpload.click()"
|
||||
style="vertical-align: middle; margin-left: -5px; cursor: pointer"/>
|
||||
|
||||
@@ -14,7 +14,7 @@ var activeImage = null,
|
||||
dragDropDiv,
|
||||
eventDiff_x = 0,
|
||||
eventDiff_y = 0,
|
||||
fileTypeRe = /^image\/(png|jpeg|gif)$/i,
|
||||
fileTypeRe = /^image\/(png|jpeg|gif|webp)$/i,
|
||||
geckoOffsetX_marker = -3,
|
||||
geckoOffsetY_marker = -1,
|
||||
imageCompleted = 0,
|
||||
@@ -434,7 +434,12 @@ function startUpload(list) {
|
||||
|
||||
function fileFilterError(file) {
|
||||
alert("선택하신 '" + file + "' 파일은 전송할 수 없습니다.\n" +
|
||||
"gif, png, jpg 사진 파일만 전송할 수 있습니다.");
|
||||
"gif, png, jpg, webp 사진 파일만 전송할 수 있습니다.");
|
||||
}
|
||||
|
||||
function explorerFileFilterError(file) {
|
||||
alert("선택하신 '" + file + "' 파일은 전송할 수 없습니다.\n" +
|
||||
"익스플로러 환경에서는 gif, png, jpg 사진 파일만 \n전송할 수 있습니다.");
|
||||
}
|
||||
|
||||
function imgComplete(img, imgSize, boxId) {
|
||||
@@ -962,7 +967,13 @@ DoUpload.prototype = {
|
||||
file = files[i];
|
||||
|
||||
if (!file.type.match(fileTypeRe)) {
|
||||
fileFilterError(file.name);
|
||||
// 엣지를 제외한 ie브라우저인지 체크
|
||||
var agent = navigator.userAgent.toLowerCase();
|
||||
if (agent.indexOf('trident') != -1 || agent.indexOf("msie") != -1) {
|
||||
explorerFileFilterError(file.name);
|
||||
} else {
|
||||
FileFilterError(file.name);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
this.list.push(file);
|
||||
|
||||
@@ -14,7 +14,7 @@ var activeImage = null,
|
||||
dragDropDiv,
|
||||
eventDiff_x = 0,
|
||||
eventDiff_y = 0,
|
||||
fileTypeRe = /^image\/(png|jpeg|gif)$/i,
|
||||
fileTypeRe = /^image\/(png|jpeg|gif|webp)$/i,
|
||||
geckoOffsetX_marker = -3,
|
||||
geckoOffsetY_marker = -1,
|
||||
imageCompleted = 0,
|
||||
@@ -434,7 +434,12 @@ function startUpload(list) {
|
||||
|
||||
function fileFilterError(file) {
|
||||
alert("선택하신 '" + file + "' 파일은 전송할 수 없습니다.\n" +
|
||||
"gif, png, jpg 사진 파일만 전송할 수 있습니다.");
|
||||
"gif, png, jpg, webp 사진 파일만 전송할 수 있습니다.");
|
||||
}
|
||||
|
||||
function explorerFileFilterError(file) {
|
||||
alert("선택하신 '" + file + "' 파일은 전송할 수 없습니다.\n" +
|
||||
"익스플로러 환경에서는 gif, png, jpg 사진 파일만 \n전송할 수 있습니다.");
|
||||
}
|
||||
|
||||
function imgComplete(img, imgSize, boxId) {
|
||||
@@ -962,10 +967,16 @@ DoUpload.prototype = {
|
||||
file = files[i];
|
||||
|
||||
if (!file.type.match(fileTypeRe)) {
|
||||
fileFilterError(file.name);
|
||||
// 엣지를 제외한 ie브라우저인지 체크
|
||||
var agent = navigator.userAgent.toLowerCase();
|
||||
if (agent.indexOf('trident') != -1 || agent.indexOf("msie") != -1) {
|
||||
explorerFileFilterError(file.name);
|
||||
} else {
|
||||
FileFilterError(file.name);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
this.list.push(file);
|
||||
this.list.push(file);
|
||||
}
|
||||
|
||||
if (this.list.length < 1) {
|
||||
|
||||
@@ -335,7 +335,7 @@ function startUpload(count) {
|
||||
|
||||
function fileFilterError(file) {
|
||||
alert("선택하신 '" + file + "' 파일은 전송할 수 없습니다.\n" +
|
||||
"gif, png, jpg, 그림 파일만 전송할 수 있습니다.");
|
||||
"gif, png, jpg, webp 그림 파일만 전송할 수 있습니다.");
|
||||
}
|
||||
|
||||
function imgComplete(img, imgSize, boxId) {
|
||||
|
||||
@@ -54,7 +54,7 @@ function chkImgFormat (url)
|
||||
{
|
||||
var imageName = getFilename(url);
|
||||
var allowSubmit = false;
|
||||
var extArray = [".gif", ".jpg", ".jpeg", ".png"];
|
||||
var extArray = [".gif", ".jpg", ".jpeg", ".png", ".webp"];
|
||||
|
||||
extArray.join(" ");
|
||||
if (imageName === "") {
|
||||
@@ -72,7 +72,7 @@ function chkImgFormat (url)
|
||||
}
|
||||
|
||||
if (!allowSubmit) {
|
||||
alert("사진은 GIF, JPG, PNG 형식만 넣을 수 있습니다.");
|
||||
alert("사진은 GIF, JPG, PNG, WEBP 형식만 넣을 수 있습니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,64 +1,67 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
|
||||
<title>사진 첨부하기 :: SmartEditor2</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<!-- Generic page styles -->
|
||||
<link rel="stylesheet" href="css/style.css?v=140715">
|
||||
<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
|
||||
<link rel="stylesheet" href="css/jquery.fileupload.css">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
|
||||
<title>사진 첨부하기 :: SmartEditor2</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<!-- Generic page styles -->
|
||||
<link rel="stylesheet" href="css/style.css?v=140715">
|
||||
<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
|
||||
<link rel="stylesheet" href="css/jquery.fileupload.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container pop_container">
|
||||
<!-- header -->
|
||||
<div id="pop_header">
|
||||
<h1>사진 첨부하기</h1>
|
||||
</div>
|
||||
<!-- //header -->
|
||||
<div class="content_container">
|
||||
<div class="drag_explain">
|
||||
<p>마우스로 드래그하여 순서를 바꿀수 있습니다.</p>
|
||||
<div class="file_selet_group">
|
||||
<span class="btn btn-success fileinput-button">
|
||||
<span>파일선택</span>
|
||||
<!-- The file input field used as target for the file upload widget -->
|
||||
<input id="fileupload" type="file" name="files[]" multiple accept="image/*">
|
||||
</span>
|
||||
<button type="button" class="btn btn-danger delete" id="all_remove_btn">
|
||||
<span>전체삭제</span>
|
||||
</button>
|
||||
<div class="container pop_container">
|
||||
<!-- header -->
|
||||
<div id="pop_header">
|
||||
<h1>사진 첨부하기</h1>
|
||||
</div>
|
||||
<!-- //header -->
|
||||
<div class="content_container">
|
||||
<div class="drag_explain">
|
||||
<p>마우스로 드래그하여 순서를 바꿀수 있습니다.</p>
|
||||
<div class="file_selet_group">
|
||||
<span class="btn btn-success fileinput-button">
|
||||
<span>파일선택</span>
|
||||
<!-- The file input field used as target for the file upload widget -->
|
||||
<input id="fileupload" type="file" name="files[]" multiple accept="image/*">
|
||||
</span>
|
||||
<button type="button" class="btn btn-danger delete" id="all_remove_btn">
|
||||
<span>전체삭제</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="drag_area" id="drag_area">
|
||||
<ul class="sortable" id="sortable">
|
||||
</ul>
|
||||
<em class="blind">마우스로 드래그해서 이미지를 추가해주세요.</em><span id="guide_text" class="bg hidebg"></span>
|
||||
</div>
|
||||
<div class="seletion_explain">이미지는 한번에 10개까지 선택할수 있습니다.</div>
|
||||
<div class="btn_group">
|
||||
<button type="button" class="btn" id="img_upload_submit">
|
||||
<span>등록</span>
|
||||
</button>
|
||||
<button type="button" class="btn" id="close_w_btn">
|
||||
<span>취소</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="drag_area" id="drag_area">
|
||||
<ul class="sortable" id="sortable">
|
||||
</ul>
|
||||
<em class="blind">마우스로 드래그해서 이미지를 추가해주세요.</em><span id="guide_text" class="bg hidebg"></span>
|
||||
</div>
|
||||
<div class="seletion_explain">이미지는 한번에 10개까지 선택할수 있습니다.</div>
|
||||
<div class="btn_group">
|
||||
<button type="button" class="btn" id="img_upload_submit">
|
||||
<span>등록</span>
|
||||
</button>
|
||||
<button type="button" class="btn" id="close_w_btn" >
|
||||
<span>취소</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
|
||||
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
|
||||
<script src="./js/jquery.iframe-transport.js"></script>
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
|
||||
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
|
||||
<script src="./js/jquery.iframe-transport.js"></script>
|
||||
|
||||
<script type="text/javascript" src="./swfupload/swfupload.js"></script>
|
||||
<script type="text/javascript" src="./swfupload/jquery.swfupload.js"></script>
|
||||
<script type="text/javascript" src="./swfupload/swfupload.js?v=210625-1329"></script>
|
||||
<script type="text/javascript" src="./swfupload/jquery.swfupload.js?v=210625-1329"></script>
|
||||
|
||||
<!-- The basic File Upload plugin -->
|
||||
<script src="./js/jquery.fileupload.js?v=140715"></script>
|
||||
<!-- The basic File Upload plugin -->
|
||||
<script src="./js/jquery.fileupload.js?v=210625-1329"></script>
|
||||
|
||||
<script src="./js/basic.js?v=210625-1329"></script>
|
||||
</body>
|
||||
|
||||
<script src="./js/basic.js?v3"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,9 +1,9 @@
|
||||
jQuery.fn.bindAll = function(options) {
|
||||
var $this = this;
|
||||
jQuery.each(options, function(key, val){
|
||||
$this.bind(key, val);
|
||||
});
|
||||
return this;
|
||||
jQuery.fn.bindAll = function (options) {
|
||||
var $this = this;
|
||||
jQuery.each(options, function (key, val) {
|
||||
$this.bind(key, val);
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
jQuery(function ($) {
|
||||
@@ -11,131 +11,133 @@ jQuery(function ($) {
|
||||
|
||||
var ed_nonce = '';
|
||||
|
||||
if( !!opener && !!opener.window && !!opener.window.nhn ){
|
||||
if (!!opener && !!opener.window && !!opener.window.nhn) {
|
||||
ed_nonce = opener.window.nhn.husky.SE2M_Configuration.SE2M_Accessibility.ed_nonce;
|
||||
}
|
||||
|
||||
// Change this to the location of your server-side upload handler:
|
||||
var gnu = {
|
||||
url : './php/?_nonce='+ed_nonce,
|
||||
container_el : 'body',
|
||||
dreg_area : '#drag_area',
|
||||
dreg_area_list : '#drag_area > ul',
|
||||
progress_bar : '#progress .progress-bar',
|
||||
filter : /^(image\/bmp|image\/gif|image\/jpg|image\/jpeg|image\/png)$/i,
|
||||
files : [],
|
||||
file_limit : 10, //한번에 올릴수 파일갯수 제한
|
||||
imgw : 100,
|
||||
imgh : 70,
|
||||
file_api_support : !!(window.ProgressEvent && window.FileReader),
|
||||
$elTextGuide : $("#guide_text"),
|
||||
init : function(){
|
||||
url: './php/?_nonce=' + ed_nonce,
|
||||
container_el: 'body',
|
||||
dreg_area: '#drag_area',
|
||||
dreg_area_list: '#drag_area > ul',
|
||||
progress_bar: '#progress .progress-bar',
|
||||
filter: /^(image\/bmp|image\/gif|image\/jpg|image\/jpeg|image\/png|image\/webp)$/i,
|
||||
files: [],
|
||||
file_limit: 10, //한번에 올릴수 파일갯수 제한
|
||||
imgw: 100,
|
||||
imgh: 70,
|
||||
file_api_support: !!(window.ProgressEvent && window.FileReader),
|
||||
$elTextGuide: $("#guide_text"),
|
||||
init: function () {
|
||||
$(this.dreg_area_list).sortable({
|
||||
'cursor':'pointer',
|
||||
'placeholder':'placeholder'
|
||||
'cursor': 'pointer',
|
||||
'placeholder': 'placeholder'
|
||||
});
|
||||
$(this.dreg_area_list).disableSelection();
|
||||
if( this.file_api_support ) this.$elTextGuide.removeClass("hidebg").addClass("showbg");
|
||||
if (this.file_api_support) this.$elTextGuide.removeClass("hidebg").addClass("showbg");
|
||||
},
|
||||
file_push : function(file){
|
||||
file_push: function (file) {
|
||||
var othis = this,
|
||||
last = othis.files.length;
|
||||
|
||||
othis.files.push(file);
|
||||
},
|
||||
_readymodebg : function(){
|
||||
if( this.file_api_support ) {
|
||||
_readymodebg: function () {
|
||||
if (this.file_api_support) {
|
||||
var sClass = this.$elTextGuide.attr('class');
|
||||
if(sClass.indexOf('hidebg') > 0){
|
||||
if (sClass.indexOf('hidebg') > 0) {
|
||||
this.$elTextGuide.removeClass('hidebg');
|
||||
this.$elTextGuide.addClass('showbg');
|
||||
}
|
||||
}
|
||||
},
|
||||
_startmodebg : function(){
|
||||
if( this.file_api_support ) {
|
||||
_startmodebg: function () {
|
||||
if (this.file_api_support) {
|
||||
var sClass = this.$elTextGuide.attr('class');
|
||||
if(sClass.indexOf('hidebg') < 0){
|
||||
if (sClass.indexOf('hidebg') < 0) {
|
||||
this.$elTextGuide.removeClass('showbg');
|
||||
this.$elTextGuide.addClass('hidebg');
|
||||
}
|
||||
}
|
||||
},
|
||||
_delete : function(e){
|
||||
_delete: function (e) {
|
||||
e.preventDefault();
|
||||
var othis = gnu,
|
||||
$button = $(e.currentTarget),
|
||||
delete_url = $button.attr("data-delete");
|
||||
if( delete_url ){
|
||||
if (delete_url) {
|
||||
$.ajax({
|
||||
url: othis.url+"&del=1&file="+ delete_url
|
||||
url: othis.url + "&del=1&file=" + delete_url
|
||||
}).done(function (result) {
|
||||
});
|
||||
}
|
||||
$button.parents('li.sort_list').fadeOut(300, function(){
|
||||
$button.parents('li.sort_list').fadeOut(300, function () {
|
||||
$(this).remove();
|
||||
var $dreg_area = $(othis.dreg_area_list);
|
||||
$dreg_area.sortable('refresh');
|
||||
if( !$dreg_area.children('li').length ) othis._readymodebg();
|
||||
if (!$dreg_area.children('li').length) othis._readymodebg();
|
||||
});
|
||||
},
|
||||
_add : function(e, data, preload){
|
||||
_add: function (e, data, preload) {
|
||||
var othis = this;
|
||||
othis._startmodebg();
|
||||
data.context = $('<li/>').addClass("sort_list").appendTo(this.dreg_area_list);
|
||||
$.each(data.files, function (index, file) {
|
||||
if ( !preload && !othis.filter.test(file.type)) {
|
||||
if (!preload && !othis.filter.test(file.type)) {
|
||||
var agent = navigator.userAgent.toLowerCase();
|
||||
var msg = '';
|
||||
msg = (agent.indexOf('trident') != -1 || agent.indexOf("msie") != -1)? "익스플로러 환경에서는 gif, png, jpg 파일만 \n전송할 수 있습니다.":"이미지만 허용합니다.";
|
||||
data.context.remove();
|
||||
alert('이미지만 허용합니다.');
|
||||
alert(msg);
|
||||
return true;
|
||||
}
|
||||
var node = $('<div/>')
|
||||
.append($('<span/>').text(file.name))
|
||||
.append($('<span/>').addClass("delete_img").attr({"data-delete":file.name,"data-url":file.url}).html("<img src='./img/system_delete.png' alt='삭제' title='삭제' >")),
|
||||
.append($('<span/>').text(file.name))
|
||||
.append($('<span/>').addClass("delete_img").attr({ "data-delete": file.name, "data-url": file.url }).html("<img src='./img/system_delete.png' alt='삭제' title='삭제' >")),
|
||||
$img = "<img src='./img/loading.gif' class='pre_thumb' />",
|
||||
size_text = '';
|
||||
|
||||
if ( preload && preload != 'swfupload' ){
|
||||
var ret = othis.get_ratio( file.width, file.height ),
|
||||
size_text = file.width+" x "+file.height;
|
||||
$img = "<img src='"+file.url+"' width='"+ret['width']+"' height='"+ret['height']+"' class='pre_thumb' />";
|
||||
|
||||
}
|
||||
if (!index) {
|
||||
node
|
||||
.prepend('<br>')
|
||||
.prepend($img);
|
||||
if(size_text){
|
||||
node.append('<br>')
|
||||
|
||||
if (preload && preload != 'swfupload') {
|
||||
var ret = othis.get_ratio(file.width, file.height),
|
||||
size_text = file.width + " x " + file.height;
|
||||
$img = "<img src='" + file.url + "' width='" + ret['width'] + "' height='" + ret['height'] + "' class='pre_thumb' />";
|
||||
|
||||
}
|
||||
if (!index) {
|
||||
node.prepend('<br>')
|
||||
.prepend($img);
|
||||
if (size_text) {
|
||||
node.append('<br>')
|
||||
.append($('<span/>').text(size_text))
|
||||
}
|
||||
}
|
||||
}
|
||||
node.appendTo(data.context);
|
||||
node.find(".delete_img").on("click", othis._delete);
|
||||
});
|
||||
$(othis.dreg_area_list).sortable('refresh');
|
||||
},
|
||||
get_file_all : function(){
|
||||
get_file_all: function () {
|
||||
var othis = this,
|
||||
oDate = new Date();
|
||||
$.ajax({
|
||||
// Uncomment the following to send cross-domain cookies:
|
||||
//xhrFields: {withCredentials: true},
|
||||
//url: $('#fileupload').fileupload('option', 'url'),
|
||||
url: this.url+"&t="+ oDate.getTime(),
|
||||
url: this.url + "&t=" + oDate.getTime(),
|
||||
dataType: 'json',
|
||||
context: $('#fileupload')[0]
|
||||
}).always(function () {
|
||||
//$(this).removeClass('fileupload-processing');
|
||||
}).done(function (result) {
|
||||
$.each(result.files, function (index, data) {
|
||||
var tmp = { files : [] };
|
||||
var tmp = { files: [] };
|
||||
tmp.files[0] = data;
|
||||
othis._add( $.Event('add'), tmp, 'preload' );
|
||||
othis._add($.Event('add'), tmp, 'preload');
|
||||
});
|
||||
});
|
||||
},
|
||||
_processalways : function(e, data){
|
||||
_processalways: function (e, data) {
|
||||
var index = data.index,
|
||||
file = data.files[index],
|
||||
node = $(data.context.children()[index]);
|
||||
@@ -150,29 +152,29 @@ jQuery(function ($) {
|
||||
.prop('disabled', !!data.files.error);
|
||||
}
|
||||
},
|
||||
obj_to_arr : function(obj){
|
||||
var array = $.map(obj, function(value, index) {
|
||||
obj_to_arr: function (obj) {
|
||||
var array = $.map(obj, function (value, index) {
|
||||
return [value];
|
||||
});
|
||||
return array;
|
||||
},
|
||||
_done : function(e, data){
|
||||
_done: function (e, data) {
|
||||
var othis = this;
|
||||
$.each(data.result.files, function (index, file) {
|
||||
if (file.url && !file.error) {
|
||||
var ret = othis.get_ratio( file.width, file.height ),
|
||||
var ret = othis.get_ratio(file.width, file.height),
|
||||
node = $(data.context.children()[index]),
|
||||
size_text = file.width+" x "+file.height,
|
||||
size_text = file.width + " x " + file.height,
|
||||
//$img = "<img src='"+file.url+"' width='"+ret['width']+"' height='"+ret['height']+"' />",
|
||||
link = $('<a>')
|
||||
.attr('target', '_blank')
|
||||
.prop('href', file.url);
|
||||
node
|
||||
//.wrap(link)
|
||||
.append('<br>')
|
||||
.append($('<span/>').text(size_text))
|
||||
.find("img.pre_thumb").attr({"src":file.url,"width":ret['width'],"height":ret['height']})
|
||||
.end().find(".delete_img").attr({"data-delete":file.name,"data-url":file.url});
|
||||
.attr('target', '_blank')
|
||||
.prop('href', file.url);
|
||||
node
|
||||
//.wrap(link)
|
||||
.append('<br>')
|
||||
.append($('<span/>').text(size_text))
|
||||
.find("img.pre_thumb").attr({ "src": file.url, "width": ret['width'], "height": ret['height'] })
|
||||
.end().find(".delete_img").attr({ "data-delete": file.name, "data-url": file.url });
|
||||
} else if (file.error) {
|
||||
var error = $('<span class="text-danger"/>').text(file.error);
|
||||
$(data.context.children()[index])
|
||||
@@ -182,20 +184,20 @@ jQuery(function ($) {
|
||||
othis.file_push(file);
|
||||
});
|
||||
},
|
||||
get_ratio : function(width, height){
|
||||
get_ratio: function (width, height) {
|
||||
var ratio = 0,
|
||||
ret_img = [];
|
||||
if( !width || !height ){
|
||||
if (!width || !height) {
|
||||
ret_img['width'] = this.imgw;
|
||||
ret_img['height'] = this.imgh;
|
||||
return ret_img;
|
||||
}
|
||||
if(width > this.imgw){
|
||||
if (width > this.imgw) {
|
||||
ratio = this.imgw / width;
|
||||
height = height * ratio;
|
||||
width = this.imgw;
|
||||
}
|
||||
if( height > this.imgh ){
|
||||
if (height > this.imgh) {
|
||||
ratio = this.imgh / height;
|
||||
width = width * ratio;
|
||||
height = this.imgh;
|
||||
@@ -204,7 +206,7 @@ jQuery(function ($) {
|
||||
ret_img['height'] = parseInt(height);
|
||||
return ret_img;
|
||||
},
|
||||
setPhotoToEditor : function(oFileInfo){
|
||||
setPhotoToEditor: function (oFileInfo) {
|
||||
if (!!opener && !!opener.nhn && !!opener.nhn.husky && !!opener.nhn.husky.PopUpManager) {
|
||||
//스마트 에디터 플러그인을 통해서 넣는 방법 (oFileInfo는 Array)
|
||||
opener.nhn.husky.PopUpManager.setCallback(window, 'SET_PHOTO', [oFileInfo]);
|
||||
@@ -221,19 +223,19 @@ jQuery(function ($) {
|
||||
dropZone: $(gnu.dreg_area),
|
||||
autoUpload: true,
|
||||
sequentialUploads: true,
|
||||
acceptFileTypes: /(\.|\/)(gif|jpe?g|bmp|png)$/i,
|
||||
acceptFileTypes: /(\.|\/)(gif|jpe?g|bmp|png|webp)$/i,
|
||||
// Enable image resizing, except for Android and Opera,
|
||||
// which actually support image resizing, but fail to
|
||||
// send Blob objects via XHR requests:
|
||||
disableImageResize: true,
|
||||
limit_filesLength : gnu.file_limit
|
||||
limit_filesLength: gnu.file_limit
|
||||
}).on('fileuploadadd', function (e, data) {
|
||||
gnu._add(e, data);
|
||||
}).on('fileuploadprocessalways', function (e, data) {
|
||||
gnu._processalways(e, data);
|
||||
}).on('fileuploaddone', function (e, data) {
|
||||
|
||||
gnu._done( e, data );
|
||||
gnu._done(e, data);
|
||||
|
||||
}).on('fileuploadfail', function (e, data) {
|
||||
$.each(data.files, function (index, file) {
|
||||
@@ -247,85 +249,84 @@ jQuery(function ($) {
|
||||
|
||||
gnu.init();
|
||||
|
||||
var listeners = {
|
||||
data : {},
|
||||
log : false,
|
||||
swfuploadLoaded: function(event){
|
||||
if(this.log) $('.log', this).append('<li>Loaded</li>');
|
||||
},
|
||||
fileQueued: function(event, file){
|
||||
if(this.log) $('.log', this).append('<li>File queued - '+file.name+'</li>');
|
||||
// start the upload once it is queued
|
||||
// but only if this queue is not disabled
|
||||
if (!$('input[name=disabled]:checked', this).length) {
|
||||
$(this).swfupload('startUpload');
|
||||
}
|
||||
},
|
||||
fileQueueError: function(event, file, errorCode, message){
|
||||
switch (errorCode)
|
||||
{
|
||||
case -100 :
|
||||
alert("파일을 "+message+"개 이하로 선택해주세요.");
|
||||
var listeners = {
|
||||
data: {},
|
||||
log: false,
|
||||
swfuploadLoaded: function (event) {
|
||||
if (this.log) $('.log', this).append('<li>Loaded</li>');
|
||||
},
|
||||
fileQueued: function (event, file) {
|
||||
if (this.log) $('.log', this).append('<li>File queued - ' + file.name + '</li>');
|
||||
// start the upload once it is queued
|
||||
// but only if this queue is not disabled
|
||||
if (!$('input[name=disabled]:checked', this).length) {
|
||||
$(this).swfupload('startUpload');
|
||||
}
|
||||
},
|
||||
fileQueueError: function (event, file, errorCode, message) {
|
||||
switch (errorCode) {
|
||||
case -100:
|
||||
alert("파일을 " + message + "개 이하로 선택해주세요.");
|
||||
break;
|
||||
}
|
||||
if(this.log) $('.log', this).append('<li>File queue error - '+message+'</li>');
|
||||
},
|
||||
fileDialogStart: function(event){
|
||||
if(this.log) $('.log', this).append('<li>File dialog start</li>');
|
||||
},
|
||||
fileDialogComplete: function(event, numFilesSelected, numFilesQueued){
|
||||
if(this.log) $('.log', this).append('<li>File dialog complete</li>');
|
||||
},
|
||||
uploadStart: function(event, file){
|
||||
if (this.log) $('.log', this).append('<li>File queue error - ' + message + '</li>');
|
||||
},
|
||||
fileDialogStart: function (event) {
|
||||
if (this.log) $('.log', this).append('<li>File dialog start</li>');
|
||||
},
|
||||
fileDialogComplete: function (event, numFilesSelected, numFilesQueued) {
|
||||
if (this.log) $('.log', this).append('<li>File dialog complete</li>');
|
||||
},
|
||||
uploadStart: function (event, file) {
|
||||
listeners.data.files = $.makeArray(file);
|
||||
gnu._add( event, listeners.data, 'swfupload' );
|
||||
if(this.log) $('.log', this).append('<li>Upload start - '+file.name+'</li>');
|
||||
},
|
||||
uploadProgress: function(event, file, bytesLoaded){
|
||||
if(this.log) $('.log', this).append('<li>Upload progress - '+bytesLoaded+'</li>');
|
||||
},
|
||||
uploadSuccess: function(event, file, serverData){
|
||||
listeners.data.result = jQuery.parseJSON( serverData );
|
||||
gnu._done( event, listeners.data );
|
||||
if(this.log) $('.log', this).append('<li>Upload success - '+file.name+'</li>');
|
||||
gnu._add(event, listeners.data, 'swfupload');
|
||||
if (this.log) $('.log', this).append('<li>Upload start - ' + file.name + '</li>');
|
||||
},
|
||||
uploadProgress: function (event, file, bytesLoaded) {
|
||||
if (this.log) $('.log', this).append('<li>Upload progress - ' + bytesLoaded + '</li>');
|
||||
},
|
||||
uploadSuccess: function (event, file, serverData) {
|
||||
listeners.data.result = jQuery.parseJSON(serverData);
|
||||
gnu._done(event, listeners.data);
|
||||
if (this.log) $('.log', this).append('<li>Upload success - ' + file.name + '</li>');
|
||||
|
||||
},
|
||||
uploadComplete: function(event, file){
|
||||
if(this.log) $('.log', this).append('<li>Upload complete - '+file.name+'</li>');
|
||||
// upload has completed, lets try the next one in the queue
|
||||
// but only if this queue is not disabled
|
||||
if (!$('input[name=disabled]:checked', this).length) {
|
||||
$(this).swfupload('startUpload');
|
||||
}
|
||||
},
|
||||
uploadError: function(event, file, errorCode, message){
|
||||
if(this.log) $('.log', this).append('<li>Upload error - '+message+'</li>');
|
||||
}
|
||||
};
|
||||
},
|
||||
uploadComplete: function (event, file) {
|
||||
if (this.log) $('.log', this).append('<li>Upload complete - ' + file.name + '</li>');
|
||||
// upload has completed, lets try the next one in the queue
|
||||
// but only if this queue is not disabled
|
||||
if (!$('input[name=disabled]:checked', this).length) {
|
||||
$(this).swfupload('startUpload');
|
||||
}
|
||||
},
|
||||
uploadError: function (event, file, errorCode, message) {
|
||||
if (this.log) $('.log', this).append('<li>Upload error - ' + message + '</li>');
|
||||
}
|
||||
};
|
||||
|
||||
$(gnu.container_el).bindAll(listeners);
|
||||
$(gnu.container_el).bindAll(listeners);
|
||||
/* listeners이벤트 */
|
||||
|
||||
$(gnu.dreg_area).bind('drop dragover', function (e) {
|
||||
e.preventDefault();
|
||||
if( !gnu.file_api_support && e.type == 'drop' ) alert("브라우저가 드래그 앤 드랍을 지원하지 않습니다.");
|
||||
if (!gnu.file_api_support && e.type == 'drop') alert("브라우저가 드래그 앤 드랍을 지원하지 않습니다.");
|
||||
});
|
||||
$("#all_remove_btn").bind("click", function(e){
|
||||
$("#all_remove_btn").bind("click", function (e) {
|
||||
e.preventDefault();
|
||||
if( $(gnu.dreg_area_list).children().length ){
|
||||
if (confirm("추가한 이미지가 있습니다.정말 삭제 하시겠습니까?")){
|
||||
$(gnu.dreg_area_list).find(".delete_img").each( function(i){
|
||||
if ($(gnu.dreg_area_list).children().length) {
|
||||
if (confirm("추가한 이미지가 있습니다.정말 삭제 하시겠습니까?")) {
|
||||
$(gnu.dreg_area_list).find(".delete_img").each(function (i) {
|
||||
$(this).trigger("click");
|
||||
});
|
||||
$(gnu.dreg_area_list).sortable('refresh');
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#img_upload_submit").bind("click", function(e){
|
||||
$("#img_upload_submit").bind("click", function (e) {
|
||||
e.preventDefault();
|
||||
var aResult = [], j = 0;
|
||||
$(gnu.dreg_area_list).find(".delete_img").each( function(i, f){
|
||||
if( !$(this).attr("data-url") ) return true;
|
||||
var aResult = [], j = 0;
|
||||
$(gnu.dreg_area_list).find(".delete_img").each(function (i, f) {
|
||||
if (!$(this).attr("data-url")) return true;
|
||||
aResult[j] = [];
|
||||
aResult[j]['bNewLine'] = 'true';
|
||||
aResult[j]['sAlign'] = '';
|
||||
@@ -333,13 +334,13 @@ jQuery(function ($) {
|
||||
aResult[j]['sFileURL'] = $(this).attr("data-url");
|
||||
j++;
|
||||
});
|
||||
if( aResult.length ){
|
||||
if (aResult.length) {
|
||||
gnu.setPhotoToEditor(aResult);
|
||||
aResult = null;
|
||||
}
|
||||
window.close();
|
||||
});
|
||||
$("#close_w_btn").bind("click", function(e){
|
||||
$("#close_w_btn").bind("click", function (e) {
|
||||
e.preventDefault();
|
||||
window.close();
|
||||
});
|
||||
|
||||
@@ -1283,8 +1283,8 @@
|
||||
file_size_limit : "10 MB",
|
||||
file_upload_limit: 0,
|
||||
file_queue_limit : this.options.limit_filesLength,
|
||||
file_types : "*.jpeg; *.bmp; *.png; *.jpg; *.gif",
|
||||
file_types_description : "Image Files (JPG, JPEG, PNG, BMP, GIF)",
|
||||
file_types : "*.jpeg; *.bmp; *.png; *.jpg; *.gif; *.webp",
|
||||
file_types_description : "Image Files (JPG, JPEG, PNG, BMP, GIF, WEBP)",
|
||||
flash_url : "./swfupload/swfupload.swf",
|
||||
button_placeholder : this.options.fileInput[0],
|
||||
button_width : "100%",
|
||||
|
||||
@@ -26,6 +26,7 @@ class UploadHandler
|
||||
"image/jpg" => array("imagecreatefromjpeg", "imagejpeg"),
|
||||
"image/jpeg" => array("imagecreatefromjpeg", "imagejpeg"),
|
||||
"image/png" => array("imagecreatefrompng", "imagepng"),
|
||||
"image/webp" => array("imagecreatefromwebp", "imagewebp"),
|
||||
"image/bmp" => array("imagecreatefromwbmp", "imagewbmp")
|
||||
);
|
||||
|
||||
@@ -93,10 +94,10 @@ class UploadHandler
|
||||
// is enabled, set to 0 to disable chunked reading of files:
|
||||
'readfile_chunk_size' => 10 * 1024 * 1024, // 10 MiB
|
||||
// Defines which files can be displayed inline when downloaded:
|
||||
'inline_file_types' => '/\.(gif|jpe?g|bmp|png)$/i',
|
||||
'inline_file_types' => '/\.(gif|jpe?g|bmp|png|webp)$/i',
|
||||
// Defines which files (based on their names) are accepted for upload:
|
||||
//'accept_file_types' => '/.+$/i',
|
||||
'accept_file_types' => '/\.(gif|jpe?g|bmp|png)$/i',
|
||||
'accept_file_types' => '/\.(gif|jpe?g|bmp|png|webp)$/i',
|
||||
// The php.ini settings upload_max_filesize and post_max_size
|
||||
// take precedence over the following max_file_size setting:
|
||||
'max_file_size' => null,
|
||||
@@ -104,7 +105,7 @@ class UploadHandler
|
||||
// The maximum number of files for the upload directory:
|
||||
'max_number_of_files' => null,
|
||||
// Defines which files are handled as image files:
|
||||
'image_file_types' => '/\.(gif|jpe?g|bmp|png)$/i',
|
||||
'image_file_types' => '/\.(gif|jpe?g|bmp|png|webp)$/i',
|
||||
'is_resize' => (defined('SMARTEDITOR_UPLOAD_RESIZE') && SMARTEDITOR_UPLOAD_RESIZE) ? true : false,
|
||||
'resize_max_width' => (defined('SMARTEDITOR_UPLOAD_MAX_WIDTH') && SMARTEDITOR_UPLOAD_MAX_WIDTH) ? SMARTEDITOR_UPLOAD_MAX_WIDTH : 800,
|
||||
'resize_max_height' => (defined('SMARTEDITOR_UPLOAD_MAX_HEIGHT') && SMARTEDITOR_UPLOAD_MAX_HEIGHT) ? SMARTEDITOR_UPLOAD_MAX_HEIGHT : 800,
|
||||
@@ -498,7 +499,7 @@ class UploadHandler
|
||||
}
|
||||
// Add missing file extension for known image types:
|
||||
if (strpos($name, '.') === false &&
|
||||
preg_match('/^image\/(gif|jpe?g|png)/', $type, $matches)) {
|
||||
preg_match('/^image\/(gif|jpe?g|png|webp)/', $type, $matches)) {
|
||||
$name .= '.'.$matches[1];
|
||||
}
|
||||
if (function_exists('exif_imagetype') && $file_path) {
|
||||
@@ -512,6 +513,9 @@ class UploadHandler
|
||||
case IMAGETYPE_GIF:
|
||||
$extensions = array('gif');
|
||||
break;
|
||||
case IMAGETYPE_WEBP:
|
||||
$extensions = array('webp');
|
||||
break;
|
||||
}
|
||||
// Adjust incorrect image file extensions:
|
||||
if (!empty($extensions)) {
|
||||
@@ -688,7 +692,7 @@ class UploadHandler
|
||||
$src_func = 'imagecreatefromjpeg';
|
||||
$write_func = 'imagejpeg';
|
||||
$image_quality = isset($options['jpeg_quality']) ?
|
||||
$options['jpeg_quality'] : 75;
|
||||
$options['jpeg_quality'] : 75;
|
||||
break;
|
||||
case 'gif':
|
||||
$src_func = 'imagecreatefromgif';
|
||||
@@ -699,7 +703,12 @@ class UploadHandler
|
||||
$src_func = 'imagecreatefrompng';
|
||||
$write_func = 'imagepng';
|
||||
$image_quality = isset($options['png_quality']) ?
|
||||
$options['png_quality'] : 9;
|
||||
$options['png_quality'] : 9;
|
||||
break;
|
||||
case 'webp':
|
||||
$src_func = 'imagecreatefromwebp';
|
||||
$write_func = 'imagewebp';
|
||||
$image_quality = null;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@@ -1083,11 +1092,16 @@ class UploadHandler
|
||||
//throw new Exception("Invalid image MIME type");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$image_from_file = self::$MIME_TYPES_PROCESSORS[$mime_type][0];
|
||||
$image_to_file = self::$MIME_TYPES_PROCESSORS[$mime_type][1];
|
||||
|
||||
// webp 의 경우 gd-webp cannot allocate temporary buffer 오류가 발생하여 webp 이미지가 업로드 되지 않을 수 있음
|
||||
// $reprocessed_image = imagecreatefromwebp($file_path); 이 코드로 웹서버의 error_log 에서 확인해 볼 수 있음
|
||||
// https://stackoverflow.com/questions/61394477/php-e-error-gd-webp-cannot-allocate-temporary-buffer
|
||||
// 움직이는 webp 이미지나 큰사이즈의 webp 이미지에 대한 해결 방안은 아직 없는 것 같다
|
||||
$reprocessed_image = @$image_from_file($file_path);
|
||||
// error_log("\$image_from_file = '$image_from_file', \$image_to_file = '$image_to_file', \$reprocessed_image = '$reprocessed_image', \$file_path ='$file_path' ");
|
||||
|
||||
if (!$reprocessed_image) {
|
||||
//throw new Exception("Unable to create reprocessed image from file");
|
||||
@@ -1288,6 +1302,8 @@ class UploadHandler
|
||||
return 'image/png';
|
||||
case 'gif':
|
||||
return 'image/gif';
|
||||
case 'webp':
|
||||
return 'image/webp';
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
|
||||
@@ -287,7 +287,7 @@ function preview(thumb) {
|
||||
var thumb = file.bf_file;
|
||||
}
|
||||
|
||||
var pattern = /\.(jpg|png|gif)$/i;
|
||||
var pattern = /\.(jpg|png|gif|webp)$/i;
|
||||
if (pattern.test(thumb)) {
|
||||
var thumb_kind = "img";
|
||||
} else {
|
||||
@@ -321,7 +321,7 @@ function file_to_editor() {
|
||||
var file = get_file_info(files_list.options[i].value);
|
||||
var path = board_file_path + '/' + file.bf_file;
|
||||
|
||||
var pattern = /\.(jpg|png|gif)$/i;
|
||||
var pattern = /\.(jpg|png|gif|webp)$/i;
|
||||
if (pattern.test(file.bf_file)) {
|
||||
if (wr_id) {
|
||||
html = "{이미지:" + file.bf_no + "}";
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
<?php
|
||||
define('G5_CERT_IN_PROG', true);
|
||||
include_once('../../common.php');
|
||||
@@ -0,0 +1,219 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
include_once(G5_KCPCERT_PATH.'/kcpcert_config.php');
|
||||
|
||||
$site_cd = "";
|
||||
$ordr_idxx = "";
|
||||
|
||||
$cert_no = "";
|
||||
$cert_enc_use = "";
|
||||
$enc_info = "";
|
||||
$enc_data = "";
|
||||
$req_tx = "";
|
||||
|
||||
$enc_cert_data = "";
|
||||
$cert_info = "";
|
||||
|
||||
$tran_cd = "";
|
||||
$res_cd = "";
|
||||
$res_msg = "";
|
||||
|
||||
$dn_hash = "";
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
/* :: 전체 파라미터 남기기 */
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
// request 로 넘어온 값 처리
|
||||
$key = array_keys($_POST);
|
||||
$sbParam ="";
|
||||
|
||||
for($i=0; $i<count($key); $i++)
|
||||
{
|
||||
$nmParam = $key[$i];
|
||||
$valParam = $_POST[$nmParam];
|
||||
|
||||
if ( $nmParam == "site_cd" )
|
||||
{
|
||||
$site_cd = f_get_parm_str ( $valParam );
|
||||
}
|
||||
|
||||
if ( $nmParam == "ordr_idxx" )
|
||||
{
|
||||
$ordr_idxx = f_get_parm_str ( $valParam );
|
||||
}
|
||||
|
||||
if ( $nmParam == "res_cd" )
|
||||
{
|
||||
$res_cd = f_get_parm_str ( $valParam );
|
||||
}
|
||||
|
||||
if ( $nmParam == "cert_enc_use" )
|
||||
{
|
||||
$cert_enc_use = f_get_parm_str ( $valParam );
|
||||
}
|
||||
|
||||
if ( $nmParam == "req_tx" )
|
||||
{
|
||||
$req_tx = f_get_parm_str ( $valParam );
|
||||
}
|
||||
|
||||
if ( $nmParam == "cert_no" )
|
||||
{
|
||||
$cert_no = f_get_parm_str ( $valParam );
|
||||
}
|
||||
|
||||
if ( $nmParam == "enc_cert_data" )
|
||||
{
|
||||
$enc_cert_data = f_get_parm_str ( $valParam );
|
||||
}
|
||||
|
||||
if ( $nmParam == "dn_hash" )
|
||||
{
|
||||
$dn_hash = f_get_parm_str ( $valParam );
|
||||
}
|
||||
|
||||
// 부모창으로 넘기는 form 데이터 생성 필드
|
||||
$sbParam .= "<input type='hidden' name='" . $nmParam . "' value='" . f_get_parm_str( $valParam ) . "'/>";
|
||||
}
|
||||
|
||||
$ct_cert = new C_CT_CLI;
|
||||
$ct_cert->mf_clear();
|
||||
|
||||
|
||||
$g5['title'] = '휴대폰인증 결과';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
// 결과 처리
|
||||
|
||||
if( $cert_enc_use == "Y" )
|
||||
{
|
||||
// 인증내역기록
|
||||
@insert_cert_history($member['mb_id'], 'kcp', 'hp');
|
||||
|
||||
if( $res_cd == "0000" )
|
||||
{
|
||||
// dn_hash 검증
|
||||
// KCP 가 리턴해 드리는 dn_hash 와 사이트 코드, 주문번호 , 인증번호를 검증하여
|
||||
// 해당 데이터의 위변조를 방지합니다
|
||||
$veri_str = $site_cd.$ordr_idxx.$cert_no; // 사이트 코드 + 주문번호 + 인증거래번호
|
||||
|
||||
if ( $ct_cert->check_valid_hash ( $home_dir , $dn_hash , $veri_str ) != "1" )
|
||||
{
|
||||
if(strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
|
||||
// 검증 실패시 처리 영역
|
||||
if(PHP_INT_MAX == 2147483647) // 32-bit
|
||||
$bin_exe = '/bin/ct_cli';
|
||||
else
|
||||
$bin_exe = '/bin/ct_cli_x64';
|
||||
} else {
|
||||
$bin_exe = '/bin/ct_cli_exe.exe';
|
||||
}
|
||||
|
||||
echo "dn_hash 변조 위험있음 (".G5_KCPCERT_PATH.$bin_exe." 파일에 실행권한이 있는지 확인하세요.)";
|
||||
exit;
|
||||
// 오류 처리 ( dn_hash 변조 위험있음)
|
||||
}
|
||||
|
||||
// 가맹점 DB 처리 페이지 영역
|
||||
|
||||
// 인증데이터 복호화 함수
|
||||
// 해당 함수는 암호화된 enc_cert_data 를
|
||||
// site_cd 와 cert_no 를 가지고 복화화 하는 함수 입니다.
|
||||
// 정상적으로 복호화 된경우에만 인증데이터를 가져올수 있습니다.
|
||||
$opt = "1" ; // 복호화 인코딩 옵션 ( UTF - 8 사용시 "1" )
|
||||
$ct_cert->decrypt_enc_cert( $home_dir , $site_cd , $cert_no , $enc_cert_data , $opt );
|
||||
|
||||
$comm_id = $ct_cert->mf_get_key_value("comm_id" ); // 이동통신사 코드
|
||||
$phone_no = $ct_cert->mf_get_key_value("phone_no" ); // 전화번호
|
||||
$user_name = $ct_cert->mf_get_key_value("user_name" ); // 이름
|
||||
$birth_day = $ct_cert->mf_get_key_value("birth_day" ); // 생년월일
|
||||
$sex_code = $ct_cert->mf_get_key_value("sex_code" ); // 성별코드
|
||||
$local_code = $ct_cert->mf_get_key_value("local_code" ); // 내/외국인 정보
|
||||
$ci = $ct_cert->mf_get_key_value("ci" ); // CI
|
||||
$di = $ct_cert->mf_get_key_value("di" ); // DI 중복가입 확인값
|
||||
$ci_url = urldecode( $ct_cert->mf_get_key_value("ci" ) ); // CI
|
||||
$di_url = urldecode( $ct_cert->mf_get_key_value("di" ) ); // DI 중복가입 확인값
|
||||
$dec_res_cd = $ct_cert->mf_get_key_value("res_cd" ); // 암호화된 결과코드
|
||||
$dec_mes_msg = $ct_cert->mf_get_key_value("res_msg" ); // 암호화된 결과메시지
|
||||
|
||||
if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' && function_exists('mb_detect_encoding') ){
|
||||
if( mb_detect_encoding($user_name, 'EUC-KR') === 'EUC-KR' ){
|
||||
$user_name = iconv_utf8($user_name);
|
||||
$dec_mes_msg = iconv_utf8($dec_mes_msg);
|
||||
}
|
||||
}
|
||||
|
||||
// 정상인증인지 체크
|
||||
if(!$phone_no)
|
||||
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
|
||||
|
||||
$phone_no = hyphen_hp_number($phone_no);
|
||||
$mb_dupinfo = $di;
|
||||
$md5_ci = md5($ci.$ci);
|
||||
|
||||
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$md5_ci}'"); // ci데이터로 찾음
|
||||
if (empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
|
||||
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}'"); // di데이터로 찾음
|
||||
if (empty($row['mb_id'])) { // di로 등록된 계정도 없다면
|
||||
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if( $res_cd != "0000" )
|
||||
{
|
||||
// 인증실패
|
||||
alert_close('코드 : '.$_POST['res_cd'].' '.urldecode($_POST['res_msg']));
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else if( $cert_enc_use != "Y" )
|
||||
{
|
||||
// 암호화 인증 안함
|
||||
if( G5_IS_MOBILE ){
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'window.parent.$("#cert_info").css("display", "");'.PHP_EOL;
|
||||
echo 'window.parent.$("#kcp_cert" ).css("display", "none");'.PHP_EOL;
|
||||
echo '</script>'.PHP_EOL;
|
||||
} else {
|
||||
alert_close("휴대폰 본인확인을 취소 하셨습니다.");
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
$ct_cert->mf_clear();
|
||||
?>
|
||||
<form name="mbFindForm" method="POST">
|
||||
<input type="hidden" name="mb_id" value="<?php echo $row["mb_id"]; ?>">
|
||||
<?php echo $sbParam; ?>
|
||||
</form>
|
||||
<script>
|
||||
jQuery(function($) {
|
||||
|
||||
var $opener = window.opener;
|
||||
var is_mobile = false;
|
||||
$opener.name="parentPage";
|
||||
|
||||
if (typeof g5_is_mobile != "undefined" && g5_is_mobile ) {
|
||||
$opener = window.parent;
|
||||
is_mobile = true;
|
||||
} else {
|
||||
$opener = window.opener;
|
||||
}
|
||||
|
||||
// up_hash 검증
|
||||
if( document.mbFindForm.up_hash.value != $opener.$("input[name=veri_up_hash]").val() ) {
|
||||
alert("up_hash 변조 위험있음");
|
||||
}
|
||||
|
||||
document.mbFindForm.target = "parentPage";
|
||||
document.mbFindForm.action = "<?php echo G5_BBS_URL.'/password_reset.php'?>";
|
||||
document.mbFindForm.submit();
|
||||
|
||||
alert("본인인증이 완료되었습니다.");
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
@@ -6,6 +6,17 @@ certify_count_check($member['mb_id'], 'hp');
|
||||
|
||||
setlocale(LC_CTYPE, 'ko_KR.euc-kr');
|
||||
|
||||
switch($_GET['pageType']){ // 페이지 타입 체크
|
||||
case "register":
|
||||
$resultPage = "/kcpcert_result.php";
|
||||
break;
|
||||
case "find":
|
||||
$resultPage = "/find_kcpcert_result.php";
|
||||
break;
|
||||
default:
|
||||
alert_close('잘못된 접근입니다.');
|
||||
}
|
||||
|
||||
// kcp 휴대폰인증파일
|
||||
include_once(G5_KCPCERT_PATH.'/kcpcert_config.php');
|
||||
|
||||
@@ -69,7 +80,7 @@ $ct_cert->mf_clear();
|
||||
<!-- 사이트코드 -->
|
||||
<input type="hidden" name="site_cd" value="<?php echo $site_cd; ?>" />
|
||||
<!-- Ret_URL : 인증결과 리턴 페이지 ( 가맹점 URL 로 설정해 주셔야 합니다. ) -->
|
||||
<input type="hidden" name="Ret_URL" value="<?php echo G5_KCPCERT_URL; ?>/kcpcert_result.php" />
|
||||
<input type="hidden" name="Ret_URL" value="<?php echo G5_KCPCERT_URL.$resultPage; ?>" />
|
||||
<!-- cert_otp_use 필수 ( 메뉴얼 참고)
|
||||
Y : 실명 확인 + OTP 점유 확인 , N : 실명 확인 only
|
||||
-->
|
||||
@@ -108,7 +119,7 @@ function cert_page()
|
||||
|
||||
if ( ( frm.req_tx.value == "auth" || frm.req_tx.value == "otp_auth" ) )
|
||||
{
|
||||
frm.action="./kcpcert_result.php";
|
||||
frm.action=".<?php echo $resultPage; ?>";
|
||||
|
||||
// MOBILE
|
||||
if( ( navigator.userAgent.indexOf("Android") > - 1 || navigator.userAgent.indexOf("iPhone") > - 1 ) )
|
||||
|
||||
@@ -149,11 +149,11 @@ if( $cert_enc_use == "Y" )
|
||||
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
|
||||
|
||||
$phone_no = hyphen_hp_number($phone_no);
|
||||
$mb_dupinfo = $di;
|
||||
$mb_dupinfo = md5($ci.$ci);
|
||||
|
||||
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['mb_id']) {
|
||||
if (!empty($row['mb_id'])) {
|
||||
alert_close("입력하신 본인확인 정보로 가입된 내역이 존재합니다.\\n회원아이디 : ".$row['mb_id']);
|
||||
}
|
||||
|
||||
@@ -232,6 +232,10 @@ $(function() {
|
||||
|
||||
alert("본인의 휴대폰번호로 확인 되었습니다.");
|
||||
|
||||
if($opener.$("form[name=register_cert_reset]") != undefined){
|
||||
$opener.$("form[name=register_cert_reset]").submit();
|
||||
}
|
||||
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
define('G5_CERT_IN_PROG', true);
|
||||
include_once('../../common.php');
|
||||
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
$txId = $_POST['txId'];
|
||||
$mid = substr($txId, 6, 10);
|
||||
|
||||
if ($_POST["resultCode"] === "0000") {
|
||||
|
||||
$data = array(
|
||||
'mid' => $mid,
|
||||
'txId' => $txId
|
||||
);
|
||||
|
||||
$post_data = json_encode($data);
|
||||
|
||||
// curl 통신 시작
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $_POST["authRequestUrl"]);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
$res_data = json_decode($response, true);
|
||||
|
||||
if($res_data['resultCode'] === "0000") {
|
||||
|
||||
@insert_cert_history('@password_lost@', 'kg', 'sa'); // 인증성공 시 내역 기록
|
||||
|
||||
$cert_type = 'sa'; // 인증타입
|
||||
$cert_no = $res_data['txId']; // 이니시스 트랜잭션 ID
|
||||
$phone_no = $res_data['userPhone']; // 전화번호
|
||||
$user_name = $res_data['userName']; // 이름
|
||||
$birth_day = $res_data['userBirthday']; // 생년월일
|
||||
$ci = $res_data['userCi']; // CI
|
||||
|
||||
if(!$phone_no)
|
||||
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
|
||||
|
||||
$md5_ci = md5($ci . $ci);
|
||||
$phone_no = hyphen_hp_number($phone_no);
|
||||
$mb_dupinfo = $md5_ci;
|
||||
|
||||
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}'"); // ci데이터로 찾음
|
||||
if(empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
|
||||
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
// 인증실패 curl의 인증실패 체크
|
||||
alert_close('코드 : '.$res_data['resultCode'].' '.urldecode($res_data['resultMsg']));
|
||||
exit;
|
||||
}
|
||||
} else { // resultCode===0000 아닐경우 아래 인증 실패를 출력함
|
||||
// 인증실패
|
||||
alert_close('코드 : '.$_POST['resultCode'].' '.urldecode($_POST['resultMsg']));
|
||||
exit;
|
||||
}
|
||||
|
||||
$g5['title'] = 'KG이니시스 통합인증 결과';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
?>
|
||||
<form name="mbFindForm" method="POST">
|
||||
<input type="hidden" name="mb_id" value="<?php echo $row["mb_id"]; ?>">
|
||||
</form>
|
||||
<script>
|
||||
jQuery(function($) {
|
||||
|
||||
var $opener = window.opener;
|
||||
var is_mobile = false;
|
||||
$opener.name="parentPage";
|
||||
|
||||
if (typeof g5_is_mobile != "undefined" && g5_is_mobile ) {
|
||||
$opener = window.parent;
|
||||
is_mobile = true;
|
||||
} else {
|
||||
$opener = window.opener;
|
||||
}
|
||||
|
||||
document.mbFindForm.target = "parentPage";
|
||||
document.mbFindForm.action = "<?php echo G5_BBS_URL.'/password_reset.php'?>";
|
||||
document.mbFindForm.submit();
|
||||
|
||||
alert("본인인증이 완료되었습니다.");
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
if($_GET['directAgency'] == "KFTC") alert_close("서비스 준비중입니다.");
|
||||
|
||||
$sql = "select MAX(cr_id) as max_cr_id from {$g5['cert_history_table']} limit 1";
|
||||
$res = sql_fetch($sql);
|
||||
$max_cr_id = $res['max_cr_id'];
|
||||
if(empty($max_cr_id)) $max_cr_id = 0;
|
||||
|
||||
if($config['cf_cert_use'] == 2) { // 실서비스 일때
|
||||
$mid = 'SRA'.$config['cf_cert_kg_mid']; // 부여받은 MID(상점ID) 입력(영업담당자 문의)
|
||||
$apiKey = $config['cf_cert_kg_cd']; // 부여받은 MID 에 대한 apiKey
|
||||
$mTxId ='SIR_'.$max_cr_id;
|
||||
certify_count_check($member['mb_id'], 'sa'); // 금일 인증시도 횟수 체크
|
||||
} else { // 테스트 일때
|
||||
$mid = "INIiasTest";
|
||||
$apiKey = "TGdxb2l3enJDWFRTbTgvREU3MGYwUT09";
|
||||
$mTxId ='test_'.$max_cr_id;
|
||||
}
|
||||
$reqSvcCd ='01';
|
||||
|
||||
// 등록가맹점 확인
|
||||
$plainText1 = hash("sha256",(string)$mid.(string)$mTxId.(string)$apiKey);
|
||||
$authHash = $plainText1;
|
||||
|
||||
$flgFixedUser = (!empty($member['mb_id']) && !empty($member['mb_name']) && !empty($member['mb_hp']) && !empty($member['mb_birth']))? 'Y' : 'N'; // 특정사용자 고정시 : Y 세팅및 아래 해시 데이터 생성
|
||||
|
||||
// php8버전 값체크 경고 때문에 필수값이 아닌 값이 없을수 있는 선택값들은 초기화해주어야함
|
||||
$userName = '';
|
||||
$userPhone = '';
|
||||
$userBirth = '';
|
||||
$userHash = '';
|
||||
|
||||
if($flgFixedUser == 'Y') {
|
||||
$userName = $member['mb_name']; // 사용자 이름
|
||||
$userPhone = preg_replace("/-/","" , $member['mb_hp']); // 사용자 전화번호 하이픈만 제거
|
||||
$userBirth = $member['mb_birth']; // 사용자 생년월일
|
||||
|
||||
$plainText2 = hash("sha256",(string)$userName.(string)$mid.(string)$userPhone.(string)$mTxId.(string)$userBirth.(string)$reqSvcCd);
|
||||
$userHash = $plainText2;
|
||||
}
|
||||
|
||||
switch($_GET['pageType']) {
|
||||
case "register":
|
||||
$resultPage = "/kg_result.php";
|
||||
break;
|
||||
case "find":
|
||||
$resultPage = "/kg_find_result.php";
|
||||
break;
|
||||
default:
|
||||
alert_close('잘못된 접근입니다.');
|
||||
}
|
||||
|
||||
$resultUrl = G5_KGCERT_URL . $resultPage;
|
||||
$g5['title'] = 'KG이니시스 통합인증';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
?>
|
||||
<form name="saForm">
|
||||
<input type="hidden" name="mid" value="<?php echo $mid ?>"> <!-- 필수 값 -->
|
||||
<input type="hidden" name="reqSvcCd" value="<?php echo $reqSvcCd ?>"> <!-- 필수 값 -->
|
||||
<input type="hidden" name="mTxId" value="<?php echo $mTxId ?>"> <!-- 필수 값 -->
|
||||
|
||||
<input type="hidden" name="authHash" value="<?php echo $authHash ?>"> <!-- 필수 값 -->
|
||||
<input type="hidden" name="flgFixedUser" value="<?php echo $flgFixedUser ?>"> <!-- 필수 값 Y/N 특정사용자 인증 요청 여부 -->
|
||||
<input type="hidden" name="userName" value="<?php echo $userName ?>">
|
||||
<input type="hidden" name="userPhone" value="<?php echo $userPhone ?>">
|
||||
<input type="hidden" name="userBirth" value="<?php echo $userBirth ?>">
|
||||
<input type="hidden" name="userHash" value="<?php echo $userHash ?>">
|
||||
<input type="hidden" name="mbId" value="<?php echo $member['mb_id'] ?>">
|
||||
<input type="hidden" name="directAgency" value="<?php echo $_GET['directAgency']; ?>">
|
||||
|
||||
<input type="hidden" name="successUrl" value="<?php echo $resultUrl; ?>"> <!-- 필수 값 -->
|
||||
<input type="hidden" name="failUrl" value="<?php echo $resultUrl; ?>"> <!-- 필수 값 -->
|
||||
<!-- successUrl / failUrl 은 분리 하여 이용가능!-->
|
||||
</form>
|
||||
<script>
|
||||
document.saForm.setAttribute("target", "_self");
|
||||
document.saForm.setAttribute("post", "post");
|
||||
document.saForm.setAttribute("action", "https://sa.inicis.com/auth");
|
||||
document.saForm.submit();
|
||||
</script>
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
$txId = $_POST['txId'];
|
||||
$mid = substr($txId, 6, 10);
|
||||
|
||||
if ($_POST["resultCode"] === "0000") {
|
||||
|
||||
$data = array(
|
||||
'mid' => $mid,
|
||||
'txId' => $txId
|
||||
);
|
||||
|
||||
$post_data = json_encode($data);
|
||||
|
||||
// curl 통신 시작
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $_POST["authRequestUrl"]);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
$res_data = json_decode($response, true);
|
||||
// -------------------- 결과 수신 -------------------------------------------
|
||||
// echo '<결과내역>'." '{$mid}' <br/><br/>";
|
||||
// echo $response;
|
||||
|
||||
if($res_data['resultCode'] === "0000") {
|
||||
|
||||
@insert_cert_history($member['mb_id'], 'kg', 'sa'); // 인증성공 시 내역 기록
|
||||
|
||||
$cert_type = 'sa'; // 인증타입
|
||||
$cert_no = $res_data['txId']; // 이니시스 트랜잭션 ID
|
||||
$phone_no = $res_data['userPhone']; // 전화번호
|
||||
$user_name = $res_data['userName']; // 이름
|
||||
$birth_day = $res_data['userBirthday']; // 생년월일
|
||||
$ci = $res_data['userCi']; // CI
|
||||
|
||||
if(!$phone_no)
|
||||
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
|
||||
|
||||
$md5_ci = md5($ci . $ci);
|
||||
$phone_no = hyphen_hp_number($phone_no);
|
||||
$mb_dupinfo = $md5_ci;
|
||||
|
||||
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if (!empty($row['mb_id'])) {
|
||||
alert_close("입력하신 본인확인 정보로 가입된 내역이 존재합니다.\\n회원아이디 : ".$row['mb_id']);
|
||||
}
|
||||
|
||||
// hash 데이터
|
||||
|
||||
$md5_cert_no = md5($cert_no);
|
||||
$hash_data = md5($user_name.$cert_type.$birth_day.$md5_cert_no);
|
||||
|
||||
// 성인인증결과
|
||||
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
|
||||
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
|
||||
|
||||
set_session("ss_cert_type", $cert_type);
|
||||
set_session("ss_cert_no", $md5_cert_no);
|
||||
set_session("ss_cert_hash", $hash_data);
|
||||
set_session("ss_cert_adult", $adult);
|
||||
set_session("ss_cert_birth", $birth_day);
|
||||
//set_session("ss_cert_sex", ($sex_code=="01"?"M":"F")); // 이니시스 통합인증은 성별정보 리턴 없음
|
||||
set_session('ss_cert_dupinfo', $mb_dupinfo);
|
||||
|
||||
} else {
|
||||
// 인증실패 curl의 인증실패 체크
|
||||
alert_close('코드 : '.$res_data['resultCode'].' '.urldecode($res_data['resultMsg']));
|
||||
exit;
|
||||
}
|
||||
} else { // resultCode===0000 아닐경우 아래 인증 실패를 출력함
|
||||
// 인증실패
|
||||
alert_close('코드 : '.$_POST['resultCode'].' '.urldecode($_POST['resultMsg']));
|
||||
exit;
|
||||
}
|
||||
|
||||
$g5['title'] = 'KG이니시스 통합인증 결과';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
?>
|
||||
<script>
|
||||
jQuery(function($) {
|
||||
var $opener = window.opener;
|
||||
if (typeof g5_is_mobile != "undefined" && g5_is_mobile ) {
|
||||
$opener = window.parent;
|
||||
is_mobile = true;
|
||||
} else {
|
||||
$opener = window.opener;
|
||||
}
|
||||
|
||||
// 인증정보
|
||||
$opener.$("input[name=cert_type]").val("<?php echo $cert_type; ?>");
|
||||
$opener.$("input[name=mb_name]").val("<?php echo $user_name; ?>").attr("readonly", true);
|
||||
$opener.$("input[name=mb_hp]").val("<?php echo $phone_no; ?>").attr("readonly", true);
|
||||
$opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");
|
||||
|
||||
alert("본인인증이 완료되었습니다.");
|
||||
|
||||
if($opener.$("form[name=register_cert_reset]") != undefined){
|
||||
$opener.$("form[name=register_cert_reset]").submit();
|
||||
}
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
@@ -4,6 +4,17 @@ include_once('./_common.php');
|
||||
// 금일 인증시도 회수 체크
|
||||
certify_count_check($member['mb_id'], 'hp');
|
||||
|
||||
switch($_GET['pageType']){ // 페이지 타입 체크
|
||||
case "register":
|
||||
$resultPage = "/AuthOnlyRes.php";
|
||||
break;
|
||||
case "find":
|
||||
$resultPage = "/find_AuthOnlyRes.php";
|
||||
break;
|
||||
default:
|
||||
alert_close('잘못된 접근입니다.');
|
||||
}
|
||||
|
||||
/*
|
||||
* [본인확인 요청페이지]
|
||||
*
|
||||
@@ -138,7 +149,7 @@ $_SESSION['lgd_certify'] = $payReqMap;
|
||||
document.getElementById("LGD_PAYTYPE").value = fDoc.document.getElementById('LGD_PAYTYPE').value;
|
||||
|
||||
document.getElementById(lgd_form).target = "_self";
|
||||
document.getElementById("LGD_PAYINFO").action = "AuthOnlyRes.php";
|
||||
document.getElementById("LGD_PAYINFO").action = "<?php echo $resultPage; ?>";
|
||||
document.getElementById(lgd_form).submit();
|
||||
} else {
|
||||
alert("LGD_RESPCODE (결과코드2) : " + fDoc.document.getElementById('LGD_RESPCODE').value + "\n" + "LGD_RESPMSG (결과메시지): " + fDoc.document.getElementById('LGD_RESPMSG').value);
|
||||
@@ -161,7 +172,7 @@ $_SESSION['lgd_certify'] = $payReqMap;
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form method="post" name ="LGD_PAYINFO" id="LGD_PAYINFO" action="<?php echo G5_LGXPAY_URL; ?>/AuthOnlyRes.php">
|
||||
<form method="post" name ="LGD_PAYINFO" id="LGD_PAYINFO" action="<?php echo G5_LGXPAY_URL.$resultPage; ?>">
|
||||
<input type="hidden" name="LGD_ENCODING" value="UTF-8"/>
|
||||
<?php
|
||||
foreach ($payReqMap as $key => $value) {
|
||||
|
||||
@@ -84,6 +84,9 @@ if ($xpay->TX()) {
|
||||
//인증요청 결과 성공 DB처리
|
||||
//echo "인증요청 결과 성공 DB처리하시기 바랍니다.<br>";
|
||||
|
||||
// 인증내역기록 인증 성공 즉시 로그를 남기는것으로 수정 2021-09-13
|
||||
@insert_cert_history($member['mb_id'], 'lg', 'hp');
|
||||
|
||||
$cert_no = $xpay->Response('LGD_TID', 0); // LG 인증처리번호
|
||||
$comm_id = $xpay->Response('LGD_FINANCECODE', 0); // 이동통신사 코드
|
||||
$phone_no = $xpay->Response('LGD_MOBILENUM', 0); // 전화번호
|
||||
@@ -124,7 +127,7 @@ if ($xpay->TX()) {
|
||||
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
|
||||
|
||||
$phone_no = hyphen_hp_number($phone_no);
|
||||
$mb_dupinfo = $di;
|
||||
$mb_dupinfo = md5($ci.$ci);
|
||||
|
||||
if($mb_dupinfo) {
|
||||
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
|
||||
@@ -151,9 +154,6 @@ if ($xpay->TX()) {
|
||||
set_session("ss_cert_sex", $mb_sex);
|
||||
set_session('ss_cert_dupinfo', $mb_dupinfo);
|
||||
|
||||
// 인증내역기록
|
||||
@insert_cert_history($member['mb_id'], 'lg', 'hp');
|
||||
|
||||
} else {
|
||||
//인증요청 결과 실패 DB처리
|
||||
//echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
|
||||
@@ -218,6 +218,11 @@ jQuery(function($) {
|
||||
}
|
||||
|
||||
alert("본인의 휴대폰번호로 확인 되었습니다.");
|
||||
|
||||
if($opener.$("form[name=register_cert_reset]") != undefined){
|
||||
$opener.$("form[name=register_cert_reset]").submit();
|
||||
}
|
||||
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
<?php
|
||||
define('G5_CERT_IN_PROG', true);
|
||||
include_once('../../common.php');
|
||||
@@ -0,0 +1,205 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
$_POST = array_map_deep('conv_unescape_nl', $_POST);
|
||||
|
||||
/*
|
||||
* [본인확인 처리 페이지]
|
||||
*
|
||||
* LG유플러스으로 부터 내려받은 LGD_AUTHONLYKEY(인증Key)를 가지고 최종 인증요청.(파라미터 전달시 POST를 사용하세요)
|
||||
*/
|
||||
|
||||
/*
|
||||
*************************************************
|
||||
* 1.최종인증 요청 - BEGIN
|
||||
*************************************************
|
||||
*/
|
||||
|
||||
//LG유플러스 결제 서비스 선택(test:테스트, service:서비스)
|
||||
if($config['cf_cert_use'] == 2)
|
||||
$CST_PLATFORM = 'service';
|
||||
else
|
||||
$CST_PLATFORM = 'test';
|
||||
$CST_MID = 'si_'.$config['cf_lg_mid']; //상점아이디(LG유플러스으로 부터 발급받으신 상점아이디를 입력하세요)
|
||||
//테스트 아이디는 't'를 반드시 제외하고 입력하세요.
|
||||
$LGD_MID = (('test' == $CST_PLATFORM) ? 't' : '').$CST_MID; //상점아이디(자동생성)
|
||||
$LGD_AUTHONLYKEY = $_POST['LGD_AUTHONLYKEY']; //LG유플러스으로부터 부여받은 인증키
|
||||
$LGD_PAYTYPE = $_POST['LGD_PAYTYPE']; //인증요청타입 (신용카드:ASC001, 휴대폰:ASC002, 계좌:ASC004)
|
||||
|
||||
require_once(G5_LGXPAY_PATH.'/lgdacom/XPayClient.php');
|
||||
|
||||
// mall.conf 설정 추가를 위한 XPayClient 확장
|
||||
class XPay extends XPayClient
|
||||
{
|
||||
public function set_config_value($key, $val)
|
||||
{
|
||||
$this->config[$key] = $val;
|
||||
}
|
||||
}
|
||||
|
||||
$configPath = G5_LGXPAY_PATH.'/lgdacom'; //LG유플러스에서 제공한 환경파일("/conf/lgdacom.conf,/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);
|
||||
$xpay->Set("LGD_TXNAME", "AuthOnlyByKey");
|
||||
$xpay->Set("LGD_AUTHONLYKEY", $LGD_AUTHONLYKEY);
|
||||
$xpay->Set("LGD_PAYTYPE", $LGD_PAYTYPE);
|
||||
|
||||
$g5['title'] = '휴대폰인증 결과';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
/*
|
||||
*************************************************
|
||||
* 1.최종인증 요청(수정하지 마세요) - END
|
||||
*************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
* 2. 최종인증 요청 결과처리
|
||||
*
|
||||
* 최종 인증요청 결과 리턴 파라미터는 연동메뉴얼을 참고하시기 바랍니다.
|
||||
*/
|
||||
if ($xpay->TX()) {
|
||||
//1)인증결과 화면처리(성공,실패 결과 처리를 하시기 바랍니다.)
|
||||
|
||||
/*
|
||||
echo "인증요청이 완료되었습니다. <br>";
|
||||
echo "TX Response_code = " . $xpay->Response_Code() . "<br>";
|
||||
echo "TX Response_msg = " . $xpay->Response_Msg() . "<p>";
|
||||
|
||||
$keys = $xpay->Response_Names();
|
||||
foreach($keys as $name) {
|
||||
echo $name . " = " . $xpay->Response($name, 0) . "<br>";
|
||||
}
|
||||
|
||||
echo "</p>";
|
||||
*/
|
||||
|
||||
if( "0000" == $xpay->Response_Code() ) {
|
||||
//인증요청 결과 성공 DB처리
|
||||
//echo "인증요청 결과 성공 DB처리하시기 바랍니다.<br>";
|
||||
// 인증내역기록 인증 성공하면 로그를 남기는것으로 수정 2021-09-13
|
||||
@insert_cert_history($member['mb_id'], 'lg', 'hp');
|
||||
|
||||
$cert_no = $xpay->Response('LGD_TID', 0); // LG 인증처리번호
|
||||
$comm_id = $xpay->Response('LGD_FINANCECODE', 0); // 이동통신사 코드
|
||||
$phone_no = $xpay->Response('LGD_MOBILENUM', 0); // 전화번호
|
||||
$user_name = $xpay->Response('LGD_MOBILE_SUBAUTH_NAME', 0); // 이름
|
||||
$birth_day = $xpay->Response('LGD_MOBILE_SUBAUTH_BIRTH', 0); // 생년월일
|
||||
$sex_code = $xpay->Response('LGD_MOBILE_SUBAUTH_SEX', 0); // 성별코드
|
||||
$ci = $xpay->Response('LGD_AUTHSUB_CI', 0); // CI
|
||||
$di = $xpay->Response('LGD_AUTHSUB_DI', 0); // DI 중복가입 확인값
|
||||
|
||||
// 내/외국인
|
||||
if($sex_code > 4)
|
||||
$local_code = 2; // 외국인
|
||||
else
|
||||
$local_code = 1; // 내국인
|
||||
|
||||
// 남/여구분
|
||||
if($sex_code % 2 == 0)
|
||||
$mb_sex = 'F';
|
||||
else
|
||||
$mb_sex = 'M';
|
||||
|
||||
// 생년월일
|
||||
if($sex_code < 5) {
|
||||
if($sex_code <= 2)
|
||||
$birth_prefix = '19';
|
||||
else
|
||||
$birth_prefix = '20';
|
||||
} else {
|
||||
if($sex_code <= 6)
|
||||
$birth_prefix = '19';
|
||||
else
|
||||
$birth_prefix = '20';
|
||||
}
|
||||
$birth_day = $birth_prefix.$birth_day;
|
||||
|
||||
// 정상인증인지 체크
|
||||
if(!$phone_no)
|
||||
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
|
||||
|
||||
$phone_no = hyphen_hp_number($phone_no);
|
||||
$mb_dupinfo = $di;
|
||||
$md5_ci = md5($ci.$ci);
|
||||
|
||||
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$md5_ci}'"); // ci데이터로 찾음
|
||||
if (empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
|
||||
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}'"); // di데이터로 찾음
|
||||
if(empty($row['mb_id'])) {
|
||||
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
//인증요청 결과 실패 DB처리
|
||||
//echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
|
||||
|
||||
if( G5_IS_MOBILE ){
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'window.parent.$("#cert_info").css("display", "");'.PHP_EOL;
|
||||
echo 'window.parent.$("#lgu_cert" ).css("display", "none");'.PHP_EOL;
|
||||
echo 'alert("인증요청이 취소 또는 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg().'")';
|
||||
echo '</script>'.PHP_EOL;
|
||||
} else {
|
||||
alert_close('인증요청이 취소 또는 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg());
|
||||
}
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
//2)API 요청실패 화면처리
|
||||
/*
|
||||
echo "인증요청이 실패하였습니다. <br>";
|
||||
echo "TX Response_code = " . $xpay->Response_Code() . "<br>";
|
||||
echo "TX Response_msg = " . $xpay->Response_Msg() . "<p>";
|
||||
|
||||
//인증요청 결과 실패 DB처리
|
||||
echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
|
||||
*/
|
||||
|
||||
if( G5_IS_MOBILE ){
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'window.parent.$("#cert_info").css("display", "");'.PHP_EOL;
|
||||
echo 'window.parent.$("#lgu_cert" ).css("display", "none");'.PHP_EOL;
|
||||
echo 'alert("인증요청이 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg().'")';
|
||||
echo '</script>'.PHP_EOL;
|
||||
} else {
|
||||
alert_close('인증요청이 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg());
|
||||
}
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<form name="mbFindForm" method="POST">
|
||||
<input type="hidden" name="mb_id" value="<?php echo $row["mb_id"]; ?>">
|
||||
</form>
|
||||
<script>
|
||||
jQuery(function($) {
|
||||
|
||||
var $opener = window.opener;
|
||||
var is_mobile = false;
|
||||
$opener.name="parentPage";
|
||||
|
||||
if (typeof g5_is_mobile != "undefined" && g5_is_mobile ) {
|
||||
$opener = window.parent;
|
||||
is_mobile = true;
|
||||
} else {
|
||||
$opener = window.opener;
|
||||
}
|
||||
|
||||
document.mbFindForm.target = "parentPage";
|
||||
document.mbFindForm.action = "<?php echo G5_BBS_URL.'/password_reset.php'?>";
|
||||
document.mbFindForm.submit();
|
||||
|
||||
alert("본인인증이 완료되었습니다.");
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
@@ -1,2 +1,3 @@
|
||||
<?php
|
||||
define('G5_CERT_IN_PROG', true);
|
||||
include_once('../../common.php');
|
||||
@@ -0,0 +1,155 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
$check_arrays = array('exe', 'keypath', 'memId', 'endPointURL', 'endPointUrl', 'logPath');
|
||||
|
||||
foreach($check_arrays as $key){
|
||||
if( isset($_REQUEST[$key]) && $_REQUEST[$key] ){
|
||||
die('bad request');
|
||||
}
|
||||
|
||||
$$key = '';
|
||||
}
|
||||
|
||||
// KISA 취약점 내용(KVE-2018-0291) hpcert1.php의 $cmd 함수에 대한 인자 값은 hpcert_config.php 파일에서 설정되나, 이를 다른 페이지에서 포함한 뒤 호출할 시 임의 값 설정 가능
|
||||
// 이에 include_once 를 require 로 수정함
|
||||
require('./hpcert.config.php');
|
||||
/**************************************************************************
|
||||
파일명 : safe_hs_cert3.php
|
||||
|
||||
생년월일 본인 확인서비스 결과 화면(return url)
|
||||
**************************************************************************/
|
||||
|
||||
/* 공통 리턴 항목 */
|
||||
//$idcfMbrComCd = $_REQUEST['idcf_mbr_com_cd']; // 고객사코드
|
||||
$idcfMbrComCd = $memId;
|
||||
$hsCertSvcTxSeqno = isset($_REQUEST['hs_cert_svc_tx_seqno']) ? $_REQUEST['hs_cert_svc_tx_seqno'] : ''; // 거래번호
|
||||
$rqstSiteNm = isset($_REQUEST['rqst_site_nm']) ? $_REQUEST['rqst_site_nm'] : ''; // 접속도메인
|
||||
$hsCertRqstCausCd = isset($_REQUEST['hs_cert_rqst_caus_cd']) ? $_REQUEST['hs_cert_rqst_caus_cd'] : ''; // 인증요청사유코드 2byte (00:회원가입, 01:성인인증, 02:회원정보수정, 03:비밀번호찾기, 04:상품구매, 99:기타)
|
||||
|
||||
$resultCd = isset($_REQUEST['result_cd']) ? $_REQUEST['result_cd'] : ''; // 결과코드
|
||||
$resultMsg = isset($_REQUEST['result_msg']) ? $_REQUEST['result_msg'] : ''; // 결과메세지
|
||||
$certDtTm = isset($_REQUEST['cert_dt_tm']) ? $_REQUEST['cert_dt_tm'] : ''; // 인증일시
|
||||
|
||||
if($resultCd != 'B000') {
|
||||
alert_close('휴대폰 본인확인 중 오류가 발생했습니다. 오류코드 : '.$resultCd.'\\n\\n문의는 코리아크레딧뷰로 고객센터 02-708-1000 로 해주십시오.');
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* 모듈 호출 ; 생년월일 본인 확인서비스 결과 데이터를 복호화한다.
|
||||
**************************************************************************/
|
||||
$encInfo = isset($_REQUEST['encInfo']) ? $_REQUEST['encInfo'] : '';
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $encInfo, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 공개키
|
||||
$WEBPUBKEY = isset($_REQUEST['WEBPUBKEY']) ? trim($_REQUEST['WEBPUBKEY']) : '';
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBPUBKEY, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 서명값
|
||||
$WEBSIGNATURE = isset($_REQUEST['WEBSIGNATURE']) ? trim($_REQUEST['WEBSIGNATURE']) : '';
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBSIGNATURE, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
// ########################################################################
|
||||
// # 암호화키 파일 설정 (절대경로) - 파일은 주어진 파일명으로 자동 생성 됨
|
||||
// ########################################################################
|
||||
$keypath = G5_OKNAME_PATH.'/key/safecert_'.$idcfMbrComCd.'.key';
|
||||
|
||||
$cpubkey = $WEBPUBKEY; //server publickey
|
||||
$csig = $WEBSIGNATURE; //server signature
|
||||
|
||||
// ########################################################################
|
||||
// # 로그 경로 지정 및 권한 부여 (절대경로)
|
||||
// # 옵션값에 'L'을 추가하는 경우에만 로그가 생성됨.
|
||||
// ########################################################################
|
||||
$option = 'SU';
|
||||
|
||||
// 명령어
|
||||
$cmd = "$exe $keypath $idcfMbrComCd $endPointUrl $WEBPUBKEY $WEBSIGNATURE $encInfo $logPath $option";
|
||||
|
||||
// 실행
|
||||
exec($cmd, $out, $ret);
|
||||
|
||||
// 인증내역기록
|
||||
@insert_cert_history($member['mb_id'], 'kcb', 'hp');
|
||||
|
||||
if($ret == 0) {
|
||||
// 결과라인에서 값을 추출
|
||||
foreach($out as $a => $b) {
|
||||
if($a < 17) {
|
||||
$field[$a] = $b;
|
||||
}
|
||||
}
|
||||
$resultCd = $field[0];
|
||||
}
|
||||
else {
|
||||
if($ret <=200)
|
||||
$resultCd=sprintf("B%03d", $ret);
|
||||
else
|
||||
$resultCd=sprintf("S%03d", $ret);
|
||||
}
|
||||
|
||||
/*
|
||||
echo "처리결과코드 :$resultCd <br/>";
|
||||
echo "처리결과메시지 :$field[1] <br/>";
|
||||
echo "거래일련번호 :$field[2] <br/>";
|
||||
echo "인증일시 :$field[3] <br/>";
|
||||
echo "DI :$field[4] <br/>";
|
||||
echo "CI :$field[5] <br/>";
|
||||
echo "성명 :$field[7] <br/>";
|
||||
echo "생년월일 :$field[8] <br/>";
|
||||
echo "성별 :$field[9] <br/>";
|
||||
echo "내외국인구분 :$field[10] <br/>";
|
||||
echo "통신사코드 :$field[11] <br/>";
|
||||
echo "휴대폰번호 :$field[12] <br/>";
|
||||
echo "리턴메시지 :$field[16] <br/>";
|
||||
*/
|
||||
|
||||
// 인증결과처리
|
||||
$mb_name = $field[7];
|
||||
$req_num = $field[12];
|
||||
$mb_birth = $field[8];
|
||||
$mb_dupinfo = $field[4];
|
||||
$ci = $field[5];
|
||||
|
||||
$phone_no = hyphen_hp_number($req_num);
|
||||
$md5_ci = md5($ci.$ci);
|
||||
|
||||
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$md5_ci}'"); // ci데이터로 찾음
|
||||
if (empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
|
||||
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}'"); // di데이터로 찾음
|
||||
if(empty($row['mb_id'])) {
|
||||
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$g5['title'] = 'KCB 휴대폰 본인확인';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
?>
|
||||
<form name="mbFindForm" method="POST">
|
||||
<input type="hidden" name="mb_id" value="<?php echo $row["mb_id"]; ?>">
|
||||
</form>
|
||||
<script>
|
||||
jQuery(function($) {
|
||||
|
||||
var $opener = window.opener;
|
||||
var is_mobile = false;
|
||||
$opener.name="parentPage";
|
||||
|
||||
if (typeof g5_is_mobile != "undefined" && g5_is_mobile ) {
|
||||
$opener = window.parent;
|
||||
is_mobile = true;
|
||||
} else {
|
||||
$opener = window.opener;
|
||||
}
|
||||
|
||||
document.mbFindForm.target = "parentPage";
|
||||
document.mbFindForm.action = "<?php echo G5_BBS_URL.'/password_reset.php'?>";
|
||||
document.mbFindForm.submit();
|
||||
|
||||
alert("본인인증이 완료되었습니다.");
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
@@ -0,0 +1,129 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
$check_arrays = array('exe', 'keypath', 'memid', 'EndPointURL', 'cpubkey', 'csig', 'encdata', 'logpath', 'option');
|
||||
|
||||
foreach($check_arrays as $key){
|
||||
if( isset($_REQUEST[$key]) && $_REQUEST[$key] ){
|
||||
die('bad request');
|
||||
}
|
||||
|
||||
$$key = '';
|
||||
}
|
||||
|
||||
require('./ipin.config.php');
|
||||
|
||||
//아이핀팝업에서 조회한 PERSONALINFO이다.
|
||||
@$encPsnlInfo = isset($_REQUEST["encPsnlInfo"]) ? $_REQUEST["encPsnlInfo"] : '';
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $encPsnlInfo, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 공개키
|
||||
@$WEBPUBKEY = isset($_REQUEST["WEBPUBKEY"]) ? trim($_REQUEST["WEBPUBKEY"]) : '';
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBPUBKEY, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//KCB서버 서명값
|
||||
@$WEBSIGNATURE = isset($_REQUEST["WEBSIGNATURE"]) ? trim($_REQUEST["WEBSIGNATURE"]) : '';
|
||||
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBSIGNATURE, $match)) {echo "입력 값 확인이 필요합니다"; exit;}
|
||||
|
||||
//아이핀 서버와 통신을 위한 키파일 생성
|
||||
// 파라미터 정의
|
||||
$cpubkey = $WEBPUBKEY; //server publickey
|
||||
$csig = $WEBSIGNATURE; //server signature
|
||||
$encdata = $encPsnlInfo; //PERSONALINFO
|
||||
$option = "SU";
|
||||
|
||||
// 명령어
|
||||
$cmd = "$exe $keypath $memid $EndPointURL $cpubkey $csig $encdata $logpath $option";
|
||||
|
||||
// 실행
|
||||
exec($cmd, $out, $ret);
|
||||
|
||||
// 인증내역기록
|
||||
@insert_cert_history($member['mb_id'], 'kcb', 'ipin');
|
||||
|
||||
if($ret != 0) {
|
||||
if($ret <=200)
|
||||
$resultCd=sprintf("B%03d", $ret);
|
||||
else
|
||||
$resultCd=sprintf("S%03d", $ret);
|
||||
|
||||
alert_close('아이핀 본인확인 중 오류가 발생했습니다. 오류코드 : '.$resultCd.'\\n\\n문의는 코리아크레딧뷰로 고객센터 02-708-1000 로 해주십시오.');
|
||||
}
|
||||
|
||||
// 결과라인에서 값을 추출
|
||||
foreach($out as $a => $b) {
|
||||
if($a < 13) {
|
||||
$field[$a] = $b;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
$field_name_IPIN_DEC = array(
|
||||
"dupInfo ", // 0
|
||||
"coinfo1 ", // 1
|
||||
"coinfo2 ", // 2
|
||||
"ciupdate ", // 3
|
||||
"virtualNo ", // 4
|
||||
"cpCode ", // 5
|
||||
"realName ", // 6
|
||||
"cpRequestNumber", // 7
|
||||
"age ", // 8
|
||||
"sex ", // 9
|
||||
"nationalInfo ", // 10
|
||||
"birthDate ", // 11
|
||||
"authInfo ", // 12
|
||||
);
|
||||
*/
|
||||
|
||||
$mb_name = $field[6];
|
||||
$req_num = $field[7];
|
||||
$mb_birth = $field[11];
|
||||
$mb_dupinfo = $field[0];
|
||||
if(!empty($field[1])) { // 아이핀은 리턴받는 ci 데이터가 두가지인걸로 보아 개인별로 받는 곳이 다를 수도 있을것 같아서 추가함 2021-09-13 hjkim7153
|
||||
$ci = $field[1];
|
||||
}else if(!empty($field[2])) {
|
||||
$ci = $field[2];
|
||||
}else{
|
||||
alert_close('아이핀 본인확인 중 오류가 발생했습니다. (ci 정보 없음) 오류코드 : '.$resultCd.'\\n\\n문의는 코리아크레딧뷰로 고객센터 02-708-1000 로 해주십시오.');
|
||||
}
|
||||
$md5_ci = md5($ci.$ci);
|
||||
|
||||
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$md5_ci}'"); // ci데이터로 찾음
|
||||
if (empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
|
||||
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}'"); // di데이터로 찾음
|
||||
if(empty($row['mb_id'])) {
|
||||
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
$g5['title'] = 'KCB 아이핀 본인확인';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
?>
|
||||
|
||||
<form name="mbFindForm" method="POST">
|
||||
<input type="hidden" name="mb_id" value="<?php echo $row["mb_id"]; ?>">
|
||||
</form>
|
||||
<script>
|
||||
jQuery(function($) {
|
||||
|
||||
var $opener = window.opener;
|
||||
var is_mobile = false;
|
||||
$opener.name="parentPage";
|
||||
|
||||
if (typeof g5_is_mobile != "undefined" && g5_is_mobile ) {
|
||||
$opener = window.parent;
|
||||
is_mobile = true;
|
||||
} else {
|
||||
$opener = window.opener;
|
||||
}
|
||||
|
||||
document.mbFindForm.target = "parentPage";
|
||||
document.mbFindForm.action = "<?php echo G5_BBS_URL.'/password_reset.php'?>";
|
||||
document.mbFindForm.submit();
|
||||
|
||||
alert("본인인증이 완료되었습니다.");
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
@@ -80,4 +80,5 @@ if($config['cf_cert_use'] == 2) {
|
||||
// ########################################################################
|
||||
// # 리턴 URL 설정
|
||||
// ########################################################################
|
||||
$returnUrl = escapeshellarg(G5_OKNAME_URL.'/hpcert2.php'); // 본인인증 완료후 리턴될 URL (도메인 포함 full path);
|
||||
if(!empty($resultPage))
|
||||
$returnUrl = escapeshellarg(G5_OKNAME_URL.$resultPage); // 본인인증 완료후 리턴될 URL (도메인 포함 full path);
|
||||
@@ -14,6 +14,16 @@ foreach($check_arrays as $key){
|
||||
// 금일 인증시도 회수 체크
|
||||
certify_count_check($member['mb_id'], 'hp');
|
||||
|
||||
switch($_GET['pageType']){
|
||||
case "register":
|
||||
$resultPage = "/hpcert2.php";
|
||||
break;
|
||||
case "find":
|
||||
$resultPage = "/find_hpcert2.php";
|
||||
break;
|
||||
default:
|
||||
alert_close('잘못된 접근입니다.');
|
||||
}
|
||||
// KISA 취약점 내용(KVE-2018-0291) hpcert1.php의 $cmd 함수에 대한 인자 값은 hpcert_config.php 파일에서 설정되나, 이를 다른 페이지에서 포함한 뒤 호출할 시 임의 값 설정 가능
|
||||
// 이에 include_once 를 require 로 수정함
|
||||
require('./hpcert.config.php');
|
||||
|
||||
@@ -108,13 +108,15 @@ echo "리턴메시지 :$field[16] <br/>";
|
||||
$mb_name = $field[7];
|
||||
$req_num = $field[12];
|
||||
$mb_birth = $field[8];
|
||||
$mb_dupinfo = $field[4];
|
||||
$di = $field[4];
|
||||
$ci = $field[5];
|
||||
$mb_dupinfo = md5($ci.$ci); // 통합인증 추가 후 ci로 변경
|
||||
$phone_no = hyphen_hp_number($req_num);
|
||||
|
||||
// 중복정보 체크
|
||||
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['mb_id']) {
|
||||
if (!empty($row['mb_id'])) {
|
||||
alert_close("입력하신 본인확인 정보로 가입된 내역이 존재합니다.\\n회원아이디 : ".$row['mb_id']);
|
||||
}
|
||||
|
||||
@@ -149,6 +151,11 @@ $(function() {
|
||||
$opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");
|
||||
|
||||
alert("본인의 휴대폰번호로 확인 되었습니다.");
|
||||
|
||||
if($opener.$("form[name=register_cert_reset]") != undefined){
|
||||
$opener.$("form[name=register_cert_reset]").submit();
|
||||
}
|
||||
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -36,7 +36,8 @@ if($config['cf_cert_use'] == 2) {
|
||||
}
|
||||
|
||||
$idpCode = 'V';
|
||||
$returnUrl = G5_OKNAME_URL.'/ipin2.php'; // 아이핀 인증을 마치고 돌아올 페이지 주소
|
||||
if(!empty($resultPage))
|
||||
$returnUrl = G5_OKNAME_URL.$resultPage; // 아이핀 인증을 마치고 돌아올 페이지 주소
|
||||
$keypath = G5_OKNAME_PATH.'/key/okname.key'; // 키파일이 생성될 위치. 웹서버에 해당파일을 생성할 권한 필요.
|
||||
$memid = $cpCode; // 회원사코드
|
||||
$reserved1 = '0'; //reserved1
|
||||
|
||||
@@ -14,6 +14,16 @@ foreach($check_arrays as $key){
|
||||
// 금일 인증시도 회수 체크
|
||||
certify_count_check($member['mb_id'], 'ipin');
|
||||
|
||||
switch($_GET['pageType']){
|
||||
case "register":
|
||||
$resultPage = "/ipin2.php";
|
||||
break;
|
||||
case "find":
|
||||
$resultPage = "/find_ipin2.php";
|
||||
break;
|
||||
default:
|
||||
alert_close('잘못된 접근입니다.');
|
||||
}
|
||||
// KISA 취약점 내용(KVE-2018-0291) hpcert1.php의 $cmd 함수에 대한 인자 값은 hpcert_config.php 파일에서 설정되나, 이를 다른 페이지에서 포함한 뒤 호출할 시 임의 값 설정 가능
|
||||
// 이에 include_once 를 require 로 수정함
|
||||
require('./ipin.config.php');
|
||||
|
||||
+14
-2
@@ -78,12 +78,20 @@ $field_name_IPIN_DEC = array(
|
||||
$mb_name = $field[6];
|
||||
$req_num = $field[7];
|
||||
$mb_birth = $field[11];
|
||||
$mb_dupinfo = $field[0];
|
||||
$di = $field[0];
|
||||
if(!empty($field[1])) { // 아이핀은 리턴받는 ci 데이터가 두가지인걸로 보아 개인별로 받는 곳이 다를 수도 있을것 같아서 추가함 2021-09-13 hjkim7153
|
||||
$ci = $field[1];
|
||||
}else if(!empty($field[2])) {
|
||||
$ci = $field[2];
|
||||
}else{
|
||||
alert_close('아이핀 본인확인 중 오류가 발생했습니다. (ci 정보 없음) 오류코드 : '.$resultCd.'\\n\\n문의는 코리아크레딧뷰로 고객센터 02-708-1000 로 해주십시오.');
|
||||
}
|
||||
$mb_dupinfo = md5($ci.$ci); // 통합인증 추가 후 ci로 변경
|
||||
|
||||
// 중복정보 체크
|
||||
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['mb_id']) {
|
||||
if (!empty($row['mb_id'])) {
|
||||
alert_close("입력하신 본인확인 정보로 가입된 내역이 존재합니다.\\n회원아이디 : ".$row['mb_id']);
|
||||
}
|
||||
|
||||
@@ -115,6 +123,10 @@ $(function() {
|
||||
$opener.$("input[name=mb_name]").val("<?php echo $mb_name; ?>").attr("readonly", true);
|
||||
$opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");
|
||||
|
||||
if($opener.$("form[name=register_cert_reset]") != undefined){
|
||||
$opener.$("form[name=register_cert_reset]").submit();
|
||||
}
|
||||
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -13,8 +13,8 @@ $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
|
||||
$request_token = $connection->getRequestToken(OAUTH_CALLBACK);
|
||||
|
||||
/* Save temporary credentials to session. */
|
||||
$_SESSION['oauth_token'] = $token = $request_token['oauth_token'];
|
||||
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];
|
||||
$_SESSION['oauth_token'] = $token = @$request_token['oauth_token'];
|
||||
$_SESSION['oauth_token_secret'] = @$request_token['oauth_token_secret'];
|
||||
|
||||
//print_r2($_SESSION); exit;
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ class TwitterOAuth {
|
||||
$parameters['oauth_callback'] = $oauth_callback;
|
||||
$request = $this->oAuthRequest($this->requestTokenURL(), 'GET', $parameters);
|
||||
$token = OAuthUtil::parse_parameters($request);
|
||||
$this->token = new OAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
|
||||
$this->token = new OAuthConsumer(@$token['oauth_token'], @$token['oauth_token_secret']);
|
||||
return $token;
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user