public function miniorange_2fa_inline_registration::buildForm in Google Authenticator / 2 Factor Authentication - 2FA 8.2
Same name and namespace in other branches
- 8 src/Form/miniorange_2fa_inline_registration.php \Drupal\miniorange_2fa\form\miniorange_2fa_inline_registration::buildForm()
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides FormInterface::buildForm
File
- src/
Form/ miniorange_2fa_inline_registration.php, line 31 - Page 1: Select Email address. Page 2: Verify OTP. Page 3: Select Auth Method. Page 4: Configure Auth Method. Page 5: Configure KBA.
Class
- miniorange_2fa_inline_registration
- @file Page 1: Select Email address. Page 2: Verify OTP. Page 3: Select Auth Method. Page 4: Configure Auth Method. Page 5: Configure KBA.
Namespace
Drupal\miniorange_2fa\formCode
public function buildForm(array $form, FormStateInterface $form_state) {
$form['markup_library'] = array(
'#attached' => array(
'library' => array(
"miniorange_2fa/miniorange_2fa.admin",
"miniorange_2fa/miniorange_2fa.license",
),
),
);
$session = MoAuthUtilities::getSession();
$moMfaSession = $session
->get("mo_auth", null);
if (is_null($moMfaSession) || !isset($moMfaSession['status']) || !isset($moMfaSession['uid']) || $moMfaSession['status'] !== '1ST_FACTOR_AUTHENTICATED') {
return $form;
}
if (!isset($_SESSION['success_status'])) {
$_SESSION['success_status'] = TRUE;
}
$url_parts = MoAuthUtilities::mo_auth_get_url_parts();
end($url_parts);
$user_id = prev($url_parts);
if ($moMfaSession['uid'] != $user_id) {
return $form;
}
$form_state->uid = $user_id;
$utilities = new MoAuthUtilities();
$custom_attribute = $utilities::get_users_custom_attribute($user_id);
$account = User::load($user_id);
$mo2FAResetRequest = isset($_GET['mo2faresetrequest']);
$storage = $form_state
->getStorage();
if (empty($custom_attribute[0]->miniorange_registered_email) || !empty($custom_attribute[0]->miniorange_registered_email) && $mo2FAResetRequest && \Drupal::currentUser()
->isAuthenticated()) {
/** Display page 5 if $storage['page_five'] is set */
if (isset($storage['page_five'])) {
return $this
->mo_auth_inline_registration_page_five($form, $form_state);
}
elseif (isset($storage['page_otp_validate'])) {
return $this
->mo_auth_inline_registration_page_four_otp_validate($form, $form_state, $_SESSION['success_status'], $_SESSION['message']);
}
elseif (isset($storage['page_four'])) {
return $this
->mo_auth_inline_registration_page_four($form, $form_state, $_SESSION['success_status'], $_SESSION['message']);
}
elseif (isset($storage['page_three']) || !empty($custom_attribute[0]->miniorange_registered_email) && $mo2FAResetRequest && \Drupal::currentUser()
->isAuthenticated()) {
return $this
->mo_auth_inline_registration_page_three($form, $form_state, $mo2FAResetRequest);
}
elseif (isset($storage['page_two'])) {
return $this
->mo_auth_inline_registration_page_two($form, $form_state, $_SESSION['success_status']);
}
else {
return $this
->mo_auth_inline_registration_page_one($form, $form_state, $_SESSION['success_status'], $account
->getEmail());
}
}
}