@@ -64,7 +75,8 @@ class CaptchaSettingsForm extends ConfigFormBase {
$container->get('config.factory'),
$container->get('cache.default'),
$container->get('module_handler'),
$container->get('captcha.helper')
$container->get('captcha.helper'),
$container->get('request_stack')
);
}
@@ -127,6 +139,23 @@ class CaptchaSettingsForm extends ConfigFormBase {
'#description'=>$this->t("This option makes it possible to add CAPTCHAs to forms on administrative pages. CAPTCHAs are disabled by default on administrative pages (which shouldn't be accessible to untrusted users normally) to avoid the related overhead. In some situations, e.g. in the case of demo sites, it can be useful to allow CAPTCHAs on administrative pages."),
'#description'=>$this->t('Enter one per single line IP-address in format XXX.XXX.XXX.XXX, or IP-address range in format XXX.XXX.XXX.YYY-XXX.XXX.XXX.ZZZ. No spaces allowed. Your current IP address is %ip_address.',['%ip_address'=>$ip_address]),
];
// Button for clearing the CAPTCHA placement cache.
// Based on Drupal core's "Clear all caches" (performance settings page).
$form['form_protection']['placement_caching']=[
@@ -235,6 +264,49 @@ class CaptchaSettingsForm extends ConfigFormBase {
$form_state->setErrorByName('whitelist_ips',$this->t('Lower IP address %ip_address in range %ip_range is not valid.',['%ip_address'=>$ip_lower,'%ip_range'=>$ip_range]));
$form_state->setErrorByName('whitelist_ips',$this->t('Upper IP address %ip_address in range %ip_range is not valid.',['%ip_address'=>$ip_upper,'%ip_range'=>$ip_range]));
$form_state->setErrorByName('whitelist_ips',$this->t('Lower and upper IP addresses should be different. Please correct range %ip_range.',['%ip_range'=>$ip_range]));
}
elseif($ip_lower_dec>$ip_upper_dec){
$form_state->setErrorByName('whitelist_ips',$this->t("Lower IP can't be greater than upper IP addresses in range. Please correct range %ip_range.",['%ip_range'=>$ip_range]));
}
}
}
parent::validateForm($form,$form_state);
}
/**
* {@inheritdoc}
*/
@@ -245,6 +317,9 @@ class CaptchaSettingsForm extends ConfigFormBase {