휴대폰인증 회원가입에 추가 중

This commit is contained in:
chicpro
2013-02-25 18:59:32 +09:00
parent 0dd66c8291
commit d4340b59c8
25 changed files with 1556 additions and 0 deletions

3
bbs/kcp/_common.php Normal file
View File

@ -0,0 +1,3 @@
<?
include_once('../../common.php');
?>

BIN
bbs/kcp/bin/ct_cli Executable file

Binary file not shown.

View File

@ -0,0 +1,44 @@
<?
include_once('./_common.php');
$home_dir = G4_BBS_PATH.'/kcp'; // ct_cli 절대경로 ( bin 전까지 )
$web_siteid = ''; // 사이트 식별코드
$test_use = true;
if($test_use) { // 테스트
$site_cd = 'S6186';
$cert_url = 'https://testcert.kcp.co.kr/kcp_cert/cert_view.jsp';
} else { // 실인증
$site_cd = '';
$cert_url = 'https://cert.kcp.co.kr/kcp_cert/cert_view.jsp';
}
// KCP 인증 라이브러리
require G4_BBS_PATH.'/kcp/lib/ct_cli_lib.php';
/* ============================================================================== */
/* = null 값을 처리하는 메소드 = */
/* = -------------------------------------------------------------------------- = */
function f_get_parm_str( $val )
{
if ( $val == null ) $val = "";
if ( $val == "" ) $val = "";
return $val;
}
//!!중요 해당 함수는 year, month, day 변수가 null 일 경우 00 으로 치환합니다
function f_get_parm_int( $val )
{
$ret_val = "";
if ( $val == null ) $val = "00";
if ( $val == "" ) $val = "00";
$ret_val = strlen($val) == 1? ("0" . $val) : $val;
return $ret_val;
}
/* ============================================================================== */
?>

138
bbs/kcp/kcpcert_request.php Normal file
View File

@ -0,0 +1,138 @@
<?
include_once('./kcpcert_config.php');
// UTF-8 ȯ<><EFBFBD><E6BFA1> <20>ؽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD>
setlocale(LC_CTYPE, 'ko_KR.euc-kr');
$req_tx = "";
$site_cd = "";
$ordr_idxx = "";
$year = "";
$month = "";
$day = "";
$user_name = "";
$sex_code = "";
$local_code = "";
$up_hash = "";
/*------------------------------------------------------------------------*/
/* :: <20><>ü <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/*------------------------------------------------------------------------*/
$ct_cert = new C_CT_CLI;
$ct_cert->mf_clear();
// utf-8<><38> <20>Ѿ post <20><><EFBFBD><EFBFBD> euc-kr <20><> <20><><EFBFBD><EFBFBD>
$_POST = array_map("iconv_euckr", $_POST);
// request <20><> <20>Ѿ<EFBFBD><D1BE><EFBFBD> <20><> ó<><C3B3>
$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 == "req_tx" )
{
$req_tx = f_get_parm_str ( $valParam );
}
if ( $nmParam == "ordr_idxx" )
{
$ordr_idxx = f_get_parm_str ( $valParam );
}
if ( $nmParam == "user_name" )
{
$user_name = f_get_parm_str ( $valParam );
}
if ( $nmParam == "year" )
{
$year = f_get_parm_int ( $valParam );
}
if ( $nmParam == "month" )
{
$month = f_get_parm_int ( $valParam );
}
if ( $nmParam == "day" )
{
$day = f_get_parm_int ( $valParam );
}
if ( $nmParam == "sex_code" )
{
$sex_code = f_get_parm_str ( $valParam );
}
if ( $nmParam == "local_code" )
{
$local_code = f_get_parm_str ( $valParam );
}
// <20><><EFBFBD><EFBFBD>â<EFBFBD><C3A2><EFBFBD><EFBFBD> <20>ѱ<EFBFBD><D1B1><EFBFBD> form <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʵ<EFBFBD>
$sbParam .= "<input type='hidden' name='" . $nmParam . "' value='" . f_get_parm_str( $valParam ) . "'/>";
}
if ( $req_tx == "cert" )
{
// !!up_hash <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// year , month , day <20><> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> "00" , "00" , "00" <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˴ϴ<CBB4>
// <20>׿<EFBFBD><D7BF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ""(null) <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻø<CFBD> <20>˴ϴ<CBB4>.
// up_hash <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> site_cd <20><> ordr_idxx <20><> <20>ʼ<EFBFBD> <20><><EFBFBD>Դϴ<D4B4>.
$hash_data = $site_cd .
$ordr_idxx .
$user_name .
f_get_parm_int ( $year ) .
f_get_parm_int ( $month ) .
f_get_parm_int ( $day ) .
$sex_code .
$local_code;
$up_hash = $ct_cert->make_hash_data( $home_dir, $hash_data );
// <20><><EFBFBD><EFBFBD>â<EFBFBD><C3A2><EFBFBD><EFBFBD> <20>ѱ<EFBFBD><D1B1><EFBFBD> form <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʵ<EFBFBD> ( up_hash )
$sbParam .= "<input type='hidden' name='up_hash' value='" . $up_hash . "'/>";
}
$ct_cert->mf_clear();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title>*** KCP Online Payment System [PHP Version] ***</title>
<script type="text/javascript">
window.onload=function()
{
var frm = document.form_auth;
// <20><><EFBFBD><EFBFBD> <20><>û <20><> ȣ<><C8A3> <20>Լ<EFBFBD>
if ( frm.req_tx.value == "cert" )
{
opener.document.form_auth.veri_up_hash.value = frm.up_hash.value; // up_hash <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʵ<EFBFBD>
frm.action="<?=$cert_url?>";
frm.submit();
}
}
</script>
</head>
<body oncontextmenu="return false;" ondragstart="return false;" onselectstart="return false;">
<form name="form_auth" method="post">
<?= $sbParam ?>
</form>
</body>
</html>

166
bbs/kcp/kcpcert_result.php Normal file
View File

