<?php
/*
乘风下载管理系统
作者QQ：178575
作者Email：yliangcf@163.com
作者网站：http://www.qqcf.com
详细简介：http://www.qqcf.com/cfdown.htm
上面有程序在线演示，安装演示，使用疑难解答，最新版本下载等内容
因为这些内容可能时常更新，就没有放在程序里，请自己上网站查看
*/
?>
<?php
//用户注册
if($action=="userregsave"){
 $username=chkstr($_POST["username"],1);
 $pwd=chkstr($_POST["pwd"],1);
 $pwd2=chkstr($_POST["pwd2"],1);
 $email=chkstr($_POST["email"],1);
 $qq=chkstr($_POST["qq"],1); 

 if($username=="" || $pwd=="" || $pwd2=="" || $email=="") alertback("请输入必填参数",1);

 if($pwd<>$pwd2) alertback("密码不一致",1);
 
 $salt=md5(time().mt_rand(1,1000000));
 $pwd=md5($pwd.$salt);
 
 if($RsSet["regstate"]==0) alertback("系统禁止新注册",1);
 
 if($RsSet["regadmincheck"]==0)//注册不需审核时
  $userstate=-1;
 else
  $userstate=0;
 
 $sql="select count(1) from cfdown_user where username='$username'";
 $result=mysql_query($sql);
 $rs=mysql_fetch_row($result);
 if($rs[0]>0) alertback("已经存在此注册名,请换名注册",1);

 $sql="insert into cfdown_user (username,pwd,salt,email,qq,usercode) values
 ('$username','$pwd','$salt','$email','$qq','".md5($username.$pwd.$syscode)."')";

 mysql_query($sql); 


 if($RsSet["regadmincheck"]==0)//注册不需审核时
 {
   $_SESSION["cfdownuser"]=$username;
   alerturl("注册成功","user/default");
  }
  else
  {
   alerturl("注册成功，但需要管理员审核成功后才能使用","index.php");
  }
  
}

//检查用户是否已经注册
if($action=="usernamechecksave"){

header('Content-Type:text/html;charset=utf-8'); 

$username=chkstr($_POST["username"],1);

if($username=="") exit("<br>请输入要检测的用户名!");
 
 $sql="select count(1) from cfdown_user where username='$username'";
 $result=mysql_query($sql);
 $rs=mysql_fetch_row($result);
 if($rs[0]==0)
  echo $rs[0]."<br>恭喜，此用户名还没有被注册!";
 else
  echo "<br><font color='#ff0000'>对不起，此用户名已经被别人注册了!</font>";
 
 exit;
}


//用户登陆
if($action=="userloginsave"){
 header('Content-Type:text/html;charset=utf-8');

 $username=chkstr($_POST["username"],1);
 $pwd=chkstr($_POST["pwd"],1);
 $cookies_time=chkstr($_POST["cookies_time"],2);

 if($username=="") exit("请输入用户名");
 if($pwd=="") exit("请输入密码");

 $sql="select username,pwd,salt,userstate from cfdown_user where username='$username'";
 $result=mysql_query($sql);
 $rs=mysql_fetch_assoc($result);
 if ($rs["username"]=="") exit("没有此用户");
 if ($rs["pwd"]<>md5($pwd.$rs["salt"])) exit("密码错误");
 if ($rs["userstate"]==0) exit("账号暂停或还没有审核成功");
 
 $_SESSION["cfdownuser"]=$username;

 $cfdownusercookie=md5($rs["username"].$rs["pwd"].$rs["salt"]);
  
 setcookie("cfdownusercookie",$cfdownusercookie,time()+$cookies_time);
  
 $sql="update cfdown_user set usercode='$cfdownusercookie' where username='$username'";
 mysql_query($sql);

 exit("登录成功");
}


