framework = $framework; $this->tokenChecker = $tokenChecker; $this->translator = $translator; } public function __invoke(Request $request) { System::loadLanguageFile('default'); if (!$this->tokenChecker->hasFrontendUser()) { return $this->renderUnauthorized(); } if (empty($_REQUEST['do'])) { return new Response('Required parameter missing',412); } switch ($_REQUEST['do']) { case 'details': return $this->renderDetails(); break; } return new Response('',500); return new Response(null,203); } protected function renderDetails() { if (empty($_REQUEST['id'])) { return new Response('Required parameter missing',412); } if (($Slot = WeinanlieferungSlotsModel::findPublishedById($_REQUEST['id'])) === null) { return new Response('Could not load slot data',500); } $arrSorten = []; if (($Sorten = $Slot->getRelated('sorte')) !== null) { $arrSorten = $Sorten->fetchEach('title'); } $arrData = [ 'id' => $Slot->id, 'slot' => array_merge($Slot->row(),[ 'sorte' => $arrSorten ]), 'standort' => $Slot->getRelated('pid') ]; return $this->render('@Contao/modal_slot_details.html.twig',$arrData); } protected function renderUnauthorized() { return $this->render('@Contao/modal_unauthorized.html.twig'); } }