Files
dotter_t3/packages/watten/Classes/Controller/EidController.php
T
2026-10-18 17:49:22 +02:00

72 lines
3.0 KiB
PHP

<?php
declare(strict_types=1);
namespace HermannTelser\Watten\Controller;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use HermannTelser\Watten\Domain\Repository\SpieltageRepository;
use HermannTelser\Watten\Domain\Repository\ErgebnisseRepository;
use HermannTelser\Watten\Domain\Repository\RanglisteRepository;
use HermannTelser\Watten\Domain\Repository\StatistikRepository;
use HermannTelser\Watten\Domain\Repository\GstrichenRepository;
use HermannTelser\Watten\Domain\Repository\AthletenRepository;
class EidController implements MiddlewareInterface
{
/**
* @return void
*/
public function __construct()
{
date_default_timezone_set('Europe/Vienna');
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$response = $handler->handle($request);
if (!isset($request->getQueryParams()['application'])) {
return $response;
}
switch (GeneralUtility::_GP('application')) {
case 'loadspieltag':
$arr = SpieltageRepository::loadSpieltag();
break;
case 'loadrangliste':
$activeTournament = GeneralUtility::_GP('tournament') ?? ErgebnisseRepository::getActiveTournament();
$arr = RanglisteRepository::loadRangliste($activeTournament);
break;
case 'loadgstrichenliste':
$activeTournament = GeneralUtility::_GP('tournament') ?? ErgebnisseRepository::getActiveTournament();
$arr = GstrichenRepository::loadGstrichenliste($activeTournament);
break;
case 'loadstatistik':
$event_id = GeneralUtility::_GP('event_id') ?? ErgebnisseRepository::getLastEventId();
$arr = StatistikRepository::loadStatistik($event_id);
break;
case 'loadstatistiktangliste':
$activeTournament = GeneralUtility::_GP('tournament') ?? ErgebnisseRepository::getActiveTournament();
$arr = StatistikRepository::loadStatistikRangliste($activeTournament);
break;
case 'loadtournamentathleten':
$activeTournament = GeneralUtility::_GP('tournament') ?? ErgebnisseRepository::getActiveTournament();
$arr = AthletenRepository::loadTournamentAthleten($activeTournament);
break;
case 'loadpaarlaufer';
$activeTournament = GeneralUtility::_GP('tournament') ?? ErgebnisseRepository::getActiveTournament();
$teilnehmer_id = GeneralUtility::_GP('teilnehmer_id');
$arr = StatistikRepository::loadPaarlauf($activeTournament, $teilnehmer_id);
break;
}
header('Content-Type: application/json');
echo json_encode((array) $arr);
exit();
}
}