in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php line 1012
* @return mixed
*/
public function getSessionData($key)
{
return $this->userSession->get($key);
}
/**
* Set session data by key.
at TYPO3\CMS\Core\Authentication\AbstractUserAuthentication->getSessionData()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php line 2387
* @internal should only be used from within TYPO3 Core
*/
public function getOriginalUserIdWhenInSwitchUserMode(): ?int
{
$originalUserId = $this->getSessionData('backuserid');
return $originalUserId ? (int)$originalUserId : null;
}
}
at TYPO3\CMS\Core\Authentication\BackendUserAuthentication->getOriginalUserIdWhenInSwitchUserMode()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php line 2123
if (!$userId && !empty($this->user['uid'])) {
$userId = $this->user['uid'];
}
if ($backuserid = $this->getOriginalUserIdWhenInSwitchUserMode()) {
if (empty($data)) {
$data = [];
}
$data['originalUser'] = $backuserid;
at TYPO3\CMS\Core\Authentication\BackendUserAuthentication->writelog()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php line 2029
'be_users',
['workspace_id' => $this->user['workspace_id']],
['uid' => (int)$this->user['uid']]
);
$this->writelog(SystemLogType::EXTENSION, SystemLogGenericAction::UNDEFINED, SystemLogErrorClassification::MESSAGE, 0, 'User changed workspace to "' . $this->workspace . '"', []);
}
}
/**
at TYPO3\CMS\Core\Authentication\BackendUserAuthentication->setWorkspace()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php line 1859
*/
public function workspaceInit()
{
// Initializing workspace by evaluating and setting the workspace, possibly updating it in the user record!
$this->setWorkspace($this->user['workspace_id']);
// Limiting the DB mountpoints if there any selected in the workspace record
$this->initializeDbMountpointsInWorkspace();
$allowed_languages = (string)($this->getTSConfig()['options.']['workspaces.']['allowed_languages.'][$this->workspace] ?? '');
if ($allowed_languages !== '') {
at TYPO3\CMS\Core\Authentication\BackendUserAuthentication->workspaceInit()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php line 1302
$validWebMounts = $this->filterValidWebMounts($this->groupData['webmounts']);
$this->groupData['webmounts'] = implode(',', $validWebMounts);
}
// Setting up workspace situation (after webmounts are processed!):
$this->workspaceInit();
}
}
/**
at TYPO3\CMS\Core\Authentication\BackendUserAuthentication->fetchGroupData()
in /home/ben/src/TYPO3.CMS/typo3/sysext/beuser/Classes/Service/UserInformationService.php line 66
'uid' => 3016,
'options' => 3,
$user->usergroup_column => $groupId
];
$user->fetchGroupData();
$data = $this->convert($user);
$data['group'] = $usergroupRecord;
at TYPO3\CMS\Beuser\Service\UserInformationService->getGroupInformation()
in /home/ben/src/TYPO3.CMS/typo3/sysext/beuser/Classes/Controller/BackendUserGroupController.php line 95
$compareGroupUidList = array_keys($this->getBackendUser()->uc['beuser']['compareGroupUidList'] ?? []);
$compareData = [];
foreach ($compareGroupUidList as $uid) {
if ($compareInformation = $this->userInformationService->getGroupInformation($uid)) {
$compareData[] = $compareInformation;
}
}
if (empty($compareData)) {
at TYPO3\CMS\Beuser\Controller\BackendUserGroupController->compareAction()
in /home/ben/src/TYPO3.CMS/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php line 569
}
$validationResult = $this->arguments->validate();
if (!$validationResult->hasErrors()) {
$this->eventDispatcher->dispatch(new BeforeActionCallEvent(static::class, $this->actionMethodName, $preparedArguments));
$actionResult = $this->{$this->actionMethodName}(...$preparedArguments);
} else {
$actionResult = $this->{$this->errorMethodName}();
}
at TYPO3\CMS\Extbase\Mvc\Controller\ActionController->callActionMethod()
in /home/ben/src/TYPO3.CMS/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php line 486
$this->view = $this->resolveView();
if ($this->view !== null) {
$this->initializeView($this->view);
}
$response = $this->callActionMethod($request);
$this->renderAssetsForRequest($request);
return $response;
}
at TYPO3\CMS\Extbase\Mvc\Controller\ActionController->processRequest()
in /home/ben/src/TYPO3.CMS/typo3/sysext/extbase/Classes/Mvc/Dispatcher.php line 91
throw new InfiniteLoopException('Could not ultimately dispatch the request after ' . $dispatchLoopCount . ' iterations. Most probably, a @' . IgnoreValidation::class . ' annotation is missing on re-displaying a form with validation errors.', 1217839467);
}
$controller = $this->resolveController($request);
try {
$response = $controller->processRequest($request);
if ($response instanceof ForwardResponse) {
$request = static::buildRequestFromCurrentRequestAndForwardResponse($request, $response);
}
} catch (StopActionException $ignoredException) {
at TYPO3\CMS\Extbase\Mvc\Dispatcher->dispatch()
in /home/ben/src/TYPO3.CMS/typo3/sysext/extbase/Classes/Mvc/Web/BackendRequestHandler.php line 52
* @throws InfiniteLoopException
*/
public function handleRequest(RequestInterface $request)
{
return $this->dispatcher->dispatch($request);
}
/**
* This request handler can handle a web request invoked by the backend.
at TYPO3\CMS\Extbase\Mvc\Web\BackendRequestHandler->handleRequest()
in /home/ben/src/TYPO3.CMS/typo3/sysext/extbase/Classes/Core/Bootstrap.php line 238
$this->initialize($configuration);
$extbaseRequest = $this->extbaseRequestBuilder->build();
$requestHandler = $this->requestHandlerResolver->resolveRequestHandler($extbaseRequest);
$response = $requestHandler->handleRequest($extbaseRequest);
$this->resetSingletons();
$this->cacheService->clearCachesOfRegisteredPageIds();
return $response;
at TYPO3\CMS\Extbase\Core\Bootstrap->handleBackendRequest()
at call_user_func_array()
in /home/ben/src/TYPO3.CMS/typo3/sysext/backend/Classes/Http/RouteDispatcher.php line 63
}
$targetIdentifier = $route->getOption('target');
$target = $this->getCallableFromTarget($targetIdentifier);
$arguments = [$request];
return call_user_func_array($target, $arguments);
}
/**
* Wrapper method for static form protection utility
at TYPO3\CMS\Backend\Http\RouteDispatcher->dispatch()
in /home/ben/src/TYPO3.CMS/typo3/sysext/backend/Classes/Http/RequestHandler.php line 94
// there are Core classes that need the Request object but do not get it handed in
$this->resetGlobalsToCurrentRequest($request);
try {
// Check if the router has the available route and dispatch.
return $this->dispatcher->dispatch($request);
} catch (InvalidRequestTokenException $e) {
// When token was invalid redirect to login
$loginPage = GeneralUtility::makeInstance(UriBuilder::class)->buildUriFromRoute('login');
return new RedirectResponse((string)$loginPage);
at TYPO3\CMS\Backend\Http\RequestHandler->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/backend/Classes/Middleware/SiteResolver.php line 69
}
$site = $this->siteMatcher->matchByPageId($pageId, $rootLine);
$request = $request->withAttribute('site', $site);
}
return $handler->handle($request);
}
}
at TYPO3\CMS\Backend\Middleware\SiteResolver->process()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at class@anonymous/home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$21e->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/backend/Classes/Middleware/AdditionalResponseHeaders.php line 41
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$response = $handler->handle($request);
foreach ($GLOBALS['TYPO3_CONF_VARS']['BE']['HTTP']['Response']['Headers'] ?? [] as $header) {
[$headerName, $value] = explode(':', $header, 2);
$response = $response->withAddedHeader($headerName, trim($value));
}
at TYPO3\CMS\Backend\Middleware\AdditionalResponseHeaders->process()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at class@anonymous/home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$21e->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/backend/Classes/Middleware/OutputCompression.php line 47
ob_clean();
// Initialize output compression if configured
$this->initializeOutputCompression();
return $handler->handle($request);
}
/**
* Initialize output compression if configured
at TYPO3\CMS\Backend\Middleware\OutputCompression->process()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at class@anonymous/home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$21e->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/backend/Classes/Middleware/BackendUserAuthenticator.php line 88
$GLOBALS['BE_USER']->backendCheckLogin($proceedIfNoUserIsLoggedIn);
$GLOBALS['LANG'] = LanguageService::createFromUserPreferences($GLOBALS['BE_USER']);
// Re-setting the user and take the workspace from the user object now
$this->setBackendUserAspect($GLOBALS['BE_USER']);
$response = $handler->handle($request);
$this->sessionGarbageCollection();
} catch (ImmediateResponseException $e) {
$response = $this->enrichResponseWithHeadersAndCookieInformation(
at TYPO3\CMS\Backend\Middleware\BackendUserAuthenticator->process()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at class@anonymous/home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$21e->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/backend/Classes/Middleware/BackendRouteInitialization.php line 82
$uri = GeneralUtility::makeInstance(UriBuilder::class)->buildUriFromRoute('login');
return new RedirectResponse($uri);
}
return $handler->handle($request);
}
}
at TYPO3\CMS\Backend\Middleware\BackendRouteInitialization->process()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at class@anonymous/home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$21e->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/backend/Classes/Middleware/ForcedHttpsBackendRedirector.php line 55
[$server, $address] = explode('/', $url, 2);
return new RedirectResponse('https://' . $server . $sslPortSuffix . '/' . $address);
}
return $handler->handle($request);
}
}
at TYPO3\CMS\Backend\Middleware\ForcedHttpsBackendRedirector->process()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at class@anonymous/home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$21e->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/backend/Classes/Middleware/LockedBackendGuard.php line 73
$request->getAttribute('normalizedParams')->getRemoteAddress(),
trim((string)$GLOBALS['TYPO3_CONF_VARS']['BE']['IPmaskList'])
);
return $handler->handle($request);
}
/**
* Check adminOnly configuration variable and redirects to an URL in file typo3conf/LOCK_BACKEND
at TYPO3\CMS\Backend\Middleware\LockedBackendGuard->process()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at class@anonymous/home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$21e->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php line 45
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$request = $request->withAttribute('normalizedParams', NormalizedParams::createFromRequest($request));
return $handler->handle($request);
}
}
at TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute->process()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at class@anonymous/home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$21e->handle()
in /home/ben/src/TYPO3.CMS/typo3conf/ext/sudo_mode/Classes/Middleware/RequestHandlerGuard.php line 63
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
try {
return $handler->handle($request);
} catch (ConfirmationException $exception) {
return $this->handleConfirmationException($exception, $request);
} catch (ServerRequestInstructionException $exception) {
$request = ServerRequestFactory::fromGlobals();
at FriendsOfTYPO3\SudoMode\Middleware\RequestHandlerGuard->process()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at class@anonymous/home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$21e->handle()
in /home/ben/src/slim-typo3/Classes/Http/SlimMiddleware.php line 162
$routeInfo = $preprocessedRequest->getAttribute('routeInfo');
switch ($routeInfo[RouterInterface::DISPATCH_STATUS]) {
case Dispatcher::NOT_FOUND:
return $nextHandler->handle($request);
}
return $this->doHandle($container, $preprocessedRequest);
}
at Bnf\SlimTypo3\Http\SlimMiddleware->process()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at class@anonymous/home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$21e->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 78
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
return $this->tip->handle($request);
}
/**
* Seed the middleware stack with the inner request handler
at TYPO3\CMS\Core\Http\MiddlewareDispatcher->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/AbstractApplication.php line 85
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
return $this->requestHandler->handle($request);
}
/**
* Set up the application and shut it down afterwards
at TYPO3\CMS\Core\Http\AbstractApplication->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/backend/Classes/Http/Application.php line 72
$request = $request->withAttribute('applicationType', $applicationType);
// Set up the initial context
$this->initializeContext();
return parent::handle($request);
}
/**
* Check if LocalConfiguration.php and PackageStates.php exist
at TYPO3\CMS\Backend\Http\Application->handle()
in /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Http/AbstractApplication.php line 97
final public function run(callable $execute = null)
{
try {
$response = $this->handle(
ServerRequestFactory::fromGlobals()
);
if ($execute !== null) {
call_user_func($execute);
}
at TYPO3\CMS\Core\Http\AbstractApplication->run()
in /home/ben/src/TYPO3.CMS/typo3/index.php line 25
// Set up the application for the backend
call_user_func(function () {
$classLoader = require dirname(__DIR__).'/vendor/autoload.php';
\TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(1, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_BE);
\TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Backend\Http\Application::class)->run();
});
at {closure}()
in /home/ben/src/TYPO3.CMS/typo3/index.php line 26
call_user_func(function () {
$classLoader = require dirname(__DIR__).'/vendor/autoload.php';
\TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(1, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_BE);
\TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Backend\Http\Application::class)->run();
});