public function ranking() { \Own\Bus\Match\Data::checkMatchToView($this->player->getId()); // check $type = Converter::toString('type', 'get', 'race'); $page = Converter::toInt('page', 'get', 1); if (!in_array($type, ['race', 'tour'])) { $type = 'race'; } $url = '/tournament/ranking?type=' . $type; $options = []; $options['where'][] = 'player.active = 1'; $count = \Own\Bus\Player\Data::count($options); $players = \Own\Bus\Player\Service::loadRanking($type, $page - 1); // view $this->setTpl(); // filter $tplFilter = new Template(Template::SITE, ['www']); $tplFilter->set('type', $type); $tplFilter->set('otherType', $type == 'race' ? 'tour' : 'race'); $tplFilter->set('current', $page); $tplFilter->set('count', $count); $tplFilter->set('url', $url . '&page='); // main $tplMain = new Template(Template::SITE, ['www']); $tplMain->set('player', $this->player); $tplMain->set('players', $players); // layout $this->tplLayout->set('column1', $tplFilter->render('tour-ranking-filter')); $this->tplLayout->add('column1', $tplMain->render($type . '-ranking')); // template $this->tplMaster->set('layout', $this->tplLayout->render('layout-center')); return $this->tplMaster->render('tpl-default'); }
public function tour_points() { // auth Util\Auth::isAuthorized($this->signedUser, 'member', false, '/profile/sign-in'); \Own\Bus\Match\Data::checkMatchToView($this->player->getId()); $race = Util\Converter::toBool('race', 'get', true); // params $id = Util\Converter::toInt('id'); if ($id == 0) { $player = $this->player; } else { $player = \Own\Bus\Player\Data::loadById($id); if (!isset($player)) { $player = $this->player; } } if ($race) { $options = []; $options['join'][] = 'bus_tournament tournament ON tournament.id = tournament_player.tournament_id'; $options['where'][] = 'tournament.status = ' . TournamentStatus::FINISHED; $options['where'][] = 'tournament.start_date > \'' . Engine::getStartYearDate($this->app->site()->getCreatedDate()) . '\''; $options['order'][] = 'points DESC'; $tournaments = \Own\Bus\TournamentPlayer\Data::loadAllByPlayerId($player->getId(), $options); $oldTournaments = null; } else { $options = []; $options['join'][] = 'bus_tournament tournament ON tournament.id = tournament_player.tournament_id'; $options['where'][] = 'tournament.status = ' . TournamentStatus::FINISHED; $options['where'][] = 'tournament.start_date > NOW() - INTERVAL ' . Engine::DAY * 336 . ' HOUR'; $options['order'][] = 'points DESC'; $tournaments = \Own\Bus\TournamentPlayer\Data::loadAllByPlayerId($player->getId(), $options); $options = []; $options['join'][] = 'bus_tournament tournament ON tournament.id = tournament_player.tournament_id'; $options['where'][] = 'tournament.status = ' . TournamentStatus::FINISHED; $options['where'][] = 'tournament.start_date < NOW() - INTERVAL ' . Engine::DAY * 336 . ' HOUR'; $options['order'][] = 'tournament.start_date DESC'; $oldTournaments = \Own\Bus\TournamentPlayer\Data::loadAllByPlayerId($player->getId(), $options); } // view $this->setTpl(); // filter $tplFilter = new Util\Template(Util\Template::SITE, ['www']); $tplFilter->set('race', $race); $tplFilter->set('playerId', $player->getId()); // main $tplMain = new Util\Template(Util\Template::SITE, ['www']); $tplMain->set('username', $player->getUsername()); $tplMain->set('tournaments', $tournaments); $tplMain->set('oldTournaments', $oldTournaments); // layout $this->tplLayout->set('column1', $tplFilter->render('profile-tour-point-filter')); $this->tplLayout->add('column1', $tplMain->render('profile-tour-point')); // template $this->tplMaster->set('layout', $this->tplLayout->render('layout-center')); return $this->tplMaster->render('tpl-default'); }
public function __construct($app) { parent::__construct($app); \Own\Bus\Match\Data::checkMatchToView($this->player->getId()); }