function get_clanstats($count = 15, $clan = null, $time = false) { global $sort_param; $clanstats_state = new ActionFPS\BasicStateResult([], []); $clanstats_state->loadFromFile(__DIR__ . "/../data/clanstats.json"); $clanstats = $clanstats_state->getState(); $sort_param = 'elo'; uasort($clanstats->now, 'sort_func'); $i = 1; foreach ($clanstats->now as &$_clan) { if ($_clan->wars >= ClanStats::MIN_WARS_RANK) { $_clan->rank = $i; $i++; } else { $_clan->rank = null; } $_clan->name = find_clan($_clan->clan)->name; } $sort_param = 'wars'; uasort($clanstats->now, 'sort_func'); $stats = new stdClass(); $stats->now = []; if (!$clan) { $i = 1; foreach ($clanstats->now as $id => &$_clan) { if ($count <= 0 || $i <= $count) { $stats->now[$id] = $_clan; } $i++; } if ($time) { $stats->states = []; foreach ($clanstats->states as $date => $state) { $stats->states[$date] = []; $i = 1; foreach ($clanstats->states as $id => &$_clan) { if ($count <= 0 || $i <= $count) { $stats->states[$date][$id] = $_clan; } $i++; } } } } else { if (array_key_exists($clan, $clanstats->now)) { $stats->now = $clanstats->now[$clan]; } if ($time) { $stats->states = []; foreach ($clanstats->states as $date => $state) { if (array_key_exists($clan, $state)) { $stats->states[$date] = $state[$clan]; } } } } return $stats; }
function get_playerstats($count = 15, $player = null, $ranked = true) { $playerstats_state = new ActionFPS\BasicStateResult([], []); $playerstats_state->loadFromFile(__DIR__ . "/../data/playerstats.json"); $playerstats = $playerstats_state->getState(); if ($player) { return $playerstats[$player]; } $stats = []; foreach ($playerstats as $user => $stat) { if (!$ranked || isset($stat->rank)) { $stats[$user] = $stat; } } if ($count) { $stats = array_slice($stats, 0, $count); } return $stats; }
<?php require_once __DIR__ . '/vendor/autoload.php'; require_once "state/PlayerStats.php"; require_once "state/Clanwars.php"; require_once "state/ClanStats.php"; $playerstats = new PlayerStatsAccumulator(); $clanwars = new ClanwarsAccumulator(); $clanstats = new ClanStatsAccumulator(); $reference = new ActionFPS\GamesCachedActionReference(); $proc = new ActionFPS\Processor(); $playerstats_state = new ActionFPS\BasicStateResult([], []); $clanwars_state = new ActionFPS\BasicStateResult([], []); $clanstats_state = new ActionFPS\BasicStateResult([], []); $playerstats_state->loadFromFile("data/playerstats.json"); $clanwars_state->loadFromFile("data/clanwars.json"); $clanstats_state->loadFromFile("data/clanstats.json"); $proc->processNewGames($reference, $playerstats, $playerstats_state)->saveToFile("data/playerstats.json"); $clanwars_state = $proc->processNewGames($reference, $clanwars, $clanwars_state); $clanwars_state->saveToFile("data/clanwars.json"); $state = $clanwars_state->getState(); $wars = $state->completed; $proc->processFromScratch($reference, $clanstats, $wars)->saveToFile("data/clanstats.json");