Actions
Bug #88642
closedCan't create record in sysfolder
Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Backend User Interface
Target version:
Start date:
2019-06-27
Due date:
% Done:
100%
Estimated time:
TYPO3 Version:
9
PHP Version:
7.2
Tags:
sysfolder records
Complexity:
hard
Is Regression:
Sprint Focus:
Description
Hi all.
I can't create records in sysfolders.
TYPO3 9.5.7
PHP Version 7.2.19
For reproduce an error I select:
List, existing sysfolder in tree, plus icon (create new record) on top of page.
After this I see en exception - see screen or text below:
(1/1) TypeError strpos() expects parameter 1 to be string, null given in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Controller/NewRecordController.php line 715 $thisTitle = ''; $_EXTKEY = ''; if ($nameParts[0] === 'tx' || $nameParts[0] === 'tt') { // Try to extract extension name if (strpos($v['ctrl']['title'], 'LLL:EXT:') === 0) { $_EXTKEY = substr($v['ctrl']['title'], 8); $_EXTKEY = substr($_EXTKEY, 0, strpos($_EXTKEY, '/')); if ($_EXTKEY !== '') { // First try to get localisation of extension title at strpos(null, 'LLL:EXT:') in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Controller/NewRecordController.php line 715 $thisTitle = ''; $_EXTKEY = ''; if ($nameParts[0] === 'tx' || $nameParts[0] === 'tt') { // Try to extract extension name if (strpos($v['ctrl']['title'], 'LLL:EXT:') === 0) { $_EXTKEY = substr($v['ctrl']['title'], 8); $_EXTKEY = substr($_EXTKEY, 0, strpos($_EXTKEY, '/')); if ($_EXTKEY !== '') { // First try to get localisation of extension title at TYPO3\CMS\Backend\Controller\NewRecordController->renderNewRecordControls(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Controller/NewRecordController.php line 439 $this->moduleTemplate->setTitle($title); // GENERATE the HTML-output depending on mode (pagesOnly is the page wizard) // Regular new element: if (!$this->pagesOnly) { $this->renderNewRecordControls($request); } elseif ($this->isRecordCreationAllowedForTable('pages')) { // Pages only wizard $response = $this->renderPositionTree(); at TYPO3\CMS\Backend\Controller\NewRecordController->renderContent(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Controller/NewRecordController.php line 218 * @return ResponseInterface the response with the content */ public function mainAction(ServerRequestInterface $request): ResponseInterface { $response = $this->renderContent($request); if (empty($response)) { $response = new HtmlResponse($this->moduleTemplate->renderContent()); } at TYPO3\CMS\Backend\Controller\NewRecordController->mainAction(object(TYPO3\CMS\Core\Http\ServerRequest)) at call_user_func_array(array(object(TYPO3\CMS\Backend\Controller\NewRecordController), 'mainAction'), array(object(TYPO3\CMS\Core\Http\ServerRequest))) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Http/RouteDispatcher.php line 87 $arguments[] = $response; } } return call_user_func_array($target, $arguments); } /** * Wrapper method for static form protection utility at TYPO3\CMS\Backend\Http\RouteDispatcher->dispatch(object(TYPO3\CMS\Core\Http\ServerRequest), object(TYPO3\CMS\Core\Http\Response)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Http/RequestHandler.php line 73 } try { // Check if the router has the available route and dispatch. $dispatcher = GeneralUtility::makeInstance(RouteDispatcher::class); return $dispatcher->dispatch($request, $response); } catch (InvalidRequestTokenException $e) { // When token was invalid redirect to login $url = GeneralUtility::getIndpEnv('TYPO3_SITE_URL') . TYPO3_mainDir; return new RedirectResponse($url); at TYPO3\CMS\Backend\Http\RequestHandler->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Middleware/SiteResolver.php line 59 $site = GeneralUtility::makeInstance(SiteMatcher::class)->matchByPageId($pageId, $rootLine); $request = $request->withAttribute('site', $site); $GLOBALS['TYPO3_REQUEST'] = $request; } return $handler->handle($request); } } at TYPO3\CMS\Backend\Middleware\SiteResolver->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(TYPO3\CMS\Backend\Http\RequestHandler)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 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/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Middleware/AdditionalResponseHeaders.php line 39 * @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(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 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/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Middleware/OutputCompression.php line 45 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(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 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/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Middleware/LegacyBackendTemplateInitialization.php line 42 */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $GLOBALS['TBE_TEMPLATE'] = GeneralUtility::makeInstance(DocumentTemplate::class); return $handler->handle($request); } } at TYPO3\CMS\Backend\Middleware\LegacyBackendTemplateInitialization->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 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/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Middleware/BackendUserAuthenticator.php line 70 Bootstrap::initializeLanguageObject(); // Register the backend user as aspect $this->setBackendUserAspect(GeneralUtility::makeInstance(Context::class), $GLOBALS['BE_USER']); return $handler->handle($request); } /** * Check if the user is required for the request at TYPO3\CMS\Backend\Middleware\BackendUserAuthenticator->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 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/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Middleware/BackendRouteInitialization.php line 72 // Add the route path to the request $request = $request->withAttribute('routePath', $pathToRoute); return $handler->handle($request); } } at TYPO3\CMS\Backend\Middleware\BackendRouteInitialization->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 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/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Middleware/ForcedHttpsBackendRedirector.php line 53 list($server, $address) = explode('/', $url, 2); return new RedirectResponse('https://' . $server . $sslPortSuffix . '/' . $address); } return $handler->handle($request); } } at TYPO3\CMS\Backend\Middleware\ForcedHttpsBackendRedirector->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 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/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Middleware/LockedBackendGuard.php line 71 $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(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 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/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php line 58 // 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); } } at TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 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/var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f7809290056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 67 * @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(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/AbstractApplication.php line 98 { $requestHandler = GeneralUtility::makeInstance($this->requestHandler); $dispatcher = $this->createMiddlewareDispatcher($requestHandler); return $dispatcher->handle($request); } /** * Set up the application and shut it down afterwards at TYPO3\CMS\Core\Http\AbstractApplication->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/backend/Classes/Http/Application.php line 68 return $this->installToolRedirect(); } // 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(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/typo3_src-9.5.7/typo3/sysext/core/Classes/Http/AbstractApplication.php line 110 final public function run(callable $execute = null) { try { $response = $this->handle( \TYPO3\CMS\Core\Http\ServerRequestFactory::fromGlobals() ); if ($execute !== null) { call_user_func($execute); } at TYPO3\CMS\Core\Http\AbstractApplication->run() in /var/www/html/typo3_src-9.5.7/typo3/index.php line 24 // 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 /var/www/html/typo3_src-9.5.7/typo3/index.php line 25 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(); });
PS Tested on other server with 9.5.5 and other TYPO3 instance - same error
Files
Actions