Esempio n. 1
0
/**
 * 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;
}