//发送找回密码的链接
if($action=="pwdsend")
{
 header('Content-Type:text/html;charset=utf-8'); 
	
 $username=goback(chkstr($_POST["username"],1),"请输入用户名称");
 
 $sql="select * from cfdown_user where username='$username'";
 $result=mysql_query($sql);
 $rs=mysql_fetch_assoc($result);
 if($rs["id"])
 {
  $email=$rs["email"];
  $usercode=$rs["usercode"];
 }
 else
 {
  alerturl("此用户不存在","?");
 }
 
$smtpserver = $RsSet["smtpaddress"];//SMTP服务器  
$smtpserverport = $RsSet["smtpport"];//SMTP服务器端口  
$smtpusermail = $RsSet["smtpuser"];//SMTP服务器的用户邮箱  
$smtpemailto = $email;//发送给谁  
$smtpuser = $RsSet["smtpuser"];//SMTP服务器的用户帐号  
$smtppass = $RsSet["smtppassword"];//SMTP服务器的用户密码  

$mailsubject = $RsSet["systitle"] . "找回密码的链接";//邮件主题  

$mailbody = $username：."<br>您好！<br>请打开下面的密码重新修改密码<br>";//邮件内容
$mailbody .= "<a href='".httppath(2)."pwdmodify.php?action=pwdmodify&usercode=".$usercode."' target='_blank'>".httppath(2)."pwdmodify.php?action=pwdmodify&usercode=".$usercode."</a>";

$mail = new MySendMail();

if($smtpserverport==25)
$mail->setServer($smtpserver, $smtpuser, $smtppass); //设置smtp服务器，普通连接方式
else
$mail->setServer($smtpserver, $smtpuser, $smtppass, $smtpserverport, true); //设置smtp服务器，到服务器的SSL连接

$mail->setFrom($smtpuser); //设置发件人
$mail->setReceiver($smtpemailto); //设置收件人，多个收件人，调用多次

$mail->setMail($mailsubject, $mailbody); //设置邮件主题、内容
  
if($mail->sendMail())
 alerturl("邮件发送成功，请查收你的邮箱".$email."里收到的邮件","?");
else
 alerturl("邮件发送失败","?");

}


//找回密修改
if($action=="pwdmodifysave"){

 $usercode=goback(chkstr($_GET["usercode"],1),"请输入验证码");
 $pwd=goback(chkstr($_POST["pwd"],1),"请输入密码");
 $pwd2=goback(chkstr($_POST["pwd2"],1),"请输入重复密码");
 
 if($pwd<>$pwd2) alertback("密码输入不一致",1);
 
 $sql="select * from cfdown_user where usercode='$usercode'";
 $result=mysql_query($sql);
 $rs=mysql_fetch_assoc($result);
 if($rs["id"])
 {
  $username=$rs["username"];
  $salt=$rs["salt"];
 }
 else
 {
  alertback("此验证码不存在",1);
 }
 
 $pwd=md5($pwd.$salt);
 $sql="update cfdown_user set pwd='$pwd' where username='$username'";
 mysql_query($sql);
 
 alerturl("密码修改，请登录","../index.php?username=".$username);
}


//--管理员登录
if ($action=="adminlogin")
{
  $adminusername=GoBack(ChkStr(trim($_POST["adminusername"]),1),"请输入管理员名称");
  $pwd=GoBack(ChkStr(trim($_POST["pwd"]),1),"请输入管理员密码");
  $cookies_time=intval($_POST["cookies_time"]);
  $checkcode=Chkstr(trim($_POST["checkcode"]),1);

  if ($_SESSION["ValidCode"]!=$checkcode) AlertRef("四位数字的验证码输入错误!");

	$Sql="Select * From cfdown_adminuser where adminusername='".$adminusername."'";
	$Result=mysql_query($Sql);
	if(!$Rs=mysql_fetch_assoc($Result)) AlertRef("没有此管理员名称!");
	if ($Rs["pwd"]!=md5($pwd.$Rs["salt"])) AlertRef("密码错误!");
	
	$_SESSION['cfdownadmin']=$Rs["adminusername"];

	$admincode=md5($adminusername.$pwd.$syscode);

	if ($cookies_time>0) setcookie("cfdownadmincookie",$admincode,time()+$cookies_time,"/");

	$ip=empty($_SERVER["HTTP_X_FORWARDED_FOR"])?ChkStr($_SERVER["REMOTE_ADDR"],1):ChkStr($_SERVER["HTTP_X_FORWARDED_FOR"],1);
	

  $Sql="Update cfdown_adminuser Set previousloginip=lastloginip,previouslogintime=lastlogintime,lastloginip='".$ip."',lastlogintime='".date("Y-m-d H:i:s")."',logintotal=logintotal+1,admincode='".$admincode."' where adminusername='".$adminusername."'";
  mysql_query($Sql);

  header("Location: "."../".$adminusermanagepath);
}
