<optiontype>boolean</optiontype>
<defaultvalue>1</defaultvalue>
</option>
+ <option name="register_min_user_age">
+ <categoryname>user.register</categoryname>
+ <optiontype>integer</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <minvalue>0</minvalue>
+ </option>
<option name="register_disabled">
<categoryname>user.register</categoryname>
use wcf\system\exception\UserInputException;
use wcf\system\option\ISearchableConditionUserOption;
use wcf\system\option\OptionHandler;
+use wcf\util\DateUtil;
/**
* Handles user options.
if ($option->required && empty($this->optionValues[$option->optionName])) {
throw new UserInputException($option->optionName);
}
+
+ if (REGISTER_MIN_USER_AGE) {
+ if ($this->inRegistration && $option->optionName == 'birthday') {
+ if (empty($this->optionValues[$option->optionName])) {
+ throw new UserInputException($option->optionName);
+ }
+
+ if (DateUtil::getAge($this->optionValues[$option->optionName]) < REGISTER_MIN_USER_AGE) {
+ throw new UserInputException($option->optionName, 'birthdayTooYoung');
+ }
+ }
+ }
}
/**
}
// in registration
- if ($this->inRegistration && !$option->askDuringRegistration && !$option->required) {
+ if ($this->inRegistration && !$option->askDuringRegistration && !$option->required && ($option->optionName != 'birthday' || !REGISTER_MIN_USER_AGE)) {
return false;
}
<item name="wcf.acp.option.register_username_min_length"><![CDATA[Minimale Benutzernamenlänge]]></item>
<item name="wcf.acp.option.register_username_max_length"><![CDATA[Maximale Benutzernamenlänge]]></item>
<item name="wcf.acp.option.register_username_force_ascii"><![CDATA[Benutzernamen auf ASCII-Zeichen beschränken]]></item>
+ <item name="wcf.acp.option.register_min_user_age"><![CDATA[Mindestalter]]></item>
<item name="wcf.acp.option.register_disabled"><![CDATA[Registrierung deaktivieren]]></item>
<item name="wcf.acp.option.register_disabled.description"><![CDATA[Schaltet die Registrierung für neue Benutzer gänzlich ab. Neue Benutzer können nur noch manuell durch den Administrator angelegt werden.]]></item>
<item name="wcf.acp.option.register_enable_disclaimer"><![CDATA[Nutzungsbedingungen aktivieren]]></item>
<item name="wcf.user.option.error.tooLong"><![CDATA[Der eingegebene Text ist zu lang.]]></item>
<item name="wcf.user.option.error.tooShort"><![CDATA[Der eingegebene Text ist zu kurz.]]></item>
<item name="wcf.user.option.error.validationFailed"><![CDATA[Sie haben einen ungültigen Inhalt eingegeben.]]></item>
+ <item name="wcf.user.option.error.birthdayTooYoung"><![CDATA[Sie sind zu jung. Für eine Anmeldung auf dieser Seite müssen Sie mindestens {#REGISTER_MIN_USER_AGE} Jahre alt sein.]]></item>
<item name="wcf.user.error.isBanned"><![CDATA[Ihr Benutzeraccount wurde gesperrt{if $__wcf->user->banReason}: {@$__wcf->user->banReason|htmlspecialchars|nl2br}{else}.{/if}]]></item>
<item name="wcf.user.access.everyone"><![CDATA[Jeder]]></item>
<item name="wcf.user.access.following"><![CDATA[Benutzer, denen ich folge]]></item>
<item name="wcf.acp.option.register_username_min_length"><![CDATA[Minimum Username Length]]></item>
<item name="wcf.acp.option.register_username_max_length"><![CDATA[Maximum Username Length]]></item>
<item name="wcf.acp.option.register_username_force_ascii"><![CDATA[Require ASCII characters for usernames]]></item>
+ <item name="wcf.acp.option.register_min_user_age"><![CDATA[TODO: Mindestalter]]></item>
<item name="wcf.acp.option.register_disabled"><![CDATA[Disable registration]]></item>
<item name="wcf.acp.option.register_disabled.description"><![CDATA[Disables registration for all users, new users may be created through an administrator.]]></item>
<item name="wcf.acp.option.register_enable_disclaimer"><![CDATA[Enable disclaimer]]></item>
<item name="wcf.user.option.error.tooLong"><![CDATA[Entered text is too long.]]></item>
<item name="wcf.user.option.error.tooShort"><![CDATA[Entered text is too short.]]></item>
<item name="wcf.user.option.error.validationFailed"><![CDATA[Entered text is invalid.]]></item>
+ <item name="wcf.user.option.error.birthdayTooYoung"><![CDATA[TODO: Sie sind zu jung. Für eine Anmeldung auf dieser Seite müssen Sie mindestens {#REGISTER_MIN_USER_AGE} Jahre alt sein.]]></item>
<item name="wcf.user.error.isBanned"><![CDATA[Your user account has been banned{if $__wcf->user->banReason}: {@$__wcf->user->banReason|htmlspecialchars|nl2br}{else}.{/if}]]></item>
<item name="wcf.user.access.everyone"><![CDATA[Everyone]]></item>
<item name="wcf.user.access.following"><![CDATA[Users I’m following]]></item>