If you need help solving this exception, you can have a look at the TYPO3 Documentation. There you can find solutions provided by the TYPO3 community. Once you have found a solution to the problem, help others by contributing to the documentation page.
Find a solution for this exception in the TYPO3 Documentation.
$this->tag->addAttribute('title', $title); } } catch (ResourceDoesNotExistException $e) { // thrown if file does not exist throw new Exception($e->getMessage(), 1509741911, $e); } catch (\UnexpectedValueException $e) { // thrown if a file has been replaced with a folder throw new Exception($e->getMessage(), 1509741912, $e); } catch (\RuntimeException $e) {
*/ protected function callRenderMethod() { if (method_exists($this, 'render')) { return call_user_func([$this, 'render']); } if ((new \ReflectionMethod($this, 'renderStatic'))->getDeclaringClass()->getName() !== AbstractViewHelper::class) { // Method is safe to call - will not recurse through ViewHelperInvoker via the default // implementation of renderStatic() on this class.
{ $this->validateArguments(); $this->initialize(); return $this->callRenderMethod(); } /** * Call the render() method and handle errors.
} $viewHelper->setRenderingContext($renderingContext); $viewHelper->setArguments($evaluatedArguments); $viewHelper->handleAdditionalArguments($undeclaredArguments); return $viewHelper->initializeArgumentsAndRender(); } catch (Exception $error) { return $renderingContext->getErrorHandler()->handleViewHelperError($error); } }
*/ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { $viewHelperClassName = get_called_class(); return $renderingContext->getViewHelperInvoker()->invoke($viewHelperClassName, $arguments, $renderingContext, $renderChildrenClosure); } /** * Save the associated ViewHelper node in a static public class variable.
$array16 = array ( );$arguments14['src'] = $renderingContext->getVariableProvider()->getByPath('magazin.file.originalResource.publicUrl', $array16); $arguments14['width'] = 200; $output13 .= TYPO3\CMS\Fluid\ViewHelpers\ImageViewHelper::renderStatic($arguments14, $renderChildrenClosure15, $renderingContext); $output13 .= ' '; return $output13;
private static function evaluateElseClosures(array $closures, array $conditionClosures, RenderingContextInterface $renderingContext) { foreach ($closures as $elseNodeIndex => $elseNodeClosure) { if (!isset($conditionClosures[$elseNodeIndex])) { return $elseNodeClosure(); } else { if ($conditionClosures[$elseNodeIndex]()) { return $elseNodeClosure(); }
return $arguments['__thenClosure'](); } } elseif (!empty($arguments['__elseClosures'])) { $elseIfClosures = isset($arguments['__elseifClosures']) ? $arguments['__elseifClosures'] : []; return static::evaluateElseClosures($arguments['__elseClosures'], $elseIfClosures, $renderingContext); } elseif (array_key_exists('else', $arguments)) { return $arguments['else']; } return '';
'; return $output13; }; $output0 .= TYPO3Fluid\Fluid\ViewHelpers\IfViewHelper::renderStatic($arguments5, $renderChildrenClosure6, $renderingContext); $output0 .= ' </a> </div>
); } } $this->startRendering($renderingTypeOnNextLevel, $parsedTemplate, $renderingContext); $output = $parsedTemplate->$methodNameOfSection($renderingContext); $this->stopRendering(); } else { $sections = $parsedTemplate->getVariableContainer()->get('1457379500_sections'); if (!isset($sections[$sectionName])) {
$content = (new $delegate())->render($renderingContext); } elseif ($partial !== null) { $content = $view->renderPartial($partial, $section, $variables, $optional); } elseif ($section !== null) { $content = $view->renderSection($section, $variables, $optional); } elseif (!$optional) { throw new \InvalidArgumentException('ViewHelper f:render called without either argument section, partial, renderable or delegate and optional flag is false'); } // Replace empty content with default value. If default is
$arguments1['contentAs'] = NULL; $arguments1['debug'] = true; $arguments1['section'] = 'main'; $output0 .= TYPO3\CMS\Fluid\ViewHelpers\RenderViewHelper::renderStatic($arguments1, $renderChildrenClosure2, $renderingContext); $output0 .= ' ';
} catch (PassthroughSourceException $error) { return $error->getSource(); } $this->startRendering(self::RENDERING_LAYOUT, $parsedTemplate, $this->baseRenderingContext); $output = $parsedLayout->render($this->baseRenderingContext); $this->stopRendering(); } return $output;
$actionResult = $this->{$this->errorMethodName}(); } if ($actionResult === null && $this->view instanceof ViewInterface) { $this->response->appendContent($this->view->render()); } elseif (is_string($actionResult) && $actionResult !== '') { $this->response->appendContent($actionResult); } elseif (is_object($actionResult) && method_exists($actionResult, '__toString')) { $this->response->appendContent((string)$actionResult);
$this->view = $this->resolveView(); if ($this->view !== null) { $this->initializeView($this->view); } $this->callActionMethod(); $this->renderAssetsForRequest($request); } /**
throw new \TYPO3\CMS\Extbase\Mvc\Exception\InfiniteLoopException('Could not ultimately dispatch the request after ' . $dispatchLoopCount . ' iterations. Most probably, a @' . \TYPO3\CMS\Extbase\Annotation\IgnoreValidation::class . ' annotation is missing on re-displaying a form with validation errors.', 1217839467); } $controller = $this->resolveController($request); try { $controller->processRequest($request, $response); } catch (\TYPO3\CMS\Extbase\Mvc\Exception\StopActionException $ignoredException) { } } $this->emitAfterRequestDispatchSignal($request, $response);
} /** @var \TYPO3\CMS\Extbase\Mvc\ResponseInterface $response */ $response = $this->objectManager->get(\TYPO3\CMS\Extbase\Mvc\Web\Response::class); $this->dispatcher->dispatch($request, $response); return $response; } /**
/** @var \TYPO3\CMS\Extbase\Mvc\RequestHandlerResolver $requestHandlerResolver */ $requestHandlerResolver = $this->objectManager->get(\TYPO3\CMS\Extbase\Mvc\RequestHandlerResolver::class); $requestHandler = $requestHandlerResolver->resolveRequestHandler(); $response = $requestHandler->handleRequest(); // If response is NULL after handling the request we need to stop // This happens for instance, when a USER object was converted to a USER_INT // @see TYPO3\CMS\Extbase\Mvc\Web\FrontendRequestHandler::handleRequest() if ($response === null) {
*/ public function run($content, $configuration) { $this->initialize($configuration); return $this->handleRequest(); } /** * @throws \TYPO3\CMS\Extbase\Mvc\Exception\CommandException Is thrown if the response object defined an exit code > 0
$classObj, $parts[1] ], [ $content, $conf ]); } else { $this->getTimeTracker()->setTSlogMessage('Method "' . $parts[1] . '" did not exist in class "' . $parts[0] . '"', 3); }
if ($this->cObj->getUserObjectType() === false) { // Come here only if we are not called from $TSFE->INTincScript_process()! $this->cObj->setUserObjectType(ContentObjectRenderer::OBJECTTYPE_USER); } $tempContent = $this->cObj->callUserFunction($conf['userFunc'], $conf, ''); if ($this->cObj->doConvertToUserIntObject) { $this->cObj->doConvertToUserIntObject = false; $content = $this->cObj->cObjGetSingle('USER_INT', $conf); } else {
} // Render content try { $content .= $contentObject->render($configuration); } catch (ContentRenderingException $exception) { // Content rendering Exceptions indicate a critical problem which should not be // caught e.g. when something went wrong with Exception handling itself throw $exception;
} if (!$hooked) { $contentObject = $this->getContentObject($name); if ($contentObject) { $content .= $this->render($contentObject, $conf); } else { // Call hook functions for extra processing if ($name) { foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClassDefault'] ?? [] as $className) {
case 'COA': $incContent = $INTiS_cObj->cObjGetSingle('COA', $INTiS_config[$INTiS_key]['conf']); break; case 'FUNC': $incContent = $INTiS_cObj->cObjGetSingle('USER', $INTiS_config[$INTiS_key]['conf']); break; case 'POSTUSERFUNC': $incContent = $INTiS_cObj->callUserFunction($INTiS_config[$INTiS_key]['postUserFunc'], $INTiS_config[$INTiS_key]['conf'], $INTiS_config[$INTiS_key]['content']); break;
protected function recursivelyReplaceIntPlaceholdersInContent() { do { $INTiS_config = $this->config['INTincScript']; $this->INTincScript_process($INTiS_config); // Check if there were new items added to INTincScript during the previous execution: // array_diff_assoc throws notices if values are arrays but not strings. We suppress this here. $INTiS_config = @array_diff_assoc($this->config['INTincScript'], $INTiS_config); $reprocess = count($INTiS_config) > 0;
$this->pageRenderer = $pageRenderer; GeneralUtility::setSingletonInstance(PageRenderer::class, $pageRenderer); } $this->recursivelyReplaceIntPlaceholdersInContent(); $this->getTimeTracker()->push('Substitute header section'); $this->INTincScript_loadJSCode(); $this->generatePageTitle();
// When page was generated, this was already called. Avoid calling this twice. $controller->preparePageContentGeneration($request); } $this->timeTracker->push('Non-cached objects'); $controller->INTincScript(); $this->timeTracker->pull(); } // Create a Response object when sending content
// Throw away all output that may have happened during bootstrapping by weird extensions ob_clean(); // Initialize output compression if configured $this->initializeOutputCompression(); return $handler->handle($request); } /** * Initialize output compression if configured
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* @return ResponseInterface */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); if ( !($response instanceof NullResponse) && $GLOBALS['TSFE'] instanceof TypoScriptFrontendController && $GLOBALS['TSFE']->isOutputting()) {
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
return new RedirectResponse($externalUrl, 303); } } return $handler->handle($request); } protected function getRedirectUri(ServerRequestInterface $request): ?string {
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
GeneralUtility::makeInstance($className)->checkDataSubmission($this->controller); } } return $handler->handle($request); } /** * Small helper function to convert charsets for arrays to UTF-8
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
['code' => PageAccessFailureReasons::CACHEHASH_COMPARISON_FAILED] ); } } return $handler->handle($request); } /** * Calculates a hash string based on additional parameters in the url.
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
) { return GeneralUtility::makeInstance(ErrorController::class)->unavailableAction($request, 'This page is temporarily unavailable.'); } // Continue the regular stack if no maintenance mode is active return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
} $this->controller->determineId(); } return $handler->handle($request); } /** * Provides ways to bypass the '?id=[xxx]&type=[xx]' format, using either PATH_INFO or Server Rewrites
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
return new HtmlResponse($content, 200, ['Content-Type' => $contentType]); } } return $handler->handle($request); } /** * Find the proper configuration for the static route in the static route configuration. Mainly:
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$uri = $requestedUri->withPath(rtrim($requestedUri->getPath(), '/')); return new RedirectResponse($uri, 307); } } return $handler->handle($request); } /** * Checks if the language is allowed in Frontend, if not, check if there is valid BE user *
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$showHiddenRecords = ($this->context->hasAspect('visibility') ? $this->context->getAspect('visibility')->includeHidden() : false); $GLOBALS['TSFE']->fePreview = ($simulatingDate || $simulatingGroup || $showHiddenRecords); } return $handler->handle($request); } /** * Simulate dates for preview functionality
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// At this point, we later get further route modifiers // for bw-compat we update $GLOBALS[TYPO3_REQUEST] to be used later in TSFE. $GLOBALS['TYPO3_REQUEST'] = $request; return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
Bootstrap::loadExtTables(); $this->setBackendUserAspect(GeneralUtility::makeInstance(Context::class), $GLOBALS['BE_USER']); } return $handler->handle($request); } /** * Creates the backend user object and returns it.
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// Register the frontend user as aspect $this->setFrontendUserAspect(GeneralUtility::makeInstance(Context::class), $frontendUser); return $handler->handle($request); } /** * It's possible to transfer a frontend user session via a GET/POST parameter 'FE_SESSION_KEY'.
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
GeneralUtility::callUserFunction($_funcRef, $_params, $GLOBALS['TSFE']); } } return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
{ $eID = $request->getParsedBody()['eID'] ?? $request->getQueryParams()['eID'] ?? null; if ($eID === null) { return $handler->handle($request); } // Remove any output produced until now ob_clean();
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$hookParameters = []; GeneralUtility::callUserFunction($hookFunction, $hookParameters, $hookParameters); } } return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// refactored to have ServerRequest object available where it is needed. This global will be // deprecated then and removed. $GLOBALS['TYPO3_REQUEST'] = $request; return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
); $timeTracker->start(); $timeTracker->push(''); return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* @return ResponseInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { return $this->tip->handle($request); } /** * Seed the middleware stack with the inner request handler
{ $requestHandler = GeneralUtility::makeInstance($this->requestHandler); $dispatcher = $this->createMiddlewareDispatcher($requestHandler); return $dispatcher->handle($request); } /** * Set up the application and shut it down afterwards
if (!$this->checkIfEssentialConfigurationExists()) { return $this->installToolRedirect(); } $this->initializeContext(); return parent::handle($request); } /** * Check if LocalConfiguration.php and PackageStates.php exist
final public function run(callable $execute = null) { try { $response = $this->handle( \TYPO3\CMS\Core\Http\ServerRequestFactory::fromGlobals() ); if ($execute !== null) { call_user_func($execute); }
// Set up the application for the frontend call_user_func(function () { $classLoader = require __DIR__.'/vendor/autoload.php'; \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE); \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run(); });
call_user_func(function () { $classLoader = require __DIR__.'/vendor/autoload.php'; \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE); \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run(); });
{ $folderIdentifier = $this->canonicalizeAndCheckFolderIdentifier($folderIdentifier); if (!$this->folderExists($folderIdentifier)) { throw new Exception\FolderDoesNotExistException( 'Folder "' . $folderIdentifier . '" does not exist.', 1314516810 ); }
* @throws Exception\InsufficientFolderAccessPermissionsException */ public function getFolder($identifier, $returnInaccessibleFolderObject = false) { $data = $this->driver->getFolderInfoByIdentifier($identifier); $folder = $this->getResourceFactoryInstance()->createFolderObject($this, $data['identifier'] ?? null, $data['name'] ?? null); try { $this->assureFolderReadPermission($folder);
if (GeneralUtility::isFirstPartOfStr($folderIdentifier, Environment::getPublicPath() . '/')) { $folderIdentifier = PathUtility::stripPathSitePrefix($parts[0]); } } return $this->getStorageObject($storageUid, [], $folderIdentifier)->getFolder($folderIdentifier); } /** * Gets a storage object from a combined identifier
// only the local file return $this->getFileObjectFromCombinedIdentifier($input); } // only the local path return $this->getFolderObjectFromCombinedIdentifier($input); } /** * Gets a folder object from an identifier [storage]:[fileId]
$data = $linkService->resolveByStringRepresentation($src); $image = $data['file']; } else { // We have a combined identifier or legacy (storage 0) path $image = $this->resourceFactory->retrieveFileOrFolderObject($src); } return $image; }
*/ public function getImage($src, $image, $treatIdAsReference) { if ($image === null) { $image = $this->getImageFromSourceString($src, $treatIdAsReference); } elseif (is_callable([$image, 'getOriginalResource'])) { // We have a domain model, so we need to fetch the FAL resource object from there $image = $image->getOriginalResource(); }
throw new Exception('You must either specify a string src or a File object.', 1382284106); } try { $image = $this->imageService->getImage($this->arguments['src'], $this->arguments['image'], $this->arguments['treatIdAsReference']); $cropString = $this->arguments['crop']; if ($cropString === null && $image->hasProperty('crop') && $image->getProperty('crop')) { $cropString = $image->getProperty('crop'); }
*/ protected function callRenderMethod() { if (method_exists($this, 'render')) { return call_user_func([$this, 'render']); } if ((new \ReflectionMethod($this, 'renderStatic'))->getDeclaringClass()->getName() !== AbstractViewHelper::class) { // Method is safe to call - will not recurse through ViewHelperInvoker via the default // implementation of renderStatic() on this class.
{ $this->validateArguments(); $this->initialize(); return $this->callRenderMethod(); } /** * Call the render() method and handle errors.
} $viewHelper->setRenderingContext($renderingContext); $viewHelper->setArguments($evaluatedArguments); $viewHelper->handleAdditionalArguments($undeclaredArguments); return $viewHelper->initializeArgumentsAndRender(); } catch (Exception $error) { return $renderingContext->getErrorHandler()->handleViewHelperError($error); } }
*/ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { $viewHelperClassName = get_called_class(); return $renderingContext->getViewHelperInvoker()->invoke($viewHelperClassName, $arguments, $renderingContext, $renderChildrenClosure); } /** * Save the associated ViewHelper node in a static public class variable.
$array16 = array ( );$arguments14['src'] = $renderingContext->getVariableProvider()->getByPath('magazin.file.originalResource.publicUrl', $array16); $arguments14['width'] = 200; $output13 .= TYPO3\CMS\Fluid\ViewHelpers\ImageViewHelper::renderStatic($arguments14, $renderChildrenClosure15, $renderingContext); $output13 .= ' '; return $output13;
private static function evaluateElseClosures(array $closures, array $conditionClosures, RenderingContextInterface $renderingContext) { foreach ($closures as $elseNodeIndex => $elseNodeClosure) { if (!isset($conditionClosures[$elseNodeIndex])) { return $elseNodeClosure(); } else { if ($conditionClosures[$elseNodeIndex]()) { return $elseNodeClosure(); }
return $arguments['__thenClosure'](); } } elseif (!empty($arguments['__elseClosures'])) { $elseIfClosures = isset($arguments['__elseifClosures']) ? $arguments['__elseifClosures'] : []; return static::evaluateElseClosures($arguments['__elseClosures'], $elseIfClosures, $renderingContext); } elseif (array_key_exists('else', $arguments)) { return $arguments['else']; } return '';
'; return $output13; }; $output0 .= TYPO3Fluid\Fluid\ViewHelpers\IfViewHelper::renderStatic($arguments5, $renderChildrenClosure6, $renderingContext); $output0 .= ' </a> </div>
); } } $this->startRendering($renderingTypeOnNextLevel, $parsedTemplate, $renderingContext); $output = $parsedTemplate->$methodNameOfSection($renderingContext); $this->stopRendering(); } else { $sections = $parsedTemplate->getVariableContainer()->get('1457379500_sections'); if (!isset($sections[$sectionName])) {
$content = (new $delegate())->render($renderingContext); } elseif ($partial !== null) { $content = $view->renderPartial($partial, $section, $variables, $optional); } elseif ($section !== null) { $content = $view->renderSection($section, $variables, $optional); } elseif (!$optional) { throw new \InvalidArgumentException('ViewHelper f:render called without either argument section, partial, renderable or delegate and optional flag is false'); } // Replace empty content with default value. If default is
$arguments1['contentAs'] = NULL; $arguments1['debug'] = true; $arguments1['section'] = 'main'; $output0 .= TYPO3\CMS\Fluid\ViewHelpers\RenderViewHelper::renderStatic($arguments1, $renderChildrenClosure2, $renderingContext); $output0 .= ' ';
} catch (PassthroughSourceException $error) { return $error->getSource(); } $this->startRendering(self::RENDERING_LAYOUT, $parsedTemplate, $this->baseRenderingContext); $output = $parsedLayout->render($this->baseRenderingContext); $this->stopRendering(); } return $output;
$actionResult = $this->{$this->errorMethodName}(); } if ($actionResult === null && $this->view instanceof ViewInterface) { $this->response->appendContent($this->view->render()); } elseif (is_string($actionResult) && $actionResult !== '') { $this->response->appendContent($actionResult); } elseif (is_object($actionResult) && method_exists($actionResult, '__toString')) { $this->response->appendContent((string)$actionResult);
$this->view = $this->resolveView(); if ($this->view !== null) { $this->initializeView($this->view); } $this->callActionMethod(); $this->renderAssetsForRequest($request); } /**
throw new \TYPO3\CMS\Extbase\Mvc\Exception\InfiniteLoopException('Could not ultimately dispatch the request after ' . $dispatchLoopCount . ' iterations. Most probably, a @' . \TYPO3\CMS\Extbase\Annotation\IgnoreValidation::class . ' annotation is missing on re-displaying a form with validation errors.', 1217839467); } $controller = $this->resolveController($request); try { $controller->processRequest($request, $response); } catch (\TYPO3\CMS\Extbase\Mvc\Exception\StopActionException $ignoredException) { } } $this->emitAfterRequestDispatchSignal($request, $response);
} /** @var \TYPO3\CMS\Extbase\Mvc\ResponseInterface $response */ $response = $this->objectManager->get(\TYPO3\CMS\Extbase\Mvc\Web\Response::class); $this->dispatcher->dispatch($request, $response); return $response; } /**
/** @var \TYPO3\CMS\Extbase\Mvc\RequestHandlerResolver $requestHandlerResolver */ $requestHandlerResolver = $this->objectManager->get(\TYPO3\CMS\Extbase\Mvc\RequestHandlerResolver::class); $requestHandler = $requestHandlerResolver->resolveRequestHandler(); $response = $requestHandler->handleRequest(); // If response is NULL after handling the request we need to stop // This happens for instance, when a USER object was converted to a USER_INT // @see TYPO3\CMS\Extbase\Mvc\Web\FrontendRequestHandler::handleRequest() if ($response === null) {
*/ public function run($content, $configuration) { $this->initialize($configuration); return $this->handleRequest(); } /** * @throws \TYPO3\CMS\Extbase\Mvc\Exception\CommandException Is thrown if the response object defined an exit code > 0
$classObj, $parts[1] ], [ $content, $conf ]); } else { $this->getTimeTracker()->setTSlogMessage('Method "' . $parts[1] . '" did not exist in class "' . $parts[0] . '"', 3); }
if ($this->cObj->getUserObjectType() === false) { // Come here only if we are not called from $TSFE->INTincScript_process()! $this->cObj->setUserObjectType(ContentObjectRenderer::OBJECTTYPE_USER); } $tempContent = $this->cObj->callUserFunction($conf['userFunc'], $conf, ''); if ($this->cObj->doConvertToUserIntObject) { $this->cObj->doConvertToUserIntObject = false; $content = $this->cObj->cObjGetSingle('USER_INT', $conf); } else {
} // Render content try { $content .= $contentObject->render($configuration); } catch (ContentRenderingException $exception) { // Content rendering Exceptions indicate a critical problem which should not be // caught e.g. when something went wrong with Exception handling itself throw $exception;
} if (!$hooked) { $contentObject = $this->getContentObject($name); if ($contentObject) { $content .= $this->render($contentObject, $conf); } else { // Call hook functions for extra processing if ($name) { foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClassDefault'] ?? [] as $className) {
case 'COA': $incContent = $INTiS_cObj->cObjGetSingle('COA', $INTiS_config[$INTiS_key]['conf']); break; case 'FUNC': $incContent = $INTiS_cObj->cObjGetSingle('USER', $INTiS_config[$INTiS_key]['conf']); break; case 'POSTUSERFUNC': $incContent = $INTiS_cObj->callUserFunction($INTiS_config[$INTiS_key]['postUserFunc'], $INTiS_config[$INTiS_key]['conf'], $INTiS_config[$INTiS_key]['content']); break;
protected function recursivelyReplaceIntPlaceholdersInContent() { do { $INTiS_config = $this->config['INTincScript']; $this->INTincScript_process($INTiS_config); // Check if there were new items added to INTincScript during the previous execution: // array_diff_assoc throws notices if values are arrays but not strings. We suppress this here. $INTiS_config = @array_diff_assoc($this->config['INTincScript'], $INTiS_config); $reprocess = count($INTiS_config) > 0;
$this->pageRenderer = $pageRenderer; GeneralUtility::setSingletonInstance(PageRenderer::class, $pageRenderer); } $this->recursivelyReplaceIntPlaceholdersInContent(); $this->getTimeTracker()->push('Substitute header section'); $this->INTincScript_loadJSCode(); $this->generatePageTitle();
// When page was generated, this was already called. Avoid calling this twice. $controller->preparePageContentGeneration($request); } $this->timeTracker->push('Non-cached objects'); $controller->INTincScript(); $this->timeTracker->pull(); } // Create a Response object when sending content
// Throw away all output that may have happened during bootstrapping by weird extensions ob_clean(); // Initialize output compression if configured $this->initializeOutputCompression(); return $handler->handle($request); } /** * Initialize output compression if configured
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* @return ResponseInterface */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); if ( !($response instanceof NullResponse) && $GLOBALS['TSFE'] instanceof TypoScriptFrontendController && $GLOBALS['TSFE']->isOutputting()) {
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
return new RedirectResponse($externalUrl, 303); } } return $handler->handle($request); } protected function getRedirectUri(ServerRequestInterface $request): ?string {
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
GeneralUtility::makeInstance($className)->checkDataSubmission($this->controller); } } return $handler->handle($request); } /** * Small helper function to convert charsets for arrays to UTF-8
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
['code' => PageAccessFailureReasons::CACHEHASH_COMPARISON_FAILED] ); } } return $handler->handle($request); } /** * Calculates a hash string based on additional parameters in the url.
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
) { return GeneralUtility::makeInstance(ErrorController::class)->unavailableAction($request, 'This page is temporarily unavailable.'); } // Continue the regular stack if no maintenance mode is active return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
} $this->controller->determineId(); } return $handler->handle($request); } /** * Provides ways to bypass the '?id=[xxx]&type=[xx]' format, using either PATH_INFO or Server Rewrites
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
return new HtmlResponse($content, 200, ['Content-Type' => $contentType]); } } return $handler->handle($request); } /** * Find the proper configuration for the static route in the static route configuration. Mainly:
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$uri = $requestedUri->withPath(rtrim($requestedUri->getPath(), '/')); return new RedirectResponse($uri, 307); } } return $handler->handle($request); } /** * Checks if the language is allowed in Frontend, if not, check if there is valid BE user *
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$showHiddenRecords = ($this->context->hasAspect('visibility') ? $this->context->getAspect('visibility')->includeHidden() : false); $GLOBALS['TSFE']->fePreview = ($simulatingDate || $simulatingGroup || $showHiddenRecords); } return $handler->handle($request); } /** * Simulate dates for preview functionality
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// At this point, we later get further route modifiers // for bw-compat we update $GLOBALS[TYPO3_REQUEST] to be used later in TSFE. $GLOBALS['TYPO3_REQUEST'] = $request; return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
Bootstrap::loadExtTables(); $this->setBackendUserAspect(GeneralUtility::makeInstance(Context::class), $GLOBALS['BE_USER']); } return $handler->handle($request); } /** * Creates the backend user object and returns it.
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// Register the frontend user as aspect $this->setFrontendUserAspect(GeneralUtility::makeInstance(Context::class), $frontendUser); return $handler->handle($request); } /** * It's possible to transfer a frontend user session via a GET/POST parameter 'FE_SESSION_KEY'.
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
GeneralUtility::callUserFunction($_funcRef, $_params, $GLOBALS['TSFE']); } } return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
{ $eID = $request->getParsedBody()['eID'] ?? $request->getQueryParams()['eID'] ?? null; if ($eID === null) { return $handler->handle($request); } // Remove any output produced until now ob_clean();
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$hookParameters = []; GeneralUtility::callUserFunction($hookFunction, $hookParameters, $hookParameters); } } return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// refactored to have ServerRequest object available where it is needed. This global will be // deprecated then and removed. $GLOBALS['TYPO3_REQUEST'] = $request; return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
); $timeTracker->start(); $timeTracker->push(''); return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* @return ResponseInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { return $this->tip->handle($request); } /** * Seed the middleware stack with the inner request handler
{ $requestHandler = GeneralUtility::makeInstance($this->requestHandler); $dispatcher = $this->createMiddlewareDispatcher($requestHandler); return $dispatcher->handle($request); } /** * Set up the application and shut it down afterwards
if (!$this->checkIfEssentialConfigurationExists()) { return $this->installToolRedirect(); } $this->initializeContext(); return parent::handle($request); } /** * Check if LocalConfiguration.php and PackageStates.php exist
final public function run(callable $execute = null) { try { $response = $this->handle( \TYPO3\CMS\Core\Http\ServerRequestFactory::fromGlobals() ); if ($execute !== null) { call_user_func($execute); }
// Set up the application for the frontend call_user_func(function () { $classLoader = require __DIR__.'/vendor/autoload.php'; \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE); \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run(); });
call_user_func(function () { $classLoader = require __DIR__.'/vendor/autoload.php'; \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE); \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run(); });