Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
TemKa_SD

Помогите пофиксить баги

Recommended Posts

Спасибо

Share this post


Link to post
Share on other sites

Добавил флеш сообщение, как думаете, стоит использовать его каждые 5 сек?

 

timer.html(ips.ui.flashMsg.show('Обновление...'));

 

Сделал отображение фильтра, если ботов больше 1.

 

            {{if count($games['botid_data']) > 1}}
               {{foreach $games['botid_data'] as $name => $id}}
                   <li>
                       <span class="ipsSideMenu_item cForumMiniList_unread">
                            <input type="checkbox" role="checkbox" name="botid[]" value="{$id}" {{if isset(\IPS\Request::i()->cookie['RunningGames_botid']) AND in_array($id, explode(',', \IPS\Request::i()->cookie['RunningGames_botid']))}}checked{{endif}} id="botid_{$id}" class="botid">
                           <label for='botid_{$id}' class="cForumMiniList_blob">
                               <label for='botid_{$id}'></label>
                               <i class="fa fa-check"></i>
                           </label>
                           <label for='botid_{$id}' class="cForumMiniList_title ipsTruncate ipsTruncate_line">{$name}</label>
                           <span class="ipsType_small ipsType_light cForumMiniList_count">1</span>
                       </span>
                   </li>
               {{endforeach}}
           {{endif}}

Edited by TemKa_SD

Share this post


Link to post
Share on other sites
Добавил флеш сообщение, как думаете, стоит использовать его каждые 5 сек?

ИМХО ерунда.

Share this post


Link to post
Share on other sites

ИМХО ерунда.

 

Согласен, лишнее это.

 

Включил логи nginx, тут вот такое:

 

http://prntscr.com/ktrpwy

Share this post


Link to post
Share on other sites

Хотя, на DEV версии такого вроде нет, там где такое происходит чуть старее версия, с багами.

Share this post


Link to post
Share on other sites

Помогите плиз еще вывести тут кол-во игр на конкретно этом боте, у меня вообще не получается, пробовал разные переменные, не пойму как сделать.

 

<span class="ipsType_small ipsType_light cForumMiniList_count">1</span>

Share this post


Link to post
Share on other sites

Добавляете в выборку botid

        foreach ($db::i('stats')->select('id, gamename, slotstaken, slotstotal, age, usernames, totalgames, lobby, botid', 'stats_gamelist', $conditions, 'lobby DESC') as $game) {

и считаете

if (!isset($botGames[$game['botid']]))
{
   $botGames[$game['botid']] = 0;   
}
else
{
   $botGames[$game['botid']]++;
}

Возвращаете

        return [
         'games' => $games,
         'total' => $totalGames,
         'botGames' => $botGames
       ];

и html

<span class="ipsType_small ipsType_light cForumMiniList_count">{{if isset($games['botGames'][$id])}}{$games['botGames'][$id]}{{else}}0{{endif}}</span>

  • Upvote 1

Share this post


Link to post
Share on other sites

Здравствуйте. А как сделать, чтобы обновление не было привязано к счетчику HTML, чтобы я мог выбрать отображать этот счетчик или нет.

 

    var table = $('#gamelistTable');
   var tableBody = table.find('ol');
   var names = new Clipboard('.copy');
   var updateUrl = table.attr('data-bind');
   var elTotalGames = $('#elTotalGames');
   var elTotalPlayers = $('#elTotalPlayers');
   var date = new Date();
   var timer = $('#elTimer');
   var timerTime = timer.html();
   var counter = timerTime;

   date.setTime(date.getTime() + (365 * 86400000));

   var ajaxObj = null;

   setInterval(function() {
       if (counter === 0) {
           if (ajaxObj != null) {
               return;
           }

           timer.html(ips.getString('sharedstats_running_games_update'));

           ajaxObj = ips.getAjax()(updateUrl)
               .done(function (response) {
                   tableBody.html(response['html']);
                   elTotalGames.html(response['games']);
                   elTotalPlayers.html(response['players']);

                   counter = timerTime;
                   ajaxObj = null;
               })
               .fail(function() {
                   window.location.reload();
               });
       } else {
           timer.html(counter);
           counter -= 1;
       }
   }, 1000);

Edited by TemKa_SD

Share this post


Link to post
Share on other sites

чтобы я мог выбрать отображать этот счетчик или нет.

Так скройте его через css

Share this post


Link to post
Share on other sites

Да, уже сделал так.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...