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

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

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

Почему вариант который вы скинули с цифрами 5 и 10 - не работает, а мой с непонятными переменными работает?

Магия.

Установите 5 и 10, чтобы я посмотрел

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


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

Готово

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


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

Все показывает

games.jpg

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


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

5 и 10 должно заменятся на текущее кол-во игроков и игр.

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


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

Где должно, если Вы установили 5 и 10

\IPS\Output::i()->json(array('html' => \IPS\Theme::i()->getTemplate('stats', 'sharedstats')->runningGamesList($games), 'games' => 5, 'players' => 10));

Вместо 5 и 10 нужно указывать актуальные данные.

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


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

Да, а если я установлю непонятные переменные сюда, то оно будет отображать актуальные данные. Почему?

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


Ссылка на сообщение
Да, а если я установлю непонятные переменные сюда, то оно будет отображать актуальные данные. Почему?
Уверены?

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


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

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 и выборка не работала и стата не обновлялась.

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


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

До ajax

total.png

После

total2.png

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


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

Блин, я сам тут не разберусь, вроде всё правильно, но фильтр не работает. После обновления на 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']));
   }

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


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

А почему у Вас старый js используется?

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


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

Мой косяк. Перешел по ссылке в профиле.

 

Покажите код getGameList

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


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

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


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

        $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']?

  • Upvote 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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