Phpauth\Auth::login PHP Метод

login() публичный Метод

Logs a user in
public login ( string $email, string $password, integer $remember, string $captcha = NULL ) : array
$email string
$password string
$remember integer
$captcha string = NULL
Результат array $return
    public function login($email, $password, $remember = 0, $captcha = NULL)
    {
        $return['error'] = true;
        $block_status = $this->isBlocked();
        if ($block_status == "verify") {
            if ($this->checkCaptcha($captcha) == false) {
                $return['message'] = $this->lang["user_verify_failed"];
                return $return;
            }
        }
        if ($block_status == "block") {
            $return['message'] = $this->lang["user_blocked"];
            return $return;
        }
        $validateEmail = $this->validateEmail($email);
        $validatePassword = $this->validatePassword($password);
        if ($validateEmail['error'] == 1) {
            $this->addAttempt();
            $return['message'] = $this->lang["email_password_invalid"];
            return $return;
        } elseif ($validatePassword['error'] == 1) {
            $this->addAttempt();
            $return['message'] = $this->lang["email_password_invalid"];
            return $return;
        } elseif ($remember != 0 && $remember != 1) {
            $this->addAttempt();
            $return['message'] = $this->lang["remember_me_invalid"];
            return $return;
        }
        $uid = $this->getUID(strtolower($email));
        if (!$uid) {
            $this->addAttempt();
            $return['message'] = $this->lang["email_password_incorrect"];
            return $return;
        }
        $user = $this->getBaseUser($uid);
        if (!password_verify($password, $user['password'])) {
            $this->addAttempt();
            $return['message'] = $this->lang["email_password_incorrect"];
            return $return;
        }
        if ($user['isactive'] != 1) {
            $this->addAttempt();
            $return['message'] = $this->lang["account_inactive"];
            return $return;
        }
        $sessiondata = $this->addSession($user['uid'], $remember);
        if ($sessiondata == false) {
            $return['message'] = $this->lang["system_error"] . " #01";
            return $return;
        }
        $return['error'] = false;
        $return['message'] = $this->lang["logged_in"];
        $return['hash'] = $sessiondata['hash'];
        $return['expire'] = $sessiondata['expiretime'];
        $return['cookie_name'] = $this->config->cookie_name;
        return $return;
    }