- Jan 23, 2024
-
-
Simon Praetorius authored
Maybe there is also a better way to display this? Currently the line breaks aren't visible, which makes it quite hard to understand. https://docs.typo3.org/c/typo3/cms-form/main/en-us/D/FrontendRendering/Index.html Releases: main, 12.4 Resolves: #102903 Change-Id: Ib363f2aa6145511b0ed244d140068bb32e68de15 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82603 Tested-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Chris Müller <typo3@krue.ml> Tested-by:
Chris Müller <typo3@krue.ml> Tested-by:
core-ci <typo3@b13.com>
-
Torben Hansen authored
The `GeneralUtility::hmac()` function is used in several places to create HMAC hashes for a given string and optional additional secret. Extbase has the class `HashService`, which also provides the ability to create a HMAC for a given string, but without the possibility to add an additional secret. The missing possibility to use an additional secret is suboptimal in terms of security, since generated HMAC hashes will be equal for the same input in different contexts. This change introduces a new class, which combines the functionality of `GeneralUtility::hmac()` and Extbase `HashService` but with the requirement, that an additional secret is always mandatory. The class will be used in follow up patches, where `GeneralUtility::hmac()` and Extbase `HashService` will be deprecated. Resolves: #102761 Releases: main Signed-off-by:
Torben Hansen <derhansen@gmail.com> Change-Id: Ibf0be09f4dffe076ddd0d3a31323ccd05693f7c1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/80394 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Benni Mack authored
The PackageInterface is now stricly typed, in addition a new method is added to the interface "PackageInterface->getPackageIcon()" thus, deprecating the method ExtensionManagementUtiliy::getExtensionIcon() Resolves: #102895 Releases: main Change-Id: Icf64e1a6b932fb9803cc772a233257f7a5fc5fad Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82530 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Benni Mack authored
This change adapts various strict types, and reduces some injection within EXT:extensionmanager. The main issue is: There are main circular dependencies between Utility classes, which should slowly dissolve, some safe places have been considered now to be adapted further in subsequenting patches In addition, all code is now strict-typed, as all code is internal within EXT:extensionmanager this is now finally taken care of. Resolves: #102897 Releases: main Change-Id: Idb1bd24a9694bb0204acc276de2bcc38c3b6d7a1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81948 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com>
-
Andreas Kienast authored
The "Rules" section in Indexed Search stems from a time where today's knowledge how a search works was considered "advanced". By today's standards, it can be considered common sense and therefore the rules and its related TypoScript configuration have been removed. Resolves: #102902 Releases: main Change-Id: I40bc2c3b14118020015d7b26cfb6f8619c2fee55 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82602 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Oliver Klee authored
This change makes the parameter type annotations consistent with the property type annotations in the affected classes. This allows PHPStan to catch calls with invalid argument types. Resolves: #102887 Related: #102885 Releases: main, 12.4 Change-Id: I0cb1ab2ce5da1a40ae670d65e4997a456ef7a8c3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82556 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
"Advanced search" Frontend of indexed_search comes with a "metaphone" / "sounds like" feature. Its search results are staggeringly bad and the implementation is a not maintained mess that has not seen any substantial improvements for 15 years. The feature seems to be very unused, it seems there is not even some extension that tries to improve it, and there are no reports about the incomplete results one would expect from a proper "metaphone" implementation. It does not consider UTF-8 in any way, to name just one issue. To unblock further indexed_search development that polish and improve other features, this patch removes the entire 'metaphone' implementation together with the Frontend selection, the Backend statistics, a custom metaphone implementation, and two database fields. Resolves: #102900 Releases: main Change-Id: I2e8f8cb0db3ef75ad83bb1f8189452fd2a2d3a87 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82600 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org>
-
Torben Hansen authored
The code example for the `BeforeRequestTokenProcessedEvent` event listener implementation contains an error, since the request token scope is checked for lower cased `loginType` in `AbstractUserAuthentication`. This change fixes the code example. Resolves: #102899 Releases: main, 12.4 Change-Id: I5582b916b9399eb90672edf3f06a59d84e3bdef0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82599 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Andreas Kienast authored
IndexedSearch uses a bunch of "randomly" defined values for options that are hard to read and understand in the code flow. To improve the situation a bit, such structs are now converted into real PHP enums, providing assistance when reading and/or refactoring code. Resolves: #102898 Releases: main Change-Id: I1eac6344485a464ac2ad1e53a948a6ebc5e182cd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82598 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Oliver Klee authored
To follow the principle of the "smallest surprise" concerning the behavior of our code, the integer array keys of the return values of `GU::intExplode()` should be ensured to be gap-free. Resolves: #99898 Releases: main Change-Id: I683ee805e2ad4efd2fd182f4f94b7f95fa6cf2be Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77802 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Guido Schmechel <guido.schmechel@brandung.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com>
-
Andreas Kienast authored
In preparation for further improvements in the LiveSearch, the latest used page id stored in the browser's session storage is now passed to the LiveSearch search demands. This patch is marked as a task, as the whole API is still internal, allowing to backport this to v12 as well. Resolves: #102894 Releases: main, 12.4 Change-Id: If957d3b5eadbfe9fe5eb967fe5e17a697995ee6b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82592 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Daniel Siepmann <coding@daniel-siepmann.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Daniel Siepmann <coding@daniel-siepmann.de>
-
Andreas Nedbal authored
Resolves: #102442 Related: #102431 Releases: main Change-Id: Iaf65cb4f1a027414a7402d3519ed30b67d50cf4b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81839 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Andreas Nedbal <andy@pixelde.su> Reviewed-by:
Andreas Nedbal <andy@pixelde.su> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Benni Mack authored
Resolves: #102893 Releases: main Change-Id: Id83ae50f3735163bb442d05177f3d30c1b70ec6d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82529 Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com>
-
Benni Mack authored
This change automatically registers all TCA types to the new content element wizard, so no pageTS is needed anymore. The old pageTS config is still evaluated and overrides existing TCA config. This way it is still possible to add additional wizard items with special default values. Due to the switch, some groups are renamed and the structuring has slightly changed as it is now aligned with the CType switch select box. Most importantly the group `common` is now named `default`. A permanent migration is in place. Items can still be removed through TCEFORM. This will remove both, the entry in the CType select and the wizard item. This is the old behavior. Since all groups and elements, defined in TCA are added automatically, the previously `show` list is no longer evaluated. To remove groups and elements only in the wizard, a new option "removeItems" is available. In addition, labels of TCA for tt_content have been consolidated into EXT:frontend/Resources/Private/locallang_ttc.xlf Resolves: #102834 Releases: main Change-Id: I0f9beacd5abd7a129a139172199ac26cab5ce215 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73488 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Jan 22, 2024
-
-
Oliver Bartsch authored
This introduces the new PSR-14 `AfterLinkResolvedByStringRepresentationEvent`, enabling extension authors to modify the resolved link result data. The event is dispatched by `LinkService->resolveByStringRepresentation()` after existing handlers have been executed. Therefore, in contrast to the previously available hook `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['Link']['resolveByStringRepresentation']` does the new event allow to even modify the resolved link result data of the existing handlers and also cases where the `UnknownLinkHandlerException` would have been thrown. The corresponding exception is also added to the event to provide as much information as possible. Resolves: #102855 Releases: main Change-Id: I3e702e3540c510dc4d03f5cc710dc204a505e9ed Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82506 Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Christian Kuhn authored
page = PAGE page { 10 = COA 10 { 10 = TEXT 10.value = A 20 = TEXT 20.value = B 30 = TEXT 30.value = C } } page.10.30 > This correctly unsets 'page.10.30', but also 'page.10.10' which should be kept of course. The patch fixes this by avoiding a bogus removeChildByName(). Resolves: #102831 Related: #97816 Releases: main, 12.4 Change-Id: Iab66e9c3187588cb403f7c4e65145863314817d3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82520 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Christian Kuhn authored
Extbase BE modules suffer from the conceptual mistake of using FE TypoScript for configuration. Modules not in page context pick the first root template in the page tree as TS entry point. The patch changes this awful handling to also use the attached site object for this page to substitute site settings used as constants in TS correctly. Resolves: #102452 Related: #97816 Releases: main, 12.4 Change-Id: I24e1e814cd20fc4999311d4f0068fb51818ad611 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82521 Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Julian Hofmann authored
No semicolon after method argument is needed/allowed. Releases: main, 12.4 Resolves: #102888 Change-Id: Ib04783dc487456df88d5b42ae68882ab8c34eb67 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82557 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
Stefan Bürk authored
With #102779 the support for PHP 8.1 has been dropped and GitLab workflow jobs simply raised. In general it is tried to have a good mix between supported database versions and PHP versions. As a rule of thumb, we have a good mix against the composer.lock file and run composer min/max jobs in the nightly while trying to cover all database vendors and have a good min/max dbms LTS version mix - albeit not even nearly having all possible matrix mutations in place. Due to the simply replacement we have duplicated max jobs only differing in the PHP version which does not make much sense. Unit test beeing quick albeit having quite a huge number is a exception and have a broader matrix mix. pre-merge concentrates on lower boundary testing. This change reshuffles this and uses PHP 8.2 for the composer min tests and PHP8.3 for composer max tests. Resolves: #102883 Related: #102779 Releases: main Change-Id: Ic39691595e686f7a0579874e1dca83470330dd11 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82531 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Stefan Bürk authored
New core-testing-* images has been build and published in the TYPO3 testing-infrastructure repository and pulled to the core ci gitlab runner instances. [1][2] This change modifies `Build/Scripts/runTests.sh` to set new image version to ensure the usage for all changes based on this change. For information what changed in the image see the patches in the testing-infrastrucure repository linked below - at least for the phpXY images. * core-testing-php82 => 1.9 * core-testing-php83 => 1.10 * core-testing-apache24 => 1.3 * core-testing-nodejs18 => 1.2 * core-testing-nodejs18-chrome => 1.2 [1] https://git.typo3.org/typo3/CI/testing-infrastructure/-/commit/2fb328622d88d47afd3e8abc9bf6ff32f7ef3db6 [2] https://git.typo3.org/typo3/CI/testing-infrastructure/-/commit/e1ec0954b823acbab3f37100f8b6d0a03c31f0d8 Resolves: #102886 Releases: main, 12.4, 11.5 Change-Id: I3830a5f53b18e2170c9f973a66007dc3868d99dd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82552 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
- Jan 21, 2024
-
-
Torben Hansen authored
The documentation for redirect mode "Defined by Domain entries" for ext:felogin does not describe, that configured domains must be known to TYPO3. This change updates the documentation, so it is clear, that all domains for the "Defined by Domain entries" redirect mode must be configured in TYPO3 site settings. Resolves: #98372 Releases: main, 12.4 Change-Id: I2a18ce40016d60c3878656cc5194cec6af5ed6a5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82533 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Oliver Bartsch authored
This fixes several bugs of the recordlist pagination page input field. 1. The selector for the corresponding form element is no longer hardcoded to "pages", enabling the field for all tables again. 2. A JavaScript warning regarding "NaN" for parseInt() is resolved by using `Number()`. 3. Setting the value is only done in case corresponding `min` / `max` settings exist. Resolves: #102872 Resolves: #102861 Releases: main, 12.4 Change-Id: I2110fef23e17ccbde3e37754be5ef3c5187dfa43 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82519 Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Benni Mack authored
This change reduces the internal duplicate state from PageRepository, in order to fully rely on the workspace aspect from the Context. Resolves: #102882 Releases: main Change-Id: I588ec7ca5c72f3c65262887a336ea324325c9b8f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82528 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Torben Hansen authored
A todo for the `intExplode` function suggests to refactor the method by using `array_filter` and `array_walk`. This refactoring would however result in more code and slower performance. The todo is therefore removed, as the function is good as it is. Resolves: #102877 Releases: main Change-Id: Ib945e010532d0ec5df14be698651197311eea809 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82534 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benni Mack <benni@typo3.org>
-
Stefan Bürk authored
`AbstractSchemaManager::getDatabasePlatform()` is deprecated and will be remove with Doctrine DBAL 4.x. A intermediate compat method has been added to the extended `SchemaManager` classes. Meanwhile, core internal and testing-framework usages has been modified and the compatibilty methods are superflous and will not hit the TYPO3 core directly. It does not make sense to keep that and extension authors are able to change there code already with TYPO3 v12 the removal of these compat methods are not-breaking (yet). This may be breaking some extensions with Doctrine DBAL 4.x and will be noticed in the Doctrine DBAL 4.x upgrade change along with the other breaking changes. Resolves: #102881 Releases: main Change-Id: I0308d0aa6c657fbb879f143cb48c9adc1e4fa425 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82527 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Stefan Bürk authored
Albeit never officially supported some workarounds has been introduced in several places to support Oracle at least partly. It does not make sense to keep traces of special handling code flows for unsupported dbms vendors and versions as required adjustments at mandantory places are not included, for example during the database analyser step. Beside that, these changes could not be properly tested any way. Traces of the unsupported `Oracle` platform are now removed to cleanup the code base and considered as non-breaking - due to not officially supported and applying the same rule as for internal marked code. Resolves: #102880 Releases: main Change-Id: I5ad3c737278644d17d578beb31132c5fbdc246ef Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82526 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
- Jan 20, 2024
-
-
Torben Hansen authored
Some type casts in ext:extbase are superfluous, since it is already ensured that the variable types are as expected. This change removes all redundant type casts. Resolves: #102876 Releases: main Change-Id: Idbc40f5b127fe6d1724eb43a2c0792bbd00506c9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82523 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benjamin Franzke authored
Also switch back to `List` instead of `DocumentList`, since the new DocumentList implementation (that we use since #100348) has been integrated into `List` and the temporary name `DocumentList` is now deprecated (and just a no-op wrapper for `List`). Executed commands: npm install -P $( grep ckeditor5 package.json | \ grep '\^40' | \ grep -v dev-utils | \ sed 's/^[^"]*"\([^"]*\)".*/\1@^41/' \ ) npm remove @ckeditor/ckeditor5-dev-utils npm install -D @ckeditor/ckeditor5-dev-utils@^39.5.1 npm run build Releases: main, 12.4 Resolves: #102854 Change-Id: I7c5085a6526941e3d3b4125f019b66d2c71b5f79 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82503 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Andreas Nedbal authored
Resolves: #102435 Related: #102431 Releases: main Change-Id: Ic8e815f74af3de60d996f242f886d4441dd76aa6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81832 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org>
-
Stefan Bürk authored
Only the connection name has been passed to the `ConnectionMigrator` and factory method `ConnectionMigrator::create()` and the connection retrieved using `GeneralUtility::makeInstance(ConnectionPool::class)`. This change modifies the constructor and factory method to hand over the connection along with current arguments and adjusts usages and tests. Resolves: #102867 Related: #102866 Releases: main Change-Id: I410b051ba54fef892a5bc7978fe9a8b2460e9c5f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82515 Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Bartsch authored
This introduces the new PSR-14 BeforeStdWrapContentStoredInCacheEvent, enabling extension authors to manipulate the cache functionality of stdWrap and is therefore dispatched, just before the content is stored. The new Event acts as a more powerful replacement of the previously available hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['stdWrap_cacheStore'], which is therefore now removed. Resolves: #102849 Releases: main Change-Id: Ib5e27663252c7dfe73a0a8ecf4e9edfdaedbe530 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82499 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Georg Ringer <georg.ringer@gmail.com>
-
- Jan 19, 2024
-
-
Marcin Sągol authored
Ensure unique values in BackendUserAuthentication::groupData['filemounts'] by processing it through the StringUtility::uniqueList() function. Prior to this change, values were not always unique due to the combination of permissions for backend users and groups. Resolves: #102857 Releases: main, 12.4 Change-Id: I37b4021e22cd3dfaa5323fe6713fae321b72173d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82505 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Guido Schmechel <guido.schmechel@brandung.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Christian Kuhn authored
FE knows two root lines: TSFE->rootLine, which is the 'full' path to pid 0, and TSFE->config['rootLine'], which is only the 'local' path to the 'root' sys_template record. The full root line is already PageInformation->getRootLine(), created by 'TypoScriptFrontendInitialization' middleware. The very next middleware 'PrepareTypoScriptFrontendRendering' then gets sys_template records and calculates the local root line. The patch relocates sys_template fetching and calculation of the local root line to 'TypoScriptFrontendInitialization', now additionally handled in PageInformationFactory. Both sys_template rows and the local root line are now modeled in PageInformation, which is already attached as 'frontend.page.information' Request attribute. Both root lines are now parellal to each other in the same object, making the entire thing hopefully more easy to understand. Usages are adapted accordingly, further reducing dependencies to TSFE. Note the sys_template row getter is marked @internal since extensions usually don't need to mess around with this. As a side effect, the local root line is no longer cached in page cache: Caching this was duplicate data since sys_template rows need to be fetched for *every* call, and deriving local root line is quick and trivial. This slightly reduces the size of the page cache for a calculation that happens anyway. Resolves: #102873 Releases: main Change-Id: I79c1c138c6ae43fb67dca0d056f67c3c24266f5f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82517 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Sascha Nowak <sascha.nowak@netlogix.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org>
-
Marcin Sągol authored
When we use DB Check module and our project has large number of tables configured in the TCA it is often hard to quickly find on the select list the one we are interested with. This commit adds small changes to `DatabaseIntegrityController` to: - sort (ASC) available tables list by table label - if table label is not defined, use raw table name wrapped with [...] - sort (ASC) fields defined for table by their labels - if field label is not defined, [FIELD: xxx] is used as before Examples for table label $GLOBALS['TCA']['sys_file']['title'] = 'Label'; - result without debug mode enabled in the BE: 'Label' - result with debug mode disabled in BE: 'Label [sys_file]' $GLOBALS['TCA']['sys_file']['title'] = ''; - result without debug mode enabled in the BE: '[sys_file]' - result with debug mode disabled in BE: '[sys_file]' Examples for field label $GLOBALS['TCA']['sys_file']['title']['columns']['field']['label'] = 'Label'; - result without debug mode enabled in the BE: 'Label' - result with debug mode disabled in BE: 'Label [field]' $GLOBALS['TCA']['sys_file']['title']['columns']['field']['label'] = ''; - result without debug mode enabled in the BE: '[FIELD: field]' - result with debug mode disabled in BE: '[FIELD: field] [field]' Resolves: #98110 Releases: main, 12.4 Change-Id: I6511ee44f2503b9908a9bdc9f06b508c2f049483 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75406 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Xavier Perseguers <xavier@typo3.org>
-
Christian Kuhn authored
Next logical step on the 'get rid of TSFE' path: Avoid the @internal public getters getSite() and getLanguage(), retrieve them from the Request where needed instead. By additionally avoiding already unused PageArguments, TSFE __construct() no longer needs manual arguments. Resolves: #102868 Releases: main Change-Id: I395cc1d628174df657edc1332c703a4aa84666b5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82510 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
- Jan 18, 2024
-
-
Oliver Bartsch authored
This adds two new PSR-14 Events to the TypoLinkCodecService, which allow to easily manipulate the encoding and decoding functionality of TypoLink's without the need of extending / cross classing. Additionally, this allows to make the service "final readonly" and to apply strict typing. Resolves: #102835 Releases: main Change-Id: I4edf1f3d36d7324bab937d659d096c6a9caf459c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82455 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Stefan Bürk authored
Relying on the default and the maximum column lengths provided by the Doctrine DBAL is deprecated. The following AbstractPlatform methods and their implementations in specific platforms have been deprecated: - AbstractPlatform::getCharMaxLength() - AbstractPlatform::getVarcharDefaultLength() - AbstractPlatform::getVarcharMaxLength() - AbstractPlatform::getBinaryDefaultLength() - AbstractPlatform::getBinaryMaxLength() If required by the target platform(s), the column length should be specified based on the application logic. Therefore, the `ConnectionMigrator` is getting a new normalization method specific for this case along with a generic looper which will be extended in following changes. As a drive-by the connection class annotations are changed to an alias from `\TYPO3\CMS\Core\Database\Connection` to `Typo3Connection`. [1] https://github.com/doctrine/dbal/blob/3.8.x/UPGRADE.md#deprecated-abstractplatform-methods-that-describe-the-default-and-the-maximum-column-lengths [2] https://github.com/doctrine/dbal/blob/3.8.x/UPGRADE.md#added-runtime-deprecations-for-the-default-string-column-length [3] https://github.com/doctrine/dbal/blob/4.0.x/UPGRADE.md#bc-break-changes-to-handling-binary-fields Resolves: #102866 Releases: main Change-Id: I59b06c42ae7087bf830ca56b8114e85673837453 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82514 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Stefan Bürk authored
The `$type` parameter for `Statement::bindValue()` will be required with Doctrine DBAL 4.0 and usages in capsuled code is now modified to always pass the argument as a preparation. [1] https://github.com/doctrine/dbal/blob/4.0.x/UPGRADE.md#bc-break-made-parameter-type-in-driver-level-statementbindvalue-required Resolves: #102864 Releases: main Change-Id: I35122add2b853bd15f37aa0fcf4d0dcbbfc80304 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82512 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Garvin Hicking <gh@faktor-e.de>
-
Stefan Bürk authored
The usage of `Connection::lastInsertId()` with a sequence name is deprecated as unsafe in scenarios with multiple concurrent connections since Doctrine DBAL 3.2. If a newly inserted row needs to be referenced, it is recommended to generate its identifier explicitly prior to insertion. This change adjusts the usages to avoid calling the method with the `$name` and/or the TYPO3 additional `$fieldName` argument. The method signature is not adjusted yet, due to the bounding to the extended connection method signature. [1] https://github.com/doctrine/dbal/blob/3.8.x/UPGRADE.md#deprecated-connectionlastinsertidname Resolves: #102863 Releases: main Change-Id: I499104d0048584936b7ad2771b5cc977bf0372a7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82511 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Stefan Bürk authored
`AbstractPlatform::getIdentifierQuoteCharacter()` is deprecated since Doctrine DBAL 3.7.x and will be removed with Doctrine DBAL 4.x - with proposing to use `AbstractPlatform::quoteIdentifier()` to retrieve it. [1][2] The proposed way to mitigate this depraction looks like $quoteChar = (new AbstractPlatform) ->quoteSingleIdentifier('fake')[0]; which is now capsulated into a new internal `PlatformHelper` class and usages is therefore modified towards this helper. Using a dedicated helper for it ensures that eventually future specific modification can take place at one place and prohibit missing usage places later-on. Additionally, test guarding can be ensured on the helper class. [1] https://github.com/doctrine/dbal/blob/3.7.x/UPGRADE.md#deprecated-abstractplatform-methods-exposing-quote-characters [2] https://github.com/doctrine/dbal/blob/4.0.x/UPGRADE.md#bc-break-removed-abstractplatform-methods-exposing-quote-characters Resolves: #102862 Releases: main Change-Id: Ic73c5c606e6853949d9e868ffcde212d249e6020 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82508 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-