📄 reg.php
字号:
<?php
define('THIS_SCRIPT', 'reg');
require_once 'global.php';
//Dedecms API
require_once 'pp_dederemote_interface.php';
$lang = load_lang($lang, 'reg');
$stats = $lang['strings1'];
if ( $fsetting['applynewuser'] == 0 ){
$arrNavMenu = array(
0=>array('linktitle'=>$stats)
);
head(1,0,0,$arrNavMenu);
showmsg($lang['tpl.str87']);
footer();
}
if ($action == 'apply'){
$arrNavMenu = array(
0=>array('linktitle'=>$lang['strings1'],'linkurl'=>'reg.php')
,1=>array('linktitle'=>$lang['strings3'])
);
head(1,0,0,$arrNavMenu);
reg_step1();
footer();
//Add by xiao D
} elseif($action == 'usernamecheck') {
$username = str_replace(' ', '', $username);
if(!$username) {
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str1']."\", \"username\")</script>";
exit;
}
$username = strip_tags($username);
list($minlength, $maxlength) = explode(',', $fsetting['usernamelength']);
if(strlen($username) < $minlength || strlen($username) > $maxlength) {
$lang['lang.str2'] = str_replace(array('$minlength', '$maxlength'), array($minlength, $maxlength), $lang['lang.str2']);
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str2']."\", \"username\")</script>";
exit;
}
$query = $db->query("select forum_setting from {$dv}setup");
$rs = $db->fetch_array($query);
$_reglist = explode("|||",$rs['forum_setting']);
$reglimit = $_reglist[4];
$reglimit = explode(',', $reglimit);
foreach($reglimit as $val) {
if(@strpos($username, $val) !== false) {
$lang['lang.str3'] = str_replace('$val', $val, $lang['lang.str3']);
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str3']."\", \"username\")</script>";
exit;
}
}
if (1 == preg_match('/=|%|'.chr(32).'|\?|&|;|\||,|\'|'.chr(34).'|'.chr(9).'|'.preg_quote($lang['lang.str22']).'|\$/i',trim($username))) {
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str19']."\", \"username\")</script>";
exit;
}
$charscope = '\x'.strtoupper(dechex(10)).'-\x'.dechex(ord('A')-1).'\x'.dechex(ord('Z')+1).'-\x'.dechex(ord('a')-1).'-\x'.dechex(ord('z')+1).'\x'.dechex(ord('_')).'';
if (1 == preg_match('#^['.$charscope.']+$#i', $username)) {
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str19']."\", \"username\")</script>";
exit;
}
$query = $db->query("SELECT COUNT(*) AS count FROM {$dv}user WHERE username='$username'", 'UNBUFFERED');
$rs =& $db->fetch_array($query);
if($rs['count'] > 0) {
$lang['lang.str4'] = str_replace('$username', $username, $lang['lang.str4']);
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str4']."\", \"username\")</script>";
exit;
} else {
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str5']."\", \"username\")</script>";
exit;
}
} elseif($action == 'emailcheck') {
$email = str_replace(' ', '', $email);
if(!$email) {
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str6']."\", \"email\")</script>";
exit;
}
if(!ereg("^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$", $email)) {
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str7']."\", \"email\")</script>";
exit;
}
if($fsetting['maillimited']) {
$query = $db->query("SELECT COUNT(*) AS count FROM {$dv}user WHERE useremail='$email'", 'UNBUFFERED');
$rs =& $db->fetch_array($query);
if($rs['count'] > 0) {
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str8']."\", \"email\")</script>";
exit;
}
}
echo "<script language=\"javascript\">parent.msgshow(\"".$lang['lang.str9']."\", \"email\")</script>";
exit;
}elseif($action == 'save'){
$arrNavMenu = array(
0=>array('linktitle'=>$lang['strings1'],'linkurl'=>'reg.php')
,1=>array('linktitle'=>$lang['strings4'])
);
head(1,0,0,$arrNavMenu);
reg_step2();
footer();
}else{
$arrNavMenu = array(
0=>array('linktitle'=>$lang['strings1'],'linkurl'=>'reg.php')
,1=>array('linktitle'=>$lang['strings2'])
);
head(1,0,0,$arrNavMenu);
include_once printout('reg');
footer();
}
function reg_step1(){
global $fsetting,$lang,$action,$_DCACHE,$dv,$db,$userid;
if($userid>0){
showmsg($lang['lang.str21']);
exit;
}
//$lang = load_lang($lang, 'usermanager.mymodify');
$lang = load_lang($lang, 'usermanager');
$namelength = explode(',',$fsetting['usernamelength']);
include_once CACHE_PATH.'forum_face.php';
$mquery=$db->query("select groupname from {$dv}groupname");
$user_shengxiao = chk_select('',$lang['template.strings11']);
$user_blood = chk_select('','A,B,AB,O');
$user_belief = chk_select('',$lang['template.strings16']);
$user_occupation = chk_select('',$lang['template.strings12']);
$user_marital = chk_select('',$lang['template.strings13']);
$user_education = chk_select('',$lang['template.strings14']);
$user_character = Chk_KidneyType("character",'',$lang['template.strings15']);
include_once printout('reg');
}
function reg_step2(){
global $dv,$db,$action,$lang,$fsetting,$userinfo,$getcode,$msetting,$character,$userid;
/*set_cookie("userid","",-86400 * 365);
set_cookie("username","",-86400 * 365);
set_cookie("password","",-86400 * 365);
set_cookie("userhidden","",-86400 * 365);
set_cookie("joindate","",-86400 * 365);
set_cookie('onlinecachetime', '');
if ($userid > 0) {
$db->query("DELETE FROM {$dv}online WHERE id='{$userid}'");
$db->query("UPDATE {$dv}user SET userhidden=1 WHERE userid='{$userid}'");
}
cookie_destory(); // 清除上一次的COOKIES
*/
$regtime = get_cookie("regtime");
$showmsg = '';
if ($regtime !='' && $fsetting['newusertime'] > 0){
if (datediff("S",$regtime,gmdate("Y-m-d H:i:s")) < $fsetting['newusertime']){
$showmsg .= str_replace('{$regtime}',$fsetting['newusertime'],$lang['strings5']). '|||';
}
}
$chkpost = ChkPost();
if ($chkpost == false){
$showmsg .= $lang['strings6']. '|||';
}
$username = str_replace(' ', '', $GLOBALS['username']);
$username = preg_replace('/\<(.+?)\>/is', '', $username);
$namelength = strlen($username);
list($usernameminlength,$usernamemaxlength) = explode(',',$fsetting['usernamelength']);
if ($username == '' || $namelength > $usernamemaxlength || $namelength < $usernameminlength){
$lang['strings7'] = str_replace('{$RegMaxLength}',$usernamemaxlength,$lang['strings7']);
$lang['strings7'] = str_replace('{$RegMinLength}',$usernameminlength,$lang['strings7']);
$showmsg .= $lang['strings7']. '|||';
}
if (IsTrueName($username) === false){
$showmsg .= $lang['strings8']. '|||';
}
//时区验证部分
//数字用户名验证部分
//验证码验证部分
if ( $fsetting['usergetcode'] == 1 && ($userinfo['getcode'] == '' || $userinfo['getcode'] != $getcode) ){
$showmsg .= $lang['strings31']. '|||';
}
if ($fsetting['regsplitwords'] != ''){
$fsetting['regsplitwords'] = explode(',',$fsetting['regsplitwords']);
for ($i=0; $i<count($fsetting['regsplitwords']); $i++){
if ($fsetting['regsplitwords'][$i] != ''){
if (strpos($username,"{$fsetting['regsplitwords'][$i]}") === true){
$showmsg .= $lang['strings8']. '|||';
break;
}
}
}
}
if ($GLOBALS['sex'] == 0 || $GLOBALS['sex'] == 1){
$sex = $GLOBALS['sex'];
}else{
$sex = 1;
}
if ($GLOBALS['showre'] == 0 || $GLOBALS['showre'] == 1){
$showre = $GLOBALS['showre'];
}else{
$showre = 1;
}
if ($fsetting['mailpassword'] == 1){
$spassword = Createpass(8);
$password = dv_md5($spassword);
}else{
$pass1 = $GLOBALS['password'];
$pass2 = $GLOBALS['repassword'];
if ($pass1 == '' || strlen($pass1) > 10 || strlen($pass1) < 6){
$showmsg .= $lang['strings9']. '|||';
}
if ($pass2 == '' || strlen($pass2) > 10 || strlen($pass2) < 6){
$showmsg .= $lang['strings10']. '|||';
}
if ($pass1 != $pass2){
$showmsg .= $lang['strings11']. '|||';
}else{
$password = dv_md5($pass1);
}
}
if ($GLOBALS['quesion'] == ''){
$showmsg .= $lang['strings12']. '|||';
}
if ($GLOBALS['answer'] == ''){
$showmsg .= $lang['strings13']. '|||';
}else{
$answer = dv_md5($GLOBALS['answer']);
}
if (!ereg("^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$",$GLOBALS['e_mail'])){
$showmsg .= $lang['strings14']. '|||';
}else{
if ($fsetting['banmail'] != '' && $fsetting['banmail'] != '0'){
$splituseremail = explode('|',$fsetting['banmail']);
for ($i=0; $i<count($splituseremail); $i++){
if (strpos($GLOBALS['e_mail'],"{$splituseremail[$i]}") === true){
$showmsg .= $lang['strings15']. '|||';
break;
}
}
}
}
if ($GLOBALS['myface'] != '' && $fsetting['myfacepostlimited'] == 0){
if ($GLOBALS['width'] == '' || !is_numeric($GLOBALS['width']) || $GLOBALS['height'] == '' || !is_numeric($GLOBALS['height'])){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -