/** * update statistics * @param array $options * @return void */ public function update_stats(array $options) { $log = Registry::getInstance()->getLogger(); $log->info('start updating stats'); $log->info('updating kills by Shiptype'); // stats table of how often all ships have been killed KillsByShip::mapReduce(); $log->info('update of KillsByShip stats completed'); $log->info('updating pilot loss stats'); LossesByShipByPilot::mapReduce(); $log->info('update of pilot loss stats completed'); $log->info('updating pilot kill stats'); KillsByShipByPilot::mapReduce(); $log->info('update of pilot kill stats completed'); $log->info('updating corporation loss stats'); LossesByShipByCorporation::mapReduce(); $log->info('update of corporation loss stats completed'); $log->info('updating corporation kill stats'); KillsByShipByCorporation::mapReduce(); $log->info('update of corporation kill stats completed'); $log->info('updating alliance loss stats'); LossesByShipByAlliance::mapReduce(); $log->info('update of alliance loss stats completed'); $log->info('updating alliance kill stats'); KillsByShipByAlliance::mapReduce(); $log->info('update of alliance kill stats completed'); $log->info('updating faction loss stats'); LossesByShipByFaction::mapReduce(); $log->info('update of faction loss stats completed'); $log->info('updating faction kill stats'); KillsByShipByFaction::mapReduce(); $log->info('update of faction kill stats completed'); $log->info('updating name lists for search'); NameSearch::mapReduce(); $log->info("name list updated"); $log->info('updating daily stats'); KillsByDay::mapReduce(); $log->info("daily stats updated"); $log->info('updating daily stats by entity'); KillsByDayByEntity::mapReduce(); $log->info("daily stats by entity updated"); }
public function index($request) { $currentPage = 1; if (!empty($request['page'])) { $currentPage = (int) $request['page'] < 1 ? 1 : (int) $request['page']; } $info = array(); $templateVars = array(); // differences for owned boards if ($this->_context['ownerID']) { $killList = new \Kingboard\Lib\KillList($this->_context["ownerType"], $this->_context["ownerID"]); $templateVars['killstats'] = $killList->getKillStats(); $templateVars['lossstats'] = $killList->getLossStats(); $templateVars['totalstats'] = $killList->getTotalStats(); $template = "index_owned_board.html"; } else { // this is the only case of a list without owner/type, which is open list. $killList = new \Kingboard\Lib\KillList(null, null); $stats = \Kingboard\Model\MapReduce\KillsByShip::find(); $stats = $stats->sort(array("value.value" => -1)); $total = 0; foreach ($stats as $stat) { $total += $stat['value']['total']; } $killList->setCount($total); $templateVars['stats'] = $stats; $template = "index.html"; } $paginator = new \Kingboard\Lib\Paginator($currentPage, $killList->getCount()); // fetch kill data $templateVars['data'] = $killList->getKills($paginator->getSkip(), $paginator->getKillsPerPage()); // merge in pagination data $templateVars = array_merge($templateVars, $paginator->getNavArray()); $templateVars['action'] = '/kills'; $templateVars['count'] = $killList->getCount(); $templateVars['info'] = $info; return $this->render($template, $templateVars); }