5.3 버전 내용 적용
BIN
skin/social/img/btn_p.jpg
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
skin/social/img/login_id.jpg
Normal file
|
After Width: | Height: | Size: 466 B |
BIN
skin/social/img/login_pw.jpg
Normal file
|
After Width: | Height: | Size: 480 B |
BIN
skin/social/img/plus_minus.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
skin/social/img/sns_fb_s.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
skin/social/img/sns_gp_s.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
skin/social/img/sns_kakao_s.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
skin/social/img/sns_logo.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
skin/social/img/sns_logo_not.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
skin/social/img/sns_naver_s.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
skin/social/img/sns_payco_s.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
skin/social/img/sns_twitter_s.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
0
skin/social/index.php
Normal file
85
skin/social/social_login.skin.php
Normal file
@ -0,0 +1,85 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if( ! $config['cf_social_login_use']) { //소셜 로그인을 사용하지 않으면
|
||||
return;
|
||||
}
|
||||
|
||||
$social_pop_once = false;
|
||||
|
||||
$self_url = G5_BBS_URL."/login.php";
|
||||
|
||||
//새창을 사용한다면
|
||||
if( G5_SOCIAL_USE_POPUP ) {
|
||||
$self_url = G5_SOCIAL_LOGIN_URL.'/popup.php';
|
||||
}
|
||||
|
||||
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10);
|
||||
?>
|
||||
|
||||
<div id="sns_login" class="login-sns sns-wrap-32 sns-wrap-over">
|
||||
<h3>소셜계정으로 로그인</h3>
|
||||
<div class="sns-wrap">
|
||||
<?php if( social_service_check('naver') ) { //네이버 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=naver&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-naver" title="네이버">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">네이버<i> 로그인</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('kakao') ) { //카카오 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=kakao&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-kakao" title="카카오">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">카카오<i> 로그인</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('facebook') ) { //페이스북 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=facebook&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-facebook" title="페이스북">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">페이스북<i> 로그인</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('google') ) { //구글 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=google&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-google" title="구글">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">구글+<i> 로그인</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('twitter') ) { //트위터 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=twitter&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-twitter" title="트위터">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">트위터<i> 로그인</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('payco') ) { //페이코 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=payco&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-payco" title="페이코">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">페이코 로그인</span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
|
||||
<?php if( G5_SOCIAL_USE_POPUP && !$social_pop_once ){
|
||||
$social_pop_once = true;
|
||||
?>
|
||||
<script>
|
||||
jQuery(function($){
|
||||
$(".sns-wrap").on("click", "a.social_link", function(e){
|
||||
e.preventDefault();
|
||||
|
||||
var pop_url = $(this).attr("href");
|
||||
var newWin = window.open(
|
||||
pop_url,
|
||||
"social_sing_on",
|
||||
"location=0,status=0,scrollbars=0,width=600,height=500"
|
||||
);
|
||||
|
||||
if(!newWin || newWin.closed || typeof newWin.closed=='undefined')
|
||||
alert('브라우저에서 팝업이 차단되어 있습니다. 팝업 활성화 후 다시 시도해 주세요.');
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
85
skin/social/social_outlogin.skin.1.php
Normal file
@ -0,0 +1,85 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if( ! $config['cf_social_login_use']) { //소셜 로그인을 사용하지 않으면
|
||||
return;
|
||||
}
|
||||
|
||||
$social_pop_once = false;
|
||||
|
||||
$self_url = G5_BBS_URL."/login.php";
|
||||
|
||||
//새창을 사용한다면
|
||||
if( G5_SOCIAL_USE_POPUP ) {
|
||||
$self_url = G5_SOCIAL_LOGIN_URL.'/popup.php';
|
||||
}
|
||||
|
||||
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10);
|
||||
?>
|
||||
|
||||
<div class="login-sns sns-wrap-32 sns-wrap-over" id="sns_outlogin">
|
||||
<h3>소셜계정으로 로그인</h3>
|
||||
<div class="sns-wrap">
|
||||
<?php if( social_service_check('naver') ) { //네이버 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=naver&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-naver" title="네이버">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">네이버<i> 로그인</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('kakao') ) { //카카오 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=kakao&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-kakao" title="카카오">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">카카오<i> 로그인</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('facebook') ) { //페이스북 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=facebook&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-facebook" title="페이스북">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">페이스북<i> 로그인</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('google') ) { //구글 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=google&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-google" title="구글">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">구글+<i> 로그인</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('twitter') ) { //트위터 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=twitter&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-twitter" title="트위터">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">트위터+<i> 트위터</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('payco') ) { //페이코 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=payco&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-payco" title="페이코">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">페이코 로그인</span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
|
||||
<?php if( G5_SOCIAL_USE_POPUP && !$social_pop_once ){
|
||||
$social_pop_once = true;
|
||||
?>
|
||||
<script>
|
||||
jQuery(function($){
|
||||
$(".sns-wrap").on("click", "a.social_link", function(e){
|
||||
e.preventDefault();
|
||||
|
||||
var pop_url = $(this).attr("href");
|
||||
var newWin = window.open(
|
||||
pop_url,
|
||||
"social_sing_on",
|
||||
"location=0,status=0,scrollbars=0,width=600,height=500"
|
||||
);
|
||||
|
||||
if(!newWin || newWin.closed || typeof newWin.closed=='undefined')
|
||||
alert('브라우저에서 팝업이 차단되어 있습니다. 팝업 활성화 후 다시 시도해 주세요.');
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
88
skin/social/social_register.skin.php
Normal file
@ -0,0 +1,88 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if( ! $config['cf_social_login_use']) { //소셜 로그인을 사용하지 않으면
|
||||
return;
|
||||
}
|
||||
|
||||
$social_pop_once = false;
|
||||
|
||||
$self_url = G5_BBS_URL."/login.php";
|
||||
|
||||
//새창을 사용한다면
|
||||
if( G5_SOCIAL_USE_POPUP ) {
|
||||
$self_url = G5_SOCIAL_LOGIN_URL.'/popup.php';
|
||||
}
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10);
|
||||
?>
|
||||
<div>
|
||||
|
||||
<div class="login-sns sns-wrap-32 sns-wrap-over" id="sns_register">
|
||||
<h2>SNS 계정으로 가입</h2>
|
||||
<div class="sns-wrap">
|
||||
<?php if( social_service_check('naver') ) { //네이버 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=naver&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-naver" title="네이버">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">네이버으로 회원가입하기</span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('kakao') ) { //카카오 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=kakao&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-kakao" title="카카오">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">카카오로 회원가입하기</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('facebook') ) { //페이스북 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=facebook&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-facebook" title="페이스북">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">페이스북로 회원가입하기</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('google') ) { //구글 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=google&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-google" title="구글">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">구글+로 회원가입하기</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('twitter') ) { //트위터 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=twitter&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-twitter" title="트위터">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">트위터로 회원가입하기</i></span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
<?php if( social_service_check('payco') ) { //페이코 로그인을 사용한다면 ?>
|
||||
<a href="<?php echo $self_url;?>?provider=payco&url=<?php echo $urlencode;?>" class="sns-icon social_link sns-payco" title="페이코">
|
||||
<span class="ico"></span>
|
||||
<span class="txt">페이코로 회원가입하기</span>
|
||||
</a>
|
||||
<?php } //end if ?>
|
||||
|
||||
<?php if( G5_SOCIAL_USE_POPUP && !$social_pop_once ){
|
||||
$social_pop_once = true;
|
||||
?>
|
||||
<script>
|
||||
jQuery(function($){
|
||||
$(".sns-wrap").on("click", "a.social_link", function(e){
|
||||
e.preventDefault();
|
||||
|
||||
var pop_url = $(this).attr("href");
|
||||
var newWin = window.open(
|
||||
pop_url,
|
||||
"social_sing_on",
|
||||
"location=0,status=0,scrollbars=0,width=600,height=500"
|
||||
);
|
||||
|
||||
if(!newWin || newWin.closed || typeof newWin.closed=='undefined')
|
||||
alert('브라우저에서 팝업이 차단되어 있습니다. 팝업 활성화 후 다시 시도해 주세요.');
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
192
skin/social/social_register_member.skin.php
Normal file
@ -0,0 +1,192 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if( ! $config['cf_social_login_use']) { //소셜 로그인을 사용하지 않으면
|
||||
return;
|
||||
}
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal.css">', 11);
|
||||
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">', 13);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/remodal/remodal.js"></script>', 10);
|
||||
|
||||
$email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : '';
|
||||
?>
|
||||
|
||||
<!-- 회원정보 입력/수정 시작 { -->
|
||||
<div class="mbskin" id="register_member">
|
||||
|
||||
<script src="<?php echo G5_JS_URL ?>/jquery.register_form.js"></script>
|
||||
|
||||
<!-- 새로가입 시작 -->
|
||||
<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">
|
||||
|
||||
<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">
|
||||
|
||||
<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>
|
||||
<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>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm">
|
||||
<input type="submit" value="회원가입" id="btn_submit" class="btn_submit" accesskey="s">
|
||||
<a href="<?php echo G5_URL ?>" class="btn_cancel">취소</a>
|
||||
</div>
|
||||
</form>
|
||||
<!-- 새로가입 끝 -->
|
||||
|
||||
<!-- 기존 계정 연결 -->
|
||||
|
||||
<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">
|
||||
|
||||
<div class="connect-title">기존 계정에 연결하기</div>
|
||||
|
||||
<div class="connect-desc">
|
||||
기존 아이디에 SNS 아이디를 연결합니다.<br>
|
||||
이 후 SNS 아이디로 로그인 하시면 기존 아이디로 로그인 할 수 있습니다.
|
||||
</div>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
// submit 최종 폼체크
|
||||
function fregisterform_submit(f)
|
||||
{
|
||||
|
||||
if (!f.agree.checked) {
|
||||
alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
|
||||
f.agree.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!f.agree2.checked) {
|
||||
alert("개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
|
||||
f.agree2.focus();
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
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){
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<!-- } 회원정보 입력/수정 끝 -->
|
||||
163
skin/social/social_u_register_form.skin.php
Normal file
@ -0,0 +1,163 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
if( ! $config['cf_social_login_use']) { //소셜 로그인을 사용하지 않으면
|
||||
return;
|
||||
}
|
||||
|
||||
$socials = social_get_provider_service_name('', 'all');
|
||||
|
||||
$session_id = session_id();
|
||||
|
||||
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css">', 10);
|
||||
?>
|
||||
|
||||
<li>
|
||||
<label class="frm_label">SNS 로그인 관리</label>
|
||||
<div class="reg-form sns-wrap-reg">
|
||||
<div class="sns-wrap">
|
||||
|
||||
<?php foreach( $socials as $social=>$provider_name ){
|
||||
|
||||
if( !option_array_checked($social, $config['cf_social_servicelist'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$social_nonce = social_nonce_create($social, $session_id);
|
||||
$add_class='';
|
||||
$title='';
|
||||
if( in_array($social, $my_provides) ){
|
||||
|
||||
$link_href = G5_SOCIAL_LOGIN_URL.'/unlink.php?provider='.$social.'&social_nonce='.$social_nonce;
|
||||
|
||||
$title = $provider_name.' 연결을 해제합니다.';
|
||||
} else {
|
||||
$add_class = ' sns-icon-not';
|
||||
|
||||
$link_href = $self_url.'?provider='.$social.'&mylink=1&url='.$urlencode;
|
||||
|
||||
$title = $provider_name.' 계정을 연결 합니다.';
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
<a href="<?php echo $link_href; ?>" id="sns-<?php echo $social; ?>" class="sns-icon social_link sns-<?php echo $social; ?><?php echo $add_class; ?>" title="<?php echo $title; ?>" data-provider="<?php echo $social; ?>" ><span class="ico"></span><span class="txt"><?php echo $provider_name; ?> 로그인</span></a>
|
||||
|
||||
<?php } //end foreach ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<script>
|
||||
|
||||
function social_get_nonce(provider){
|
||||
var socials = [];
|
||||
|
||||
<?php foreach( $socials as $social=>$v ){ ?>
|
||||
socials["<?php echo $social; ?>"] = "<?php echo social_nonce_create($social, $session_id); ?>";
|
||||
<?php } ?>
|
||||
|
||||
return (typeof socials[provider] != 'undefined') ? socials[provider] : '';
|
||||
}
|
||||
|
||||
function social_link_fn(provider){
|
||||
|
||||
provider = provider.toLowerCase();
|
||||
|
||||
var $icon = jQuery("#sns-"+provider);
|
||||
|
||||
if( $icon.length ){
|
||||
|
||||
var social_url = "<?php echo G5_SOCIAL_LOGIN_URL; ?>",
|
||||
link_href = social_url+"/unlink.php?provider="+provider+"&social_nonce="+social_get_nonce(provider),
|
||||
atitle = provider+" 연결을 해제합니다.";
|
||||
|
||||
$icon.attr({"href":link_href, "title":atitle}).removeClass("sns-icon-not");
|
||||
|
||||
alert('연결 되었습니다');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
jQuery(function($){
|
||||
|
||||
var social_img_path = "<?php echo G5_SOCIAL_LOGIN_URL; ?>",
|
||||
self_url = "<?php echo $self_url; ?>",
|
||||
urlencode = "<?php echo $urlencode; ?>";
|
||||
|
||||
$(".sns-wrap").on("click", ".social_link", function(e){
|
||||
e.preventDefault();
|
||||
|
||||
var othis = $(this);
|
||||
|
||||
if( ! othis.hasClass('sns-icon-not') ){ //소셜계정 해제하기
|
||||
|
||||
if (!confirm('정말 이 계정 연결을 해제하시겠습니까?')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var ajax_url = "<?php echo G5_SOCIAL_LOGIN_URL.'/unlink.php' ?>",
|
||||
mb_id = '',
|
||||
provider = $(this).attr("data-provider");
|
||||
|
||||
if( ! provider ){
|
||||
alert("잘못된 요청! provider 값이 없습니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: ajax_url,
|
||||
type: 'POST',
|
||||
data: {
|
||||
'provider': provider,
|
||||
'mb_id': mb_id,
|
||||
'nonce' : social_get_nonce(provider)
|
||||
},
|
||||
dataType: 'json',
|
||||
cache : false,
|
||||
async: false,
|
||||
success: function(data, textStatus) {
|
||||
if (data.error) {
|
||||
alert(data.error);
|
||||
return false;
|
||||
} else {
|
||||
var atitle = provider+" 계정을 연결 합니다.",
|
||||
link_href = self_url+"?provider="+provider+"&mylink=1&url="+urlencode;
|
||||
|
||||
othis.attr({"href":link_href, "title":atitle}).addClass("sns-icon-not");
|
||||
|
||||
}
|
||||
},
|
||||
error: function(data) {
|
||||
try { console.log(data) } catch (e) { alert(data.error) };
|
||||
}
|
||||
});
|
||||
|
||||
} else { //소셜계정 연결하기
|
||||
|
||||
var pop_url = $(this).attr("href");
|
||||
var is_popup = "<?php echo G5_SOCIAL_USE_POPUP; ?>";
|
||||
|
||||
if( is_popup ){
|
||||
var newWin = window.open(
|
||||
pop_url,
|
||||
"social_sing_on",
|
||||
"location=0,status=0,scrollbars=0,width=600,height=500"
|
||||
);
|
||||
|
||||
if(!newWin || newWin.closed || typeof newWin.closed=='undefined')
|
||||
alert('브라우저에서 팝업이 차단되어 있습니다. 팝업 활성화 후 다시 시도해 주세요.');
|
||||
|
||||
} else {
|
||||
location.replace(pop_url);
|
||||
}
|
||||
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
148
skin/social/style.css
Normal file
@ -0,0 +1,148 @@
|
||||
@charset "utf-8";
|
||||
|
||||
.social_info_guide{background:#f3f3f3;border:1px solid #ddd;margin:0 10px 10px;padding:10px 15px;line-height:1.5em}
|
||||
.bg-warning{margin:0 10px 10px;padding:10px 15px;line-height:1.5em}
|
||||
.bg-warning1{background:#f7dfe4;border:1px solid #eac3cb}
|
||||
.bg-warning2{background:#deeabf;border:1px solid #bde498}
|
||||
.bg-warning3{background:#fff8dc;border:1px solid #f1e4b2}
|
||||
|
||||
/* SNS LOGIN */
|
||||
.login-sns{padding-bottom:10px;margin-top:5px;border: 1px solid #d2d9e6;border-bottom: 1px solid #c1ccda;clear:both;background:#fff;}
|
||||
.login-sns h3{padding-top:10px;text-align:center;color:#777;font-weight:normal}
|
||||
.sns-wrap {margin:10px 0 0;text-align:center}
|
||||
.sns-icon {display:inline-block;vertical-align:middle;text-decoration:none}
|
||||
.sns-icon:hover {text-decoration:none}
|
||||
.sns-icon .ico {display:block;vertical-align:middle}
|
||||
/*.sns-icon .txt {position:absolute;line-height:0;font-size:0;vertical-align:middle;overflow:hidden}*/
|
||||
.sns-icon .txt i {font-style:normal}
|
||||
|
||||
#fregisterform .form_01 .reg-form {margin-bottom:20px}
|
||||
#fregisterform .form_01 .reg-form .sns-wrap {margin:10px 0 0;text-align:left}
|
||||
.reg-form .sns-icon {display:inline-block;vertical-align:middle;text-decoration:none;border-width:1px;border-style:solid;overflow:hidden;margin:0 1px}
|
||||
.reg-form .sns-icon:hover {text-decoration:none}
|
||||
.reg-form .sns-icon .ico {display:block;background:url('./img/sns_logo.png') no-repeat;vertical-align:middle;width:24px;height:24px}
|
||||
.reg-form .sns-icon-not .ico {display:block;background:url('./img/sns_logo_not.png') no-repeat;vertical-align:middle}
|
||||
.reg-form .sns-icon .txt {position:absolute;line-height:0;font-size:0;vertical-align:middle;overflow:hidden}
|
||||
.reg-form .sns-icon .txt i {font-style:normal}
|
||||
|
||||
.sns-wrap-reg .sns-naver {border-color:#18a400;background:#2db400}
|
||||
.sns-wrap-reg .sns-naver .ico {background-position:-29px 0; }
|
||||
.sns-wrap-reg .sns-google {border-color:#ca2c19;background:#dd5443}
|
||||
.sns-wrap-reg .sns-google .ico {background-position:-58px 0}
|
||||
.sns-wrap-reg .sns-facebook {border-color:#2e5393;background:#3a5897}
|
||||
.sns-wrap-reg .sns-facebook .ico {background-position:0 0 }
|
||||
|
||||
.sns-wrap-reg .sns-icon {border-color:#dcdcdc}
|
||||
.sns-wrap-reg .sns-icon-not {border-color:#8b8b8b}
|
||||
.sns-wrap-reg .sns-naver{border-color:#18a400}
|
||||
.sns-wrap-reg .sns-naver .ico {background-position:-29px 0; }
|
||||
.sns-wrap-reg .sns-google .ico {background-position:-58px 0}
|
||||
.sns-wrap-reg .sns-google {border-color:#ca2c19}
|
||||
.sns-wrap-reg .sns-facebook .ico {background-position:0 0 }
|
||||
.sns-wrap-reg .sns-facebook {border-color:#2e5393}
|
||||
.sns-wrap-reg .sns-kakao .ico {background-position:-87px 0}
|
||||
.sns-wrap-reg .sns-twitter {border-color:#488FC9}
|
||||
.sns-wrap-reg .sns-twitter .ico {background-position:-145px 0}
|
||||
.sns-wrap-reg .sns-payco {border-color:#C44646}
|
||||
.sns-wrap-reg .sns-payco .ico {background-position:-116px 0}
|
||||
.sns-wrap-reg .sns-kakao {border-color:#f2df00}
|
||||
|
||||
/* SNS by COLOR */
|
||||
.sns-wrap-over .sns-naver{background:url('./img/sns_naver_s.png') no-repeat}
|
||||
.sns-wrap-over .sns-google {background:url('./img/sns_gp_s.png') no-repeat}
|
||||
.sns-wrap-over .sns-facebook {background:url('./img/sns_fb_s.png') no-repeat}
|
||||
.sns-wrap-over .sns-twitter {background:url('./img/sns_twitter_s.png') no-repeat}
|
||||
.sns-wrap-over .sns-payco {background:url('./img/sns_payco_s.png') no-repeat}
|
||||
.sns-wrap-over .sns-kakao {background:url('./img/sns_kakao_s.png') no-repeat}
|
||||
.reg-form .sns-icon-not {border-color:#8b8b8b}
|
||||
|
||||
.social-login-loading{width:100%;height:auto;text-align:center}
|
||||
.social-login-loading p{display:inline-block;margin-top:10px;padding:40px 0 0;line-height:30px}
|
||||
|
||||
/* 아웃로그인 */
|
||||
#sns_outlogin .sns-icon {overflow:hidden;margin:0 1px}
|
||||
#sns_outlogin .sns-icon .txt {position:absolute;line-height:0;font-size:0;vertical-align:middle;overflow:hidden}
|
||||
#sns_outlogin .sns-icon .ico {width:30px;height:30px}
|
||||
|
||||
/*로그인 */
|
||||
#sns_login{border:0;margin-top:15px ;padding: 20px 50px 0;border-top:1px solid #edeaea}
|
||||
#sns_login h3{;padding:10px 0 0;text-align:left;font-weight:bold}
|
||||
#sns_login .sns-icon{display:block;height:40px;line-height:40px;width:100%;margin:0 0 5px;padding-left:40px;text-align:left;color:#fff;border-radius:2px}
|
||||
#sns_login .sns-naver{background-color:#1fc800;background-position:5px 5px;border-bottom:1px solid #1ea505}
|
||||
#sns_login .sns-kakao{background-color:#ffeb00;background-position:5px 5px;border-bottom:1px solid #e2c10a}
|
||||
#sns_login .sns-kakao {color:#3c1e1e}
|
||||
#sns_login .sns-facebook{background-color:#3b579d;background-position:5px 5px;border-bottom:1px solid #28458f}
|
||||
#sns_login .sns-google{background-color:#db4a3a;background-position:5px 5px;border-bottom:1px solid #c03121}
|
||||
#sns_login .sns-twitter{background-color:#1ea1f2;background-position:5px 5px;border-bottom:1px solid #1e82c0}
|
||||
#sns_login .sns-payco{background-color:#df0b00;background-position:5px 5px;border-bottom:1px solid #9d0800}
|
||||
#sns_login .txt{text-align:left;padding-left:10px;border-left:1px solid rgba(0,0,0,0.1);display:block;font-weight:bold}
|
||||
#sns_login .txt:hover{background:rgba(0,0,0,0.07)}
|
||||
|
||||
/*회원가입 */
|
||||
#sns_register{margin:0 0 10px;padding:0;text-align:center}
|
||||
#sns_register h2{text-align: left;padding: 15px 20px;border-bottom: 1px solid #dbdbdb;background: #f8f8f8;}
|
||||
#sns_register .sns-wrap:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#sns_register .sns-wrap{display:inline-block;margin:18px 0 15px;vertical-align:top}
|
||||
#sns_register .sns-icon{display:inline-block;height:40px;line-height:40px;width:210px;margin:0 3px 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}
|
||||
#sns_register .sns-kakao{background-color:#ffeb00;background-position:5px 5px;border-bottom:1px solid #e2c10a}
|
||||
#sns_register .sns-kakao {color:#3c1e1e}
|
||||
#sns_register .sns-facebook{background-color:#3b579d;background-position:5px 5px;border-bottom:1px solid #28458f}
|
||||
#sns_register .sns-google{background-color:#db4a3a;background-position:5px 5px;border-bottom:1px solid #c03121}
|
||||
#sns_register .sns-twitter{background-color:#1ea1f2;background-position:5px 5px;border-bottom:1px solid #1e82c0}
|
||||
#sns_register .sns-payco{background-color:#df0b00;background-position:5px 5px;border-bottom:1px solid #9d0800}
|
||||
#sns_register .txt{text-align:;padding-left:10px;border-left:1px solid rgba(0,0,0,0.1);display:block;font-weight:bold}
|
||||
#sns_register .txt:hover{background:rgba(0,0,0,0.07)}
|
||||
|
||||
/*기존 계정에 연결하기*/
|
||||
|
||||
/* Styles for Accordion */
|
||||
|
||||
.mbskin .toggle{position:relative;display:block;border:1px solid #c6cacc;margin-top:-1px;background-color: #fcfcfc;}
|
||||
.mbskin .toggle .toggle-title{padding:13px 15px;line-height:20px}
|
||||
.mbskin .toggle .title-name{display:block}
|
||||
.mbskin .toggle .toggle-inner{padding:15px;line-height:1.5em;display:none;background:#fff;border-top:1px solid #e2e2e2;}
|
||||
.mbskin .toggle .toggle-inner div{max-width:100%}
|
||||
.mbskin .right_i{position:absolute;font-size:0.92em;top:10px;right:10px;padding:0 10px 0 0;border-radius:3px;display:inline-block;z-index: 2;background: #3497d9;color: #fff;border-bottom-color: #1977b5;cursor:pointer}
|
||||
.mbskin .toggle .toggle-title .right_i i{background:url("./img/plus_minus.png") 0 -24px no-repeat;width:20px;height:24px;display:inline-block;vertical-align:middle}
|
||||
.mbskin .toggle .toggle-title.active .right_i i{background:url("./img/plus_minus.png") 0 0 no-repeat}
|
||||
.mbskin .all_agree{position:relative;display:block;;margin-bottom:6px;background:#fff;border:1px solid #c6cacc;border-top:0;padding:13px 15px;line-height:20px}
|
||||
|
||||
#register_member .sns_tbl{background:#fff;;margin:10px 0;border:1px solid #c6cacc;}
|
||||
.sns_tbl table{border:0}
|
||||
.sns_tbl caption{ padding: 0 20px;line-height: 45px;font-size: 1.083em;border-bottom: 1px solid #e2e2e2;color: #253dbe;background: #fcfcfc;}
|
||||
.sns_tbl th{width:100px;text-align:right;padding:10px;}
|
||||
.sns_tbl td{padding:10px;}
|
||||
.sns_tbl .email_msg{color:#777;margin:5px 0 0}
|
||||
|
||||
#fregisterform .btn_confirm{text-align:center;margin:20px 0}
|
||||
#fregisterform .btn_confirm .btn_submit{height:45px;;padding:0 30px;font-weight:bold;font-size:1.083em}
|
||||
#fregisterform .btn_confirm .btn_cancel{line-height:45px;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em}
|
||||
|
||||
#sns-link-pnl .connect-close {position:absolute;top:10px;right:10px;margin:0;padding:0;width:30px;height:30px;border:0;background:transparent;color:#383838;cursor:pointer;font-size:15px}
|
||||
#sns-link-pnl .connect-close:hover {color:#ff5191}
|
||||
#sns-link-pnl .connect-close .fa {margin:0 0 0 1px}
|
||||
#sns-link-pnl .connect-close .txt {position:absolute;line-height:0;font-size:0;overflow:hidden}
|
||||
|
||||
#sns-link-pnl #login_fs{margin:0 auto;width:100%;text-align:left}
|
||||
#sns-link-pnl #login_fs label{display:block;display: block;font-size: 0.93em;color: #7a7a7a;margin: 5px 0;}
|
||||
#sns-link-pnl #login_fs .lg_id,#sns-link-pnl #login_fs .lg_pw{width:100%;margin-bottom:5px;}
|
||||
#sns-link-pnl #login_id,#sns-link-pnl #login_pw{width:100%}
|
||||
#sns-link-pnl #login_fs .login_submit{width: 100%;height: 44px;font-size:1.167em;margin:10px auto 0;font-weight:bold;cursor:pointer;display:block;}
|
||||
#sns-link-pnl .connect-fg {height:320px;text-align:left}
|
||||
#sns-link-pnl .login_fs {margin:0 auto;width:260px}
|
||||
#sns-link-pnl .connect-fg .connect-desc {margin:0 0 10px;padding:15px;border:1px solid #d6e9c6;background:#dff0d8;color:#3c763d}
|
||||
#sns-link-pnl .connect-fg .connect-title {margin-top:25px;margin-bottom:10px;font-size:1.667em;font-weight:bold;text-align:center}
|
||||
|
||||
.mbskin .member_connect:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.mbskin .member_connect{margin-top:80px;background:#d9d9d9;border-radius:3px;padding:10px;text-align:left}
|
||||
.mbskin .member_connect .strong{font-size:1em;font-weight:bold;margin:0 0 10px}
|
||||
.mbskin .member_connect button{color: #fff;border:0;padding:6px 20px 7px;border:1px solid #6446e7;font-weight:bold;background: #6f50e7;border-radius:3px;font-size:0.91em}
|
||||
.mbskin .member_connect button:hover{background:#6446e7}
|
||||
|
||||
html.remodal-is-locked {overflow-y:scroll !important}
|
||||
|
||||
@media only screen and (min-width: 641px) {
|
||||
#sns-link-pnl.remodal{max-width:400px;padding:50px}
|
||||
}
|
||||