You are here

public function miniorange_2fa_inline_registration::buildForm in Google Authenticator / 2 Factor Authentication - 2FA 8

Same name and namespace in other branches
  1. 8.2 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 29

Class

miniorange_2fa_inline_registration

Namespace

Drupal\miniorange_2fa\form

Code

public function buildForm(array $form, \Drupal\Core\Form\FormStateInterface $form_state) {
  $form['markup_library'] = array(
    '#attached' => array(
      'library' => array(
        "miniorange_2fa/miniorange_2fa.admin",
        "miniorange_2fa/miniorange_2fa.license",
      ),
    ),
  );
  if (!isset($_SESSION['success_status'])) {
    $_SESSION['success_status'] = TRUE;
  }
  $query_param = \Drupal::service('path.current')
    ->getPath();
  $url_parts = explode('/', $query_param);
  end($url_parts);
  $user_id = prev($url_parts);
  $form_state->uid = $user_id;
  $utilities = new MoAuthUtilities();
  $custom_attribute = $utilities::get_users_custom_attribute($user_id);
  $account = \Drupal\user\Entity\User::load($user_id);
  $storage = $form_state
    ->getStorage();
  if (empty($custom_attribute[0]->miniorange_registered_email)) {

    // 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'])) {
      return $this
        ->mo_auth_inline_registration_page_three($form, $form_state);
    }
    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());
    }
  }
}