Files
2026-10-06 19:40:28 +02:00

75 lines
2.6 KiB
PHP

<?php
declare(strict_types=1);
namespace HermannTelser\Zuladungsliste\Middleware;
use HermannTelser\Zuladungsliste\Berechnung\_Berechnung;
use HermannTelser\Zuladungsliste\Bootstrap\_BootstrapController;
use HermannTelser\Zuladungsliste\Download\_DownloadController;
use HermannTelser\Zuladungsliste\Liste\_ListeController;
use HermannTelser\Zuladungsliste\Zuteilungen\_ZuteilungenController;
use HermannTelser\Zuladungsliste\Zuladungsliste\_ZuladungslisteController;
use HermannTelser\Zuladungsliste\PunkteZuweisung\_PunkteZuweisungController;
use HermannTelser\Zuladungsliste\Einreichen\_EinreichenController;
use HermannTelser\Zuladungsliste\User\_UserController;
use HermannTelser\Zuladungsliste\Upload\_UploadController;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
use TYPO3\CMS\Core\Http\JsonResponse;
define("WETTBEWERBE_PID", 38);
setlocale(LC_TIME, 'de_DE.UTF8');
class Ajax implements MiddlewareInterface
{
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$response = $handler->handle($request);
if (!isset($request->getQueryParams()['zlcontroller'])) {
return $response;
}
$xaction = $request->getQueryParams()['xaction'];
// $user = $GLOBALS['TSFE']->fe_user->user;
$zlcontroller = $request->getQueryParams()['zlcontroller'];
switch ($zlcontroller) {
case 'bootstrap_controller':
new _BootstrapController($xaction);
break;
case 'liste_controller':
new _ListeController($xaction);
break;
case 'download_controller':
new _DownloadController($xaction);
break;
case 'zuteilungen_controller':
new _ZuteilungenController($xaction);
break;
case 'zuladungsliste_controller':
new _ZuladungslisteController($xaction);
break;
case 'punktezuweisung_controller':
new _PunkteZuweisungController($xaction);
break;
case 'einreichen_controller':
new _EinreichenController($xaction);
break;
case 'user_controller':
new _UserController($xaction);
break;
case 'upload_controller':
new _UploadController($xaction);
break;
default:
_Berechnung::$_return = ['error' => __FILE__.': call \''.$zlcontroller.'\' not implemented'];
break;
}
return new JsonResponse(_Berechnung::$_return);
}
}