You are here

function remember_me_admin_settings in Remember me 5.2

Same name and namespace in other branches
  1. 6.2 remember_me.admin.inc \remember_me_admin_settings()
  2. 7 remember_me.admin.inc \remember_me_admin_settings()

Implementation of menu callback

1 string reference to 'remember_me_admin_settings'
remember_me_menu in ./remember_me.module
Implementation of hook_menu().

File

./remember_me.module, line 151
Add a "Remember me" checkbox to login forms.

Code

function remember_me_admin_settings() {
  global $user;
  $options = drupal_map_assoc(array(
    3600,
    10800,
    21600,
    43200,
    86400,
    172800,
    259200,
    604800,
    1209600,
    2419200,
  ), 'format_interval');
  $link = l(t('Configure Who\'s online settings'), 'admin/settings/remember_me/users/online', array(
    'title' => t('Who\'s online settings.'),
    'class' => 'remember-me-users-online',
  ), 'destination=admin/settings/remember_me');
  $vars = array(
    'remember' => array(
      '#type' => 'item',
      '#title' => t('Remember me'),
      '#value' => $user->remember_me ? t('Yes') : t('No'),
      '#description' => t("Current user chose at log in."),
    ),
    'session' => array(
      '#type' => 'item',
      '#title' => t('Session lifetime'),
      '#value' => format_interval(ini_get('session.cookie_lifetime')),
      '#description' => t("Currently configured session cookie lifetime."),
    ),
    'activity' => array(
      '#type' => 'item',
      '#title' => t('User activity'),
      '#value' => '<span id="remember-me-timeout">' . format_interval(variable_get('user_block_seconds_online', 900)) . '</span>',
      '#description' => t("Period a user is considered to be online for after they have last viewed a page."),
    ),
  );
  $form['legend'] = array(
    '#type' => 'markup',
    '#value' => theme('remember_me_settings_display', $vars),
  );
  $form['remember_me_phantom_session'] = array(
    '#type' => 'checkbox',
    '#title' => t('Manage phantom sessions'),
    '#default_value' => variable_get('remember_me_phantom_session', 0),
    '#description' => t("Prevent phantom sessions from causing duplicate entries on the Who's online list."),
  );
  $form['user_activity'] = array(
    '#type' => 'item',
    '#value' => $link,
    '#description' => t("Decrease the likelihood of trapping phantom sessions by shortening the Who's online user activity period."),
  );
  $form['remember_me_managed'] = array(
    '#type' => 'checkbox',
    '#title' => t('Manage session lifetime'),
    '#default_value' => variable_get('remember_me_managed', 0),
    '#description' => t('Choose to manually overwrite the configuration value from settings.php.'),
  );
  $form['remember_me_lifetime'] = array(
    '#type' => 'select',
    '#title' => t('Lifetime'),
    '#default_value' => variable_get('remember_me_lifetime', 604800),
    '#options' => $options,
    '#description' => t('Duration a user will be remembered for. This setting is ignored if Manage session lifetime (above) is disabled.'),
  );
  $form['remember_me_checkbox'] = array(
    '#type' => 'checkbox',
    '#title' => t('Remember me field'),
    '#default_value' => variable_get('remember_me_checkbox', 1),
    '#description' => t('Default state of the "Remember me" field on the login forms.'),
  );
  return system_settings_form($form);
}