public static function validatePassword(User $user, $value) { $length = strlen($value); $config = $user->getMain()->getConfig(); $messages = $user->getMain()->getMessages(); $minLength = $config->getNested("Registration.MinLength", 4); if ($length < $minLength) { $user->getPlayer()->sendMessage($messages->getNested("Register.PasswordUnderflow", "too short")); return false; } $maxLength = $config->getNested("Registration.MaxLength", -1); if ($maxLength !== -1 and $length > $maxLength) { $user->getPlayer()->sendMessage($messages->getNested("Register.PasswordOverflow", "too long")); return false; } if ($config->getNested("Registration.BanPureLetters", false) and preg_match('/^[a-z]+$/i', $value)) { $user->getPlayer()->sendMessage($messages->getNested("Register.PasswordPureLetters", "only letters")); return false; } if ($config->getNested("Registration.BanPureNumbers", false) and preg_match('/^[0-9]+$/', $value)) { $user->getPlayer()->sendMessage($messages->getNested("Register.PasswordPureNumbers", "only numbers")); return false; } if ($config->getNested("Registration.DisallowSlashes", true) and $value[0] === "/") { $user->getPlayer()->sendMessage($messages->getNested("Register.PasswordSlashes", "do not start with slashes")); return false; } return true; }
public function __construct(User $user) { $this->user = $user; $this->steps[] = new PasswordInputRegistrationStep($user); if ($this->user->getMain()->getConfig()->getNested("Registration.RequireConfirm", true)) { $this->steps[] = new PasswordConfirmRegistrationStep($user); } foreach ($user->getMain()->getConfig()->getNested("Registration.ExtraFields", []) as $i => $field) { if (!isset($field["Message"], $field["FieldName"])) { $this->user->getMain()->getLogger()->warning("The #" . ($i + 1) . " entry in Registration.ExtraFields is does not have the Message/FieldName line! It is not going to be added."); continue; } $message = $field["Message"]; $fieldName = $field["FieldName"]; $regex = null; $error = null; if (isset($field["RegExp"], $field["ErrorMessage"])) { $regex = $field["RegExp"]; $error = $field["ErrorMessage"]; } $this->addStep(new ConfigDefinedRegistrationStep($this->user, $message, $fieldName, $regex, $error)); } }
public function __construct(User $user) { parent::__construct($user->getMain()); $this->user = $user; }