You are here

function remember_me_form_alter in Remember me 6.2

Same name and namespace in other branches
  1. 5.2 remember_me.module \remember_me_form_alter()
  2. 5 remember_me.module \remember_me_form_alter()
  3. 7 remember_me.module \remember_me_form_alter()

Implementation of hook_form_alter().

File

./remember_me.module, line 91
Adds a "Remember me" checkbox to login forms.

Code

function remember_me_form_alter(&$form, $form_state, $form_id) {

  // Only make changes to these forms.
  if (in_array($form_id, array(
    'user_login',
    'user_login_block',
  ))) {

    // Configuration for the remember me checkbox.
    $cbox['remember_me'] = array(
      '#title' => t('Remember me'),
      '#type' => variable_get('remember_me_checkbox_visible', 1) ? 'checkbox' : 'hidden',
      '#default_value' => variable_get('remember_me_checkbox', 1),
      '#attributes' => array(
        'tabindex' => 1,
      ),
    );
    $que = array();

    // Now lets try and insert it right after the password field in the document
    // and set the tabindex to 1 for each field so that we can jump in sequence.
    while (list($key, $val) = each($form)) {
      switch ($key) {
        case 'name':
        case 'pass':
          $val['#attributes']['tabindex'] = 1;
          break;
        case 'submit':
          $form = $que + $cbox + $form;
          $form[$key]['#attributes']['tabindex'] = 1;
          return;
      }
      $que[$key] = $val;
    }
  }
}