<?php
require_once(dirname(__FILE__)."/config.php");
if(empty($_POST) && empty($_GET))
{
	ShowMsg("本页面禁止返回!","control.php");
	exit();
}
if(empty($fmdo)) $fmdo = "";
if(empty($dopost)) $dopost = "";
switch($fmdo){
 /*********************
 function A_User()
 *******************/
 case "user":
 /*
 检查用户名是否存在
 function ACheckUser();
 */
 if($dopost=="checkuser")
 {
 	 AjaxHead();
 	 $msg = "";
 	 $userid = trim($userid);
 	 if($userid==""||!TestStringSafe($userid)){
 	 	 $msg = "<font color='red'> 用户名含有非法字符！ </font>";
 	 }else{
 	   $dsql = new DedeSql(false);
 	   $dsql->SetQuery("Select ID From #@__member where userid='$userid'");
 	   $dsql->Execute();
 	   $rowcount = $dsql->GetTotalRow();
 	   $dsql->Close();
 	   if($rowcount>0){ $msg = "用户名 [<font color='red'>$userid</font>]，已经被人使用，请使用其它用户名。"; }
 	   else{ $msg = "用户名 [<font color='red'>$userid</font>]，可以正常使用。"; }
 	 }
 	 echo $msg;
	 exit();
 }
 /*
 新用户注册
 function AUserReg()
 */
 else if($dopost=="regnew")
 {
 	 require_once(dirname(__FILE__)."/reg_new.php");
 	 exit();
 }
 else if($dopost=="regok")
 {
 	 $svali = GetCkVdValue();
   if(strtolower($vdcode)!=$svali || $svali==""){
  	 ShowMsg("验证码错误！","-1");
  	 exit();
   }
 	 $userid = trim($userid);
 	 $pwd = trim($userpwd);
 	 $pwdc = trim($userpwdok);
 	 if(!TestStringSafe($userid)||!TestStringSafe($pwd))
 	 {
 	 	  ShowMsg("你的用户名或密码不合法！","-1");
 	 	  exit();
 	 }
 	 if(strlen($userid)<3||strlen($pwd)<3){
 	 	  ShowMsg("你的用户名或密码小于三位，不允许注册！","-1");
 	 	  exit();
 	 }
 	 if(strlen($userid)>24||strlen($pwd)>24){
 	 	  ShowMsg("你的用户名或密码长度不能超过24位！","-1");
 	 	  exit();
 	 }
 	 if($pwdc!=$pwd){
 	 	 ShowMsg("你两次输入的密码不一致！","-1");
 	 	 exit();
 	 }
	 if(!ereg("(.*)@(.*)\.(.*)",$email)||!TestStringSafe($email)){
   	 ShowMsg("邮箱地址格式不正确！","-1");
  	 exit();
	 }
 	 $dsql = new DedeSql(false);

 	 //会员的默认金币
 	 $dfrank = $dsql->GetOne("Select money From #@__arcrank where rank='10' ");
 	 if(is_array($dfrank)) $dfmoney = $dfrank['money'];
 	 else $dfmoney = 0;

 	 $dsql->SetQuery("Select ID From #@__member where userid='$userid'");
 	 $dsql->Execute();
 	 $rowcount = $dsql->GetTotalRow();
 	 if($rowcount>0){
 	 	 $dsql->Close();
 	 	 ShowMsg("你指定的用户名已存在，请使用别的用户名！","-1");
 	 	 exit();
   }
	$uname = eregi_replace("['\"\$ \r\n\t;<>\*%\?]", '', $uname);
	$password = $pwd;
   $pwd = GetEncodePwd($pwd);
 	 $jointime = time();
 	 $logintime = time();
 	 $joinip = GetIP();
 	 $loginip = GetIP();


 	 //设置可选注册项目的默认值
 	 $dfregs['birthday_y'] = '0000';
 	 $dfregs['birthday_m'] = '00';
 	 $dfregs['birthday_d'] = '00';
 	 $dfregs['birthday'] = '0000-00-00';
 	 $dfregs['weight'] = '0';
 	 $dfregs['height'] = '0';
 	 $dfregs['job'] = '';
 	 $dfregs['province'] = '0';
 	 $dfregs['city'] = '0';
 	 $dfregs['myinfo'] = '';
 	 $dfregs['tel'] = '';
 	 $dfregs['type'] = 0;
 	 $dfregs['oicq'] = '';
 	 $dfregs['homepage'] = '';
 	 $dfregs['address'] = '';
 	 $dfregs['spacename'] = '';
 	 $dfregs['showaddr'] = '0';
 	 foreach($dfregs as $k=>$v){
 	 	 if(!isset($$k)) $$k = $v;
 	 }
$membertype = 10;
if($cfg_member_regsta == 'Y'){
	$membertype = 0;
}
	if($type == 1){
		if(trim($comname) == ''){
			ShowMsg("公司用户必须填写公司名称","-1");
			exit();
		}
		$comname = htmlEncode(trim($comname));
	}else{
		$type = 0;
	}

   if(empty($spacename) && !empty($comname)) $spacename = $comname;
   if(empty($spacename)) $spacename = $uname.'的个人空间';

 	 $birthday = GetAlabNum($birthday_y)."-".GetAlabNum($birthday_m)."-".GetAlabNum($birthday_d);
 	 if($birthday=='0-0-0'){
 	 	 $birthday = '0000-00-00';
 	 }

 	 $height = GetAlabNum($height);

 	 $inQuery = "
 	  INSERT INTO `#@__member` (`userid` , `pwd` , `type` , `uname` ,`sex` , `membertype` , `uptime` , `exptime` ,
 	   `money` , `email` , `jointime` , `joinip` , `logintime` , `loginip` ,
 	    `c1` , `c2` , `c3` , `matt` , `guestbook` , `spaceshow` , `pageshow` , `spacestyle` ,
 	     `spacename` , `spaceimage` , `news` ,`mybb` , `listnum` , `scores` )
    VALUES ('$userid', '$pwd', '$type', '$uname','$sex', '$membertype', '0', '0',
     '0', '$email', '$jointime', '$joinip', '$jointime', '$joinip',
      '0', '0', '0', '0', '0', '0', '0', '',
       '$spacename', '', '', '', '20', '{$cfg_df_score}')
	 ";

	if($dsql->ExecuteNoneQuery($inQuery))
	{
		$id = $dsql->GetLastID();
		if($type == 1)
		{
			$inQuery = "INSERT INTO #@__member_cominfo(id, comname) VALUES ('$id', '$comname');";
			$dsql->ExecuteNoneQuery($inQuery);
		}
		else
		{
			$inQuery = "
	     INSERT INTO `#@__member_perinfo` (`id`, `uname` , `sex` , `birthday` , `weight` ,`height` , `job` , `province` , `city` , `myinfo` ,
	     `tel` , `oicq` , `homepage` , `showaddr` ,`address` , `fullinfo`)
      VALUES ('$id','$uname', '$sex', '$birthday', '$weight','$height', '$job', '$province', '$city', '$myinfo' ,
        '$tel' , '$oicq' , '$homepage' ,'$showaddr','$address','');";
      $dsql->ExecuteNoneQuery($inQuery);
		}		
		$ml = new MemberLogin();
		$rs = $ml->CheckUser($userid,$pwd);
		if($cfg_pp_isopen){
			$passport = new passport();
			$passport->login($userid,$password);
		}
		$dsql->Close();
		if($rs==1)
		{
			if($type == 1){
				ShowMsg("注册成功，请您立即填写企业相关资料","mycominfo.php",0,2000);
				exit();
			}
			ShowMsg("注册成功，5秒钟后转向空间管理中心","control.php",0,2000);
			exit();
		}else
		{
			ShowMsg("注册成功，5秒钟后转向登录页面...","login.php",0,2000);
			exit();
		}
	}else
	{
		echo $dsql->GetError();
		$dsql->Close();
		ShowMsg("注册失败，请检查资料是否有误或与管理员联系！","javascript:;");
		exit();
	}
 }
  /*
 更改用户资料
 function AEditUser()
 */
 else if($dopost=="editUserSafe"){
 	  CheckRank(0,0);
 	  $svali = GetCkVdValue();
    if(strtolower($vdcode)!=$svali || $svali==""){
  	  ShowMsg("验证码错误！","-1");
  	  exit();
    }
 	  if($oldpwd==""){
 	  	ShowMsg("你没有填写你的旧密码！","-1");
 	  	exit();
 	  }
 	  $pwd = trim($userpwd);
 	  $pwdc = trim($userpwdok);
 	  if($pwd!=""){
 	      if(strlen($pwd)>24){
 	 	       ShowMsg("密码长度不能超过24位！","-1");
 	 	       exit();
 	      }
 	      if(!TestStringSafe($pwd)){
 	 	      ShowMsg("你的新密码含有非法字符！","-1");
 	 	      exit();
 	      }
 	      if($pwdc!=$pwd){
 	 	      ShowMsg("你两次输入的密码不一致！","-1");
 	 	      exit();
 	      }
 	  }else{
 	  	ShowMsg("你没有设置要更改的密码！","-1");
 	 	  exit();
 	  }
 	  $dsql = new DedeSql(false);
 	  $row = $dsql->GetOne("Select pwd From #@__member where ID='".$cfg_ml->M_ID."'");
 	  $oldpwd = GetEncodePwd($oldpwd);
 	  if(!is_array($row)||$row['pwd']!=$oldpwd){
 	     $dsql->Close();
 	     ShowMsg("你输入的旧密码错误！","-1");
 	 	   exit();
 	  }
 	  $pwd = GetEncodePwd($pwd);
 	  $query = "update #@__member set pwd = '$pwd' where ID='".$cfg_ml->M_ID."'";
 	  $dsql->ExecuteNoneQuery($query);
 	  ShowMsg("成功更改你的密码！","-1");
 	 	exit();
 }
 else if($dopost=="editUser")
 {
 	  CheckRank(0,0);
 	  $svali = GetCkVdValue();
    if(strtolower($vdcode)!=$svali || $svali==""){
  	  ShowMsg("验证码错误！","-1");
  	  exit();
    }
 	  $query1 = "
 	  update #@__member set
 	  email = '$email',uname = '$uname'
 	  where ID='".$cfg_ml->M_ID."'
 	  ";
 	  $query2 = "
 	  update #@__member_perinfo set
    uname = '$uname',
    sex = '$sex',
    birthday = '$birthday',
    weight = '$weight',
    height = '$height',
    job = '$job',
    province = '$province',
    city = '$city',
    myinfo = '$myinfo',
    fullinfo = '$fullinfo',
    showaddr = '$showaddr',
    address = '$address',
    oicq = '$oicq',
    tel = '$tel',
    homepage = '$homepage'
 	  where ID='".$cfg_ml->M_ID."'
 	  ";
 	  $dsql = new DedeSql(false);
 	  $dsql->ExecuteNoneQuery($query1);
 	  $dsql->ExecuteNoneQuery($query2);
 	  $dsql->Close();
 	  ShowMsg("成功更新你的个人资料！","edit_info.php");
 	 	exit();
 }
  /*
 更改个人空间资料
 function EditSpace()
 */
 else if($dopost=="editSpace")
 {
 	  CheckRank(0,0);
 	  $svali = GetCkVdValue();
    if(strtolower($vdcode)!=$svali || $svali==""){
  	  ShowMsg("验证码错误！","-1");
  	  exit();
    }
    require_once("./inc/inc_archives_functions.php");
    $title = "空间形象";
    $spaceimage = GetUpImage('spaceimage',true,true,150,112,'myface');
    if($spaceimage=="" && $oldimg!="" && $oldimg!="img/pview.gif"){
    	 if(file_exists($cfg_basedir.$oldimg)){
    	 	  $spaceimage = $oldimg;
    	 }
    }
 	  $dsql = new DedeSql(false);
 	  $news = addslashes(cn_substr(stripslashes($news),1024));
 	  $news = eregi_replace("<(iframe|script|javascript)","",$news);
 	  $spacename = ereg_replace("[><]","",$spacename);
 	  $mybb = addslashes(html2text(stripslashes($mybb)));
 	  $upquery = "Update #@__member set
 	      spacename='$spacename',spaceimage='$spaceimage',news='$news',mybb='$mybb'
 	      where ID='".$cfg_ml->M_ID."';
 	  ";
 	  $ok = $dsql->ExecuteNoneQuery($upquery);
 	  if($ok){
 	  	$dsql->Close();
 	  	ShowMsg("成功更新你的个人空间介绍！","space_info.php?".time().mt_rand(100,900));
 	  	exit();
 	  }else{
 	  	$dsql->Close();
 	    ShowMsg("更新资料失败！","space_info.php?".time().mt_rand(100,900));
 	 	  exit();
 	  }
 }
 //
 break;
 /*********************
 function B_Login()
 *******************/
 case "login":
 //
 /*
 用户登录
 function BUserLogin()
 */
 if($dopost=="login")
 {
 	if($cfg_pp_type && $cfg_pp_isopen){
		//开启通行证反向接口
		$reurl = $cfg_pp_indexurl.'/'.$cfg_pp_loginurl;
		if(isset($gourl)){
			if (strpos($cfg_pp_loginurl,'?')) $reurl .= '&forward='.rawurlencode($gourl);
			else $reurl .= '?forward='.rawurlencode($gourl);
		}
   	ShowMsg("开启通行证,请到论坛登录！",$reurl,0,2000);
  	exit();
	}
 	 $svali = GetCkVdValue();
   if(strtolower($vdcode)!=$svali || $svali==""){
  	 ShowMsg("验证码错误！","-1");
  	 exit();
   }
   if(!TestStringSafe($userid)||!TestStringSafe($pwd))
   {
   	 ShowMsg("用户名或密码不合法！","-1",0,2000);
  	 exit();
   }
   if($userid==""||$pwd==""){
   	 ShowMsg("用户名或密码不能为空！","-1",0,2000);
  	 exit();
   }
   //检查帐号   
   $rs = $cfg_ml->CheckUser($userid,GetEncodePwd($pwd));
   if($rs==0) {
   	 ShowMsg("用户名不存在！","-1",0,2000);
  	 exit();
   }
   else if($rs==-1){
   	 ShowMsg("密码错误！","-1",0,2000);
  	 exit();
   }
   else{
   	 $dsql->SetQuery("update #@__member set logintime='".time()."',loginip='".GetIP()."' where ID='".$cfg_ml->M_ID."'");
   	 $dsql->ExecuteNoneQuery();
   	 if($cfg_pp_isopen){
			$passport = new passport();
			$passport->login($userid,$pwd);
   	 }
   	 $dsql->Close();
   	 if(empty($gourl)||eregi("action|_do",$gourl)){
   	 	  ShowMsg("成功登录，5秒钟后转向系统管理中心...","control.php",0,2000);
   	 }else{
   	 	  ShowMsg("成功登录，转到进入页面...",$gourl,0,2000);
   	 }
  	 exit();
   }
 }
 /*
 退出登录
 function BUserExit()
 */
 else if($dopost=="exit")
 {
 	 $cfg_ml->ExitCookie();
   if($cfg_pp_isopen){
   		if($cfg_pp_type){
				//开启通行证反向接口
				$reurl = $cfg_pp_indexurl.'/'.$cfg_pp_exiturl;
				if(isset($gourl)){
					if (strpos($cfg_pp_exiturl,'?')) $reurl .= '&forward='.rawurlencode($gourl);
					else $reurl .= '?forward='.rawurlencode($gourl);
				}
				unset($cfg_pp_indexurl,$cfg_pp_regurl);
				header('Location: '.$reurl);exit;
			}
			$passport = new passport();
			$passport->logout();
   }
 	 $cfg_ml->ExitCookie();
 	 ShowMsg("成功退出登录！",$cfg_indexurl,0,2000);
   exit();
 }
/*
 获取密码
 function BUserGetPwd()
*/
 else if($dopost=="getpwd")
 {
 	 if($cfg_pwdtype=='md5'){
 	 	 ShowMsg("系统的密码被设置为单向加密，无法取回，请与管理员联系。","javascript:;");
 	 	 exit();
 	 }
 	 $svali = GetCkVdValue();
   if(strtolower($vdcode)!=$svali || $svali==""){
  	 ShowMsg("验证码错误！","-1");
  	 exit();
   }
   if(!ereg("(.*)@(.*)\.(.*)",$email)||!TestStringSafe($email)){
   	 ShowMsg("邮箱地址格式不正确！","-1");
  	 exit();
   }
   $dsql = new DedeSql(false);
   $row = $dsql->GetOne("Select userid,pwd,uname,email From #@__member where email='$email'");
   if(!is_array($row)){
     $dsql->Close();
     ShowMsg("系统找不到此邮箱地址！","-1");
  	 exit();
   }
   $dsql->Close();
	 $mailtitle = "你在".$cfg_webname."的用户名和密码";
	 $mailbody = "\r\n用户名：'".$row['userid']."'  密码：'".$row['pwd']."'\r\n\r\n，
	 $cfg_powerby";
	 $headers = "From: ".$cfg_adminemail."\r\nReply-To: $cfg_adminemail";
   sendmail($email, $mailtitle, $mailbody, $headers);
   $gurl = explode("@",$email);
   ShowMsg("成功发出你的用户名和密码，请注意查收！","login.php");
   exit();
 }
 //
 break;
}

?>