function user_registrationpassword_admin_settings_submit in User registration password 8
Same name and namespace in other branches
- 6 user_registrationpassword.module \user_registrationpassword_admin_settings_submit()
- 7 user_registrationpassword.module \user_registrationpassword_admin_settings_submit()
Submit handler for the user admin form.
1 string reference to 'user_registrationpassword_admin_settings_submit'
File
- ./
user_registrationpassword.module, line 150 - Enables password creation on registration form.
Code
function user_registrationpassword_admin_settings_submit(&$form, FormStateInterface $form_state) {
$config = \Drupal::configFactory()
->getEditable('user_registrationpassword.settings');
$mail_config = \Drupal::configFactory()
->getEditable('user_registrationpassword.mail');
$user_config = \Drupal::configFactory()
->getEditable('user.settings');
// The option we implement.
$user_registrationpassword_type = $form_state
->getValue('user_registrationpassword_registration');
$config
->set('registration', $user_registrationpassword_type);
// Core option.
$user_register = $form_state
->getValue('user_register');
// Test if we are enabled. For this, both options have to be set correctly
// because then and only then we can function.
// @see _user_mail_notify()
if ($user_registrationpassword_type == UserRegistrationPassword::VERIFICATION_PASS && $user_register == UserInterface::REGISTER_VISITORS) {
$user_config
->set('verify_mail', 0)
->set('notify.register_pending_approval', 0)
->set('notify.register_no_approval_required', 0);
}
else {
// Our option.
switch ($user_registrationpassword_type) {
case UserRegistrationPassword::NO_VERIFICATION:
$user_config
->set('verify_mail', 0);
break;
case UserRegistrationPassword::VERIFICATION_DEFAULT:
case UserRegistrationPassword::VERIFICATION_PASS:
$user_config
->set('verify_mail', 1);
break;
}
// Core option.
switch ($user_register) {
case UserInterface::REGISTER_ADMINISTRATORS_ONLY:
$user_config
->set('notify.register_pending_approval', 0)
->set('notify.register_no_approval_required', 0);
break;
case UserInterface::REGISTER_VISITORS:
case UserInterface::REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL:
$user_config
->set('notify.register_pending_approval', 1)
->set('notify.register_no_approval_required', 1);
break;
}
}
// Save mail data.
$mail_config
->set('register_confirmation_with_pass.subject', $form_state
->getValue('user_registrationpassword_register_confirmation_with_pass_subject'))
->set('register_confirmation_with_pass.body', $form_state
->getValue('user_registrationpassword_register_confirmation_with_pass_body'));
// Save or revert expiration limits variables.
$config
->set('registration_ftll_expire', $form_state
->getValue('user_registrationpassword_registration_ftll_expire'))
->set('registration_ftll_timeout', $form_state
->getValue('user_registrationpassword_registration_ftll_timeout'));
// Save configs.
$config
->save();
$mail_config
->save();
$user_config
->save();
}