1.20.x session.inc | _backdrop_session_destroy($sid) |
Session handler assigned by session_set_save_handler().
Cleans up a specific session.
Parameters
$sid: Session ID.
Return value
TRUE: The session destroy handler must always return TRUE.
File
- includes/
session.inc, line 455 - User session handling functions.
Code
function _backdrop_session_destroy($sid) {
global $user, $is_https;
// Nothing to do if we are not allowed to change the session.
if (!backdrop_save_session()) {
return TRUE;
}
// Delete session data.
db_delete('sessions')
->condition($is_https ? 'ssid' : 'sid', $sid)
->execute();
// Reset $_SESSION and $user to prevent a new session from being started
// in backdrop_session_commit().
$_SESSION = array();
$user = backdrop_anonymous_user();
// Unset the session cookies.
_backdrop_session_delete_cookie(session_name());
if ($is_https) {
_backdrop_session_delete_cookie(substr(session_name(), 1), FALSE);
}
elseif (settings_get('https', FALSE)) {
_backdrop_session_delete_cookie('S' . session_name(), TRUE);
}
return TRUE;
}