<?php
require('../../class/connect.php');
require('../../class/db_sql.php');
require('../class/user.php');
require('../../data/dbcache/MemberLevel.php');
require '../'.LoadLang('pub/fun.php');
$link=db_connect();
$empire=new mysqlquery();
$enews=$_POST['enews'];
if(empty($enews))
{
	$enews=$_GET['enews'];
}
eCheckCloseMods('member');//关闭模块
//绑定帐号
$tobind=(int)$_POST['tobind'];
if($tobind&&($enews=='login'||$enews=='register'))
{
	eCheckCloseMods('mconnect');//关闭模块
	eCheckCloseMemberConnect();//验证开启的接口
	session_start();
	include('../memberconnect/memberconnectfun.php');
}
//---------------------------------------------注册验证---------------------------------------------------------//
if($enews=='register'){
	//检测保留用户
	function CheckCloseWord($word,$closestr,$mess){
		if($closestr&&$closestr!='|')
		{
			$checkr=explode('|',$closestr);
			$ckcount=count($checkr);
			for($i=0;$i<$ckcount;$i++)
			{
				if($checkr[$i])
				{
					if(stristr($checkr[$i],'##'))//多字
					{
						$morer=explode('##',$checkr[$i]);
						if(stristr($word,$morer[0])&&stristr($word,$morer[1]))
						{
							return $mess;
						}
					}
					else
					{
						if(stristr($word,$checkr[$i]))
						{
							return $mess;
						}
					}
				}
			}
		}
	}
	function checkregister($add){
		global $empire,$dbtbpre,$public_r,$ecms_config;
		$username=trim($add['username']);
		$password=trim($add['password']);
		$username=RepPostVar($username);
		$password=RepPostVar($password);
		$email=RepPostStr($add['email']);

		//用户字数
		$pr=$empire->fetch1("select min_userlen,max_userlen,min_passlen,max_passlen,regretime,regclosewords,regemailonly from {$dbtbpre}enewspublic limit 1");
		if($username){
			$userlen=strlen($username);
			if($userlen<$pr[min_userlen]||$userlen>$pr[max_userlen]){
				return 'FaiUserlen';
				exit();
			}

			if(strstr($username,'|')||strstr($username,'*'))
			{
				return 'NotSpeWord';
				exit();
			}
		}
		//密码字数
		if($password){
			$passlen=strlen($password);
			if($passlen<$pr[min_passlen]||$passlen>$pr[max_passlen]){
				return 'FailPasslen';
				exit();
			}
		}
		if($add['repassword']){
			if($add['repassword']!==$password)
			{
				return 'NotRepassword';
				exit();
			}
		}
		if($email){
			if(!chemail($email)){
				return 'EmailFail';
				exit();
			}
		}
		//保留用户
		if($username){
			$re=CheckCloseWord($username,$pr['regclosewords'],'RegHaveCloseword');
			if($re){
				return $re;
				exit();
			}
			$username=RepPostStr($username);
			//重复用户
			$num=$empire->gettotal("select count(*) as total from ".eReturnMemberTable()." where ".egetmf('username')."='$username' limit 1");
			if($num)
			{
				return 'ReUsername';
				exit();
			}
		}
		if($email){
		//重复邮箱
			if($pr['regemailonly'])
			{
				$num=$empire->gettotal("select count(*) as total from ".eReturnMemberTable()." where ".egetmf('email')."='$email' limit 1");
				if($num)
				{
					return 'ReEmailFail';
					exit();
				}
			}
		}

	}
	$checkreg=checkregister($_POST);
	if($checkreg){
		@include '../'.LoadLang("pub/q_message.php");
		$qmessage_r['ReUsername']='用户名已被注册';
		echo $qmessage_r[$checkreg];
	}
}
//-----------------------------------------------------注册验证结束------------------------------------------------//
if($enews=='login'||$enews=='exit')
{

//--------------- 登录函数 ---------------
	//登录
	function qlogin($add){
		global $empire,$dbtbpre,$public_r,$ecms_config;
		if($ecms_config['member']['loginurl'])
		{
			//Header("Location:".$ecms_config['member']['loginurl']);
			exit();
		}
		$dopr=1;
		if($_POST['prtype'])
		{
			$dopr=9;
		}
		$username=trim($add['username']);
		$password=trim($add['password']);
		if(!$username||!$password)
		{
			return "emptyLogin";
		}
		$tobind=(int)$add['tobind'];
		//验证码
		
		$username=RepPostVar($username);
		$password=RepPostVar($password);
		$num=0;
		$r=$empire->fetch1("select ".eReturnSelectMemberF('*')." from ".eReturnMemberTable()." where ".egetmf('username')."='$username' limit 1");

		if(!$r['userid'])
		{
			return "failuserid";
			exit();
		}
		if(!eDoCkMemberPw($password,$r['password'],$r['salt']))
		{
			return "failpassword";
			exit();
		}
		if($r['checked']==0)
		{
			if($public_r['regacttype']==1)
			{
				//printerror('NotCheckedUser','../member/register/regsend.php',1);
				return "failcheck";
				exit();
			}
			else
			{
				//printerror('NotCheckedUser','',1)
				return "failcheck";
				exit();
			}
		}
		//绑定帐号
		if($tobind)
		{
			MemberConnect_BindUser($r['userid']);
		}
		$rnd=make_password(20);//取得随机密码
		//默认会员组
		if(empty($r['groupid']))
		{
			$r['groupid']=eReturnMemberDefGroupid();
		}
		$r['groupid']=(int)$r['groupid'];
		$lasttime=time();
		//IP
		$lastip=egetip();
		$usql=$empire->query("update ".eReturnMemberTable()." set ".egetmf('rnd')."='$rnd',".egetmf('groupid')."='$r[groupid]' where ".egetmf('userid')."='$r[userid]'");
		$empire->query("update {$dbtbpre}enewsmemberadd set lasttime='$lasttime',lastip='$lastip',loginnum=loginnum+1 where userid='$r[userid]'");
		//设置cookie
		$lifetime=(int)$add['lifetime'];
		$logincookie=0;
		if($lifetime)
		{
			$logincookie=time()+$lifetime;
		}
		$set1=esetcookie("mlusername",$username,$logincookie);
		$set2=esetcookie("mluserid",$r['userid'],$logincookie);
		$set3=esetcookie("mlgroupid",$r['groupid'],$logincookie);
		$set4=esetcookie("mlrnd",$rnd,$logincookie);
		//验证符
		qGetLoginAuthstr($r['userid'],$username,$rnd,$r['groupid'],$logincookie);
		//登录附加cookie
		AddLoginCookie($r);
		$location="../member/cp/";
		$returnurl=getcvar('returnurl');
		if($returnurl)
		{
			$location=$returnurl;
		}
		if(strstr($_SERVER['HTTP_REFERER'],"e/member/iframe"))
		{
			$location="../member/iframe/";
		}
		if(strstr($location,"enews=exit")||strstr($location,"e/member/register")||strstr($_SERVER['HTTP_REFERER'],"e/member/register"))
		{
			$location="../member/cp/";
			$_POST['ecmsfrom']='';
		}
		ecmsEmptyShowKey($keyvname);//清空验证码
		$set6=esetcookie("returnurl","");

		if($set1&&$set2)
		{
			//易通行系统
			DoEpassport('login',$r['userid'],$username,$password,$r['salt'],$r['email'],$r['groupid'],$r['registertime']);
			$location=DoingReturnUrl($location,$_POST['ecmsfrom']);
			//printerror("LoginSuccess",$location,$dopr);
			return $check=array(
				
			   "status"=>"loginsucess",
			   "mluserid"=>$r['userid'],
			   "username"=>$username,
			   "rnd"=>$rnd
			
			);
		}
		else
		{
			printerror("NotCookie","history.go(-1)",$dopr);
		}
	}
	//退出登陆
	function qloginout($userid,$username,$rnd){
		global $empire,$public_r,$ecms_config;
		//是否登陆
		$user_r=islogin();
		if($ecms_config['member']['quiturl'])
		{
			Header("Location:".$ecms_config['member']['quiturl']);
			exit();
		}
		EmptyEcmsCookie();
		$dopr=1;
		if($_GET['prtype'])
		{
			$dopr=9;
		}
		$gotourl="../../";
		if(strstr($_SERVER['HTTP_REFERER'],"e/member/iframe"))
		{
			$gotourl=$public_r['newsurl']."e/member/iframe/";
		}
		//易通行系统
		DoEpassport('logout',$user_r['userid'],$user_r['username'],'','','','','');
		$gotourl=DoingReturnUrl($gotourl,$_GET['ecmsfrom']);
		return "exitsuccess";
	}
//--------------------------------------------------------------------------------------------
}
if($enews=="login")//登陆
{
	$check=qlogin($_POST);
}
if($enews=='exit')
{
	echo qloginout($myuserid,$myusername,$myrnd);
}
if($check[status]!="loginsucess"){
    echo $check;
	
}else{

  $showinfo=1;
}

