Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
TemKa_SD

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

Рекомендованные сообщения

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

 

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

 

 

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

Поделиться сообщением


Ссылка на сообщение
(isset(\IPS\Request::i()->cookie['RunningGames_botid']) AND \IPS\Request::i()->cookie['RunningGames_botid']) ? \IPS\Request::i()->cookie['RunningGames_botid'] : ''

Поделиться сообщением


Ссылка на сообщение
09/06/18 13:36 (изменено)

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

 

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

Изменено пользователем TemKa_SD

Поделиться сообщением


Ссылка на сообщение

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
        <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}}>

Поделиться сообщением


Ссылка на сообщение
        <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}}>

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение
09/07/18 06:34 (изменено)

2222

Изменено пользователем TemKa_SD

Поделиться сообщением


Ссылка на сообщение

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

 

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());
       }
   });
});

Поделиться сообщением


Ссылка на сообщение

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

В 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 секунд?

Поделиться сообщением


Ссылка на сообщение

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

угу

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...