You are here

function mo_auth_build_kba_authentication_form in Google Authenticator / 2 Factor Authentication - 2FA 7

1 call to mo_auth_build_kba_authentication_form()
mo_auth_build_form_content in ./authenticate_user.inc

File

./authenticate_user.inc, line 385
This is used to authenticate user during login.

Code

function mo_auth_build_kba_authentication_form($form, $base_url, $challenge_response, $success_message = TRUE) {
  if ($success_message === TRUE) {
    $message = t('Please answer the following questions.');
  }
  else {
    $message = t('The answers you have entered are incorrect.');
  }
  $message_div_class = $success_message === TRUE ? 'mo2f-message-status' : 'mo2f-message-error';
  $form['header']['#markup'] .= t('<div class="mo2f-message ' . $message_div_class . '">' . $message . '</div>');
  $form['header']['#markup'] .= t('<div class="mo2f-info">Please answer the following questions:</div>');
  $form['header']['#markup'] .= '<div class="mo2f-kba-header mo2f-kba-row">
  			<div class="mo2f-kba-srno">No.</div>
  			<div class="mo2f-kba-question">Questions</div>
			<div class="mo2f-kba-answer">Answers</div>
  			</div>';
  $i = 0;
  $questions = $challenge_response->questions;
  foreach ($questions as $ques) {
    $i++;
    $form['header']['#markup'] .= '<div class="mo2f-kba-row">
  			<div class="mo2f-kba-srno">' . $i . '.</div>
  			<div class="mo2f-kba-question">' . $ques->question . '</div>
			<div class="mo2f-kba-answer"><input class="form-control form-text" type="text" name="mo2f_kbaanswer' . $i . '" title="Only alphanumeric letters with special characters(_@.$#&amp;+-) are allowed." pattern="(?=\\S)[A-Za-z0-9_@.$#&amp;+-\\s]{1,100}" required="true" autofocus="true" autocomplete="off" placeholder="Enter your answer"></div>
  		<input type="hidden" name="mo2f_kbaquestion' . $i . '" value="' . $ques->question . '"/></div>';
  }
  $form['txId'] = array(
    '#type' => 'hidden',
    '#value' => $challenge_response->txId,
  );
  $submit_attributes = array();
  $form['submit_attributes'] = $submit_attributes;
  $form['mo_message'] = $message;
  return $form;
}