@ -0,0 +1,166 @@
<?
include_once('./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();
// 결과 처리
if( $cert_enc_use == "Y" )
{
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" )
{
// 검증 실패시 처리 영역
echo "dn_hash 변조 위험있음";
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(!$phone_no)
alert_close('정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.');
// hash 데이터
$md5_cert_no = md5($cert_no);
$hash_data = md5($phone_no.$user_name.$md5_cert_no);
set_session('ss_kcpcert_hash', $hash_data);
}
else if( $res_cd != "0000" )
{
// 인증실패
alert_close('코드 : '.$_POST['res_cd'].' '.urldecode($_POST['res_msg']));
exit;
}
}
else if( $cert_enc_use != "Y" )
{
// 암호화 인증 안함
}
$ct_cert->mf_clear();
$g4['title'] = '휴대폰인증 결과';
include_once(G4_PATH.'/head.sub.php');
?>
<script>
$(function() {
var $opener = window.opener;
// 인증번호
$opener.$("input[name=cert_no]").val("<?=$md5_cert_no?>");
$opener.$("input[name=cert_time]").val("<?=G4_TIME_YMDHIS?>");
window.close();
});
</script>
<?php
include_once(G4_PATH.'/tail.sub.php');
?>

View File

@ -0,0 +1,89 @@
<?php
/* ====================================================================== */
/* = PAGE : <20><><EFBFBD><EFBFBD> PHP <20><><EFBFBD>̺귯<CCBA><EAB7AF> 1.0.1 = */
/* = ------------------------------------------------------------------ = */
/* = Copyright (c) 2012 KCP Inc. All Rights Reserverd. = */
/* ====================================================================== */
/* ====================================================================== */
/* = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CLASS = */
/* ====================================================================== */
class C_CT_CLI
{
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>κ<EFBFBD>
var $m_dec_data;
// <20><><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ <20><><EFBFBD><EFBFBD>
function mf_clear()
{
$this->m_dec_data="";
}
// hash ó<><C3B3> <20><><EFBFBD><EFBFBD>
function make_hash_data( $home_dir , $str )
{
$hash_data = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
"lf_CT_CLI__make_hash_data",
$str
);
if ( $hash_data == "" ) { $hash_data = "HS01"; }
return $hash_data;
}
// dn_hash üũ <20>Լ<EFBFBD>
function check_valid_hash ($home_dir , $hash_data , $str )
{
$ret_val = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
"lf_CT_CLI__check_valid_hash" ,
$hash_data ,
$str
);
if ( $ret_val == "" ) { $ret_val = "HS02"; }
return $ret_val;
}
// <20><>ȣȭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȣȭ
function decrypt_enc_cert ( $home_dir, $site_cd , $cert_no , $enc_cert_data , $opt)
{
$dec_data = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
"lf_CT_CLI__decrypt_enc_cert" ,
$site_cd ,
$cert_no ,
$enc_cert_data ,
$opt
);
if ( $dec_data == "" ) { $dec_data = "HS03"; }
parse_str( str_replace( chr( 31 ), "&", $dec_data ), $this->m_dec_data );
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get data
function mf_get_key_value( $name )
{
return $this->m_dec_data[ $name ];
}
function mf_exec()
{
$arg = func_get_args();
if ( is_array( $arg[0] ) ) $arg = $arg[0];
$exec_cmd = array_shift( $arg );
while ( list(,$i) = each($arg) )
{
$exec_cmd .= " " . escapeshellarg( $i );
}
$rt = exec( $exec_cmd );
return $rt;
}
}
?>

View File

