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

Так, убрал ESSET, убрал куки ошибка - Undefined index: RunningGames_botid всё правильно. Т.е нужно сделать как-то

 

isset(\IPS\Request::i()->cookie['RunningGames_botid']) AND здесь код, выводимый id ботов НЕ ИЗ КУКОВ

 

 

??????????????????????????????

Share this post


Link to post
Share on other sites
(isset(\IPS\Request::i()->cookie['RunningGames_botid']) AND \IPS\Request::i()->cookie['RunningGames_botid']) ? \IPS\Request::i()->cookie['RunningGames_botid'] : ''

Share this post


Link to post
Share on other sites

Супер, огромной спасибо. Осталось пофиксить галочки и всё )))) Они почему-то заболели.

 

На счет JS понял, нужно убрать за setInterval(function() {

Edited by TemKa_SD

Share this post


Link to post
Share on other sites

Всё же правильно, почему тупит?

 

        <input type="checkbox" role="checkbox" name="botid[]" value="{$id}" {{if in_array($id, explode(',', isset(\IPS\Request::i()->cookie['RunningGames_botid']))) || !isset(\IPS\Request::i()->cookie['RunningGames_botid'])}}checked{{endif}}>

Share this post


Link to post
Share on other sites

{{if in_array($id, explode(',', isset(\IPS\Request::i()->cookie['RunningGames_botid'])))

Опять Вы не правильно интерпретируете isset.

Если кука установлена, то код выглядит как

{{if in_array($id, explode(',', true))

Share this post


Link to post
Share on other sites

Как дебажить в шаблоне?

Share this post


Link to post
Share on other sites
        <input type="checkbox" role="checkbox" name="botid[]" value="{$id}" {{if isset(\IPS\Request::i()->cookie['RunningGames_botid']) AND \IPS\Request::i()->cookie['RunningGames_botid'] == in_array($id, explode(',', \IPS\Request::i()->cookie['RunningGames_botid']))}}checked{{endif}}>

Share this post


Link to post
Share on other sites
        <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}}>

Share this post


Link to post
Share on other sites

Да, я тоже об этом подумал, а вы уже написали. Как вывести дебаг информацию в шаблоне? {{print_r $per}}

Share this post


Link to post
Share on other sites

Как вывести дебаг информацию в шаблоне?

Пишите валидный php-код в двойных фигурных скобках

Share this post


Link to post
Share on other sites

2222

Edited by TemKa_SD

Share this post


Link to post
Share on other sites

Блин, тут то что не так? Правильно же всё вроде.

 

http://prntscr.com/krlcnk

 

$(document).ready(function() {
   var gamenames = document.querySelectorAll('.copy');
   var table = document.querySelector('#gamelistTable');
   var names = new Clipboard(gamenames);
   var botid_list = '';
   var date = new Date();
   date.setTime(date.getTime() + (365 * 86400000));

   setInterval(function() {
       var updateUrl = table.getAttribute('data-update-url');
       var val = document.querySelector('input[name="only_lobby"]').checked;
       updateUrl += '&only_lobby=' + val;
       $('input:checkbox[name="botid[]"]:checked').each(function(){
           botid_list += $(this).val() + ',';
       });
       /*console.log(botid_list);*/
       updateUrl += '&botid_list=' + botid_list;
       if(document.querySelector('input[name="only_eu"]')) {
           var euval = document.querySelector('input[name="only_eu"]').checked;
           var usval = document.querySelector('input[name="only_us"]').checked;
           updateUrl += '&only_eu=' + euval + '&only_us=' + usval;
       }
       console.log(updateUrl);
       ips.getAjax()(updateUrl).done(function (data) {
           table.querySelector('tbody').innerHTML = data;
           gamenames = document.querySelectorAll('.copy');
           names.destroy();
           names = new Clipboard(gamenames);
       });
   }, 5000);
   $('#only_lobby').change(function() {
       if(this.checked) {
           var date = new Date();
           date.setTime(date.getTime() + (365 * 86400000));
           ips.utils.cookie.set('RunningGames_only_lobby', true, date.toUTCString());
       } else {
           ips.utils.cookie.unset('RunningGames_only_lobby');
       }
   });
   $('input:checkbox[name="botid[]"]').change(function() {
       if(this.checked) {
           ips.utils.cookie.set('RunningGames_botid', botid_list += $(this).val() + ',', date.toUTCString());
       }
   });
});

Share this post


Link to post
Share on other sites

Изменил дизайн фильтра, прикольно получилось )))

 

Скажите пожалуйста по вопросу выше, я так и не разобрался почему он так записывает в куки. Еще пару вопросов, сильно сложно реализовать статистику по играм и игрокам с условием по фильтру ( которая в самом низу фильтра )? Она работает, но только при ручно обновлении, выбирает по чекбоксам, на аяксе нет. И еще вопрос, реально вывести какой нить тамймер в том же месте для следующего обновления? Чтобы люди просто видели.

Share this post


Link to post
Share on other sites

Опять огород нагородили.

В setInterval нужно только делать запрос, получать данные и обновлять таблицу. Вы туда все пытаетесь всунуть.

 

я так и не разобрался почему он так записывает в куки.

Потому что переменную объявили за пределами setInterval

Простой пример

var counter = 0;
setInterval(function() {
   counter += 1;
}, 5000);

Каждые 5 секунд значение будет увеличиваться на единицу. Так и у Вас значения прибавляются к старым.

1,2

1,2,1,2

1,2,1,2,1,2

Юзер выбрал 7, в результате в куку записалось значение 1,2,1,2,1,2,7

 

сильно сложно реализовать статистику по играм и игрокам с условием по фильтру ( которая в самом низу фильтра )

Возвращайте json и обновляйте данные

\IPS\Output::i()->json(array('table' => $table, 'games' => $games, 'players' => $players));

 

И еще вопрос, реально вывести какой нить тамймер в том же месте для следующего обновления?

Какой таймер? Обновление каждые 5 секунд?

Share this post


Link to post
Share on other sites

Какой таймер? Обновление каждые 5 секунд?

угу

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...