Beispiel #1
0
 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');
 }
Beispiel #2
0
 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');
 }
Beispiel #3
0
 public function __construct($app)
 {
     parent::__construct($app);
     \Own\Bus\Match\Data::checkMatchToView($this->player->getId());
 }