@ -51,6 +51,17 @@ $mb_8 = isset($_POST['mb_8']) ? escape_trim($_POST['mb_8'])
$mb_9 = isset($_POST['mb_9']) ? escape_trim($_POST['mb_9']) : "";
$mb_10 = isset($_POST['mb_10']) ? escape_trim($_POST['mb_10']) : "";
// 본인인증체크
$cert_no = trim($_POST['cert_no']);
if(!$cert_no)
alert('휴대폰인증이 되지 않았습니다. 휴대폰인증을 해주세요.', true, true);
// 본인인증 hash 체크
$reg_hp = preg_replace("/[^0-9]/", "", $mb_hp);
$reg_hash = md5($reg_hp.$mb_name.$cert_no);
if(get_session('ss_kcpcert_hash') != $reg_hash)
alert('휴대폰인증 정보가 올바르지 않습니다. 정상적인 방법으로 이용해 주세요.', true, true);
if ($w == '' || $w == 'u') {
if ($msg = empty_mb_id($mb_id)) alert($msg, "", true, true); // alert($msg, $url, $error, $post);
@ -166,6 +177,7 @@ if ($w == '') {
mb_sms = '{$mb_sms}',
mb_open = '{$mb_open}',
mb_open_date = '".G4_TIME_YMD."',
mb_hp_certify = '{$_POST['cert_time']}',
mb_1 = '{$mb_1}',
mb_2 = '{$mb_2}',
mb_3 = '{$mb_3}',

View File

@ -0,0 +1,90 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="formmail" class="new_win">
<h1><?=$name?>님께 메일보내기</h1>
<form name="fformmail" method="post" action="./formmail_send.php" onsubmit="return fformmail_submit(this);" enctype="multipart/form-data" style="margin:0px;">
<input type="hidden" name="to" value="<?=$email?>">
<input type="hidden" name="attach" value="2">
<input type="hidden" name="token" value="<?=$token?>">
<? if ($is_member) { // 회원이면 ?>
<input type="hidden" name="fnick" value="<?=$member['mb_nick']?>">
<input type="hidden" name="fmail" value="<?=$member['mb_email']?>">
<? } ?>
<table class="frm_tbl">
<caption>메일쓰기</caption>
<tbody>
<? if (!$is_member) { ?>
<tr>
<th scope="row"><label for="fnick">이름<strong class="sound_only">필수</strong></label></th>
<td><input type="text" id="fnick" name="fnick" class="frm_input required" required></td>
</tr>
<tr>
<th scope="row"><label for="fmail">E-mail<strong class="sound_only">필수</strong></label></th>
<td><input type="text" id="fmail" name="fmail" class="frm_input required" required></td>
</tr>
<? } ?>
<tr>
<th scope="row"><label for="subject">제목<strong class="sound_only">필수</strong></label></th>
<td><input type=text id="subject" name="subject" class="frm_input required" required></td>
</tr>
<tr>
<th scope="row">형식</th>
<td>
<input type="radio" id="type_text" name="type" value="0" checked> <label for="type_text">TEXT</label>
<input type="radio" id="type_html" name="type" value="1" > <label for="type_html">HTML</label>
<input type="radio" id="type_both" name="type" value="2" > <label for="type_both">TEXT+HTML</label>
</td>
</tr>
<tr>
<th scope="row"><label for="content">내용<strong class="sound_only">필수</strong></label></th>
<td><textarea id="content" name="content" class="required" required></textarea></td>
</tr>
<tr>
<th scope="row"><label for="file1">첨부 1</label></th>
<td><input type="file" id="file1" name="file1" class="frm_input"></td>
</tr>
<tr>
<th scope="row"><label for="file2">첨부 2</label></th>
<td><input type="file" id="file2" name="file2" class="frm_input"></td>
</tr>
<tr>
<th scope="row">자동등록방지</th>
<td><?=captcha_html();?></td>
</tr>
</tbody>
</table>
<div class="btn_win">
<input type="submit" id="btn_submit" class="btn_submit" value="메일발송">
<a href="javascript:window.close();">창닫기</a>
</div>
</form>
</div>
<script>
with (document.fformmail) {
if (typeof fname != "undefined")
fname.focus();
else if (typeof subject != "undefined")
subject.focus();
}
function fformmail_submit(f)
{
<? echo chk_captcha_js(); ?>
if (f.file1.value || f.file2.value) {
// 4.00.11
if (!confirm("첨부파일의 용량이 큰경우 전송시간이 오래 걸립니다.\n\n메일보내기가 완료되기 전에 창을 닫거나 새로고침 하지 마십시오."))
return false;
}
document.getElementById('btn_submit').disabled = true;
return true;
}
</script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,54 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="mb_login">
<h1><?=$g4['title']?></h1>
<form name="flogin" method="post" action="<?=$login_action_url?>" onsubmit="return flogin_submit(this);">
<input type="hidden" name="url" value='<?=$login_url?>'>
<fieldset class="cbg">
<label for="login_id" class="login_id">회원아이디<strong class="sound_only">필수</strong></label>
<input type="text" id="login_id" name="mb_id" class="fs_input" maxLength="20" size="20" required>
<label for="login_pw" class="login_pw">패스워드<strong class="sound_only">필수</strong></label>
<input type="password" id="login_pw" class="fs_input" name="mb_password" maxLength="20" size="20" required>
<input type="submit" class="btn_submit" value="로그인">
<input type="checkbox" id="login_auto_login" name="auto_login">
<label for="login_auto_login">자동로그인</label>
</fieldset>
<section>
<h2>회원로그인 안내</h2>
<p>
회원아이디 및 패스워드가 기억 안나실 때는 아이디/패스워드 찾기를 이용하십시오.<br>
아직 회원이 아니시라면 회원으로 가입 후 이용해 주십시오.
</p>
<div>
<a href="<?=$g4['bbs_url']?>/password_lost.php" id="login_password_lost" class="btn02" target="win_password_lost">아이디 패스워드 찾기</a>
<a href="./register.php" class="btn01">회원 가입</a>
</div>
</section>
<div class="btn_confirm">
<a href="<?=G4_URL?>/">메인으로 돌아가기</a>
</div>
</form>
</div>
<script>
$(function(){
$("#login_auto_login").click(function(){
if (this.checked) {
this.checked = confirm("자동로그인을 사용하시면 다음부터 회원아이디와 패스워드를 입력하실 필요가 없습니다.\n\n공공장소에서는 개인정보가 유출될 수 있으니 사용을 자제하여 주십시오.\n\n자동로그인을 사용하시겠습니까?");
}
});
});
function flogin_submit(f)
{
return true;
}
</script>

View File

@ -0,0 +1,5 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 자신만의 코드를 넣어주세요.
?>

View File

@ -0,0 +1,44 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="mb_confirm">
<h1><?=$g4['title']?></h1>
<p>
<strong>패스워드를 한번 더 입력해주세요.</strong>
회원님의 정보를 안전하게 보호하기 위해 패스워드를 한번 더 확인합니다.
</p>
<form name="fmemberconfirm" method="post" onsubmit="return fmemberconfirm_submit(this);">
<input type=hidden name="mb_id" value="<?=$member[mb_id]?>">
<input type=hidden name="w" value="u">
<fieldset>
회원아이디
<span id="mb_confirm_id"><?=$member[mb_id]?></span>
<label for="confirm_mb_password">패스워드<strong class="sound_only">필수</strong></label>
<input type="password" id="confirm_mb_password" name="mb_password" class="fs_input" maxLength="20" size="15" required>
<input type="submit" id="btn_submit" class="fs_submit" value="확인">
</fieldset>
</form>
<div class="btn_confirm">
<a href="<?=G4_URL?>">메인으로 돌아가기</a>
</div>
</div>
<script>
document.onload = document.fmemberconfirm.mb_password.focus();
function fmemberconfirm_submit(f)
{
document.getElementById("btn_submit").disabled = true;
f.action = "<?=$url?>";
return true;
}
</script>

View File

@ -0,0 +1,44 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="memo_list" class="new_win">
<h1><?=$g4['title']?></h1>
<ul class="new_win_ul">
<li><a href="./memo.php?kind=recv">받은쪽지</a></li>
<li><a href="./memo.php?kind=send">보낸쪽지</a></li>
<li><a href="./memo_form.php">쪽지쓰기</a></li>
</ul>
<table class="basic_tbl">
<caption>
전체 <?=$kind_title?>쪽지 <?=$total_count?>통<br>
</caption>
<thead>
<tr>
<th scope="col"><?= ($kind == "recv") ? "보낸사람" : "받는사람"; ?></th>
<th scope="col">보낸시간</th>
<th scope="col">읽은시간</th>
<th scope="col">관리</th>
</tr>
</thead>
<tbody>
<? for ($i=0; $i<count($list); $i++) { ?>
<tr>
<td><div><?=$list[$i]['name']?></div></td>
<td class="td_datetime"><a href="<?=$list[$i]['view_href']?>"><?=$list[$i]['send_datetime']?></font></td>
<td class="td_datetime"><a href="<?=$list[$i]['view_href']?>"><?=$list[$i]['read_datetime']?></font></td>
<td class="td_mng"><a href="<?=$list[$i]['del_href']?>" onclick="del(this.href); return false;">삭제</a></td>
</tr>
<? } ?>
<? if ($i==0) { echo "<tr><td colspan=\"4\" class=\"empty_table\">자료가 없습니다.</td></tr>"; } ?>
</tbody>
</table>
<p class="new_win_desc">
쪽지 보관일수는 최장 <strong><?=$config['cf_memo_del']?></strong>일 입니다.
</p>
<div class="btn_win"><a href="javascript:;" onclick="window.close();">창닫기</a></div>
</div>

View File

@ -0,0 +1,54 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="memo_write" class="new_win">
<h1>쪽지보내기</h1>
<ul class="new_win_ul">
<li><a href="./memo.php?kind=recv">받은쪽지</a></li>
<li><a href="./memo.php?kind=send">보낸쪽지</a></li>
<li><a href="./memo_form.php">쪽지쓰기</a></li>
</ul>
<div class="cbox">
<form name="fmemoform" method="post" action="./memo_form_update.php" onsubmit="return fmemoform_submit(this);" autocomplete="off">
<table class="frm_tbl">
<caption>쪽지쓰기</caption>
<tbody>
<tr>
<th scope="row"><label for="me_recv_mb_id">받는 회원아이디<strong class="sound_only">필수</strong></label></th>
<td>
<input type="text" id="me_recv_mb_id" name="me_recv_mb_id" class="frm_input required" size="47" required value="<?=$me_recv_mb_id?>">
<span class="frm_info">여러 회원에게 보낼때는 컴마(,)로 구분하세요.</span>
</td>
</tr>
<tr>
<th scope="row"><label for="me_memo">내용</label></th>
<td><textarea id="me_memo" name="me_memo" required><?=$content?></textarea></td>
</tr>
<tr>
<th scope="row">자동등록방지</th>
<td>
<?=captcha_html();?>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_win">
<input type="submit" id="btn_submit" class="btn_submit" value="보내기">
<a href="javascript:;" onclick="window.close();">창닫기</a>
</div>
</form>
</div>
<script>
function fmemoform_submit(f)
{
<? echo chk_captcha_js(); ?>
return true;
}
</script>

View File

@ -0,0 +1,48 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$nick = get_sideview($mb['mb_id'], $mb['mb_nick'], $mb['mb_email'], $mb['mb_homepage']);
if($kind == "recv") {
$kind_str = "보낸";
$kind_date = "받은";
}
else {
$kind_str = "받는";
$kind_date = "보낸";
}
?>
<div id="memo_view" class="new_win">
<h1><?=$g4['title']?></h1>
<ul class="new_win_ul">
<li><a href="./memo.php?kind=recv">받은쪽지</a></li>
<li><a href="./memo.php?kind=send">보낸쪽지</a></li>
<li><a href="./memo_form.php">쪽지쓰기</a></li>
</ul>
<section>
<h2>쪽지 내용</h2>
<ul id="memo_view_ul">
<li class="memo_view_li">
<span class="memo_view_subj"><?=$kind_str?>사람</span>
<strong><?=$nick?></strong>
</li>
<li class="memo_view_li">
<span class="memo_view_subj"><?=$kind_date?>시간</span>
<strong><?=$memo['me_send_datetime']?></strong>
</li>
</ul>
<p>
<?=conv_content($memo['me_memo'], 0)?>
</p>
</section>
<div class="btn_win">
<? if($prev_link) { ?>
<a href="<?=$prev_link?>">이전쪽지</a>
<? } ?>
<? if($next_link) { ?>
<a href="<?=$next_link?>">다음쪽지</a>
<? } ?>
<? if ($kind == 'recv') { ?><a href="./memo_form.php?me_recv_mb_id=<?=$mb['mb_id']?>&amp;me_id=<?=$memo['me_id']?>" class="btn01">답장</a><? } ?>
<a href="./memo.php?kind=<?=$kind?>">목록보기</a>
<a href="javascript:;" onclick="window.close();">창닫기</a>
</div>
</div>

View File

@ -0,0 +1,49 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$delete_str = "";
if ($w == 'x') $delete_str = "";
if ($w == 'u') $g4['title'] = $delete_str."글 수정";
else if ($w == 'd' || $w == 'x') $g4['title'] = $delete_str."글 삭제";
else $g4['title'] = $g4['title'];
?>
<div id="pw_confirm">
<h1><?=$g4['title']?></h1>
<p>
<? if ($w == 'u') {?>
<strong>작성자만 글을 수정할 수 있습니다.</strong>
작성자 본인이라면, 글 작성시 입력한 패스워드를 입력하여 글을 수정할 수 있습니다.
<? } else if ($w == 'd' || $w == 'x') { ?>
<strong>작성자만 글을 삭제할 수 있습니다.</strong>
작성자 본인이라면, 글 작성시 입력한 패스워드를 입력하여 글을 삭제할 수 있습니다.
<? } else { ?>
<strong>비밀글 기능으로 보호된 글입니다.</strong>
작성자와 관리자만 열람하실 수 있습니다. 본인이라면 패스워드를 입력하세요.
<? } ?>
</p>
<form name="fboardpassword" method="post" action="<? echo $action; ?>">
<input type="hidden" name="w" value="<?=$w?>">
<input type="hidden" name="bo_table" value="<?=$bo_table?>">
<input type="hidden" name="wr_id" value="<?=$wr_id?>">
<input type="hidden" name="comment_id" value="<?=$comment_id?>">
<input type="hidden" name="sfl" value="<?=$sfl?>">
<input type="hidden" name="stx" value="<?=$stx?>">
<input type="hidden" name="page" value="<?=$page?>">
<fieldset>
<label for="password_wr_password">패스워드<strong class="sound_only">필수</strong></label>
<input type="password" id="password_wr_password" name="wr_password" class="fs_input required" maxLength="20" size="15" required>
<input type="submit" class="fs_submit" value="확인">
</fieldset>
</form>
<div class="btn_confirm">
<a href="<?=$_SERVER['HTTP_REFERER']?>">돌아가기</a>
</div>
</div>
<script>
document.fboardpassword.wr_password.focus();
</script>

View File

@ -0,0 +1,45 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="find_info" class="new_win">
<h1>아이디/패스워드 찾기</h1>
<form name="fpasswordlost" method="post" action="<?=$action_url?>" onsubmit="return fpasswordlost_submit(this);" autocomplete="off">
<fieldset id="find_info_fs">
<p>
회원가입 시 등록하신 이메일 주소를 입력해 주세요.<br>
해당 이메일로 아이디와 패스워드 정보를 보내드립니다.
</p>
<label for="mb_email">E-mail 주소<strong class="sound_only">필수</strong></label>
<input type="text" id="mb_email" name="mb_email" class="fs_input email" required size="30">
</fieldset>
<?=captcha_html(); ?>
<div class="btn_win">
<input type="submit" class="btn_submit" value="확인">
<a href="javascript:window.close();" class="btn_cancel">창닫기</a>
</div>
</form>
</div>
<script>
function fpasswordlost_submit(f)
{
<? echo chk_captcha_js(); ?>
return true;
}
self.focus();
document.fpasswordlost.mb_email.focus();
$(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>

View File

@ -0,0 +1,43 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="profile" class="new_win">
<h1><?=$mb_nick?>님의 프로필</h1>
<table class="frm_tbl">
<tbody>
<tr>
<th scope="row">회원권한</th>
<td><?=$mb['mb_level']?></td>
</tr>
<tr>
<th scope="row">포인트</th>
<td><?=number_format($mb['mb_point'])?></td>
</tr>
<? if ($mb_homepage) { ?>
<tr>
<th scope="row">홈페이지</th>
<td><a href="<?=$mb_homepage?>" target="_blank"><?=$mb_homepage?></a></td>
</tr>
<? } ?>
<tr>
<th scope="row">회원가입일</th>
<td><?=($member['mb_level'] >= $mb['mb_level']) ? substr($mb['mb_datetime'],0,10) ." (".number_format($mb_reg_after)." 일)" : "알 수 없음"; ?></td>
</tr>
<tr>
<th scope="row">최종접속일</th>
<td><?=($member['mb_level'] >= $mb['mb_level']) ? $mb['mb_today_login'] : "알 수 없음";?></td>
</tr>
</tbody>
</table>
<section>
<h2>인사말</h2>
<p><?=$mb_profile?></p>
</section>
<div class="btn_win">
<a href="javascript:window.close();">창닫기</a>
</div>
</div>

View File

@ -0,0 +1,49 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<form id="fregister" name="fregister" method="POST" action="<?=$register_action_url?>" onsubmit="return fregister_submit(this);" autocomplete="off">
<section id="fregister_term">
<h2>회원가입약관</h2>
<textarea readonly><?=get_text($config['cf_stipulation'])?></textarea>
<fieldset class="fregister_agree">
<label for="agree11">회원가입약관의 내용에 동의합니다.</label>
<input type="checkbox" id="agree11" name="agree" value="1">
</fieldset>
</section>
<section id="fregister_private">
<h2>개인정보수집이용안내</h2>
<textarea readonly><?=get_text($config['cf_privacy'])?></textarea>
<fieldset class="fregister_agree">
<label for="agree21">개인정보수집이용안내의 내용에 동의합니다.</label>
<input type="checkbox" id="agree21" name="agree2" value="1">
</fieldset>
</section>
<div class="btn_confirm">
<p>회원가입약관 및 개인정보수집이용안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.</p>
<input type="submit" class="btn_submit" value="회원가입">
</div>
</form>
<script>
function fregister_submit(f)
{
if (!f.agree.checked) {
alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
f.agree.focus();
return false;
}
if (!f.agree2.checked) {
alert("개인정보수집이용안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
f.agree2.focus();
return false;
}
return true;
}
</script>

View File

@ -0,0 +1,398 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// kcp 휴대폰인증파일
include_once(G4_BBS_PATH.'/kcp/kcpcert_config.php');
if(!$ordr_idxx = get_session('ss_uniqid'))
$ordr_idxx = get_uniqid();
?>
<script src="<?=G4_JS_URL?>/jquery.register_form.js"></script>
<form id="fregisterform" name="fregisterform" method="post" action="<?=$register_action_url?>" onsubmit="return fregisterform_submit(this);" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="w" value="<?=$w?>">
<input type="hidden" name="cert_no" value="">
<input type="hidden" name="cert_time" value="">
<input type="hidden" name="url" value="<?=$urlencode?>">
<input type="hidden" name="agree" value="<?=$agree?>">
<input type="hidden" name="agree2" value="<?=$agree2?>">
<? if (isset($member['mb_sex'])) { ?><input type="hidden" name="mb_sex" value="<?=$member['mb_sex']?>"><? } ?>
<? if (isset($member['mb_nick_date']) && $member['mb_nick_date'] <= date("Y-m-d", G4_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 별명수정일이 지나지 않았다면 ?>
<input type="hidden" name="mb_nick_default" value="<?=$member['mb_nick']?>">
<input type="hidden" name="mb_nick" value="<?=$member['mb_nick']?>">
<? } ?>
<table class="frm_tbl">
<caption>사이트 이용정보 입력</caption>
<tr>
<th scope="row"><label for="reg_mb_id">아이디<strong class="sound_only">필수</strong></label></th>
<td>
<input type="text" id="reg_mb_id" name="mb_id" class="frm_input minlength_3 <?=$required?> <?=$readonly?>" value="<?=$member['mb_id']?>" maxlength="20" <?=$required?> <?=$readonly?>>
<span id="msg_mb_id"></span>
<span class="frm_info">영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요.</span>
</td>
</tr>
<tr>
<th scope="row"><label for="reg_mb_password">패스워드<strong class="sound_only">필수</strong></label></th>
<td><input type="password" id="reg_mb_password" name="mb_password" class="frm_input minlength_3 <?=$required?>" maxlength="20" <?=$required?>></td>
</tr>
<tr>
<th scope="row"><label for="reg_mb_password_re">패스워드 확인<strong class="sound_only">필수</strong></label></th>
<td><input type="password" id="reg_mb_password_re" name="mb_password_re" class="frm_input minlength_3 <?=$required?>" maxlength="20" <?=$required?>></td>
</tr>
</table>
<table class="frm_tbl">
<caption>개인정보 입력</caption>
<tr>
<th scope="row"><label for="reg_mb_name">이름<strong class="sound_only">필수</strong></label></th>
<td>
<input id="reg_mb_name" name="mb_name" class="frm_input hangul nospace <?=$required?> <?=$readonly?>" value="<?=$member['mb_name']?>" size="10" <?=$required?> <?=$readonly?>>
<? if ($w=='') { echo "<span class=\"frm_info\">공백없이 한글만 입력하세요.</span>"; } ?>
</td>
</tr>
<? if ($req_nick) { ?>
<tr>
<th scope="row"><label for="reg_mb_nick">별명<strong class="sound_only">필수</strong></label></th>
<td>
<input type="hidden" name="mb_nick_default" value="<?=isset($member['mb_nick'])?$member['mb_nick']:'';?>">
<input type="text" id="reg_mb_nick" name="mb_nick" class="frm_input required nospace" maxlength="20" size="10" value="<?=isset($member['mb_nick'])?$member['mb_nick']:'';?>" required>
<span id="msg_mb_nick"></span>
<span class="frm_info">
공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)<br>
별명을 바꾸시면 앞으로 <?=(int)$config['cf_nick_modify']?>일 이내에는 변경 할 수 없습니다.
</span>
</td>
</tr>
<? } ?>
<tr>
<th scope="row"><label for="reg_mb_email">E-mail<? if ($config['cf_use_email_certify']) {?><strong class="sound_only">필수</strong><?}?></label></th>
<td>
<input type="hidden" name="old_email" value="<?=$member['mb_email']?>">
<input type="text" id="reg_mb_email" name="mb_email" class="frm_input email <?=$config['cf_use_email_certify']?"required":"";?>" maxlength="100" size="50" value='<?=isset($member['mb_email'])?$member['mb_email']:'';?>' <?=$config['cf_use_email_certify']?"required":"";?>>
<? if ($config['cf_use_email_certify']) { ?>
<span class="frm_info">
<? if ($w=='') { echo "E-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다."; } ?>
<? if ($w=='u') { echo "E-mail 주소를 변경하시면 다시 인증하셔야 합니다."; } ?>
</span>
<? } ?>
</td>
</tr>
<? if ($config['cf_use_homepage']) { ?>
<tr>
<th scope="row"><label for="reg_mb_homepage">홈페이지<? if ($config['cf_req_homepage']){?><strong class="sound_only">필수</strong><?}?></label></th>
<td><input type="text" id="reg_mb_homepage" name="mb_homepage" class="frm_input <?=$config['cf_req_homepage']?"required":"";?>" maxlength="255" size="50" <?=$config['cf_req_homepage']?"required":"";?> value="<?=$member['mb_homepage']?>"></td>
</tr>
<? } ?>
<? if ($config['cf_use_tel']) { ?>
<tr>
<th scope="row"><label for="reg_mb_tel">전화번호<? if ($config['cf_req_tel']) {?><strong class="sound_only">필수</strong><?}?></label></th>
<td><input type="text" id="reg_mb_tel" name="mb_tel" class="frm_input <?=$config['cf_req_tel']?"required":"";?>" maxlength="20" <?=$config['cf_req_tel']?"required":"";?> value="<?=$member['mb_tel']?>"></td>
</tr>
<? } ?>
<? if ($config['cf_use_hp']) { ?>
<tr>
<th scope="row"><label for="reg_mb_hp">핸드폰번호<? if ($config['cf_req_hp']) {?><strong class="sound_only">필수</strong><?}?></label></th>
<td>
<input type="text" id="reg_mb_hp" name="mb_hp" class="frm_input <?=$config['cf_req_hp']?"required":"";?>" maxlength="20" <?=$config['cf_req_hp']?"required":"";?> value="<?=$member[mb_hp]?>">
<a href="#" class="btn_frmline win_person_auth" target="_blank">휴대폰인증</a>
</td>
</tr>
<? } ?>
<? if ($config['cf_use_addr']) {
$zip_href = G4_BBS_URL.'/zip.php?frm_name=fregisterform&amp;frm_zip1=mb_zip1&amp;frm_zip2=mb_zip2&amp;frm_addr1=mb_addr1&amp;frm_addr2=mb_addr2';
?>
<tr>
<th scope="row">
주소
<? if ($config['cf_req_addr']) {?><strong class="sound_only">필수</strong><? } ?>
</th>
<td>
<input type="text" id="reg_mb_zip1" name="mb_zip1" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?> value="<?=$member['mb_zip1']?>" title="우편번호 앞자리">
-
<input type="text" id="reg_mb_zip2" name="mb_zip2" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?> value="<?=$member['mb_zip2']?>" title="우편번호 뒷자리">
<a href="<? echo $zip_href; ?>" id="reg_zip_find" class="btn_frmline win_zip_find" target="_blank">주소찾기</a>
<input type="text" id="reg_mb_addr1" name="mb_addr1" class="frm_input frm_address <?=$config['cf_req_addr']?"required":"";?>" size="50" <?=$config['cf_req_addr']?"required":"";?> value="<?=$member['mb_addr1']?>" title="행정구역주소">
<input type="text" id="reg_mb_addr2" name="mb_addr2" class="frm_input frm_address <?=$config['cf_req_addr']?"required":"";?>" size="50" <?=$config['cf_req_addr']?"required":"";?> value="<?=$member['mb_addr2']?>" title="상세주소">
</td>
</tr>
<? } ?>
</table>
<table class="frm_tbl">
<caption>기타 개인설정</caption>
<? if ($config['cf_use_signature']) { ?>
<tr>
<th scope="row"><label for="reg_mb_signature">서명<? if ($config['cf_req_signature']){?><strong class="sound_only">필수</strong><?}?></label></th>
<td><textarea id="reg_mb_signature" name="mb_signature" class="<?=$config['cf_req_signature']?"required":"";?>" <?=$config['cf_req_signature']?"required":"";?>><?=$member['mb_signature']?></textarea></td>
</tr>
<? } ?>
<? if ($config['cf_use_profile']) { ?>
<tr>
<th scope="row"><label for="reg_mb_profile">자기소개</label></th>
<td><textarea id="reg_mb_profile" name="mb_profile" class="<?=$config['cf_req_profile']?"required":"";?>" <?=$config['cf_req_profile']?"required":"";?>><?=$member['mb_profile']?></textarea></td>
</tr>
<? } ?>
<? if ($member['mb_level'] >= $config['cf_icon_level']) { ?>
<tr>
<th scope="row"><label for="reg_mb_icon">회원아이콘</label></th>
<td>
<input type="file" id="reg_mb_icon" name="mb_icon" class="frm_input">
<? if ($w == 'u' && file_exists($mb_icon)) { ?>
<input type="checkbox" id="del_mb_icon" name="del_mb_icon" value="1">
<label for="del_mb_icon">삭제</label>
<? } ?>
<span class="frm_info">
이미지 크기는 가로 <?=$config['cf_member_icon_width']?>픽셀, 세로 <?=$config['cf_member_icon_height']?>픽셀 이하로 해주세요.<br>
gif만 가능하며 용량 <?=number_format($config['cf_member_icon_size'])?>바이트 이하만 등록됩니다.
</span>
</td>
</tr>
<? } ?>
<tr>
<th scope="row"><label for="reg_mb_mailling">메일링서비스</label></th>
<td>
<input type="checkbox" id="reg_mb_mailling" name="mb_mailling" value="1" <?=($w=='' || $member['mb_mailling'])?'checked':'';?>>
정보 메일을 받겠습니다.
</td>
</tr>
<? if ($config['cf_use_hp']) { ?>
<tr>
<th scope="row"><label for="reg_mb_sms">SMS 수신여부</label></th>
<td>
<input type="checkbox" id="reg_mb_sms" name="mb_sms" value="1" <?=($w=='' || $member['mb_sms'])?'checked':'';?>>
핸드폰 문자메세지를 받겠습니다.
</td>
</tr>
<? } ?>
<? if (isset($member['mb_open_date']) && $member['mb_open_date'] <= date("Y-m-d", G4_SERVER_TIME - ($config['cf_open_modify'] * 86400)) || empty($member['mb_open_date'])) { // 정보공개 수정일이 지났다면 수정가능 ?>
<tr>
<th scope="row"><label for="reg_mb_open">정보공개</label></th>
<td>
<input type="hidden" name="mb_open_default" value="<?=$member['mb_open']?>">
<input type="checkbox" id="reg_mb_open" name="mb_open" value="1" <?=($w=='' || $member['mb_open'])?'checked':'';?>>
다른분들이 나의 정보를 볼 수 있도록 합니다.
<span class="frm_info">
정보공개를 바꾸시면 앞으로 <?=(int)$config['cf_open_modify']?>일 이내에는 변경이 안됩니다.
</span>
</td>
</tr>
<? } else { ?>
<tr>
<th scope="row">정보공개</th>
<td>
<input type="hidden" name="mb_open" value="<?=$member['mb_open']?>">
<span class="frm_info">
정보공개는 수정후 <?=(int)$config['cf_open_modify']?>일 이내, <?=date("Y년 m월 j일", isset($member['mb_open_date']) ? strtotime("{$member['mb_open_date']} 00:00:00")+$config['cf_open_modify']*86400:G4_SERVER_TIME+$config['cf_open_modify']*86400);?> 까지는 변경이 안됩니다.<br>
이렇게 하는 이유는 잦은 정보공개 수정으로 인하여 쪽지를 보낸 후 받지 않는 경우를 막기 위해서 입니다.
</span>
</td>
</tr>
<? } ?>
<? if ($w == "" && $config['cf_use_recommend']) { ?>
<tr>
<th scope="row"><label for="reg_mb_recommend">추천인아이디</label></th>
<td><input type="text" id="reg_mb_recommend" name="mb_recommend" class="frm_input"></td>
</tr>
<? } ?>
<tr>
<th scope="row">자동등록방지</th>
<td><?=$captcha_html?></td>
</tr>
</table>
<div class="btn_confirm">
<input type="submit" class="btn_submit" value="<?=$w==''?'회원가입':'정보수정';?>" accesskey="s">
<a href="<?=$g4['path']?>/" class="btn_cancel">취소</a>
</div>
</form>
<form name="form_auth" method="post" target="auth_popup" action="<?=$cert_url?>">
<!-- 유저네임 -->
<input type="hidden" name="user_name" value="" />
<!-- 주문번호 -->
<input type="hidden" name="ordr_idxx" value="<?=$ordr_idxx?>">
<!-- 요청종류 -->
<input type="hidden" name="req_tx" value="cert"/>
<!-- 인증종류 -->
<input type="hidden" name="cert_type" value="01"/>
<!-- 웹사이트아이디 -->
<input type="hidden" name="web_siteid" value=""/>
<!-- 노출 통신사 default 처리시 아래의 주석을 해제하고 사용하십시요
SKT : SKT , KT : KTF , LGU+ : LGT
<input type="hidden" name="fix_commid" value="KTF"/>
-->
<!-- 사이트코드 -->
<input type="hidden" name="site_cd" value="<?= $site_cd ?>" />
<!-- Ret_URL : 인증결과 리턴 페이지 ( 가맹점 URL 로 설정해 주셔야 합니다. ) -->
<input type="hidden" name="Ret_URL" value="<?=G4_BBS_URL?>/kcp/kcpcert_result.php" />
<!-- cert_otp_use 필수 ( 메뉴얼 참고)
Y : 실명 확인 + OTP 점유 확인 , N : 실명 확인 only
-->
<input type="hidden" name="cert_otp_use" value="Y"/>
<!-- cert_enc_use 필수 (고정값 : 메뉴얼 참고) -->
<input type="hidden" name="cert_enc_use" value="Y"/>
<input type="hidden" name="res_cd" value=""/>
<input type="hidden" name="res_msg" value=""/>
<!-- up_hash 검증 을 위한 필드 -->
<input type="hidden" name="veri_up_hash" value=""/>
<!-- 가맹점 사용 필드 (인증완료시 리턴)-->
<input type="hidden" name="param_opt_1" value="opt1"/>
<input type="hidden" name="param_opt_2" value="opt2"/>
<input type="hidden" name="param_opt_3" value="opt3"/>
</form>
<script>
$(function() {
$("#reg_zip_find").css("display", "inline-block");
$("#reg_mb_zip1, #reg_mb_zip2, #reg_mb_addr1").attr("readonly", true);
// 휴대폰인증
$('.win_person_auth').click(function() {
auth_type_check();
return false;
});
});
// 인증창 호출 함수
function auth_type_check()
{
var auth_form = document.form_auth;
auth_form.user_name.value = encodeURIComponent(document.fregisterform.mb_name.value);
if( auth_form.ordr_idxx.value == "" )
{
alert( "주문번호는 필수 입니다." );
return false;
}
else
{
if( ( navigator.userAgent.indexOf("Android") > - 1 || navigator.userAgent.indexOf("iPhone") > - 1 ) == false ) // 스마트폰이 아닌경우
{
var return_gubun;
var width = 410;
var height = 500;
var leftpos = screen.width / 2 - ( width / 2 );
var toppos = screen.height / 2 - ( height / 2 );
var winopts = "width=" + width + ", height=" + height + ", toolbar=no,status=no,statusbar=no,menubar=no,scrollbars=no,resizable=no";
var position = ",left=" + leftpos + ", top=" + toppos;
var AUTH_POP = window.open('','auth_popup', winopts + position);
}
auth_form.submit();
}
}
// submit 최종 폼체크
function fregisterform_submit(f)
{
// 회원아이디 검사
if (f.w.value == "") {
var msg = reg_mb_id_check();
if (msg) {
alert(msg);
f.mb_id.select();
return false;
}
}
if (f.w.value == '') {
if (f.mb_password.value.length < 3) {
alert('패스워드를 3글자 이상 입력하십시오.');
f.mb_password.focus();
return false;
}
}
if (f.mb_password.value != f.mb_password_re.value) {
alert('패스워드가 같지 않습니다.');
f.mb_password_re.focus();
return false;
}
if (f.mb_password.value.length > 0) {
if (f.mb_password_re.value.length < 3) {
alert('패스워드를 3글자 이상 입력하십시오.');
f.mb_password_re.focus();
return false;
}
}
// 이름 검사
if (f.w.value=='') {
if (f.mb_name.value.length < 1) {
alert('이름을 입력하십시오.');
f.mb_name.focus();
return false;
}
var pattern = /([^가-힣\x20])/i;
if (pattern.test(f.mb_name.value)) {
alert('이름은 한글로 입력하십시오.');
f.mb_name.select();
return false;
}
}
// 별명 검사
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);
f.reg_mb_email.select();
return false;
}
}
if (typeof f.mb_icon != 'undefined') {
if (f.mb_icon.value) {
if (!f.mb_icon.value.toLowerCase().match(/.(gif)$/i)) {
alert('회원아이콘이 gif 파일이 아닙니다.');
f.mb_icon.focus();
return false;
}
}
}
if (typeof(f.mb_recommend) != 'undefined') {
if (f.mb_id.value == f.mb_recommend.value) {
alert('본인을 추천할 수 없습니다.');
f.mb_recommend.focus();
return false;
}
}
<? echo chk_captcha_js(); ?>
return true;
}
</script>

View File

@ -0,0 +1,43 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="reg_result">
<div id="reg_result_logo"><img src="<?=$member_skin_url?>/img/reg_result_logo.jpg" alt=""></div>
<p>
<strong><?=$mb['mb_name']?></strong>님의 회원가입을 진심으로 축하합니다.<br>
</p>
<? if ($config['cf_use_email_certify']) { ?>
<p>
회원 가입 시 입력하신 이메일 주소로 인증메일이 발송되었습니다.<br>
발송된 인증메일을 확인하신 후 인증처리를 하시면 사이트를 원활하게 이용하실 수 있습니다.
</p>
<div id="reg_result_email">
<span>아이디</span>
<strong><?=$mb['mb_id']?></strong><br>
<span>이메일 주소</span>
<strong><?=$mb['mb_email']?></strong>
</div>
<p>
이메일 주소를 잘못 입력하셨다면, 사이트 관리자에게 문의해주시기 바랍니다.
</p>
<? } ?>
<p>
회원님의 패스워드는 아무도 알 수 없는 암호화 코드로 저장되므로 안심하셔도 좋습니다.<br>
아이디, 패스워드 분실시에는 회원가입시 입력하신 패스워드 분실시 질문, 답변을 이용하여 찾을 수 있습니다.
</p>
<p>
회원 탈퇴는 언제든지 가능하며 일정기간이 지난 후, 회원님의 정보는 삭제하고 있습니다.<br>
감사합니다.
</p>
<div class="btn_confirm">
<a href="<?=G4_URL?>/" class="btn02">메인으로</a>
</div>
</div>

View File

@ -0,0 +1,5 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 자신만의 코드를 넣어주세요.
?>

View File

@ -0,0 +1,37 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="scrap" class="new_win">
<h1><?=$g4['title']?></h1>
<table class="basic_tbl">
<caption>스크랩 목록</caption>
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">게시판</th>
<th scope="col">제목</th>
<th scope="col">보관일시</th>
<th scope="col">삭제</th>
</tr>
</thead>
<tbody>
<? for ($i=0; $i<count($list); $i++) { ?>
<tr>
<td class="td_num"><?=$list[$i]['num']?></td>
<td class="td_board"><a href="<?=$list[$i]['opener_href']?>" target="_blank" onclick="opener.document.location.href='<?=$list[$i]['opener_href']?>'; return false;"><?=$list[$i]['bo_subject']?></a></td>
<td><a href="<?=$list[$i]['opener_href_wr_id']?>" target="_blank" onclick="opener.document.location.href='<?=$list[$i]['opener_href_wr_id']?>'; return false;"><?=$list[$i]['subject']?></a></td>
<td class="td_datetime"><?=$list[$i]['ms_datetime']?></td>
<td class="td_mng"><a href="<? echo $list[$i]['del_href']; ?>" onclick="del(this.href); return false;">삭제</a></td>
</tr>
<? } ?>
<? if ($i == 0) echo "<tr><td colspan=\"5\" class=\"empty_table\">자료가 없습니다.</td></tr>"; ?>
</tbody>
</table>
<?=get_paging($config['cf_write_pages'], $page, $total_page, "?$qstr&amp;page=");?>
<div class="btn_win"><a href="javascript:;" onclick="window.close();">창닫기</a></div>
</div>

View File

@ -0,0 +1,34 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="scrap_do" class="new_win">
<h1>스크랩하기</h1>
<form name="f_scrap_popin" method="post" action="./scrap_popin_update.php">
<input type="hidden" name="bo_table" value="<?=$bo_table?>">
<input type="hidden" name="wr_id" value="<?=$wr_id?>">
<table class="frm_tbl">
<caption>제목 확인 및 댓글 쓰기</caption>
<tbody>
<tr>
<th scope="row">제목</th>
<td><?=get_text(cut_str($write['wr_subject'], 255))?></td>
</tr>
<tr>
<th scope="row"><label for="wr_content">댓글</label></th>
<td><textarea id="wr_content" name="wr_content"></textarea></td>
</tr>
</tbody>
</table>
<p class="new_win_desc">
스크랩을 하시면서 감사 혹은 격려의 댓글을 남기실 수 있습니다.
</p>
<div class="btn_win">
<input type="submit" class="btn_submit" value="스크랩">
</div>
</form>
</div>

View File

@ -0,0 +1,62 @@
<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div id="post_code" class="new_win">
<h1><?=$g4['title']?></h1>
<form name="fzip" method="get" autocomplete="off">
<input type="hidden" name="frm_name" value="<?=$frm_name?>">
<input type="hidden" name="frm_zip1" value="<?=$frm_zip1?>">
<input type="hidden" name="frm_zip2" value="<?=$frm_zip2?>">
<input type="hidden" name="frm_addr1" value="<?=$frm_addr1?>">
<input type="hidden" name="frm_addr2" value="<?=$frm_addr2?>">
<fieldset>
<label for="addr1">동/읍/면/리 검색</label>
<input type="text" id="addr1" name="addr1" class="fs_input" value="<?=$addr1?>" required minlength=2>
<input type="submit" class="fs_submit" value="검색">
</fieldset>
<!-- 검색결과 여기서부터 -->
<script>
document.fzip.addr1.focus();
</script>
<? if ($search_count > 0) { ?>
<dl>
<dt>총 <?=$search_count?>건 가나다순 정렬</dt>
<dd>
<ul>
<? for ($i=0; $i<count($list); $i++) { ?>
<li><a href='javascript:;' onclick="find_zip('<?=$list[$i][zip1]?>', '<?=$list[$i][zip2]?>', '<?=$list[$i][addr]?>');"><span class="post_code"><?=$list[$i][zip1]?>-<?=$list[$i][zip2]?></span> <?=$list[$i][addr]?> <?=$list[$i][bunji]?></a></li>
<? } ?>
</ul>
</dd>
</dl>
<p>검색결과가 끝났습니다.</p>
<div class="btn_win">
<a href="javascript:window.close();">창닫기</a>
</div>
<script>
function find_zip(zip1, zip2, addr1)
{
var of = opener.document.<?=$frm_name?>;
of.<?=$frm_zip1?>.value = zip1;
of.<?=$frm_zip2?>.value = zip2;
of.<?=$frm_addr1?>.value = addr1;
of.<?=$frm_addr2?>.focus();
window.close();
return false;
}
</script>
<? } ?>
</div>