You are here

function _securesite_guest_login in Secure Site 6.2

Same name and namespace in other branches
  1. 7.2 securesite.inc \_securesite_guest_login()

Log in guest user.

2 calls to _securesite_guest_login()
_securesite_digest_auth in ./securesite.inc
Perform digest authentication.
_securesite_plain_auth in ./securesite.inc
Perform plain authentication.

File

./securesite.inc, line 213
Secure Site log-in functions.

Code

function _securesite_guest_login($edit) {
  $guest_name = variable_get('securesite_guest_name', '');
  $guest_pass = variable_get('securesite_guest_pass', '');

  // Check anonymous user permission and credentials.
  if (user_access('access secured pages') && (empty($guest_name) || $edit['name'] == $guest_name) && (empty($guest_pass) || $edit['pass'] == $guest_pass)) {

    // Unset the session variable set by securesite_denied().
    unset($_SESSION['securesite_denied']);

    // Mark this session to prevent re-login (note: guests can't log out).
    $_SESSION['securesite_guest'] = $edit['name'];
    $_SESSION['securesite_login'] = TRUE;

    // Prevent a 403 error by redirecting off the logout page.
    if ($_GET['q'] == 'logout') {
      drupal_goto();
    }
  }
  else {
    if (empty($edit['name'])) {
      watchdog('user', 'Log-in attempt failed for <em>anonymous</em> user.');
      _securesite_denied(t('Anonymous users are not allowed to log in to secured pages.'));
    }
    else {
      watchdog('user', 'Log-in attempt failed for %user.', array(
        '%user' => $edit['name'],
      ));
      drupal_set_message(t('Unrecognized user name and/or password.'), 'error');
      _securesite_dialog(array_pop(variable_get('securesite_type', array(
        SECURESITE_BASIC,
      ))));
    }
  }
}