if(!defined('InEmpireCMS'))
{
	exit();
}
eCheckCloseMods('member');//关闭模块
$myuserid=(int)$check['mluserid'];
if(!$myuserid){
  $myuserid=getcvar('mluserid');
}
$mhavelogin=0;
if($myuserid)
{
	$mhavelogin=1;
	//数据
	$myusername=$check[username];
	$myrnd=RepPostVar(getcvar('mlrnd'));
    if(is_array($check)){}else{
		$myusername=RepPostVar(getcvar('mlusername'));
	    $check['rnd']=RepPostVar(getcvar('mlrnd'));
		$check[mluserid]=$myuserid;
        $mhavelogin=2;
	}
	$r=$empire->fetch1("select ".eReturnSelectMemberF('userid,username,groupid,userfen,money,userdate,havemsg,checked')." from ".eReturnMemberTable()." where ".egetmf('userid')."='$check[mluserid]' and ".egetmf('rnd')."='$check[rnd]' limit 1");
	if(empty($r[userid])||$r[checked]==0)
	{
		EmptyEcmsCookie();
		$mhavelogin=0;
	}
	//会员等级
	if(empty($r[groupid]))
	{$groupid=eReturnMemberDefGroupid();}
	else
	{$groupid=$r[groupid];}
	$groupname=$level_r[$groupid]['groupname'];
	//点数
	$userfen=$r[userfen];
	//余额
	$money=$r[money];
	//天数
	$userdate=0;
	if($r[userdate])
	{
		$userdate=$r[userdate]-time();
		if($userdate<=0)
		{$userdate=0;}
		else
		{$userdate=round($userdate/(24*3600));}
	}
	//是否有短消息
	$havemsg="";
	if($r[havemsg])
	{
		$havemsg="<a href='".$public_r['newsurl']."e/member/msg/' target=_blank><font color=red>您有新消息</font></a>";
	}
	//$myusername=$r[username];
	db_close();
	$empire=null;
}
	//登录状态显示模板
	$loginfo='<a href=/e/member/cp/ target=_parent class=\"gs-user\" title=\"用户'.$myusername.'\">'.$myusername.'</a><a href=javascript:void(0) id=logout onclick=LogOut()>退出</a>';

	//短登录状态显示模板
	$shortinfo='<a href=/e/space/?userid='.$myuserid.' target=_blank>'.$myusername.'</a>&nbsp;&nbsp;<a href=javascript:void(0) id=logout onclick=LogOut()>退出</a>';

	//未登录状态显示模板
	//$notlogin='<a href=\"javascript:void(0);\" onclick=\"AjaxLog()\">登陆</a> - <a href=\"javascript:void(0);\" onclick=\"AjaxReg()\">注册</a>';
    $notlogin='<a href=\"javascript:void(0);\" onclick=\"AjaxLog()\">我的</a>';

