/** * LOGOUT User * * @global resource $SUMO * @author Alberto Basso <*****@*****.**> */ function sumo_user_logout() { global $SUMO; sumo_delete_old_sessions(); sumo_delete_old_connections(); $query = "DELETE FROM " . SUMO_TABLE_SESSIONS . "\n\t\t\t WHERE session_id='" . $SUMO['client']['session_id'] . "'"; $SUMO['DB']->Execute($query); if (SUMO_SESSIONS_DATABASE) { $query = "DELETE FROM " . SUMO_TABLE_SESSIONS_STORE . "\n\t \t\t \t WHERE sesskey='" . $SUMO['client']['session_id'] . "'"; $SUMO['DB']->Execute($query); } sumo_write_log('I00201X', array($SUMO['user']['user'], $SUMO['client']['ip'], $SUMO['client']['country'], sumo_get_accesspoint_name($SUMO['page']['name'], $SUMO['config']['server']['language']), $SUMO['page']['url']), '0,1', 3, 'access', FALSE); // Delete all defined cookies $cookies = array_keys($_COOKIE); for ($c = 0; $c < count($cookies); $c++) { setcookie($cookies[$c], "", 1); } session_destroy(); }
} if (!sumo_verify_is_today()) { sumo_update_day_limit(); sumo_write_today(); sumo_delete_old_users_temp(); sumo_delete_old_sessions(); sumo_delete_old_connections(); sumo_delete_old_log(); sumo_optimize_db(); sumo_optimize_hits_counter(); } // Auto optimize Sumo database if (sumo_hits_count($SUMO['config']['database']['optimize_hits'], TRUE)) { sumo_delete_old_users_temp(); sumo_delete_old_sessions(); sumo_delete_old_connections(); sumo_delete_old_log(); sumo_optimize_db(); } // Filter all input data $_GET = sumo_array_combine(array_keys($_GET), sumo_array_filter(array_values($_GET))); $_POST = sumo_array_combine(array_keys($_POST), sumo_array_filter(array_values($_POST), 'POST')); $_COOKIE = sumo_array_combine(array_keys($_COOKIE), sumo_array_filter(array_values($_COOKIE), 'COOKIE')); // Get variables require SUMO_PATH . '/inc/inc.get_variables.php'; $SUMO['user'] = sumo_get_user_info(); $SUMO['connection'] = sumo_get_connection_info(); // ...to remember 'security string' after login if (empty($SUMO['connection']['security_string'])) { $SUMO['connection']['security_string'] = $_SESSION['security_string']; }