<?php 
require_once(WEB_ROOT. '/api/inc.php');
class cls_ctl_user extends cls_ctl_user_base
{
    function __construct(){
		parent::__construct();
		$this->perms["version"]="uc";
    }

	function __get($name){
		if(isset($this->perms["$name"])){
			return $this->perms["$name"];
		}
	}
	function __set($name,$value){
		if($this->perms["$name"]){
			$this->perms["$name"]=$value;
		}else{
		}
	}

	function on_regin($arr_msg=array())
	{
		$arr_return=array("err"=>"","id"=>0);
		if(!isset($arr_msg["user_name"])||$arr_msg["user_name"]==""){
			$arr_return["err"]="用户名不能为空！";
			return $arr_return;
		}
		if(!isset($arr_msg["user_pwd"])||$arr_msg["user_pwd"]==""){
			$arr_return["err"]="用户密码不能为空！";
			return $arr_return;
		}
		if(!isset($arr_msg["user_email"])){
			$arr_msg["user_email"]="";
		}
		$arr_fields=array();
		$arr_fields["user_name"]=$arr_msg["user_name"];
		$arr_fields["user_pwd"]=$arr_msg["user_pwd"];
		$arr_fields["user_email"]=$arr_msg["user_email"];
		$arr_errinfo=array("id_1"=>"用户名不合法","id_2"=>"包含不允许注册的词语","id_3"=>"用户名已经存在","id_4"=>"email 格式有误","id_5"=>"email 不允许注册","id_6"=>"该 email 已经被注册");
		require_once WEB_ROOT.'/uc_client/client.php';
		$str_info=uc_user_register($arr_fields["user_name"],$arr_fields["user_pwd"],$arr_fields["user_email"]);
		if(intval($str_info)>0){
			$arr_fields=$arr_msg;
			$arr_fields["user_id"]=$str_info;
			$arr_return=parent::on_regin($arr_fields);
		}else{
			$arr_return["id"]=0;
			$lng_x=abs($str_info);
			if(isset($arr_errinfo["id_".$lng_x])) $str_info=$arr_errinfo["id_".$lng_x];
			$arr_return["err"]=$str_info;
		}
		return $arr_return;
	}
	function on_login($arr_fields=array(),$msg_isuc=0)
	{
		if($msg_isuc==1){
			$arr_msg=parent::on_login($arr_fields,1);
			return $arr_msg;
		}
		require_once WEB_ROOT.'/uc_client/client.php';
		$arr_return=array("err"=>"");
		if(!isset($arr_fields["uname"]) || $arr_fields["uname"]==""){
			$arr_return["err"]="用户名不能为空！";
			return $arr_return;
		}
		if(!isset($arr_fields["pwd"]) || $arr_fields["pwd"]==""){
			$arr_return["err"]="输入密码不能为空！";
			return $arr_return;
		}
		//检查用户是否已经存在
		$arr_x=uc_user_login($arr_fields["uname"],$arr_fields["pwd"]);
		if($arr_x[0]>0)
		{
			$arr_y=array("user_name"=>$arr_x[1]);
			//取同步登录js代码
			$arr_y["cookies"]=uc_user_synlogin($arr_x[0]);
			//登录人才系统
			$arr_login_return=parent::on_login($arr_y,1);
			//登录失败，用户不存在，则注册
			if($arr_login_return["errid"]==2){
				$obj_tab_user=new cls_tab_sys_user();
				$arr_user_fields["user_name"]=$arr_fields["uname"];
				$arr_user_fields["user_pwd"]=$arr_fields["pwd"];
				$arr_user_fields["user_type"]="UC";
				$arr_msg=$obj_tab_user->on_save($arr_user_fields);
				if($arr_msg["err"]==""){
					$arr_y["user_id"]=$arr_msg["id"];
					parent::on_login($arr_y,1);
				}else{
					$arr_return["err"]=$arr_msg["err"];//"同步UC账号时出错，无法登录";
					return $arr_return;
				}
			}

			//设置cookie同步登录
			set_cookie("uc_issynlogin","1");
		}else{
			if($arr_x[0]==-1){
				$arr_return["err"]="输入用户名不正确！";
			}else if($arr_x[0]==-2){
				$arr_return["err"]="输入密码不正确！";
			}else if($arr_x[0]==-3){
				$arr_return["err"]="安全提问错误！";
			}else{
				$arr_return["err"]="登录失败！";
			}
		}
		return $arr_return;
	}
	function on_exit($msg_isuc=0)
	{
		$arr_fields=array();
		if($msg_isuc==0){
			require_once WEB_ROOT.'/uc_client/client.php';
			//同步退出登录
			$arr_fields["session_cookies"]=uc_user_synlogout();
			set_cookie("uc_issynlogin","1");
		}
		parent::on_exit($arr_fields);
	}
	function chk_regtype(){
		if($this->perms["type"]=="UC" && $_GET["app"]!="regtype"){
			go_url(WEB_URL."/index.php?app=regtype");exit;
		}
	}
}
?>