diff --git a/typo3/sysext/core/Classes/Routing/PageArguments.php b/typo3/sysext/core/Classes/Routing/PageArguments.php index 3cda26b70f109f6122b51c78999624117696854c..5c76d351b76ab28f7f96494561359fd08a243601 100644 --- a/typo3/sysext/core/Classes/Routing/PageArguments.php +++ b/typo3/sysext/core/Classes/Routing/PageArguments.php @@ -156,31 +156,6 @@ class PageArguments implements RouteResultInterface return $this->queryArguments; } - /** - * @param array $queryArguments - * @return static - * @internal this is internal due to the issue that a PageArgument should not be modified, but must be within TYPO3 Core currently. - */ - public function withQueryArguments(array $queryArguments): self - { - $queryArguments = $this->sort($queryArguments); - if ($this->queryArguments === $queryArguments) { - return $this; - } - // in case query arguments would override route arguments, - // the state is considered as dirty (since it's not distinct) - // thus, route arguments take precedence over query arguments - $additionalQueryArguments = $this->diff($queryArguments, $this->routeArguments); - $dirty = $additionalQueryArguments !== $queryArguments; - // apply changes - $target = clone $this; - $target->dirty = $this->dirty || $dirty; - $target->queryArguments = $queryArguments; - $target->arguments = array_replace_recursive($target->arguments, $additionalQueryArguments); - $target->updateDynamicArguments(); - return $target; - } - /** * @param array $queryArguments */ diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-87193-DeprecatedFunctionalityRemoved.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-87193-DeprecatedFunctionalityRemoved.rst index 495ba81aadf4e3c057b2c0b93c264699b6e4717b..8b45ffab9d0200e90e0fd79a8bd1a9b04aba15c0 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-87193-DeprecatedFunctionalityRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/master/Breaking-87193-DeprecatedFunctionalityRemoved.rst @@ -1244,7 +1244,7 @@ The following user TSconfig options have been dropped: The following TypoScript options have been dropped: * `config.concatenateJsAndCss` -* `config.typolinkEnableLinksAcrossDomains` +* `config.defaultGetVars` * `config.language` * `config.locale_all` * `config.sys_language_isocode` @@ -1253,8 +1253,9 @@ The following TypoScript options have been dropped: * `config.sys_language_overlay` * `config.sys_language_uid` * `config.titleTagFunction` -* `config.typolinkCheckRootline` * `config.tx_extbase.objects` +* `config.typolinkCheckRootline` +* `config.typolinkEnableLinksAcrossDomains` * `config.USERNAME_substToken` * `config.USERUID_substToken` * `FILE` diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TypoScript/setup.typoscript b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TypoScript/setup.typoscript index 5ce83c7f07d20c0a9d62349876b7333a074ffbed..73509fc00c8a83d965d127ee418e5141a78b3f5f 100644 --- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TypoScript/setup.typoscript +++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TypoScript/setup.typoscript @@ -58,9 +58,6 @@ tx_blogexample_plaintext { disableAllHeaderCode = 1 additionalHeaders.10.header = Content-Type: text/plain additionalHeaders.10.replace = 1 - defaultGetVars { - tx_blogexample_postlist.format = txt - } } } @@ -68,6 +65,5 @@ tx_blogexample_plaintext { [globalVar = TYPO3_CONF_VARS|EXTCONF|blog_example|registerSinglePlugin > 0] tx_blogexample_plaintext { 10.pluginName = Pi1 - #config.defaultGetVars = } [end] diff --git a/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php b/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php index dd3a515223103fbb3c892fb40ce293bf4c0c4061..16a48716e2aaa7827192c8e5503ff4c6c2dd752e 100644 --- a/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php +++ b/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php @@ -1904,14 +1904,6 @@ class TypoScriptFrontendController implements LoggerAwareInterface if ($this->config['config']['no_cache']) { $this->set_no_cache('config.no_cache is set'); } - // Merge GET with defaultGetVars - // Please note that this code will get removed in TYPO3 v10.0 as it is done in the PSR-15 middleware. - if (!empty($this->config['config']['defaultGetVars.'])) { - $modifiedGetVars = GeneralUtility::removeDotsFromTS($this->config['config']['defaultGetVars.']); - ArrayUtility::mergeRecursiveWithOverrule($modifiedGetVars, GeneralUtility::_GET()); - $_GET = $modifiedGetVars; - $GLOBALS['HTTP_GET_VARS'] = $modifiedGetVars; - } // Auto-configure settings when a site is configured $this->config['config']['absRefPrefix'] = $this->config['config']['absRefPrefix'] ?? 'auto'; diff --git a/typo3/sysext/frontend/Classes/Middleware/PrepareTypoScriptFrontendRendering.php b/typo3/sysext/frontend/Classes/Middleware/PrepareTypoScriptFrontendRendering.php index fb0b0a71f6d0a0bcfb8ac8c22c23420d56a32823..2e754e618278a79b90ff14c8c2b91a8a66b7ee6a 100644 --- a/typo3/sysext/frontend/Classes/Middleware/PrepareTypoScriptFrontendRendering.php +++ b/typo3/sysext/frontend/Classes/Middleware/PrepareTypoScriptFrontendRendering.php @@ -20,9 +20,7 @@ use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\MiddlewareInterface; use Psr\Http\Server\RequestHandlerInterface as PsrRequestHandlerInterface; -use TYPO3\CMS\Core\Routing\PageArguments; use TYPO3\CMS\Core\TimeTracker\TimeTracker; -use TYPO3\CMS\Core\Utility\ArrayUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController; @@ -72,23 +70,6 @@ class PrepareTypoScriptFrontendRendering implements MiddlewareInterface // After this, we should have a valid config-array ready $this->controller->getConfigArray(); - // Merge Query Parameters with config.defaultGetVars - // This is done in getConfigArray as well, but does not override the current middleware request object - // Since we want to stay in sync with this, the option needs to be set as well. - $pageArguments = $request->getAttribute('routing'); - if (!empty($this->controller->config['config']['defaultGetVars.'] ?? null)) { - $modifiedGetVars = GeneralUtility::removeDotsFromTS($this->controller->config['config']['defaultGetVars.']); - if ($pageArguments instanceof PageArguments) { - $pageArguments = $pageArguments->withQueryArguments($modifiedGetVars); - $this->controller->setPageArguments($pageArguments); - $request = $request->withAttribute('routing', $pageArguments); - } - if (!empty($request->getQueryParams())) { - ArrayUtility::mergeRecursiveWithOverrule($modifiedGetVars, $request->getQueryParams()); - } - $request = $request->withQueryParams($modifiedGetVars); - } - // Setting language and locale $this->timeTracker->push('Setting language and locale'); $this->controller->settingLanguage(); diff --git a/typo3/sysext/t3editor/Resources/Private/tsref.xml b/typo3/sysext/t3editor/Resources/Private/tsref.xml index 5d4b0b820fe26257843d86223525318c76d53146..b68a5f860bd84a2a465c7c6854f7aca63e687979 100644 --- a/typo3/sysext/t3editor/Resources/Private/tsref.xml +++ b/typo3/sysext/t3editor/Resources/Private/tsref.xml @@ -292,21 +292,6 @@ This value is overridden by the value set in the page-record (field="cache_timeo <property name="debug" type="boolean"> <description><![CDATA[If set any debug-information in the TypoScript code is output. Currently this applies only to the menu-objects]]></description> <default><![CDATA[ -]]></default> - </property> - <property name="defaultGetVars" type="array"> - <description><![CDATA[Allows to set default values for GET parameters. Default value is taken only if the GET parameter isn't defined. Array notation is done with dots, e.g.: - -test[var1] will be written as text.var1 - -Example: - -config.defaultgetVars { - test.var1.var2.p3 = 15 - L = 3 -} - ]]></description> - <default><![CDATA[ ]]></default> </property> <property name="disableAllHeaderCode" type="boolean">