You are here

function autologout_autologout_prevent in Automated Logout 7.4

Same name and namespace in other branches
  1. 8 autologout.module \autologout_autologout_prevent()
  2. 6.4 autologout.module \autologout_autologout_prevent()

Implements hook_autologout_prevent().

File

./autologout.module, line 458
Used to automagically log out a user after a preset time.

Code

function autologout_autologout_prevent() {
  global $user;

  // Don't include autologout JS checks on ajax callbacks.
  $paths = array(
    'system',
    'autologout_ajax_get_time_left',
    'autologout_ahah_logout',
    'autologout_ahah_set_last',
  );
  if (in_array(arg(0), $paths)) {
    return TRUE;
  }

  // If user is anonymous or has no timeout set.
  if (empty($user->uid) || !_autologout_get_user_timeout()) {
    return TRUE;
  }

  // If the user has checked remember_me via the remember_me module.
  if (!empty($user->data['remember_me'])) {
    return TRUE;
  }

  // If user IP address is in the whitelist.
  if (variable_get('autologout_whitelisted_ip_addresses', FALSE)) {
    $ip_address_whitelist = array_map('trim', explode("\n", trim(variable_get('autologout_whitelisted_ip_addresses', array()))));
    if ($ip_address_whitelist && in_array(ip_address(), $ip_address_whitelist)) {
      return TRUE;
    }
  }
}