*/
protected $entryPointLevel = 1;
- /**
- * @var \Psr\Http\Message\ServerRequestInterface
- */
- protected $request;
-
/**
* All available request handlers that can handle backend requests (non-CLI)
* @var array
*/
- protected $availableRequestHandlers = array(
+ protected $availableRequestHandlers = [
\TYPO3\CMS\Backend\Http\RequestHandler::class,
- \TYPO3\CMS\Backend\Http\BackendModuleRequestHandler::class,
\TYPO3\CMS\Backend\Http\AjaxRequestHandler::class
- );
+ ];
/**
* Constructor setting up legacy constant and register available Request Handlers
$this->bootstrap = Bootstrap::getInstance()
->initializeClassLoader($classLoader)
- ->setRequestType(TYPO3_REQUESTTYPE_BE | (!empty($_GET['ajaxID']) ? TYPO3_REQUESTTYPE_AJAX : 0))
+ ->setRequestType(TYPO3_REQUESTTYPE_BE | (isset($_REQUEST['route']) && strpos($_REQUEST['route'], '/ajax/') === 0 ? TYPO3_REQUESTTYPE_AJAX : 0))
->baseSetup($this->entryPointLevel);
// Redirect to install tool if base configuration is not found
* Set up the application and shut it down afterwards
*
* @param callable $execute
- * @return void
*/
public function run(callable $execute = null)
{
- $this->request = \TYPO3\CMS\Core\Http\ServerRequestFactory::fromGlobals();
- // see below when this option is set and Bootstrap::defineTypo3RequestTypes() for more details
- if (TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_AJAX) {
- $this->request = $this->request->withAttribute('isAjaxRequest', true);
- } elseif (isset($this->request->getQueryParams()['M'])) {
- $this->request = $this->request->withAttribute('isModuleRequest', true);
- }
-
- $this->bootstrap->handleRequest($this->request);
+ $this->bootstrap->handleRequest(\TYPO3\CMS\Core\Http\ServerRequestFactory::fromGlobals(), 'backend');
if ($execute !== null) {
call_user_func($execute);