newbie 1723 09/09/18 09:14 Почему вариант который вы скинули с цифрами 5 и 10 - не работает, а мой с непонятными переменными работает? Магия.Установите 5 и 10, чтобы я посмотрел Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/09/18 09:47 5 и 10 должно заменятся на текущее кол-во игроков и игр. Поделиться сообщением Ссылка на сообщение
newbie 1723 09/09/18 09:53 Где должно, если Вы установили 5 и 10\IPS\Output::i()->json(array('html' => \IPS\Theme::i()->getTemplate('stats', 'sharedstats')->runningGamesList($games), 'games' => 5, 'players' => 10));Вместо 5 и 10 нужно указывать актуальные данные. Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/09/18 09:58 Да, а если я установлю непонятные переменные сюда, то оно будет отображать актуальные данные. Почему? Поделиться сообщением Ссылка на сообщение
newbie 1723 09/09/18 12:15 Да, а если я установлю непонятные переменные сюда, то оно будет отображать актуальные данные. Почему?Уверены? Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/09/18 21:06 http://skrinshoter.ru/v/090918/Ox0mQCs8?a более того, работает выборка по геимлисту, т.е не только обновляет статистику игр и игроков. На видео код такой: protected function ajax() { $games = $this->getGameList(isset(\IPS\Request::i()->cookie['RunningGames_only_lobby']) and \IPS\Request::i()->cookie['RunningGames_only_lobby'] === 'true', \IPS\Request::i()->botid_list); \IPS\Output::i()->json(array('html' => \IPS\Theme::i()->getTemplate('stats', 'sharedstats')->runningGamesList($games), 'games' => $neponperemen, 'players' => $neponperemen)); Оставил его, посмотрите сами, если помните, с цифрами 5 и 10 и выборка не работала и стата не обновлялась. Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/12/18 02:56 Блин, я сам тут не разберусь, вроде всё правильно, но фильтр не работает. После обновления на AJAX фильтр ничего не выбирает. /** * */ protected function ajax() { $games = $this->getGameList(isset(\IPS\Request::i()->cookie['RunningGames_only_lobby']) and \IPS\Request::i()->cookie['RunningGames_only_lobby'] === 'true', \IPS\Request::i()->botid_list); \IPS\Output::i()->json(array('html' => \IPS\Theme::i()->getTemplate('stats', 'sharedstats')->runningGamesList($games), 'games' => $games['total']['games'], 'players' => $games['total']['players'])); } Поделиться сообщением Ссылка на сообщение
newbie 1723 09/12/18 05:15 А почему у Вас старый js используется? Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/12/18 05:27 http://dev.wc3.games/applications/sharedstats/interface/gamelistcopy.js Вроде последний. Поделиться сообщением Ссылка на сообщение
newbie 1723 09/12/18 05:39 Мой косяк. Перешел по ссылке в профиле. Покажите код getGameList Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 09/12/18 05:41 /** * @param bool $onlyLobby * @return array */ protected function getGameList($onlyLobby = false, $botid = '') { $db = \IPS\sharedstats\DB::get(); $games = []; $conditions = array(); if($onlyLobby) { $conditions[] = array('lobby=?', 1); } if($botid) { $conditions[] = array(\IPS\Db::i()->in('botid', explode(',', $botid))); } $totalGames = $db::i('stats')->select('COUNT(*) as games, SUM(slotstaken) as players', 'stats_gamelist', $conditions)->first(); foreach ($db::i('stats')->select('id, gamename, slotstaken, slotstotal, age, usernames, totalgames, lobby', 'stats_gamelist', $conditions, 'lobby DESC') as $game) { $players = explode("\t", $game['usernames']); $gameplayers = []; if (sizeof($players) > 4) { for ($i = 0; $i < (sizeof($players)-1); $i = $i + 4) { $gameplayers[] = [ 'color' => ($i / 4) + 1, 'name' => $players[$i], 'realm' => $players[$i + 1], 'ping' => $players[$i + 2], 'ip' => $players[$i + 3], ]; } } $game['players'] = $gameplayers; $games[$game['id']] = $game; } return [ 'games' => $games, 'total' => $totalGames ]; } Поделиться сообщением Ссылка на сообщение
newbie 1723 09/12/18 06:16 $games = $this->getGameList(isset(\IPS\Request::i()->cookie['RunningGames_only_lobby']) and \IPS\Request::i()->cookie['RunningGames_only_lobby'] === 'true', \IPS\Request::i()->botid_list); Зачем Вы используете \IPS\Request::i()->botid_listесли значения хранятся в куки \IPS\Request::i()->cookie['botid_list']? 1 Поделиться сообщением Ссылка на сообщение