/** * <b>block_handler</b> * Blocks a user if required */ function block_handler() { global $db, $config, $user, $lang; if ($user->data['user_id'] == ANONYMOUS) { return; } if (intval($config['ctracker_spammer_blockmode']) == 1 && $user->data['user_id'] != ANONYMOUS) { // Ban user $sql = "INSERT INTO " . BANLIST_TABLE . "(`ban_id` , `ban_userid` , `ban_ip` , `ban_email`) VALUES ('', '" . $user->data['user_id'] . "', '', NULL);"; if (!$db->sql_query($sql)) { message_die(CRITICAL_ERROR, $lang['ctracker_error_updating_userdata'], '', __LINE__, __FILE__, $sql); } $db->clear_cache('ban_', USERS_CACHE_FOLDER); } elseif (intval($config['ctracker_spammer_blockmode']) == 2) { // Block user $sql = 'UPDATE ' . USERS_TABLE . ' SET user_active = 0 WHERE user_id = ' . $user->data['user_id']; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, $lang['ctracker_error_updating_userdata'], '', __LINE__, __FILE__, $sql); } // Mighty Gorgon: Remove all notifications... if (!function_exists('user_clear_notifications')) { include_once IP_ROOT_PATH . 'includes/functions_users_delete.' . PHP_EXT; } $clear_notification = user_clear_notifications($user->data['user_id']); } // Remove Profile data // Removed user_email = '*****@*****.**' $sql = "UPDATE " . USERS_TABLE . " SET user_allowavatar = 0, user_icq = '', user_website = '', user_from = '', user_sig = '', user_aim = '', user_yim = '', user_msnm = '', user_occ = '', user_interests = '' WHERE user_id = " . $user->data['user_id']; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, $lang['ctracker_error_updating_userdata'], '', __LINE__, __FILE__, $sql); } // Log it include_once IP_ROOT_PATH . 'includes/ctracker/classes/class_log_manager.' . PHP_EXT; $logfile = new log_manager(); $logfile->prepare_log($user->data['username']); $logfile->write_general_logfile($config['ctracker_logsize_spammer'], 5); unset($logfile); // Log out user if ($user->data['session_logged_in']) { $user->session_kill(); } // Output Info Message message_die(GENERAL_MESSAGE, $lang['ctracker_binf_sban']); }
} } } else { if (($login_result['status'] === LOGIN_ERROR_USERNAME) || ($login_result['status'] === LOGIN_ERROR_PASSWORD) || ($login_result['status'] === LOGIN_ERROR_ACTIVE)) { if ($login_result['error_msg'] === 'LOGIN_ERROR_PASSWORD') { // CrackerTracker v5.x if (!class_exists('log_manager')) { include(IP_ROOT_PATH . 'includes/ctracker/classes/class_log_manager.' . PHP_EXT); } $logfile = new log_manager(); $logfile->prepare_log($login_result['user_row']['username']); $logfile->write_general_logfile($config['ctracker_logsize_logins'], 4); unset($logfile); // CrackerTracker v5.x } $error_message = ($login_result['error_msg'] === 'NO_PASSWORD_SUPPLIED') ? $lang[$login_result['error_msg']] : sprintf($lang[$login_result['error_msg']], '<a href="' . append_sid(CMS_PAGE_CONTACT_US) . '">', '</a>'); message_die(GENERAL_MESSAGE, $error_message); } meta_refresh(3, (CMS_PAGE_LOGIN . '?redirect=' . htmlspecialchars($redirect_url))); $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], '<a href="' . CMS_PAGE_LOGIN . '?redirect=' . htmlspecialchars($redirect_url) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid(CMS_PAGE_FORUM) . '">', '</a>'); message_die(GENERAL_MESSAGE, $message); } }