You are here

function ga_login_form_user_login_alter in Google Authenticator login 7

Implements hook_form_FORM_ID_alter().

Add GA Login Code field to user login form.

1 call to ga_login_form_user_login_alter()
ga_login_form_user_login_block_alter in ./ga_login.module
Implements hook_form_FORM_ID_alter().

File

./ga_login.module, line 206
Main ga_login module.

Code

function ga_login_form_user_login_alter(&$form, &$form_state, $form_id) {
  $form['gacode'] = array(
    '#type' => 'gacode',
    '#title' => t('Code'),
    '#required' => FALSE,
  );
  $form['name']['#weight'] = 1;
  $form['pass']['#weight'] = 2;
  $form['gacode']['#weight'] = 3;
  $form['submit']['#weight'] = 4;
  if (isset($form['links'])) {
    $form['links']['#weight'] = 5;
  }

  // Normalize keys to start from 0.
  $form['#validate'] = array_values($form['#validate']);
  $validate_before = array_slice($form['#validate'], 0, array_search('user_login_final_validate', $form['#validate']));
  $validate_after = array_slice($form['#validate'], array_search('user_login_final_validate', $form['#validate']));

  // Insert our validation function directly before user_login_final_validate.
  $form['#validate'] = array_merge($validate_before, array(
    'ga_login_user_login_validate',
  ), $validate_after);

  // Add submit handler to conditionally redirect the user to create
  // a new GA login code.
  $form['#submit'][] = 'ga_login_user_login_submit_code_needed';
}