/** * Verify user name * @param bool $fast Skip database checks * @return null|string */ public function verifyLogin($fast = false) { if (!Users::isLoginNamesEnabled()) { return null; } // check e-mail if (!$this->ignoreEmpty) { if ($this->login === '') { return $this->failures['login'] = self::REGISTER_LOGIN_EMPTY; } elseif (!self::isLoginValid($this->login)) { return $this->failures['login'] = self::REGISTER_LOGIN_INVALID; } elseif (strlen($this->login) < Users::getLoginMinChars()) { return $this->failures['login'] = self::REGISTER_LOGIN_SHORT; } elseif (strlen($this->login) > Users::getLoginMaxChars()) { return $this->failures['login'] = self::REGISTER_LOGIN_LONG; } elseif (!$fast and !self::isLoginAvailable($this->login)) { return $this->failures['login'] = self::REGISTER_LOGIN_EXISTS; } else { return $this->successful['login'] = self::REGISTER_LOGIN_OK; } } elseif ($this->login !== '') { if (!self::isLoginValid($this->login)) { return $this->failures['login'] = self::REGISTER_LOGIN_INVALID; } elseif (strlen($this->login) < Users::getLoginMinChars()) { return $this->failures['login'] = self::REGISTER_LOGIN_SHORT; } elseif (strlen($this->login) > Users::getLoginMaxChars()) { return $this->failures['login'] = self::REGISTER_LOGIN_LONG; } elseif (!$fast and !self::isLoginAvailable($this->login)) { return $this->failures['login'] = self::REGISTER_LOGIN_EXISTS; } } return null; }