if($showinfo==1) //ajax首次登录成功后显示
{
	echo $loginfo;
}



if((int)$_GET['loadjs']){
    $regkey="";
    if($public_r['regkey_ok']){
        $regkey='<ul class=\"Reg-input\"><li><input placeholder=\"输入验证码\"  name=\"key\"  type=\"text\" id=\"email\" class=\"code\" required />   <a id=\"regshowkey\" class=\"showkey\" href=\"#EmpireCMS\" onclick=edoshowkey(\"regshowkey\",\"reg\",\"'.$public_r[newsurl].'\"); title=\"点击显示验证码\">点击显示验证码</a></li></ul>';
    }
     //$loginkey="";
    if($public_r['loginkey_ok']){
        //$loginkey='<div class=\"inputbg\"><input placeholder=\"输入验证码\"  name=\"key\"  type=\"text\" id=\"email\" class=\"code\" required />   <a class=ym href=\"#EmpireCMS\" onclick=edoshowkey(\"loginshowkey\",\"reg\",\"'.$public_r[newsurl].'\"); title=\"点击显示验证码\"><span class=\"showkey\" id=\"loginshowkey\"></span>点击显示验证码</a></span></div>';
    }
    

	if($mhavelogin==2){

		  echo 'show_userinfo.innerHTML="'.$loginfo.'";';  //全站登录成功后显示

		  if((int)$_GET['shortinfo']){
			 echo 'shortinfo.innerHTML="'.$shortinfo.'";';    //全站短登录状态成功后显示
		  }

	}else{

		 echo 'show_userinfo.innerHTML="'.$notlogin.'";'; //全站未登录状态显示
	
	}
?>
var WebUrl="<?=$public_r['newsurl'];?>";

function LogOut(){
	$.post(WebUrl+"e/member/AjaxLog/?enews=exit",function(msg){
		if(msg=='exitsuccess'){
			$("#show_userinfo").html('<?=$notlogin?>');
			$('#shortinfo').html("<?=$notlogin?>");
			alert('退出成功!');
		}
	})
}
function AjaxReg(){
  //self.location=WebUrl+'e/member/register/index.php?groupid=1';
  AjaxLog();
  switchTag('_xka','_xka_list',2,2,'conxk1','conxk2');
}
function CheckReg(key,value){
	if(value!=''){
		var data = {},key=key;
		data['enews']='register';
		data[key]=value;
	    if(key=='repassword'){
			var pass=$("#password").val();   //获取密码输入框的值
			data['password']=pass;
		}
		$.ajax({
			type:"POST",url:WebUrl+"e/member/AjaxLog/",dataType:"html",data:data
			,beforeSend:function(){
				$('.'+key).html('<img src="/images/loading.gif" />')
			}
			,success:function(msg){
				if(!msg){
					$('.'+key).html('');   //这里的代码已函数checkpass()里面的一段代码相对应！
					//checkpass('all');
				}else{
				    //alert(msg);
					$('.'+key).html('<font color=red>'+msg+'</font>');
					//checkpass('all');
					return false;
				}
			}
		});

	}else{
	
	    if(key='username'){
	        var red='用户名';
	    }
	    if(key='password'){
	        var red='密码';
	    }
	     if(key='repassword'){
	        var red='重复密码';
	    }
	    if(key='email'){
	        var red='邮箱';
	    }
		$('.'+key).html('<font color=red>'+red+'不允许为空！</font>');
	}

}
function checkpass(all){
	var username=$("#username").val();
	var pass=$("#password").val();
	var pass2=$("#repassword").val();
	var email=$("#email").val();
	var checkin=$("#checkin").is(':checked');
	if(username!='' && pass2!='' && pass==pass2 && checkin==true && email!=''){
		$('#Reg-sub').removeAttr('disabled');
		$('#checkreg').show().html('全部填写正确！');
	}else{
		document.getElementById("Reg-sub").disabled = true;
		$('#checkreg').hide();
		if(all){
			$('#checkreg').show().html('<font color=red>有必选项没填写正确！</font>');
		}
	}
}
(function($){
	$.fn.extend({
		leanModal:function(options){
			var defaults={
				top:100,overlay:0.5,closeButton:null
			};
			var overlay=$("<div id='lean_overlay'></div>");
			$("body").append(overlay);
			options=$.extend(defaults,options);
			return this.each(function(){
				var o=options;
				$(this).click(function(e){
					var modal_id=$(this).attr("href");
					$("#lean_overlay").click(function(){
						close_modal(modal_id)
					});
					$(o.closeButton).click(function(){
						close_modal(modal_id)
					});
					var modal_height=$(modal_id).outerHeight();
					var modal_width=$(modal_id).outerWidth();
					$("#lean_overlay").css({
						"display":"block",opacity:0
					});
					$("#lean_overlay").fadeTo(200,o.overlay);
					$(modal_id).css({
						"display":"block","position":"fixed","opacity":0,"z-index":10022,"left":50+"%","margin-left":-(modal_width/2)+"px","top":o.top+"px"
					});
					$(modal_id).fadeTo(200,1);
					e.preventDefault()
				})
			});
			function close_modal(modal_id){
				$("#lean_overlay").fadeOut(200);
				$(modal_id).css({
					"display":"none"
				})
			}
		}
	})
})(jQuery);
function switchTag(tag,content,k,n,stylea,styleb){for(i=1;i<=n;i++){if(i==k){document.getElementById(tag+i).className=stylea;document.getElementById(content+i).className="showbox"}else{document.getElementById(tag+i).className=styleb;document.getElementById(content+i).className="hidden"}}};


url=window.location.href
/*登录框代码*/
document.writeln("<div id=\"js_login\" class=\"js_login\" style=\"display:none\">");
document.writeln("<div class=\"js_title\">");
document.writeln("<ul>");
document.writeln("<li class=\"conxk1\" id=\"_xka1\" onclick=\"switchTag(\'_xka\',\'_xka_list\',1,2,\'conxk1\',\'conxk2\');\">");
document.writeln("登录</li>");
document.writeln("<li class=\"conxk2\" id=\"_xka2\" onclick=\"switchTag(\'_xka\',\'_xka_list\',2,2,\'conxk1\',\'conxk2\');\">");
document.writeln("注册</li>");
document.writeln("</ul>			<span class=\"close\">×</span>");
document.writeln("</div>");
document.writeln("<div class=\"js_content\">");
document.writeln("<div class=\"con_dak fixed clear\">");
document.writeln("<div id=\"_xka_list1\" class=\"showbox\">");
document.writeln("<div class=\"de_list\">");
document.writeln("<!----------login start------>");
document.writeln("<div  id=\"login\">");
document.writeln("<div class=\"inputbg\" id=\"logtext\">");
document.writeln("<input name=\"logusername\" id=\"logusername\" type=\"text\" onfocus=\"if(this.value==\'输入用户名\')value=\'\';\" value=\"输入用户名\" placeholder=\"输入用户名\" class=\"inputsub\" />");
document.writeln("</div>");
document.writeln("<div class=\"inputbg\" id=\"pass\">");
document.writeln("<input name=\"logpassword\" placeholder=\"输入密码\" type=\"password\"  value=\"\" id=\"logpassword\" class=\"inputsub\" />");
document.writeln("<input type=\"hidden\" id=\"logecmsfrom\" name=\"ecmsfrom\" value=\""+url+"\" />");
document.writeln("</div>");
document.writeln("<?=$loginkey?>");
document.writeln("<div class=\"inputbg\" id=\"checkbox\">");
document.writeln("<input type=\"checkbox\" checked id=\"keeplogin\"/>记住我<a class=\"nopasswd\" href=\""+WebUrl+"e/member/GetPassword/\"><span>忘记密码？</span></a>");
document.writeln("</div>");
document.writeln("<div class=\"buttons\">");
document.writeln("<button class=\"sub_btn1\" id=\"login-sub\">登 录</button>");
document.writeln("<span id=\"errmsg\"></span>");
document.writeln("</div>");
document.writeln("</div>");
document.writeln("<!--------login end--------->");
document.writeln("</div>");
document.writeln("</div>");
document.writeln("");
document.writeln("");
document.writeln("<div id=\"_xka_list2\" class=\"hidden\">");
document.writeln("<div class=\"de_list\">");
document.writeln("<!--------register start--------->");
document.writeln("<form action=\""+WebUrl+"e/member/doaction.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"userinfoform\" id=\"userinfoform\">");

document.writeln("<input type=\"hidden\" name=\"ecmsfrom\" value=\""+url+"\" />");
document.writeln("<input type=\"hidden\" name=\"enews\" value=\"register\" />");
document.writeln("<input name=\"groupid\" type=\"hidden\" id=\"groupid\" value=\"1\" />");
document.writeln("<div  id=\"register\">");
document.writeln("<ul class=\"Reg-input\">");
document.writeln("<li><input placeholder=\"输入用户名\" name=\"username\" onblur=CheckReg('username',this.value) id=\"username\" type=\"text\"class=\"input-text\" required /> </li>");
document.writeln("</ul>");
document.writeln("<ul class=\"Reg-input\">");
document.writeln("<li><input placeholder=\"输入密码\" name=\"password\" onblur=CheckReg('password',this.value) type=\"password\" id=\"password\" class=\"input-text\" required /> </li>");
document.writeln("</ul>");
document.writeln("<ul class=\"Reg-input\">");
document.writeln("<li><input name=\"repassword\" placeholder=\"重复密码\" onblur=CheckReg('repassword',this.value) type=\"password\" id=\"repassword\" class=\"input-text\" required /> </li>");
document.writeln("</ul>");
document.writeln("<ul class=\"Reg-input\">");

document.writeln("<li><input placeholder=\"输入邮箱\" name=\"email\" onblur=CheckReg('email',this.value) type=\"text\" id=\"email\" class=\"input-text\" required /> </li>");
document.writeln("</ul>");

document.writeln("<?=$regkey?>");

document.writeln("<ul class=\"Reg-inputshow\">");
document.writeln("<span class=username></span><span class=password></span><span class=repassword></span><span class=email></span>");
document.writeln("</ul>");
document.writeln("<ul class=\"Reg-inputshow\">");
document.writeln("<li id=\'checkbox\'><input value=1   type=\"checkbox\" id=\"checkin\" onclick=\"checkpass('all')\"/> 我已阅读并接受《<a href=\"###\" target=_blank>服务条款</a>》</li>");
document.writeln("</ul>");

document.writeln("<div style=\"clear:both\"></div>");
document.writeln("<div class=\"buttons\">");
document.writeln("<button class=\"sub_btn1\" id=\"Reg-sub\" disabled>注 册</button>&nbsp;&nbsp;<span id=checkreg></span>");
document.writeln("</div>");
document.writeln("<div class=\"clr\"></div>");
document.writeln("</div>");
document.writeln("</form>");
document.writeln("<!--------register end--------->");
document.writeln("</div>");
document.writeln("</div>");
document.writeln("</div>");
document.writeln("</div> ");
document.writeln("</div>");
document.writeln("<a href=\"#js_login\" id=\"AjaxLog\"></a><script>$('#AjaxLog').leanModal({ top: 100, overlay: 0.9, closeButton: '.close' })</script>");
function AjaxLog(){
	document.getElementById('AjaxLog').click();
	switchTag('_xka','_xka_list',1,2,'conxk1','conxk2');}$('.close').click(function(){
		$("#lean_overlay").fadeOut(200);$("#js_login").hide();
		});
<?
}
?>