Exemple #1
0
/**
 * 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;
}
Exemple #2
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;
}