findByAttributes(array('username'=>$this->username)); if ($user === NULL) { $this->errorCode = self::ERROR_USERNAME_INVALID; } else { if ($user->password !== $user->encrypt($this->password)) { $this->errorCode = self::ERROR_PASSWORD_INVALID; } else { $this->_id = $user->id; $this->_email = $user->email; if ($user->last_login_time === null) { $lastLogin = time(); } else { $lastLogin = strtotime($user->last_login_time); $this->setState('lastLoginTime', $lastLogin); } $this->errorCode = self::ERROR_NONE; } } return !$this->errorCode; } public function getId() { return $this->_id; } public function getEmail() { return $this->_email; } }