/** * 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; }