mirror of https://github.com/IoTcat/Sakura.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
197 lines
7.2 KiB
197 lines
7.2 KiB
<?php |
|
/** |
|
Template Name: Register |
|
*/ |
|
|
|
get_header(); |
|
if( !empty($_POST['register_reg']) ) { |
|
$error = ''; |
|
$sanitized_user_login = sanitize_user( $_POST['user_login'] ); |
|
$user_email = apply_filters( 'user_registration_email', $_POST['user_email'] ); |
|
|
|
// Check the username |
|
if ( $sanitized_user_login == '' ) { |
|
$error .= '<strong>'.__("Error","sakura")./*错误*/'</strong>:'.__("Please enter username.","sakura")./*请输入用户名。*/'<br />'; |
|
} elseif ( ! validate_username( $sanitized_user_login ) ) { |
|
$error .= '<strong>'.__("Error","sakura")./*错误*/'</strong>:'.__("Invalid characters, please enter a valid username.","sakura")./*此用户名包含无效字符,请输入有效的用户名。*/'<br />'; |
|
$sanitized_user_login = ''; |
|
} elseif ( username_exists( $sanitized_user_login ) ) { |
|
$error .= '<strong>'.__("Error","sakura")./*错误*/'</strong>:'.__("This username has been registered.","sakura")./*该用户名已被注册。*/'<br />'; |
|
} |
|
|
|
// Check the e-mail address |
|
if ( $user_email == '' ) { |
|
$error .= '<strong>'.__("Error","sakura")./*错误*/'</strong>:'.__("Please enter email address.","sakura")./*请填写电子邮件地址。*/'<br />'; |
|
} elseif ( ! is_email( $user_email ) ) { |
|
$error .= '<strong>'.__("Error","sakura")./*错误*/'</strong>:'.__("Invalid email address","sakura")./*电子邮件地址不正确。*/'<br />'; |
|
$user_email = ''; |
|
} elseif ( email_exists( $user_email ) ) { |
|
$error .= '<strong>'.__("Error","sakura")./*错误*/'</strong>:'.__("This email address has been registered.","sakura")./*该电子邮件地址已经被注册。*/'<br />'; |
|
} |
|
|
|
// Check the password |
|
if(strlen($_POST['user_pass']) < 6){ |
|
$error .= '<strong>'.__("Error","sakura")./*错误*/'</strong>:'.__("Password length is at least 6 digits","sakura")./*密码长度至少6位。*/'<br />'; |
|
}elseif($_POST['user_pass'] != $_POST['user_pass2']){ |
|
$error .= '<strong>'.__("Error","sakura")./*错误*/'</strong>:'.__("Inconsistent password entered twice","sakura")./*两次输入的密码不一致。*/'<br />'; |
|
} |
|
|
|
// verification |
|
if(akina_option('login_validate') && strlen($_POST['verification']) > 0 ){ |
|
$error .= '<strong>'.__("Error","sakura")./*错误*/'</strong>:'.__("Please drag the slider to verify identity","sakura")./*请拖动滑块验证身份*/'<br />'; |
|
} |
|
|
|
if($error == '') { |
|
$user_id = wp_create_user( $sanitized_user_login, $_POST['user_pass'], $user_email ); |
|
if ( !$user_id ) { |
|
$error .= '<strong>'.__("Error","sakura")./*错误*/'</strong>:'.__("Unable to complete registration request...Please contact","sakura")./*无法完成注册请求... 请联系*/'<a href=\"mailto:'. get_option( 'admin_email' ) .'\">'.__("administrator","sakura")./*管理员*/'</a>!<br />'; |
|
}else if (!is_user_logged_in()) { |
|
$user = get_userdatabylogin($sanitized_user_login); |
|
$user_id = $user->ID; |
|
// 自动登录 |
|
wp_set_current_user($user_id, $user_login); |
|
wp_set_auth_cookie($user_id); |
|
do_action('wp_login', $user_login); |
|
} |
|
} |
|
} |
|
?> |
|
<div id="primary" class="content-area"> |
|
<main id="main" class="site-main" role="main"> |
|
<?php if(akina_option('ex_register_open')) : ?> |
|
<?php if(!is_user_logged_in()){ ?> |
|
<div class="ex-register"> |
|
<div class="ex-register-title"> |
|
<h3>New Account</h3> |
|
</div> |
|
<form action="<?php echo $_SERVER["REQUEST_URI"]; ?>" method="post"> |
|
<p><input type="text" name="user_login" tabindex="1" id="user_login" class="input" value="<?php if(!empty($sanitized_user_login)) echo $sanitized_user_login; ?>" placeholder="用户名" required /></p> |
|
<p><input type="text" name="user_email" tabindex="2" id="user_email" class="input" value="<?php if(!empty($user_email)) echo $user_email; ?>" size="25" placeholder="电子邮箱" required /></p> |
|
<p><input id="user_pwd1" class="input" tabindex="3" type="password" tabindex="21" size="25" value="" name="user_pass" placeholder="密码" required /></p> |
|
<p><input id="user_pwd2" class="input" tabindex="4" type="password" tabindex="21" size="25" value="" name="user_pass2" placeholder="确认密码" required /></p> |
|
<?php if(akina_option('login_validate')) : ?> |
|
<div id="verification-slider"> |
|
<div id="slider"> |
|
<div id="slider_bg"></div> |
|
<span id="label">»</span><span id="labelTip"><?php _e("Drag the slider to verify","sakura")/*拖动滑块验证*/?></span> |
|
</div> |
|
<input type="hidden" name="verification" value="verification" /> |
|
</div> |
|
<?php endif; ?> |
|
<input type="hidden" name="register_reg" value="ok" /> |
|
<?php if(!empty($error)) { echo '<p class="user-error">'.$error.'</p>'; } ?> |
|
<input class="button register-button" name="submit" type="submit" value="<?php _e("Sign up","sakura")/*注 册*/?>"> |
|
</form> |
|
</div> |
|
<?php }else{ |
|
$loadurl = akina_option('exlogin_url') ? akina_option('exlogin_url') : get_bloginfo('url'); |
|
?> |
|
<script>//window.location.href='<?php echo $loadurl; ?>';</script> |
|
<?php } ?> |
|
<?php else : ?> |
|
<div class="register-close"><p><?php _e("Registration is not open yet","sakura")/*暂未开放注册。*/?></p></div> |
|
<?php endif; ?> |
|
</main><!-- #main --> |
|
</div><!-- #primary --> |
|
<style type="text/css"> |
|
#slider { |
|
margin: 0 auto 20px auto; |
|
width: 300px; |
|
height: 46px; |
|
position: relative; |
|
border-radius: 3px; |
|
background-color: #eee; |
|
overflow: hidden; |
|
text-align: center; |
|
user-select: none; |
|
-moz-user-select: none; |
|
-webkit-user-select: none; |
|
} |
|
|
|
#slider_bg { |
|
position: absolute; |
|
left: 0; |
|
top: 0; |
|
height: 100%; |
|
background-color: #444; |
|
z-index: 1; |
|
border-radius: 3px 0 0 3px; |
|
} |
|
|
|
#label { |
|
width: 46px; |
|
position: absolute; |
|
left: 0; |
|
top: 0; |
|
height: 46px; |
|
line-height: 38px; |
|
border: 1px solid #ddd; |
|
background: #fff; |
|
z-index: 3; |
|
cursor: move; |
|
color: #E67474; |
|
font-size: 38px; |
|
font-weight: 900; |
|
border-radius: 3px; |
|
} |
|
|
|
#labelTip { |
|
position: absolute; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
font-size: 13px; |
|
font-family: 'Microsoft Yahei', serif; |
|
color: #888; |
|
line-height: 46px; |
|
text-align: center; |
|
z-index: 2; |
|
} |
|
#verification-slider{ |
|
margin: 1em; |
|
} |
|
#verification-ok{ |
|
color: #777; |
|
} |
|
</style> |
|
|
|
<?php |
|
get_footer(); |
|
?> |
|
<script type="text/javascript"> |
|
var startTime = 0; |
|
var endTime = 0; |
|
var numTime = 0; |
|
$(function () { |
|
var slider = new SliderUnlock("#slider",{ |
|
successLabelTip : "OK" |
|
},function(){ |
|
var sli_width = $("#slider_bg").width(); |
|
$('#verification-slider').html('').append('<input id="verification-ok" class="input" type="text" size="25" value="Pass!" name="verification" disabled="true" />'); |
|
|
|
endTime = nowTime(); |
|
numTime = endTime-startTime; |
|
endTime = 0; |
|
startTime = 0; |
|
// 获取到滑动使用的时间 滑动的宽度 |
|
// alert( numTime ); |
|
// alert( sli_width ); |
|
}); |
|
slider.init(); |
|
}) |
|
|
|
/** |
|
* 获取时间精确到毫秒 |
|
* @type |
|
*/ |
|
function nowTime(){ |
|
var myDate = new Date(); |
|
var H = myDate.getHours();//获取小时 |
|
var M = myDate.getMinutes(); //获取分钟 |
|
var S = myDate.getSeconds();//获取秒 |
|
var MS = myDate.getMilliseconds();//获取毫秒 |
|
var milliSeconds = H * 3600 * 1000 + M * 60 * 1000 + S * 1000 + MS; |
|
return milliSeconds; |
|
} |
|
</script> |
|
<script type='text/javascript' src='<?php bloginfo("template_url"); ?>/user/verification.js'></script>
|