72 lines
2.8 KiB
PHP
72 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace HermannTelser\Watten\Controller;
|
|
|
|
use HermannTelser\Watten\Domain\Repository\ErgebnisseRepository;
|
|
use HermannTelser\Watten\Domain\Repository\AthletenRepository;
|
|
use HermannTelser\Watten\Domain\Repository\SpieltageRepository;
|
|
use HermannTelser\Watten\Domain\Repository\RanglisteRepository;
|
|
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
|
|
|
class WattenController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
|
|
{
|
|
private $athletenRepository;
|
|
|
|
private $spieltageRepository;
|
|
|
|
private $ergebnisseRepository;
|
|
|
|
private $ranglisteRepository;
|
|
|
|
private $activeTournament;
|
|
|
|
private $event_id;
|
|
|
|
/**
|
|
* Inject the Athleten repository
|
|
*
|
|
* @param \HermannTelser\Watten\Domain\Repository\AthletenRepository $athletenRepository
|
|
* @param \HermannTelser\Watten\Domain\Repository\SpieltageRepository $spieltageRepository
|
|
* @param \HermannTelser\Watten\Domain\Repository\ErgebnisseRepository $ergebnisseRepository
|
|
* @param \HermannTelser\Watten\Domain\Repository\RanglisteRepository $ranglisteRepository
|
|
*/
|
|
|
|
public function __construct(AthletenRepository $athletenRepository, SpieltageRepository $spieltageRepository, ErgebnisseRepository $ergebnisseRepository, RanglisteRepository $ranglisteRepository)
|
|
{
|
|
$this->athletenRepository = $athletenRepository;
|
|
$this->ergebnisseRepository = $ergebnisseRepository;
|
|
$this->spieltageRepository = $spieltageRepository;
|
|
$this->ranglisteRepository = $ranglisteRepository;
|
|
|
|
$this->activeTournament = GeneralUtility::_GP('tournament') ?? $this->ergebnisseRepository->getActiveTournament();
|
|
$this->event_id = GeneralUtility::_GP('event_id') ?? $this->ergebnisseRepository->getLastEventId();
|
|
}
|
|
|
|
public function ergebnisseAction()
|
|
{
|
|
$tournaments = $this->ergebnisseRepository->findTournaments(false);
|
|
$this->view->assign('tournaments', $tournaments);
|
|
$this->view->assign('active_tournaments', $this->activeTournament);
|
|
|
|
$spieltage = $this->spieltageRepository->loadSpieltage();
|
|
$this->view->assign('spieltage', $spieltage);
|
|
$this->view->assign('active_event_id', $this->event_id);
|
|
}
|
|
|
|
public function ranglisteAction()
|
|
{
|
|
$tournaments = $this->ergebnisseRepository->findTournaments(true);
|
|
$this->view->assign('tournaments', $tournaments);
|
|
$this->view->assign('active', $this->activeTournament);
|
|
}
|
|
|
|
public function statistikAction()
|
|
{
|
|
$tournaments = $this->ergebnisseRepository->findTournaments(true);
|
|
$this->view->assign('tournaments', $tournaments);
|
|
$this->view->assign('active', $this->activeTournament);
|
|
$teilnehmer = $this->athletenRepository->loadTournamentAthleten($this->activeTournament);
|
|
$this->view->assign('teilnehmer', $teilnehmer);
|
|
}
|
|
}
|