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

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

Магия.

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

Share this post


Link to post

Готово

Share this post


Link to post

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

games.jpg

Share this post


Link to post

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

Share this post


Link to post

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

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

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

Share this post


Link to post

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

Share this post


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

Share this post


Link to post

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

Share this post


Link to post

До ajax

total.png

После

total2.png

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

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

 

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

Share this post


Link to post
	/**
 * @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
	];
}

Share this post


Link to post

        $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

Share this post


Link to post

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