function _drupal_session_destroy

Session handler assigned by session_set_save_handler().

Cleans up a specific session.

Parameters

$sid: Session ID.

1 string reference to '_drupal_session_destroy'
drupal_session_initialize in includes/session.inc
Initializes the session handler, starting a session if needed.

File

includes/session.inc, line 484

Code

function _drupal_session_destroy($sid) {
    global $user, $is_https;
    // Nothing to do if we are not allowed to change the session.
    if (!drupal_save_session()) {
        return TRUE;
    }
    // Delete session data.
    db_delete('sessions')->condition($is_https ? 'ssid' : 'sid', drupal_session_id($sid))
        ->execute();
    // Reset $_SESSION and $user to prevent a new session from being started
    // in drupal_session_commit().
    $_SESSION = array();
    $user = drupal_anonymous_user();
    // Unset the session cookies.
    _drupal_session_delete_cookie(session_name());
    if ($is_https) {
        _drupal_session_delete_cookie(substr(session_name(), 1), FALSE);
    }
    elseif (variable_get('https', FALSE)) {
        _drupal_session_delete_cookie('S' . session_name(), TRUE);
    }
    return TRUE;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.