/** * @see Form::validate() */ public function validate() { parent::validate(); // only for guests if (WCF::getUser()->userID == 0) { // username if (empty($this->username)) { throw new UserInputException('username'); } if (!UserUtil::isValidUsername($this->username)) { throw new UserInputException('username', 'notValid'); } if (!UserUtil::isAvailableUsername($this->username)) { throw new UserInputException('username', 'notAvailable'); } WCF::getSession()->setUsername($this->username); } else { $this->username = WCF::getUser()->username; } }
/** * Validates the username */ protected function validateUsername() { if (!WCF::getUser()->userID) { if (empty($this->username)) { throw new UserInputException('username'); } if (!UserUtil::isValidUsername($this->username)) { throw new UserInputException('username', 'notValid'); } if (!UserUtil::isAvailableUsername($this->username)) { throw new UserInputException('username', 'notAvailable'); } WCF::getSession()->setUsername($this->username); } else { $this->username = WCF::getUser()->username; } }
/** * Throws a UserInputException if the username is not unique or not valid. * * @param string $username */ protected function validateUsername($username) { if (empty($username)) { throw new UserInputException('username'); } // check for forbidden chars (e.g. the ",") if (!UserUtil::isValidUsername($username)) { throw new UserInputException('username', 'notValid'); } // Check if username exists already. if (!UserUtil::isAvailableUsername($username)) { throw new UserInputException('username', 'notUnique'); } }
/** * @see Form::validate() */ public function validate() { parent::validate(); // password if (empty($this->password)) { throw new UserInputException('password'); } if (!WCF::getUser()->checkPassword($this->password)) { throw new UserInputException('password', 'false'); } // username if ($this->canChangeUsername && $this->username != WCF::getUser()->username) { if (StringUtil::toLowerCase($this->username) != StringUtil::toLowerCase(WCF::getUser()->username)) { // check for forbidden chars (e.g. the ",") if (!UserRegistrationUtil::isValidUsername($this->username)) { throw new UserInputException('username', 'notValid'); } // Check if username exists already. if (!UserUtil::isAvailableUsername($this->username)) { throw new UserInputException('username', 'notUnique'); } } } // password if (!empty($this->newPassword) || !empty($this->confirmNewPassword)) { if (empty($this->newPassword)) { throw new UserInputException('newPassword'); } if (empty($this->confirmNewPassword)) { throw new UserInputException('confirmNewPassword'); } if (!UserRegistrationUtil::isSecurePassword($this->newPassword)) { throw new UserInputException('newPassword', 'notSecure'); } if ($this->newPassword != $this->confirmNewPassword) { throw new UserInputException('confirmNewPassword', 'notEqual'); } } // email if (WCF::getUser()->getPermission('user.profile.canChangeEmail') && $this->email != WCF::getUser()->email && $this->email != WCF::getUser()->newEmail) { if (empty($this->email)) { throw new UserInputException('email'); } // check if only letter case is changed if (StringUtil::toLowerCase($this->email) != StringUtil::toLowerCase(WCF::getUser()->email)) { // check for valid email (one @ etc.) if (!UserRegistrationUtil::isValidEmail($this->email)) { throw new UserInputException('email', 'notValid'); } // Check if email exists already. if (!UserUtil::isAvailableEmail($this->email)) { throw new UserInputException('email', 'notUnique'); } } // check confirm input if (StringUtil::toLowerCase($this->email) != StringUtil::toLowerCase($this->confirmEmail)) { throw new UserInputException('confirmEmail', 'notEqual'); } } }
/** * Validates the username. */ protected function validateUsername() { // only for guests if (WCF::getUser()->userID == 0) { if (empty($this->username)) { throw new UserInputException('username'); } if (!UserUtil::isValidUsername($this->username)) { throw new UserInputException('username', 'invalid'); } if (!UserUtil::isAvailableUsername($this->username)) { throw new UserInputException('username', 'notUnique'); } WCF::getSession()->register('username', $this->username); } }