/** * Logout the current user and remove any remaining cookies from their browser * Returns true on success, false otherwise * @access public */ function auth_logout() { global $g_cache_current_user_id, $g_cache_cookie_valid; # clear cached userid user_clear_cache($g_cache_current_user_id); $g_cache_current_user_id = null; $g_cache_cookie_valid = null; # clear cookies, if they were set if (auth_clear_cookies()) { helper_clear_pref_cookies(); } if (HTTP_AUTH == config_get('login_method')) { auth_http_set_logout_pending(true); } session_clean(); }
<?php # Mantis - a php based bugtracking system # Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org # Copyright (C) 2002 - 2004 Mantis Team - mantisbt-dev@lists.sourceforge.net # This program is distributed under the terms and conditions of the GPL # See the README and LICENSE files for details # -------------------------------------------------------- # $Id: logout_page.php,v 1.17 2004/05/30 01:49:31 vboctor Exp $ # -------------------------------------------------------- require_once 'core.php'; auth_logout(); if (HTTP_AUTH == config_get('login_method')) { auth_http_set_logout_pending(true); } print_header_redirect(config_get('logout_redirect_page'));
$f_perm_login = gpc_get_bool('perm_login'); $f_return = gpc_get_string('return', config_get('default_home_page')); $f_from = gpc_get_string('from', ''); if (BASIC_AUTH == config_get('login_method')) { $f_username = $_SERVER['REMOTE_USER']; $f_password = $_SERVER['PHP_AUTH_PW']; } if (HTTP_AUTH == config_get('login_method')) { if (!auth_http_is_logout_pending()) { if (isset($_SERVER['PHP_AUTH_USER'])) { $f_username = $_SERVER['PHP_AUTH_USER']; } if (isset($_SERVER['PHP_AUTH_PW'])) { $f_password = $_SERVER['PHP_AUTH_PW']; } } else { auth_http_set_logout_pending(false); auth_http_prompt(); break; } } if (auth_attempt_login($f_username, $f_password, $f_perm_login)) { $t_redirect_url = 'login_cookie_test.php?return=' . urlencode($f_return); } else { $t_redirect_url = 'login_page.php?return=' . urlencode($f_return) . '&error=1'; if (HTTP_AUTH == config_get('login_method')) { auth_http_prompt(); exit; } } print_header_redirect($t_redirect_url);