/** * Führt den Request aus * @param Controller $controller * @param Request $request * @return null */ protected function executeRequestViaController(Controller $controller, Request $request) { $response = null; if ($controller->hatBerechtigung()) { try { $response = $controller->execute($request); } catch (Exception $ex) { Logging::error($ex->getMessage()); $response = null; } if ($response !== null) { $content = $response->getContent(); if ($content instanceof Action) { $request = $request->createSubRequest($request->getArray()); $request->module = $content->module->qualifiedName; $request->action = $content->name; $this->handleRequest($request); } elseif ($content instanceof View) { if ($request->ajax && $request->dialog) { $this->modalDialog($content); Javascript::display(); } elseif ($request->ajax) { $this->flashMessagesAusgeben(); $content->display(); Javascript::display(); } else { $this->display($content); } } elseif (is_string($content)) { echo $content; } elseif (is_array($content)) { echo json_encode($content); } } } else { $this->showNoAccess(); } return $response; }