/** * Log the current user out * * @return bool */ function logout() { $session = _elgg_services()->session; $user = $session->getLoggedInUser(); if (!$user) { return false; } // plugins can prevent a logout if (!elgg_trigger_event('logout', 'user', $user)) { return false; } // remove remember cookie if (isset($_COOKIE['elggperm'])) { _elgg_delete_remember_me_cookie(md5($_COOKIE['elggperm'])); // tell browser to delete cookie $cookie = new ElggCookie("elggperm"); $cookie->setExpiresTime("-30 days"); $cookie->domain = "/"; elgg_set_cookie($cookie); } // pass along any messages into new session $old_msg = $session->get('msg'); $session->invalidate(); $session->set('msg', $old_msg); return true; }
/** * Log the current user out * * @return bool */ function logout() { global $CONFIG; if (isset($_SESSION['user'])) { if (!elgg_trigger_event('logout', 'user', $_SESSION['user'])) { return false; } $_SESSION['user']->code = ""; $_SESSION['user']->save(); } unset($_SESSION['username']); unset($_SESSION['name']); unset($_SESSION['code']); unset($_SESSION['guid']); unset($_SESSION['id']); unset($_SESSION['user']); $cookie = new ElggCookie("elggperm"); $cookie->setExpire("-30 days"); $cookie->domain = "/"; elgg_set_cookie($cookie); // pass along any messages $old_msg = $_SESSION['msg']; session_destroy(); // starting a default session to store any post-logout messages. _elgg_session_boot(NULL, NULL, NULL); $_SESSION['msg'] = $old_msg; return TRUE; }