Пример #1
0
	public function setSeed($user) {
		if (headers_sent()) return null;
        if (!$user) 
            return false;
        $cookie = new HdfCookie();
		$cookie->setCookieDomain($this->_defaultDomain);

		$islogin = (!$user->isnull() && $user->Id > 0) ? true : false;
		$key = $islogin ? $this->encryptByKey('('.$user->Id.'|'.$user->Name.'|'.$user->SpaceHostId.')', $this->getLoginKey($user->Name)) : '';

		//向客户端写入COOKIE
		$cookie->set("userinfo[id]",       $user->Id,            $this->_defaultSeedLiveTime);
		$cookie->set("userinfo[name]",     $user->Name,          $this->_defaultSeedLiveTime);
		$cookie->set("userinfo[key]",      $key,                 $this->_defaultSeedLiveTime);
		$cookie->set("userinfo[hosttype]", $user->SpaceHostType, $this->_defaultSeedLiveTime);
		$cookie->set("userinfo[hostid]",   $user->SpaceHostType ? $user->SpaceHostId : '',   $this->_defaultSeedLiveTime);
		
		//向本次php写入COOKIE
		if (!isset($_COOKIE["userinfo"])) $_COOKIE["userinfo"] = array();
		$_COOKIE["userinfo"]["id"]       = $user->Id;
		$_COOKIE["userinfo"]["name"]     = $user->Name;
		$_COOKIE["userinfo"]["key"]      = $key;
		$_COOKIE["userinfo"]["hosttype"] = $user->SpaceHostType;
		$_COOKIE["userinfo"]["hostid"]   = $user->SpaceHostId;
		
		//设定本次变量
		$this->UserId        = $islogin ? $user->Id : -1;
		$this->UserName      = $islogin ? $user->Name : '游客';
		$this->IsLogin       = $islogin;
		$this->SpaceHostType = $user->SpaceHostType; 
		$this->SpaceHostId   = $user->isnull() ? 0 : $user->SpaceHostId;
		
		return true;	
	}