462 lines
12 KiB
PHP
462 lines
12 KiB
PHP
<?php
|
|
defined('IN_TS') or die('Access Denied.');
|
|
|
|
switch($ts){
|
|
|
|
//手机号注册
|
|
case "":
|
|
|
|
if(tsIntval($TS_USER['userid']) > 0) {
|
|
header('Location: '.SITE_URL);exit;
|
|
}
|
|
|
|
#如果网站只采用Email注册,就跳转到Email注册
|
|
if($TS_SITE['regtype']==0){
|
|
header('Location: '.tsUrl('user','register'));exit;
|
|
}
|
|
|
|
//邀请用户ID
|
|
$fuserid = tsIntval($_GET['fuserid']);
|
|
|
|
$title = '手机号注册';
|
|
|
|
include template("phone");
|
|
|
|
break;
|
|
|
|
|
|
case "do":
|
|
|
|
//用于JS提交验证
|
|
$js = tsIntval($_GET['js']);
|
|
|
|
$phone = tsTrim($_POST['email']);
|
|
$pwd = tsTrim($_POST['pwd']);
|
|
$repwd = tsTrim($_POST['repwd']);
|
|
$username = t($_POST['username']);
|
|
|
|
$fuserid = tsIntval($_POST['fuserid']);
|
|
|
|
$authcode = strtolower($_POST['authcode']);
|
|
|
|
$phonecode = tsTrim($_POST['phonecode']);
|
|
|
|
|
|
/*禁止以下IP用户登陆或注册*/
|
|
$arrIp = aac('system')->antiIp();
|
|
if(in_array(getIp(),$arrIp)){
|
|
getJson('你的IP已被锁定,暂无法登录!',$js);
|
|
}
|
|
|
|
|
|
//是否开启邀请注册
|
|
if($TS_SITE['isinvite']=='1'){
|
|
|
|
$invitecode = tsTrim($_POST['invitecode']);
|
|
if($invitecode == '') getJson('邀请码不能为空!',$js);
|
|
|
|
$codeNum = $new['user']->findCount('user_invites',array(
|
|
'invitecode'=>$invitecode,
|
|
'isused'=>0,
|
|
));
|
|
|
|
if($codeNum == 0) getJson('邀请码已经被使用,请更换其他邀请码!',$js);
|
|
|
|
}
|
|
|
|
if($phone=='' || $pwd=='' || $repwd=='' || $username=='' || $phonecode==''){
|
|
|
|
getJson('所有必选项都不能为空!',$js);
|
|
|
|
}
|
|
|
|
if(isPhone($phone)==false) getJson('手机号输入有误!',$js);
|
|
|
|
#验证手机验证码
|
|
if(aac('pubs')->verifyPhoneCode($phone,$phonecode)==false){
|
|
getJson('手机验证码输入有误',$js);
|
|
}
|
|
|
|
#手机号是否存在
|
|
$isPhone = $new['user']->findCount('user',array(
|
|
'phone'=>$phone,
|
|
));
|
|
|
|
if($isPhone > 0){
|
|
getJson('手机号已经存在',$js);
|
|
}
|
|
|
|
if($pwd != $repwd){
|
|
getJson('两次输入密码不正确!',$js);
|
|
}
|
|
|
|
|
|
if(count_string_len($username) < 4 || count_string_len($username) > 20){
|
|
getJson('姓名长度必须在4和20之间',$js);
|
|
}
|
|
|
|
#用户名是否存在
|
|
$isUserName = $new['user']->findCount('user_info',array(
|
|
'username'=>$username,
|
|
),'userid');
|
|
|
|
if($isUserName > 0){
|
|
getJson('用户名已经存在,请换个用户名!',$js);
|
|
}
|
|
|
|
|
|
#验证码
|
|
if ($authcode != $_SESSION['verify']) {
|
|
getJson('验证码输入有误,请重新输入!', $js);
|
|
}
|
|
|
|
$salt = md5(rand());
|
|
|
|
$userid = $new['user']->create('user',array(
|
|
'pwd'=>md5($salt.$pwd),
|
|
'salt'=>$salt,
|
|
'email'=>$phone,
|
|
'phone'=>$phone,
|
|
));
|
|
|
|
//插入用户信息
|
|
$new['user']->create('user_info',array(
|
|
'userid' => $userid,
|
|
'fuserid' => $fuserid,
|
|
'username' => $username,
|
|
'email' => $phone,
|
|
'phone' => $phone,
|
|
'ip' => getIp(),
|
|
'comefrom'=>'9',
|
|
'isverifyphone'=>1,
|
|
'addtime' => time(),
|
|
'uptime' => time(),
|
|
));
|
|
|
|
//默认加入小组
|
|
$isGroup = $new['user']->find('user_options',array(
|
|
'optionname'=>'isgroup',
|
|
));
|
|
|
|
if($isGroup['optionvalue']){
|
|
$arrGroup = explode(',',$isGroup['optionvalue']);
|
|
|
|
if($arrGroup){
|
|
foreach($arrGroup as $key=>$item){
|
|
$groupUserNum = $new['user']->findCount('group_user',array(
|
|
'userid'=>$userid,
|
|
'groupid'=>$item,
|
|
));
|
|
|
|
if($groupUserNum == 0){
|
|
$new['user']->create('group_user',array(
|
|
'userid'=>$userid,
|
|
'groupid'=>$item,
|
|
'addtime'=>time(),
|
|
));
|
|
|
|
//统计更新
|
|
$count_user = $new['user']->findCount('group_user',array(
|
|
'groupid'=>$item,
|
|
));
|
|
|
|
$new['user']->update('group',array(
|
|
'groupid'=>$item,
|
|
),array(
|
|
'count_user'=>$count_user,
|
|
));
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//用户信息
|
|
$userData = $new['user']->find('user_info',array(
|
|
'userid'=>$userid,
|
|
),'userid,username,email,path,face,isadmin,signin,isverify,isverifyphone,uptime');
|
|
|
|
//用户session信息
|
|
$_SESSION['tsuser'] = $userData;
|
|
|
|
//发送消息
|
|
aac('message')->sendmsg(0,$userid,'亲爱的 '.$username.' :您成功加入了 '.$TS_SITE['site_title'].'。在遵守本站的规定的同时,享受您的愉快之旅吧!');
|
|
|
|
//注销邀请码并将关注邀请用户
|
|
if($TS_SITE['isinvite']=='1'){
|
|
|
|
//邀请码信息
|
|
$strInviteCode = $new['user']->find('user_invites',array(
|
|
'invitecode'=>$invitecode,
|
|
));
|
|
|
|
$new['user']->create('user_follow',array(
|
|
'userid'=>$userid,
|
|
'touserid'=>$strInviteCode['userid'],
|
|
));
|
|
|
|
//注销
|
|
$new['user']->update('user_invites',array(
|
|
'invitecode'=>$invitecode,
|
|
),array(
|
|
'isused'=>'1',
|
|
));
|
|
}
|
|
|
|
//对积分进行处理
|
|
aac('user')->doScore($TS_URL['app'], $TS_URL['ac'],$TS_URL['mg'],$TS_URL['api'], $TS_URL['ts']);
|
|
|
|
//跳转
|
|
getJson('登录成功!',$js,2,SITE_URL);
|
|
|
|
break;
|
|
|
|
|
|
//验证手机号
|
|
case "verify":
|
|
|
|
$userid = aac('user')->isLogin();
|
|
|
|
$strUser = $new['user']->getOneUser($userid);
|
|
|
|
$title = '验证手机号';
|
|
include template("phone_verify");
|
|
|
|
break;
|
|
|
|
|
|
case "verifydo":
|
|
|
|
$js = tsIntval($_GET['js']);
|
|
|
|
$userid = aac('user')->isLogin();
|
|
|
|
$phone = tsTrim($_POST['phone']);
|
|
|
|
$authcode = strtolower($_POST['authcode']);
|
|
$phonecode = tsTrim($_POST['phonecode']);
|
|
|
|
if($phone == '' || $authcode=='' || $phonecode==''){
|
|
getJson('所有输入项都不能为空',$js);
|
|
}
|
|
|
|
if(isPhone($phone)==false){
|
|
getJson('手机号输入有误!',$js);
|
|
}
|
|
|
|
if ($authcode != $_SESSION['verify']) {
|
|
getJson('图片验证码输入有误,请重新输入!', $js);
|
|
}
|
|
|
|
#验证手机验证码
|
|
if(aac('pubs')->verifyPhoneCode($phone,$phonecode)==false){
|
|
getJson('手机验证码输入有误',$js);
|
|
}
|
|
|
|
|
|
$strUserInfo = $new['user']->find('user_info',array(
|
|
'userid'=>$userid,
|
|
),'phone');
|
|
|
|
if($strUserInfo['phone']!=$phone){
|
|
|
|
#判断手机号是否存在
|
|
$isPhone = $new['user']->findCount('user',array(
|
|
'phone'=>$phone,
|
|
));
|
|
|
|
if($isPhone){
|
|
getJson('手机号已存在!请更换其他手机号!',$js);
|
|
}
|
|
|
|
//getJson('手机号有误!',$js);
|
|
}
|
|
|
|
#更新手机号
|
|
$new['user']->update('user',array(
|
|
'userid'=>$userid,
|
|
),array(
|
|
'phone'=>$phone,
|
|
));
|
|
|
|
#更新手机号和手机验证状态
|
|
$new['user']->update('user_info',array(
|
|
'userid'=>$userid,
|
|
),array(
|
|
'phone'=>$phone,
|
|
'isverifyphone'=>'1',
|
|
));
|
|
|
|
$_SESSION['tsuser']['isverifyphone']=1;
|
|
|
|
getJson('手机号验证成功!',$js,2,SITE_URL);
|
|
|
|
break;
|
|
|
|
|
|
//如果手机号不对,可以修改手机号
|
|
case "setphone":
|
|
|
|
$userid = aac('user')->isLogin();
|
|
|
|
$phone = tsTrim($_POST['phone']);
|
|
|
|
if($phone==''){
|
|
tsNotice('手机号不能为空!');
|
|
}
|
|
|
|
if(isPhone($phone)==false){
|
|
tsNotice('手机号输入有误!');
|
|
}
|
|
|
|
$isPhone = $new['user']->findCount('user',array(
|
|
'phone'=>$phone,
|
|
));
|
|
|
|
if($isPhone>0){
|
|
tsNotice('手机号已经存在,请更换其他手机号!');
|
|
}
|
|
|
|
$new['user']->update('user',array(
|
|
'userid'=>$userid,
|
|
),array(
|
|
'phone'=>$phone,
|
|
));
|
|
|
|
$new['user']->update('user_info',array(
|
|
'userid'=>$userid,
|
|
),array(
|
|
'phone'=>$phone,
|
|
));
|
|
|
|
|
|
tsNotice('手机号修改成功!');
|
|
|
|
break;
|
|
|
|
|
|
//修改成新手机号
|
|
case "editphone":
|
|
|
|
$js = tsIntval($_GET['js']);
|
|
|
|
$userid = aac('user')->isLogin();
|
|
|
|
$phone = tsTrim($_POST['phone']);
|
|
|
|
$authcode = strtolower($_POST['authcode']);
|
|
$phonecode = tsTrim($_POST['phonecode']);
|
|
|
|
if($phone == '' || $authcode=='' || $phonecode==''){
|
|
getJson('所有输入项都不能为空',$js);
|
|
}
|
|
|
|
if(isPhone($phone)==false){
|
|
getJson('手机号输入有误!',$js);
|
|
}
|
|
|
|
if ($authcode != $_SESSION['verify']) {
|
|
getJson('图片验证码输入有误,请重新输入!', $js);
|
|
}
|
|
|
|
#验证手机验证码
|
|
if(aac('pubs')->verifyPhoneCode($phone,$phonecode)==false){
|
|
getJson('手机验证码输入有误',$js);
|
|
}
|
|
|
|
|
|
$isPhone = $new['user']->findCount('user',array(
|
|
'phone'=>$phone,
|
|
));
|
|
|
|
if($isPhone>0){
|
|
getJson('手机号已经存在,请更换其他手机号!',$js);
|
|
}
|
|
|
|
|
|
$new['user']->update('user',array(
|
|
'userid'=>$userid,
|
|
),array(
|
|
'phone'=>$phone,
|
|
));
|
|
|
|
|
|
$new['user']->update('user_info',array(
|
|
'userid'=>$userid,
|
|
),array(
|
|
'phone'=>$phone,
|
|
'isverifyphone'=>'1',
|
|
));
|
|
|
|
$_SESSION['tsuser']['isverifyphone']=1;
|
|
|
|
getJson('手机号修改成功!',$js,2,tsUrl('my','setting',array('ts'=>'email')));
|
|
|
|
break;
|
|
|
|
|
|
/**
|
|
* 通过手机号重置密码
|
|
*/
|
|
case "resetpwd":
|
|
|
|
$js = tsIntval($_GET['js']);
|
|
|
|
|
|
$phone = tsTrim($_POST['phone']);
|
|
$pwd = tsTrim($_POST['pwd']);
|
|
$authcode = strtolower($_POST['authcode']);
|
|
$phonecode = tsTrim($_POST['phonecode']);
|
|
|
|
if($phone == '' || $pwd=='' || $authcode=='' || $phonecode==''){
|
|
getJson('所有输入项都不能为空',$js);
|
|
}
|
|
|
|
if(isPhone($phone)==false){
|
|
getJson('手机号输入不正确',$js);
|
|
}
|
|
|
|
$strUser = $new['user']->find('user',array(
|
|
'phone'=>$phone,
|
|
));
|
|
|
|
if($strUser==''){
|
|
getJson("手机号不存在,你可能还没有注册^_^",$js);
|
|
}
|
|
|
|
|
|
if ($authcode != $_SESSION['verify']) {
|
|
getJson('图片验证码输入有误,请重新输入!', $js);
|
|
}
|
|
|
|
|
|
#验证手机验证码
|
|
if(aac('pubs')->verifyPhoneCode($phone,$phonecode)==false){
|
|
getJson('手机验证码输入有误',$js);
|
|
}
|
|
|
|
$salt = md5(rand());
|
|
|
|
$new['user']->update('user',array(
|
|
'userid'=>$strUser['userid'],
|
|
),array(
|
|
'pwd'=>md5($salt.$pwd),
|
|
'salt'=>$salt,
|
|
));
|
|
|
|
|
|
$new['user']->update('user_info',array(
|
|
'userid'=>$strUser['userid'],
|
|
),array(
|
|
'phone'=>$strUser['phone'],
|
|
'isverifyphone'=>'1',
|
|
));
|
|
|
|
$_SESSION['tsuser']['isverifyphone']=1;
|
|
|
|
getJson('密码修改成功!',$js,2,tsUrl('user','login'));
|
|
|
|
break;
|
|
|
|
|
|
} |