summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2006-12-04 10:41:20 +0000
committerDries Buytaert <dries@buytaert.net>2006-12-04 10:41:20 +0000
commitab1d68d166ca57e6a0c0de6d940dd395826e37f4 (patch)
tree6936670ed8ea4861f1038ca3320c854eb0e17bad /includes
parent47f527fbbeb4b631bcdf26ce0e74538c8fc96a11 (diff)
downloadbrdo-ab1d68d166ca57e6a0c0de6d940dd395826e37f4.tar.gz
brdo-ab1d68d166ca57e6a0c0de6d940dd395826e37f4.tar.bz2
- Patch #90612 by Bart Jansens: user_logout should only end the current session.
Diffstat (limited to 'includes')
-rw-r--r--includes/bootstrap.inc2
-rw-r--r--includes/session.inc14
2 files changed, 12 insertions, 4 deletions
diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index a05a08d74..a331dbd34 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -731,7 +731,7 @@ function _drupal_bootstrap($phase) {
case DRUPAL_BOOTSTRAP_SESSION:
require_once './includes/session.inc';
- session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");
+ session_set_save_handler('sess_open', 'sess_close', 'sess_read', 'sess_write', 'sess_destroy_sid', 'sess_gc');
session_start();
break;
diff --git a/includes/session.inc b/includes/session.inc
index 4c61bb637..922f0611a 100644
--- a/includes/session.inc
+++ b/includes/session.inc
@@ -125,13 +125,21 @@ function sess_count($timestamp = 0, $anonymous = true) {
/**
* Called by PHP session handling with the PHP session ID to end a user's session.
- * Can also be called directly, either with the PHP session ID or another identifier
- * such as uid to end a specific user's session.
+ *
+ * @param string $sid
+ * the session id
+ */
+function sess_destroy_sid($sid) {
+ db_query("DELETE FROM {sessions} WHERE sid = '%s'", $sid);
+}
+
+/**
+ * End a specific user's session
*
* @param string $uid
* the user id
*/
-function sess_destroy($uid) {
+function sess_destroy_uid($uid) {
db_query('DELETE FROM {sessions} WHERE uid = %d', $uid);
}