<?php
class userAction
{	
	function __construct()
	{
		LibTpl::Set('footMenu', 'my');
	}


	/**
	 * @method  卖家中心
	 * @author  soul 2018/5/5
	 */
	public function index()
	{
		$B2cBase=new B2cBase();
		$res=$B2cBase->get('sh_shop',['shop_name','shop_status'],sprintf(' and shop_id=%d',$_SESSION['_shopid']),true);
		LibTpl::Set('shopBase',$res['data']);
		LibTpl::Set('uname',$_SESSION['_uname']);
		LibTpl::Set('title','我的店铺-跑街的');
		LibTpl::Put();
	}
	
	
	/**
	 * @method    admin用户登陆
	 * @author     廖
	 * @copyright 2018-1-4
	 */
	public function login()
	{
		$Params = mvc::$URL_PARAMS;
		//token登录
		if(isset($_COOKIE['utag']))
		{
			$utagArr = explode('@', base64_decode($_COOKIE['utag']));
			
			$LibYpApi = new LibYpApi();
			$ResArr = $LibYpApi->Get('user/getToken', ['uid'=>$utagArr[1], 'uname'=>$utagArr[0]], [], true);
			if($ResArr['status'] && !empty($ResArr['data']['token']))
			{
				$loginData = [
					'type'=>'token',
					'data'=>['token'=>$ResArr['data']['token'],'ip'=>LibFc::GetClientIp(),'from'=>'PJD']
				];
				$LibYpApi = new LibYpApi();
				$ResArr = $LibYpApi->Get('user/login', [], $loginData, true);
				if($ResArr['status'] && !empty($ResArr['data']['u_id']))
				{
					$this->loginSession($ResArr);
					if(!empty($_SESSION['_shopid']))
					{
						$toUrl = !empty($Params['goto']) ? urldecode($Params['goto']): mvc::$cfg['ADMIN_URI'].'index/index';
						LibFc::Go($toUrl);
					}
				}
			}
			else
			{
				setcookie('utag',null, -1, "/", mvc::$cfg['COOKIE_DOMAIN']);
			}
		}
		LibTpl::Set('title','卖家中心登录-跑街的');
		LibTpl::Put();
	}

	/**
	  * @method 退出登录
	  * @author soul 2017/5/10
	  */
	function logout()
	{
		unset($_SESSION['_userid']);
		unset($_SESSION['_username']);
		unset($_SESSION['_uname']);
		unset($_SESSION['_shopid']);
		unset($_SESSION['_shopowner']);
		unset($_SESSION['_rules']);
		setcookie('utag',null, -1, "/", mvc::$cfg['COOKIE_DOMAIN']);
		LibFc::Go(mvc::$cfg['ADMIN_URI'].'user/login?goto='.urlencode($_SERVER["HTTP_REFERER"]));
	}
	/**
	  * @method 图片验证码
	  * @author soul
	  * @copyright 2017/5/9
	  */
	function imgcode()
	{
		$Params = mvc::$URL_PARAMS;
		$OthCheckcode = new OthCheckcode();
		$CofArr = [];
		if(!empty($Params['type']))
		{
			switch($Params['type'])
			{
				case 'reg':
				case 'login': $CofArr = ['height'=>30, 'width'=>70]; break;
				case 'business': $CofArr = ['session_key'=>'BusinessImageCode','level'=>4,'height'=>30, 'width'=>80]; break;
			}
		}
		$OthCheckcode->getImgcode($CofArr);
	}
	
	
	/**
	  * @method 会员异步登录
	  * @author soul 2017/5/10
	  */
	function ajaxLogin()
	{
		//验证码校验
		$LibYpApi = new LibYpApi();
		$ResArr = $LibYpApi->Get('user/nameCheckcode', ['name'=>$_POST['loginname']], [], true);
		$must = $ResArr['data'];
		if($must && (empty($_POST['checkcode']) || $_SESSION['imgcode'] != strtoupper($_POST['checkcode'])))
		{
			$ResArr = ['status'=>false, 'data'=>'验证码错误，请重新输入', 'code'=>'checkcode_error'];
		}
		else
		{
			$PostData = [
				'type'=>'password',
				'data'=>['name'=>$_POST['loginname'],'password'=>$_POST['password']],
				'lang'=>'cn'
			];
			$PostData['data']['ip'] = LibFc::GetClientIp();
			$PostData['data']['from'] = 'PJD';
			$LibYpApi = new LibYpApi();
			$ResArr = $LibYpApi->Get('user/login', [], $PostData, true);
			if($ResArr['status'] && !empty($ResArr['data']['u_id']))
			{
				$ResArr = $this->loginSession($ResArr);
				if(!empty($_SESSION['_shopid']))
					unset($_SESSION['imgcode']);
			}
		}
		LibFc::ajaxJsonEncode($ResArr);	
	}

	/**
	  * @method 只有开通了店铺才允许登录
	  * @author soul 2017/5/10
	  */
	private function loginSession($ResArr)
	{
		if($ResArr['data']['u_mobile_check']=='N') return ['status'=>false, 'data'=>'请先登录电脑端验证绑定手机', 'code'=>'checkmobile_error'];
		$uid = $ResArr['data']['u_id'];
		$B2cBase = new B2cBase();
		$Res = $B2cBase->get('sh_shop', ['shop_id'], sprintf(" and shop_uid=%d", $uid), true);
		if(!empty($Res['data']))
		{
			$_SESSION['_shopid'] = $Res['data']['shop_id'];
			$_SESSION['_shopowner'] = true;
		}
		else
		{
			//是否为店铺职员
			$Res = $B2cBase->get('sh_worker', ['wor_shop_id', 'wor_rule_ids'], sprintf(" and wor_uid=%d and wor_status=1 limit 1", $_SESSION['_userid']), true);
			if(!empty($Res['data']))
			{
				//无需判断是否绑定手机
				$_SESSION['_mobliechk'] = 'Y';
				$_SESSION['_shopid'] = $Res['data']['wor_shop_id'];
				$_SESSION['_shopowner'] = false;
				$_SESSION['_rules'] = explode(',', $Res['data']['wor_rule_ids']);
			}
		}

		if(!empty($_SESSION['_shopid']))
		{
			$_SESSION['_mobliechk'] = $ResArr['data']['u_mobile_check'];
			$_SESSION['_userid'] = $ResArr['data']['u_id'];
			$_SESSION['_username'] = $ResArr['data']['u_name'];
			$_SESSION['_uname'] = empty($ResArr['data']['u_real_name'])? $_SESSION['_username']: $ResArr['data']['u_real_name'];
			$Expires = time()+3600*24*7;
			setcookie('utag', $ResArr['data']['utag'], $Expires, "/", mvc::$cfg['COOKIE_DOMAIN']);
			$ResArr['data'] = [
				'u_id'=>$_SESSION['_userid'],
				'u_name'=>$_SESSION['_username'],
			];
		}
		else
		{
			$ResArr = ['status'=>false, 'data'=>'此账号尚未开通店铺', 'code'=>'noShop'];
		}		
		return $ResArr;
	}


	function nameCheckcode()
	{
		$Params = mvc::$URL_PARAMS;
		$must = 0;
		if(!empty($Params['name']))
		{
			$LibYpApi = new LibYpApi();
			$ResArr = $LibYpApi->Get('user/nameCheckcode', ['name'=>$Params['name']]);
			$must = $ResArr['data'];
		}
		$Return = ['status'=>true, 'data'=>$must];
		LibFc::ajaxJsonEncode($Return);
	}
}