public function MoAuthLoginSettings::submitForm in Google Authenticator / 2 Factor Authentication - 2FA 8.2
Same name and namespace in other branches
- 8 src/Form/MoAuthLoginSettings.php \Drupal\miniorange_2fa\Form\MoAuthLoginSettings::submitForm()
Form submission handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides FormInterface::submitForm
File
- src/
Form/ MoAuthLoginSettings.php, line 643 - Contains support form for miniOrange 2FA Login Module.
Class
- MoAuthLoginSettings
- Showing LoginSetting form info.
Namespace
Drupal\miniorange_2fa\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$utilities = new MoAuthUtilities();
$form_values = $form_state
->getValues();
$phone_number_field_machine_name = $utilities
->miniOrange_set_get_configurations([
'phone_number_field_machine_name',
], 'GET')['phone_number_field_machine_name'];
if (is_null($phone_number_field_machine_name)) {
$phone_number_field_machine_name = trim($form_values['auto_fetch_phone_number_field_name']) == '' ? trim($form_values['login_with_phone_number_field_machine_name']) : trim($form_values['auto_fetch_phone_number_field_name']);
}
else {
if ($phone_number_field_machine_name == trim($form_values['auto_fetch_phone_number_field_name'])) {
$phone_number_field_machine_name = trim($form_values['login_with_phone_number_field_machine_name']);
}
else {
$phone_number_field_machine_name = trim($form_values['auto_fetch_phone_number_field_name']);
}
}
if (trim($phone_number_field_machine_name) !== '') {
$user = User::load(\Drupal::currentUser()
->id());
try {
$user
->get($phone_number_field_machine_name)->value;
} catch (\Exception $e) {
\Drupal::messenger()
->addMessage(t('The field ( ' . $phone_number_field_machine_name . ' ) does not exist. Please enter correct machine name.'), 'error');
return;
}
}
/**
* @DO NOT REMOVE THE SPACES BETWEEN FOLLOWING LINES
*/
$variables_and_values = array(
'mo_auth_enable_two_factor' => $form_values['mo_auth_enable_two_factor'] === 1,
'mo_auth_enforce_inline_registration' => $form_values['mo_auth_enforce_inline_registration'] === 1,
'mo_auth_2fa_allow_reconfigure_2fa' => $form_values['mo_auth_2fa_allow_reconfigure_2fa'],
'mo_auth_2fa_kba_questions' => $form_values['mo_auth_2fa_kba_questions'],
'mo_auth_enable_allowed_2fa_methods' => $form_values['mo_auth_enable_2fa_methods_for_inline'],
'mo_auth_selected_2fa_methods' => self::getSelected2faMethods($form_values),
'mo_auth_enable_role_based_2fa' => $form_values['mo_auth_two_factor_enable_role_based_2fa'] === 1,
'mo_auth_role_based_2fa_roles' => self::getRoleBased2faRoles($form_values),
'mo_auth_enable_domain_based_2fa' => $form_values['mo_auth_two_factor_invoke_2fa_depending_upon_domain'] === 1,
'mo_auth_domain_based_2fa_domains' => preg_replace('/\\s+/', '', $form_values['mo_auth_domain_based_2fa_domains']),
'mo_2fa_domain_and_role_rule' => $form_values['mo_2fa_rule_for_domain'],
'mo_auth_use_only_2nd_factor' => $form_values['mo_auth_two_factor_instead_password'] === 1,
'mo_auth_enable_login_with_email' => $form_values['mo_auth_two_factor_enable_login_with_email'] === 1,
'mo_auth_enable_login_with_phone' => $form_values['mo_auth_two_factor_enable_login_with_phone'] === 1,
'mo_auth_override_login_labels' => $form_values['mo_auth_two_factor_override_login_labels'] === 1,
'mo_auth_username_title' => $form_values['mo_auth_two_factor_username_title'],
'mo_auth_username_description' => $form_values['mo_auth_two_factor_username_description'],
'mo_auth_enable_whitelist_IPs' => $form_values['mo_auth_two_factor_invoke_2fa_depending_upon_IP'] === 1,
'mo_auth_whitelisted_IP_address' => preg_replace('/\\s+/', '', $form_values['mo_auth_two_factor_whitelist_IP']),
'mo_auth_enable_custom_kba_questions' => $form_values['mo_auth_enable_custom_kba_questions'] === 1,
'mo_auth_custom_kba_set_1' => self::processKBAQuestions($form_values['mo_auth_enable_custom_kba_set_1']),
'mo_auth_custom_kba_set_2' => self::processKBAQuestions($form_values['mo_auth_enable_custom_kba_set_2']),
'mo_auth_redirect_user_after_login' => $form_values['mo_auth_redirect_user_after_login'],
'mo_auth_google_auth_app_name' => urlencode($form_values['mo_auth_two_factor_google_authenticator_app_name']),
'mo_auth_custom_organization_name' => urlencode($form_values['mo_auth_custom_organization_name']),
'mo_auth_backdoor_login_access' => $form_values['miniorange_2fa_backdoor_textbox1'],
'mo_auth_enable_backdoor' => $form_values['mo_auth_enable_backdoor'] === 1,
'allow_end_users_to_decide' => $form_values['allow_end_users_to_decide'] === 1,
'end_users_can_decide_without_rules' => $form_values['end_users_can_decide_without_rules'] === 1,
'skip_not_allowed_for_secured_users' => $form_values['skip_not_allowed_for_secured_users'] === 1,
'only_some_admins_can_edit_2fa_configs' => $form_values['only_some_admins_can_edit_2fa_configs'] === 1,
'list_of_admins_who_can_edit_2fa_configs' => $form_values['list_of_admins_who_can_edit_2fa_configs'],
'auto_fetch_phone_number' => $form_values['auto_fetch_phone_number'] === 1,
'phone_number_field_machine_name' => trim($phone_number_field_machine_name),
'auto_fetch_phone_number_country_code' => $form_values['auto_fetch_phone_number_country_code'],
);
$utilities
->miniOrange_set_get_configurations($variables_and_values, 'SET');
drupal_flush_all_caches();
\Drupal::messenger()
->addStatus(t("Login settings updated."));
}