public function getRememberMeToken() { if (!$this->username) { $this->appendMessage(new Message('ERR_USER_REMEMBER_TOKEN_NO_USER_INPUT')); return false; } $sessionId = $this->getDI()->getSession()->getId(); if (!$sessionId) { $this->appendMessage(new Message('ERR_USER_REMEMBER_TOKEN_NO_SESSION')); return false; } $userinfo = self::findFirst("username = '******'"); if (!$userinfo) { $this->appendMessage(new Message('ERR_USER_REMEMBER_TOKEN_USER_NOT_FOUND')); return false; } $token = new Entities\Tokens(); $token->sessionId = $sessionId; $token->token = md5(uniqid(rand(), true)); $token->userHash = $this->getRememberMeHash($userinfo); $token->userId = $userinfo->id; $token->refreshAt = time(); $token->expiredAt = time() + $this->tokenExpired; $token->save(); $tokenString = $sessionId . '|' . $token->token . '|' . $token->userHash; return $tokenString; }