Вывод админов SourceBans ссылками на HLstatsX CE

Тема в разделе "Статистика для игровых серверов", создана пользователем vectorserver, 7 сен 2011.

  1. vectorserver

    vectorserver ♥♥♥♥♥ by game.cominet.ru

    Сообщения:
    201
    Симпатии:
    243
    Добавлена возможность пдрубатся к двум базам на разных адресах(хостах)!

    Скрипт вывода администрации, пример можно посмотреть по ссылкам (не реклама)
    1. http://game.cominet.ru/test/ (Скилет)
    2. http://game.cominet.ru/cs-source/administratsiya.html (в шаблоне)

    Что задействовано
    JS/CSS - Twitter Bootstrap v2.3.1
    jQuery v1.9.1

    Настройка
    Все настройки прописываем в файле config.php
    $hlx_webpage - Адрес сайта HLstatsX CE
    $sb_webpage - Адрес сайтеа SourceBans


    Подлключаемя к HLstatsX CE
    PHP:
    $opts_hlx = array(
        
    'host'     => '10.1.1.54',         /*Адрес*/
        
    'user'    => 'endi',             /* Имя пользователя */
        
    'pass'    => '*********',     /* Пароль */
        
    'db'      => 'game',             /* Имя базы */
    );
    Подлключаемя к SourceBans
    PHP:
    $opts_bans = array(
        
    'host'     => '10.25.0.146',     /*Адрес*/
        
    'user'    => 'vectorserver',             /* Имя пользователя */
        
    'pass'    => '*********',     /* Пароль */
        
    'db'      => 'bans',             /* Имя базы */
    );
    Вывод определенных модов игр (Напимер только CSS и HL2)
    Открываем файл index.html
    Ишем в тегах <script> data.php дописываем параметр game
    Пример: data.php?game=css
    Код:
    <script type="text/javascript">
    	jQuery(function(){
    			jQuery("#loadpage").fadeOut(200).load("data.php?game=css,hl2").fadeIn(800);
    		});
    </script>
    Также можно перечесть типы игр через запятую.
    Пример: data.php?game=css,cs,hl,tf


    Файлы
    index.html
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <
    meta name="keywords" content="minecraft,warsow,cs:s,cs16,сервер,convex,crfxfnm,xbns,tagil,portal,cominet,vector,endi,bans,статистика,баны,игры,тагил,лучший,скачать,no-steam,379-379,online" />
      <
    meta name="description" content="Мы рады приветствовать вас на игровом портале game.cominet.ru 
     Наш игровой портал создан в первую очередь для тех, кто любит популярные on-line игры. Сервера game.cominet.ru открыты для всех желающих и работают круглосуточно.  Постоянно доступен мониторинг игровых серверов.Все вопросы можно задать и найти нужный ответ по теме  на форуме ." 
    />
    <
    title>Вывод администрации game.cominet.ru</title>
    <
    script src="http://yandex.st/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript">
        jQuery.noConflict();
    </script>
    <link rel="stylesheet" href="http://yandex.st/bootstrap/2.3.1/css/bootstrap.min.css">
    <script src="http://yandex.st/bootstrap/2.3.1/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="http://yandex.st/jquery-ui/1.10.2/themes/black-tie/jquery-ui.min.css">
    <script src="http://yandex.st/jquery-ui/1.10.2/jquery-ui.min.js"></script>

    <script type="text/javascript">
        jQuery(function(){
                jQuery("#loadpage").fadeOut(200).load("data.php").fadeIn(800);
            });
    </script>


    </head>

    <body data-spy="scroll" data-target=".bs-docs-sidebar">
    <div class="containere">
    <div id="loadpage">Загрузка...</div>
    </div>
    </body>
    </html>

    config.php
    PHP:
    <?php
    /* Адрес сайта Статистики */
    $hlx_webpage "http://game.cominet.ru/stats/";
    /* Адрес сайтеа СБ */
    $sb_webpage "http://game.cominet.ru/bans/";

    include_once(
    'safemysql.class.php');
    /* Подлключаемя к статистике */
    $opts_hlx = array(
        
    'host'     => '10.1.1.54',         /*Адрес*/
        
    'user'    => 'endi',             /* Имя пользователя */
        
    'pass'    => '*********',     /* Пароль */
        
    'db'      => 'game',             /* Имя базы */
    );

    $db_hlx = new SafeMySQL($opts_hlx);
    /* //////////////////////////////////////////////////// */


    /* Подлключаемя к банлисту */
    $opts_bans = array(
        
    'host'     => '10.25.0.146',     /*Адрес*/
        
    'user'    => 'vectorserver',             /* Имя пользователя */
        
    'pass'    => '*********',     /* Пароль */
        
    'db'      => 'bans',             /* Имя базы */
    );

    $db_bans = new SafeMySQL($opts_bans);
    /* //////////////////////////////////////////////////// */
    ?> 

    data.php
    PHP:
    <?php
    include('config.php');

    $check = ($db_bans && $db_hlx)? true : die('error DB!');

    if(
    $check){
        
    $i 1;
        
    $tag     explode(",",@$_GET['game']);
        
    $g_tag     = (empty($tag)|| $tag[0]) ? "u.game in('".implode("','",$tag)."') AND" "";
        
    $db     $db_bans->getAll("SELECT * FROM sb_admins AS a WHERE a.authid != 'STEAM_ID_SERVER'");
            function 
    st32to64($m1,$m2){
                list(
    $steam_cid, ) = explode('.'bcadd((((int) $m2 2) + $m1), '76561197960265728'), 2);
                return 
    $steam_cid;
            }
            
            function 
    rusdate($d$format 'j %MONTH% Y'$offset 0)
            {
                
    $montharr = array('Января''Февраля''Марта''Апреля''Мая''Июня''Июля''Августа''Сентября''Октября''Ноября''Декабря');
                
    $dayarr = array('Пн''Вт''Ср''Чт''Пт''Сб''Вс');
             
                
    $d += 3600 $offset;
             
                
    $sarr = array('/%MONTH%/i''/%DAYWEEK%/i');
                
    $rarr = array( $montharr[date("m"$d) - 1], $dayarr[date("N"$d) - 1] );
             
                
    $format preg_replace($sarr$rarr$format); 
                return 
    date($format$d);
            }
        
        
        
    $html "<table class=\"table table-bordered table-striped\">";
        
    $html.= "<thead>";
        
    $html.= "<tr>";
        
    $html.= "<th>#</th>";
        
    $html.= "<th><i class=\"icon-user\"></i>  Псевдоним / Ник / Кол-во. банов</th>";
        
    $html.= "<th><i class=\"icon-time\"></i> Посл. визит</th>";
        
    $html.= "<th><i class=\"icon-globe\"></i>  SteamID</th>";
        
    $html.= "<th><i class=\"icon-envelope\"></i>  Email</th>";
        
    $html.= "</tr>";
        
    $html.= "</thead>";
        
    $html.= "<tbody>";
        foreach(
    $db as $k){
            
    $sb_user     $k['user'];
            
    $sb_aid        $k['aid'];
            
    $sb_authid     explode(':'$k['authid'], 3);
            
    $sb_email     $k['email'];
            
    $hlx         $db_hlx->getRow("SELECT * FROM hlstats_Players AS p INNER JOIN hlstats_PlayerUniqueIds AS u ON u.playerId = p.playerId WHERE {$g_tag} u.uniqueId = '{$sb_authid[1]}:{$sb_authid[2]}' LIMIT 0, 1");
            
            if(
    $hlx != NULL){
                
    $countbans $db_bans->getRow("SELECT COUNT(*) as c FROM sb_bans WHERE aid = '{$sb_aid}'");
            
            
                if(
    $hlx['email']==NULL && $hlx['email'] != $sb_email){
                    
    $db_hlx->query("UPDATE `hlstats_Players` SET `email`='{$sb_email}' WHERE (`playerId`='{$hlx['playerId']}')");
                }
                
                
    $lasevent rusdate$hlx['last_event'], '%DAYWEEK%, j %MONTH% Y, G:i' );
                
    $steam64 st32to64($sb_authid[1],$sb_authid[2]);
                
    $html.="<tr>";
                
    $html.="<td>".$i++."</td>";
                
    $html.="<td><a title=\"Переход к статистике админа: {$hlx['lastName']}\" target=\"_blank\" href=\"{$hlx_webpage}hlstats.php?mode=playerinfo&game={$tag[0]}&player={$hlx['playerId']}\"\">{$hlx['lastName']}</a> <small>($sb_user)</small>".
                        
    " <a title=\"Посмотреть все баны админа: {$hlx['lastName']}\" target=\"_blank\" href=\"{$sb_webpage}index.php?p=banlist&advSearch={$sb_aid}&advType=admin\"><i class=\"icon-th-list\"></i> ({$countbans['c']})</a></td>";
                
    $html.="<td>{$lasevent}</td>";
                
    $html.="<td><a title=\"Переход в профиль steamcommunity.com\" target=\"_blank\" href=\"http://steamcommunity.com/profiles/{$steam64}/\">STEAM_{$hlx['uniqueId']}</a></td>";
                
    $html.="<td><a title=\"Написать письмо админу!\" target=\"_blank\" href=\"mailto:{$sb_email}\">{$sb_email}</a></td>";
                
    $html.="</tr>";
                
                
            }
        }
        
    $html.= "</tbody>";;
        
    $html.= "</table>";
        echo 
    $html;
        
    }
    ?>

    safemysql.class.php https://github.com/colshrapnel/safemysql
    PHP:
    <?php
    class SafeMySQL
    {

        private 
    $conn;
        private 
    $stats;
        private 
    $emode;
        private 
    $exname;

        private 
    $defaults = array(
            
    'host'      => 'localhost',
            
    'user'      => 'root',
            
    'pass'      => '',
            
    'db'        => 'test',
            
    'port'      => NULL,
            
    'socket'    => NULL,
            
    'pconnect'  => FALSE,
            
    'charset'   => 'utf8',
            
    'errmode'   => 'error'//or exception
            
    'exception' => 'Exception'//Exception class name
        
    );

        const 
    RESULT_ASSOC MYSQLI_ASSOC;
        const 
    RESULT_NUM   MYSQLI_NUM;

        function 
    __construct($opt = array())
        {
            
    $opt array_merge($this->defaults,$opt);

            
    $this->emode  $opt['errmode'];
            
    $this->exname $opt['exception'];

            if (
    $opt['pconnect'])
            {
                
    $opt['host'] = "p:".$opt['host'];
            }

            @
    $this->conn mysqli_connect($opt['host'], $opt['user'], $opt['pass'], $opt['db'], $opt['port'], $opt['socket']);
            if ( !
    $this->conn )
            {
                
    $this->error(mysqli_connect_errno()." ".mysqli_connect_error());
            }

            
    mysqli_set_charset($this->conn$opt['charset']) or $this->error(mysqli_error($this->conn));
            unset(
    $opt); // I am paranoid
        
    }

        public function 
    query()
        {    
            return 
    $this->rawQuery($this->prepareQuery(func_get_args()));
        }

        public function 
    fetch($result,$mode=self::RESULT_ASSOC)
        {
            return 
    mysqli_fetch_array($result$mode);
        }


        public function 
    affectedRows()
        {
            return 
    mysqli_affected_rows ($this->conn);
        }

        public function 
    insertId()
        {
            return 
    mysqli_insert_id($this->conn);
        }

        public function 
    numRows($result)
        {
            return 
    mysqli_num_rows($result);
        }

        public function 
    free($result)
        {
            
    mysqli_free_result($result);
        }

        public function 
    getOne()
        {
            
    $query $this->prepareQuery(func_get_args());
            if (
    $res $this->rawQuery($query))
            {
                
    $row $this->fetch($res);
                if (
    is_array($row)) {
                    return 
    reset($row);
                }
                
    $this->free($res);
            }
            return 
    FALSE;
        }

        public function 
    getRow()
        {
            
    $query $this->prepareQuery(func_get_args());
            if (
    $res $this->rawQuery($query)) {
                
    $ret $this->fetch($res);
                
    $this->free($res);
                return 
    $ret;
            }
            return 
    FALSE;
        }

        public function 
    getCol()
        {
            
    $ret   = array();
            
    $query $this->prepareQuery(func_get_args());
            if ( 
    $res $this->rawQuery($query) )
            {
                while(
    $row $this->fetch($res))
                {
                    
    $ret[] = reset($row);
                }
                
    $this->free($res);
            }
            return 
    $ret;
        }

        public function 
    getAll()
        {
            
    $ret   = array();
            
    $query $this->prepareQuery(func_get_args());
            if ( 
    $res $this->rawQuery($query) )
            {
                while(
    $row $this->fetch($res))
                {
                    
    $ret[] = $row;
                }
                
    $this->free($res);
            }
            return 
    $ret;
        }

        public function 
    getInd()
        {
            
    $args  func_get_args();
            
    $index array_shift($args);
            
    $query $this->prepareQuery($args);

            
    $ret = array();
            if ( 
    $res $this->rawQuery($query) )
            {
                while(
    $row $this->fetch($res))
                {
                    
    $ret[$row[$index]] = $row;
                }
                
    $this->free($res);
            }
            return 
    $ret;
        }

        public function 
    getIndCol()
        {
            
    $args  func_get_args();
            
    $index array_shift($args);
            
    $query $this->prepareQuery($args);

            
    $ret = array();
            if ( 
    $res $this->rawQuery($query) )
            {
                while(
    $row $this->fetch($res))
                {
                    
    $key $row[$index];
                    unset(
    $row[$index]);
                    
    $ret[$key] = reset($row);
                }
                
    $this->free($res);
            }
            return 
    $ret;
        }

        public function 
    parse()
        {
            return 
    $this->prepareQuery(func_get_args());
        }

        public function 
    whiteList($input,$allowed,$default=FALSE)
        {
            
    $found array_search($input,$allowed);
            return (
    $found === FALSE) ? $default $allowed[$found];
        }

        public function 
    filterArray($input,$allowed)
        {
            foreach(
    array_keys($input) as $key )
            {
                if ( !
    in_array($key,$allowed) )
                {
                    unset(
    $input[$key]);
                }
            }
            return 
    $input;
        }

        public function 
    lastQuery()
        {
            
    $last end($this->stats);
            return 
    $last['query'];
        }

        public function 
    getStats()
        {
            return 
    $this->stats;
        }

        private function 
    rawQuery($query)
        {
            
    $start microtime(TRUE);
            
    $res   mysqli_query($this->conn$query);
            
    $timer microtime(TRUE) - $start;

            
    $this->stats[] = array(
                
    'query' => $query,
                
    'start' => $start,
                
    'timer' => $timer,
            );
            if (!
    $res)
            {
                
    $error mysqli_error($this->conn);
                
                
    end($this->stats);
                
    $key key($this->stats);
                
    $this->stats[$key]['error'] = $error;
                
    $this->cutStats();
                
                
    $this->error("$error. Full query: [$query]");
            }
            
    $this->cutStats();
            return 
    $res;
        }

        private function 
    prepareQuery($args)
        {
            
    $query '';
            
    $raw   array_shift($args);
            
    $array preg_split('~(\?[nsiuap])~u',$raw,null,PREG_SPLIT_DELIM_CAPTURE);
            
    $anum  count($args);
            
    $pnum  floor(count($array) / 2);
            if ( 
    $pnum != $anum )
            {
                
    $this->error("Number of args ($anum) doesn't match number of placeholders ($pnum) in [$raw]");
            }

            foreach (
    $array as $i => $part)
            {
                if ( (
    $i 2) == )
                {
                    
    $query .= $part;
                    continue;
                }

                
    $value array_shift($args);
                switch (
    $part)
                {
                    case 
    '?n':
                        
    $part $this->escapeIdent($value);
                        break;
                    case 
    '?s':
                        
    $part $this->escapeString($value);
                        break;
                    case 
    '?i':
                        
    $part $this->escapeInt($value);
                        break;
                    case 
    '?a':
                        
    $part $this->createIN($value);
                        break;
                    case 
    '?u':
                        
    $part $this->createSET($value);
                        break;
                    case 
    '?p':
                        
    $part $value;
                        break;
                }
                
    $query .= $part;
            }
            return 
    $query;
        }

        private function 
    escapeInt($value)
        {
            if (
    $value === NULL)
            {
                return 
    'NULL';
            }
            if(!
    is_numeric($value))
            {
                
    $this->error("Integer (?i) placeholder expects numeric value, ".gettype($value)." given");
                return 
    FALSE;
            }
            if (
    is_float($value))
            {
                
    $value number_format($value0'.'''); // may lose precision on big numbers
            

            return 
    $value;
        }

        private function 
    escapeString($value)
        {
            if (
    $value === NULL)
            {
                return 
    'NULL';
            }
            return    
    "'".mysqli_real_escape_string($this->conn,$value)."'";
        }

        private function 
    escapeIdent($value)
        {
            if (
    $value)
            {
                return 
    "`".str_replace("`","``",$value)."`";
            } else {
                
    $this->error("Empty value for identifier (?n) placeholder");
            }
        }

        private function 
    createIN($data)
        {
            if (!
    is_array($data))
            {
                
    $this->error("Value for IN (?a) placeholder should be array");
                return;
            }
            if (!
    $data)
            {
                return 
    'NULL';
            }
            
    $query $comma '';
            foreach (
    $data as $value)
            {
                
    $query .= $comma.$this->escapeString($value);
                
    $comma  ",";
            }
            return 
    $query;
        }

        private function 
    createSET($data)
        {
            if (!
    is_array($data))
            {
                
    $this->error("SET (?u) placeholder expects array, ".gettype($data)." given");
                return;
            }
            if (!
    $data)
            {
                
    $this->error("Empty array for SET (?u) placeholder");
                return;
            }
            
    $query $comma '';
            foreach (
    $data as $key => $value)
            {
                
    $query .= $comma.$this->escapeIdent($key).'='.$this->escapeString($value);
                
    $comma  ",";
            }
            return 
    $query;
        }

        private function 
    error($err)
        {
            
    $err  __CLASS__.": ".$err;

            if ( 
    $this->emode == 'error' )
            {
                
    $err .= ". Error initiated in ".$this->caller().", thrown";
                
    trigger_error($err,E_USER_ERROR);
            } else {
                throw new 
    $this->exname($err);
            }
        }

        private function 
    caller()
        {
            
    $trace  debug_backtrace();
            
    $caller '';
            foreach (
    $trace as $t)
            {
                if ( isset(
    $t['class']) && $t['class'] == __CLASS__ )
                {
                    
    $caller $t['file']." on line ".$t['line'];
                } else {
                    break;
                }
            }
            return 
    $caller;
        }

        private function 
    cutStats()
        {
            if ( 
    count($this->stats) > 100 )
            {
                
    reset($this->stats);
                
    $first key($this->stats);
                unset(
    $this->stats[$first]);
            }
        }
    }
     

    Вложения:

    Последнее редактирование: 3 апр 2013
    gravestal, September, spore и 9 другим нравится это.
  2. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    Re: Вывод адинов SourceBans ссылками на HLstatsX CE

    Я так думаю не хватает картинок :)
    Добавь в прикрепление, скрипт хороший, респект :)
    А $login чего писать, базы или имя пользователя базы?))

    Добавлено через 10 минут
    все сделал как нужно, оно не работает. Не коннектицо к базе
    Я так думаю нужэно еще сделать коннект к стате?
     
    Последнее редактирование: 8 сен 2011
  3. vectorserver

    vectorserver ♥♥♥♥♥ by game.cominet.ru

    Сообщения:
    201
    Симпатии:
    243
    Re: Вывод адинов SourceBans ссылками на HLstatsX CE

    Добавил иконки и сам скрипт во вложение, добавил пункты к разным базам (если бызы находятся на разных хостах).
    $login и $xlogin - это имя базы
    $login и $xlogin - это логин аккаунта MySql :victory:
     
    fallen1994 нравится это.
  4. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    Re: Вывод адинов SourceBans ссылками на HLstatsX CE

    Удалось подключится, но админы не выводятся.
    Есть еще предложение, добавить название группы админа :)

    Добавлено через 4 часа 2 минуты
    Я так понял, скрипт не работает без джумлы, ибо не выводит админов, но всё подключается.
    Скрипт нужно доделать)

    Добавлено через 17 часов 40 минут
    Хорошо было бы доделать его на обычный сайт.
     
    Последнее редактирование: 9 сен 2011
  5. vectorserver

    vectorserver ♥♥♥♥♥ by game.cominet.ru

    Сообщения:
    201
    Симпатии:
    243
    Re: Вывод адинов SourceBans ссылками на HLstatsX CE

    Во вложении для любого сайта пойдет, привязки API функций Joomla! там нет:)
     
  6. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    Только почему-то не работает, и не у одного меня уже проверил.
     
  7. _Lexa_

    _Lexa_

    Сообщения:
    847
    Симпатии:
    259
    Мне не понятно как он сделал подключение к базам!
    ведь если смотреть на скрпт то при подключении ко второй базе первая затирается и естественно ничего не выведет
     
  8. _Lexa_

    _Lexa_

    Сообщения:
    847
    Симпатии:
    259
    vectorserver, подскажи как вывест на главной как у тебя [​IMG]
    У меня тоже джомла и тоже lgsl установлен
     
  9. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    Вообщем данный скрипт не работоспособен для простых сайтов)
     
  10. vectorserver

    vectorserver ♥♥♥♥♥ by game.cominet.ru

    Сообщения:
    201
    Симпатии:
    243
    Модифицировал файл в lgsl_zone.php
    и создал новый под названием lgsl_zone_my.php
    PHP:
    <?php
    require "lgsl_class.php";

    $server_list lgsl_query_group();
    $server_list lgsl_sort_servers($server_list);
    //Всего РёРіСЂРѕРєРѕРІ
    $total lgsl_group_totals($server_list);
    //Url С…оста
    $url_site ="http://game.cominet.ru/";
    $la2_users 1000;
    $la2 file_get_contents('http://la2.cominet.ru/lineage2/online.php');
    $total_la2_and_portal $total['players'] + $la2;
    $total_la2_and_portal_max $total['playersmax'] + $la2_users;

      
    $output "<table width=\"250\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
      <tr>
        <td colspan=\"4\"><h3 class=\"moduletitle\">Игроков онлайн - 
    {$total_la2_and_portal} из {$total_la2_and_portal_max}</h3></td>
      </tr>
      <tr>
        <td colspan=\"4\"><a class=\"jcetooltip\" title=\"Подробный график :: Нажмите на изображение...\" href=\"http://game.cominet.ru/monitoring\"><img src=\"
    {$url_site}stats/show_graph.php?type=1&game=css&width=250&height=150&bgcolor=FFFFFF&color=262626\"></a></td>
      </tr>"
    ;
      foreach (
    $server_list as $server)
        {
          
    $misc   lgsl_server_misc($server);
          
    $server lgsl_server_html($server);
          
    $podrobno "index.php?option=com_lgsl&s=".$server['o']['id'];
      
    $output.= "<tr class=\"jcetooltip\" title=\"{$server['s']['name']} :: <table width='260' border='0' cellspacing='0' cellpadding='0'>
      <tr>
        <td align='center'><img alt='' src='
    {$misc['image_map']}'          title='{$lgsl_config['text']['vsd']}' style='border:none; vertical-align:middle' /></td>
      </tr>
      <tr>
        <td>Карта: <b>
    {$server['s']['map']}</td>
      </tr>
    </table>\">
        <td width=\"25\"><img  src=\"
    {$misc['icon_status']}\" /></td>
        <td style=\"text-transform: uppercase; text-decoration: none;\" width=\"175\"><a href=\"
    {$misc['software_link']}\" style=\"text-decoration: none;\">{$server['b']['ip']}:{$server['b']['c_port']}</a></td>
        <td width=\"45\">
    {$server['s']['players']} / {$server['s']['playersmax']}</td>
        <td width=\"20\"><a href=\"
    {$podrobno}\">
                <img src=\"
    {$misc['icon_details']}\" title=\"{$lgsl_config['text']['vsd']}\" style=\"vertical-align:middle; border:none\" />
              </a></td>
      </tr>"
    ;

        }
         
    $output.="<tr>
        <td width=\"25\"><img  src=\"components/com_lgsl/lgsl_files/other/online.png\" /></td>
        <td style=\"text-transform: uppercase; text-decoration: none;\" width=\"175\"><a target=\"_blank\" href=\"http://game.cominet.ru/lineage-2-anomaly/skachat-igri/onlayn-igri/lineage-2-anomaly/lineage-2-anomaly.html\" style=\"text-decoration: none;\">la2.cominet.ru</a></td>
        <td width=\"45\">
    {$la2}/{$la2_users}</td>
        <td width=\"20\"><a href=\"http://game.cominet.ru/lineage-2-anomaly/skachat-igri/onlayn-igri/lineage-2-anomaly/lineage-2-anomaly.html\">
                <img src=\"
    {$misc['icon_details']}\" title=\"{$lgsl_config['text']['vsd']}\" style=\"vertical-align:middle; border:none\" />
              </a></td>
      </tr>"
    ;
     
    $output.='</table>';
    echo 
    $output;
     
    Cmapuk и _Lexa_ нравится это.
  11. Payalnick

    Payalnick

    Сообщения:
    93
    Симпатии:
    5
    Огромное спасибо за скрипт.
    Есть один вопрос: а как сделать так, что бы можно было выбирать сервера? Например по гейм тайпу hlx или сервер ID в сурсбанс. А то установил, а выводится один админ 3 раза, т.к. играл на трех серверах.
     
  12. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    джумлу используешь?
     
  13. Payalnick

    Payalnick

    Сообщения:
    93
    Симпатии:
    5
    Не, без движка.
     
  14. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    А как ты подключился правильно? у тебя стата и банс установлены в 1 базу?
     
  15. Payalnick

    Payalnick

    Сообщения:
    93
    Симпатии:
    5
    Да, в 1 базу :)
    Возможно у тебя проблемы из-за префикса ДБ, нужно сменить в SQL запросе.
     
  16. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    нужно сделать подключение к базам 2 с разных хостов.
     
  17. criminalist

    criminalist

    Сообщения:
    191
    Симпатии:
    20
    Странно у всех работает ?

    PHP:
    Warningmysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in
    Проблема в while
    PHP:
    ($k mysql_fetch_assoc($zapros))
    не могу понять че ей надо )
     
  18. rostex

    rostex

    Сообщения:
    5
    Симпатии:
    0
    хм... никак не подключит сорс банс
    У меня вот так конфиг выглядит. Может кто то поможет.
    Если вырезать данные по сорс бану, то к статистике подключается

    PHP:
    <?php
    //Подключение к SB 
    $url "localhost"//Адрес хоста SB 
    $login "bans"//Логин пользователя базы данных SB 
    $pass "**********"//Пароль SB 
    $table "bans";  //Имя базы SB 
    mysql_connect ($url$login$pass); 
    mysql_select_db($table) or die ('Не могу подключится к базе SB'); 

    //Подключение к HLX 
    $xurl "localhost"//Адрес хоста HLX 
    $xlogin "stats2"//Логин пользователя базы данных HLX 
    $xpass "*********"//Пароль HLX 
    $xtable "stats2";  //Имя базы HLX 
    mysql_connect ($xurl$xlogin$xpass); 
    mysql_select_db($xtable) or die ('Не могу подключится к базе HLX');
     
  19. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    скрипт лажовый, он идет только под джумлу, или если у тебя в базе и то и другое как у нубов.
    Нужен знаток в php чтоб создать инклюд с коннектом к базам и подключить его.)
     
  20. rostex

    rostex

    Сообщения:
    5
    Симпатии:
    0
    Эх. Жалко. Так полезен бы был этот скрипт. В интернете не могу найти что то подобное