- Dec 09, 2023
-
-
Christian Kuhn authored
Refactor TSFE->no_cache towards the new Request attribute 'frontend.cache.instruction': This attribute can be created by middlewares early when they need to disable cache mechanics of middlewares later in the stack. The new construct *requires* a reason when caching is disabled, and the disable instruction can be set by multiple middlewares which can result in multiple reasons being gathered. The admin panel now lists any "cache has been disabled" reasons. Resolves: #102628 Releases: main Change-Id: I86584f17c5a90fe76923cfbf75c3b987da13fd95 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82073 Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Sascha Nowak <sascha.nowak@netlogix.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- Dec 08, 2023
-
-
Oliver Bartsch authored
A couple of BackendUtility methods dealing with resolving labels do now also evaluate a configured `itemsProcFunc` to properly resolve the corresponding labels. Resolves: #100855 Resolves: #102616 Releases: main, 12.4 Change-Id: Ic4efe1cc2a68e7ee938ca994649e074ddbba0819 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82148 Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Bartsch authored
This introduces a new PHP attribute `AsController`, which serves as a drop-in replacement for the former introduced `Controller` attribute (#99055), which is now deprecated. This is done to unify the naming of our attributes. The old `Controller` attribute is still working using class alias mapping. For upwards compatibility, the #[AsController] attribute will be backported to v12 with a more slim variant of this patch. Resolves: #102631 Related: #99055 Releases: main, 12.4 Change-Id: Ib0ff0d08660a89c4a5c6c14a327542ec89095743 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82151 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
Since #101567 it's possible to use the Symfony `AsCommand` attribute to register commands. This is now done for all schedulable commands. Because Symfony's attribute does not support the `schedulable` option, the non schedulable commands are still registered in corresponding `Services.yaml` files. Resolves: #102599 Related: #101567 Releases: main Change-Id: Ib87af3041c1d3aae1c251311601bd8546f0fa739 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82083 Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Stefan Bürk authored
Doctrine DBAL supports driver middlewares to decorate drivers as a method to enhance the implementation. TYPO3 integrated connection middlewares with #100089 and global driver middlewares with #102496 using a simple `identifier => class-name` approach. This approach is not useful for a proper before/after configuration, and array operation like `unset()` should be omitted at all costs. This change introduces now a sortable driver middleware registration, similar to PSR-15 middleware configuration. The ordering is processed after middleware configurations from global and connection are combined. Registered Doctrine DBAL driver middlewares are now also listed in the `ext:lowlevel` configuration module overview. The `identifier => class-name` approach is deprecated and will be promoted to a full exception with v14. Resolves: #102586 Related: #102496 Related: #100089 Releases: main Change-Id: Ic87841f6e5032d62f99349f7284ebcb0e19715d7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82069 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Benni Mack authored
When pages use overlays, the special key "_PAGES_OVERLAY_UID" is used (PageRepository->getPageOverlay), for other pages doing overlays, the property "_LOCALIZED_UID" is used (PageRepository->getRecordOverlay). Extbase is setting the special property $_localizedUid in a Domain Model, based on the key "_LOCALIZED_UID" in the DataMapper. The Typo3DbBackend now maps the _PAGES_OVERLAY_UID onto the _LOCALIZED_UID in order to have Extbase deal with language overlays in pages as well. Resolves: #88951 Releases: main, 12.4 Change-Id: If0b462d0373cf63fcdb78b75cc0f3381c85eee8d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82147 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
This introduces a new PSR-14 event, enabling extension authors to modify the image source collection of an ImageContentObject. This replaces the previously available hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['getImageSourceCollection'] which is therefore now removed. The hook required implementations to implement the `ContentObjectOneSourceCollectionHookInterface`, which is now deprecated as it's unused due to the hook removal. Resolves: #102624 Releases: main Change-Id: Id3c26a613984a673a118f4fc5acbc3528e3a5f5a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82145 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 07, 2023
-
-
Oliver Bartsch authored
This introduces a new PSR-14 event, enabling extension authors to modify the resolved "data", just before `ContentObjectRenderer->getData()` is about to return the result. This replaces the previously available hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['getData'] which is therefore now removed. The hook required implementations to implement the `ContentObjectGetDataHookInterface`, which is now deprecated as it's unused due to the hook removal. Resolves: #102614 Releases: main Change-Id: I47cdfbcc03d7f820b9a8dd4a8989312c5261663e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82136 Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
Christian Kuhn authored
With images nowadays handled by fluid or similar, there is no need anymore to park the "last generated image" in a property to operate on. Resolves: #102626 Releases: main Change-Id: Ie4717607bbaeed439e04183d17ee180e052c9ce8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82144 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
Christian Rath-Ulrich authored
Resolves: #102532 Releases: main, 12.4 Change-Id: I18611284df9fed2ed086515c1dcbddaf4890d769 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81977 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Rath-Ulrich <christian@rath-ulrich.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Rath-Ulrich <christian@rath-ulrich.de>
-
Simon Praetorius authored
This patch adds context information to all exceptions thrown in ImageViewHelpers which helps to localize missing image files. The new exception messages include a reference to the current table and uid, e. g. "tt_content:123". The patch also applies the existing test cases of <f:image /> to <f:uri.image /> which currently has no test coverage. Releases: main, 12.4 Resolves: #102448 Change-Id: I87bae2f0a4a4ab160cbe92b039ed816b659b18e9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81853 Tested-by:
core-ci <typo3@b13.com> 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>
-
Christian Kuhn authored
Further TypoScriptFrontendController refactorings will remove methods and properties, mainly by modeling state as request attributes and moving methods into middlewares. To enable this, the patch marks all public state as @internal that is not crucially important for extensions, and marks the rest read only. This allows removal of internal functionality without further notice, plus a backwards compatible deprecation layer for what is left. A similar strategy is established for methods. A couple of type hints and general cleanup is applied along the way. Resolves: #102621 Releases: main Change-Id: I38e06a3e9bcd634581eea48b86790b20cebdd2ab Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82133 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Sascha Nowak <sascha.nowak@netlogix.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Oliver Hader authored
This reverts commit f49f871b. The change for issue #102606 has the potential to do more harm than good. The initial intention was to define a HTTP timeout to be lower than the PHP `max_execution_time`. Defining general HTTP `timeout` of 20 seconds now also limits e.g. long running CLI processes - which can be considered a breaking change. Resolves: #102610 Reverts: #102606 Releases: main, 12.4 Change-Id: I601051b8d52c9064800075cd0f928f236373e9ef Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82115 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Thomas Hohn authored
`GeneralUtility::validEmail()` uses the package egulias/email-validator for validating emails. It treats the email `test @testmail.com` as valid, but triggers a warning that is not caught, since the syntax has only been marked as deprecated by egulias/email-validator. A check for warnings of the type CFWSNearAt will now be performed, which results in the email `test @testmail.com` being marked as invalid. Resolves: #101776 Releases: main, 12.4 Change-Id: I0808afaedfe5294b32dac68c0746fa725708f916 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/80748 Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
André Buchmann <andy.schliesser@gmail.com> Tested-by:
André Buchmann <andy.schliesser@gmail.com> Reviewed-by:
Garvin Hicking <gh@faktor-e.de>
-
Oliver Bartsch authored
Resolves: #102617 Related: #102581 Related: #101174 Releases: main Change-Id: I03b08bd88235a0790f37c89677bad723da73db08 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82137 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.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> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
- Dec 06, 2023
-
-
Thomas Hohn authored
Fix spelling error in function getOrderRepresentaion in native enum TYPO3\CMS\Backend\Toolbar\InformationStatus. Resolves: #102618 Related: #101174 Releases: main Change-Id: I9f5d5a8ac36641476905e369200e282f6657a9b4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82138 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Riny van Tiggelen <info@online-gamer.nl> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Riny van Tiggelen <info@online-gamer.nl> Reviewed-by:
Garvin Hicking <gh@faktor-e.de>
-
linawolf authored
And add Unit tests with empty array and empty string. This behaviour is like ExpressionBuilder::inSet now. This prevents a SyntaxErrorException by DBAL and gives a nicer error to the developer which represents the Abstraction. Resolves: #102612 Releases: main Change-Id: I3f93f5a920cfc223b6a32fa52d30860ad0843646 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82132 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Patrick Schriner authored
The current highlighting for the selected clipboard mode is purely decorative and thereby impossible to use for screen readers. This adds a proper aria-checked attribute to show the current state. Resolves: #102570 Releases: main, 12.4 Change-Id: Ic3b950df50ac5be7bf8efe86ba02bce99b56cd05 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82051 Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benni Mack authored
"DK" stands for "Denmark", whereas "da" stands for the Danish language. We should clean our mess up once and for all. Resolves: #102607 Releases: main, 12.4 Change-Id: Ib9927691a68bfc3e031224eba93a9a760c59b27a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82090 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
Stefan Bürk authored
The TYPO3 ConnectionMigrator implementation used to retrieve a string representation for a platform, originally based on the deprecated `AbstractPlatform->getName()` method. The `getDatabasePlatformName()` method has been streamlined to return the string representation based on the platform. This change modifies the method now to return the platform instance instead of a string representation. For unsupported platforms a `\RuntimeException` is now thrown. Corresponding user land code checking for the platform is modified to use `instanceof` checks instead of string checks now. Resolves: #102593 Releases: main Change-Id: I4a805fcfb8ed675123a63f7ac6271657da261375 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82077 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Imko Schumacher authored
The setDate function does not fire a change event by default (triggerChange=false). However, the form engine needs an event in order to update the hidden datetime field. Resolves: #102153 Releases: main, 12.4 Change-Id: I125d0e863d31de297e0902b3feac7675aa9c515d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82086 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 05, 2023
-
-
Stefan Froemken authored
To prevent infinite outgoing requests while using RequestFactory which will exceed max_execution_time limitation we reduce timeout to 20 seconds. Resolves: #102606 Releases: main, 12.4 Change-Id: I6ba432a63b6e093566f407663db13f5b4141146d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82091 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
HOJA M A <hoja@ymail.com> Reviewed-by:
HOJA M A <hoja@ymail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Thomas Hohn authored
This deprecates the InformationStatus class and adds the native backed enum TYPO3\CMS\Backend\Toolbar\Enumeration\InformationStatus as drop-in replacement. Resolves: #101174 Releases: main Change-Id: Id25c49564e6984dcbdbcb5ebc7500154ca348845 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79571 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benni Mack authored
Within TYPO3's LanguageAspect there are four options for doing overlays: OVERLAYS_OFF -> fetch records in a specific language directly OVERLAYS_MIXED -> fetch default records + do overlays if available OVERLAYS_ON -> fetch default records + do overlays - discard if no overlay is available OVERLAYS_ON_WITH_FLOATING -> same as OVERLAYS_ON PLUS the records that have no l10n_parent. This change enables Extbase records to also be fetched when using LanguageAspect::OVERLAYS_ON_WIITH_FLOATING as floating records are the ones that do not have a l10n_parent set ("copy mode"). Resolves: #87160 Releases: main, 12.4 Change-Id: I021efe3761efa63860eac5522af82fc20f0fe53f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82087 Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Christian Kuhn authored
TypoScriptFrontendController->fe_user is the current FrontendUserAuthentication object. It is set when constructing the instance. Since TypoScriptFrontendController is also still set as $GLOBALS['TSFE'], some extensions tend to fetch the current FE user from this global state, and sometimes even inject that into other classes like repositories. Extension felogin is a victim here: It models some state of FrontendUserAuthentication in the service object 'UserService', to then inject this into repositories and other classes. This indirection is an anti-pattern. The current Frontend user is already available either as Request attribute 'frontend.user', and a limited list of user details is also available as context aspect. The patch removes TSFE->fe_user entirely and dissolves the offending felogin class. Various other core usages are adapted as well to avoid fetching this state from TypoScriptFrontendController. Resolves: #102605 Releases: main Change-Id: Ibc33cefa2b24658406a7c0f7ce8fd80eaf7c9f3b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82089 Reviewed-by:
Sascha Nowak <sascha.nowak@netlogix.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Stefan Bürk authored
Albeit creating a index for json-field array values is not supported by MariaDB and SQLite, the MySQL server version is raised to `8.0.17` which adds support for a multi-value index. Even if there is no ETA when `MariaDB` will introduce a similar feature, this allows to add a "json" based caching backend as a 3rd party extension for MySQL DBMS, but have the minimal version ensured. Resolves: #102594 Related: #102518 Releases: main Change-Id: I34a5688561b6e84b55f4c19f6abfe7dbf4619172 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82078 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Christian Kuhn authored
This bugfix enables the possibility to access _LOCAL_LANG values from TypoScript properly again via Extbase's LocalizationUtility, and thus for <f:translate> ViewHelpers as well again. This is what has changed under-the-hood: The TranslateViewHelper is now only a thin layer to Extbase's LocalizationUtility (as before), and only checks if a current request or Locale/languageKey is given, if a locale can be resolved. Everything else is then dispatched to the LocalizationUtility. <f:translate> is very clean now and has almost no further responsibility than to call LocalizationUtility::translate Instead of adding further LocalizationUtility magic, overriding of TypoScript is now enabled for any kind of plugin which hands in $extensionName. This is achieved by building proper Locale objects from the request which are then used to build the respective LanguageService. As it turned out after the 12.4.0 release, the "Locales" class is indeed the factory for creating a Locale, which is decoupled from the actual LanguageService (= label magic), the Locales factory receives a few create methods to make life easier for usage, which both f:translate AND LocalizationUtility receive, making their parts much smaller. Further work will disolve the usage of the Configuration Manager of Extbase, but this won't happen in v12 anymore. Resolves: #100759 Releases: main, 12.4 Change-Id: Ifcad2ec590746e96066a96f314500bd50e9b4695 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/80732 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benni Mack authored
This change most notably modifies EXT:workspaces where various places do not throw a custom exception anymore due to strict typing in PHP. In addition, the language file "locallang_mod_user_ws.xlf" has been removed, as it did not contain any useful labels anymore, and were part of the "old" (pre-ExtJS) module. In order to improve code readability, some methods have been changed or renamed, or legacy comments have been removed. Constants for internal stages are now used everywhere. Resolves: #102568 Releases: main Change-Id: I30c78c4310c7dfb47f72eb212ef006f2ef937507 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82049 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Hader authored
The table element wizard (TCA `renderType=textTable`) stores serialized table representation in a text field. Previously, the removed (see #95036) `TableController` substituted those newline characters by `<br>` tags. Since there is in general no handling of TCA render types, this conversion now happens in the corresponding LitElement. Resolves: #102572 Releases: main, 12.4 Change-Id: I12537b0d649ae28b945a2dc79baeb09a4a6135b1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82082 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org>
-
- Dec 04, 2023
-
-
Christian Kuhn authored
Property applicationData of TypoScriptFrontendController is unfortunate: It is meant as an extension place to park and communicate state using the just so convenient global $GLOBALS['TSFE'] object. Such things should of course be modeled differently, for instance by adding own PSR-7 request attributes using a custom middleware, or by firing own events for other extensions to listen on. In order to continue with our works on TSFE, the patch removes that property. The single use of that property in is ext:indexed_search: It is used in combination with the crawler extension to "force indexing". indexed_search now dispatches a proper event instead. Resolves: #102600 Releases: main Change-Id: I2fdcbee8c196761670245cd90cb99414fc9beea7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82085 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Benni Mack authored
The PSR-14 ModifyUrlForCanonicalTagEvent was one of the first PSR-14 events to be added to TYPO3 Core, and was rather useless, as it did not contain the context to deal with creating a URl for the canonical tag. In order to make it useful, some more information is added to the Event object. This is a pre-cursor for a breaking change, for issue #99807. Resolves: #102001 Related: #99807 Releases: main, 12.4 Change-Id: Iebab3af3e9408ea82c95e1ad2cfdadc4a72c4a1d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81164 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Benni Mack authored
This change adapts DataHandler->doesBranchExist to work with an array instead of a stringlist and the magic "-1" value. In addition, related internal methods also now use proper PHP native types. Resolves: #102563 Releases: main Change-Id: Ic44b1bde0e771c798d0512a518a0293e4ded6209 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82009 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Oliver Bartsch authored
This introduces a new PSR-14 event, enabling extension authors to modify the ContentObjectRenderer instance, after it has been initialized. This replaces the previously available hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['postInit'] which is therefore now removed. The hook required implementations to implement the `ContentObjectPostInitHookInterface`, which is now deprecated as it's unused due to the hook removal. Resolves: #102581 Releases: main Change-Id: I86501b61029d69e05703593af3903ae9d7851ea0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82063 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
The `EditController` uses DI since #102213 and must therefore be declared public, which is done by setting the corresponding `#[Controller]` attribute. Resolves: #102597 Related: #102213 Releases: main Change-Id: I65071ffd0d7318421515a2b0f52717b20721146b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82081 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Bartsch authored
By using named parameters a couple of unused parameters can be omitted on calling BU::thumbCode(). Resolves: #102577 Releases: main, 12.4 Change-Id: Ic53ae287aab63a083e19662e217764defb3712ff Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82057 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Stefan Bürk authored
TYPO3 uses a composer package [1] to import locales along with translations and a custom script has been added to create and update included translation files. This change updates the language files with the last updates and requires the package with the current highest version as minimum. Used command(s): > composer req --dev \ "sokil/php-isocodes-db-i18n":"^4.0.17" > Build/Scripts/runTests.sh \ -s checkIsoDatabase \ -p 8.1 [1] sokil/php-isocodes-db-i18n Resolves: #102596 Releases: main, 12.4 Change-Id: I21a9e5d5215e0146d3f87aeee3b833979ba05f07 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82079 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benni Mack authored
Since TYPO3 v12.4, TYPO3 uses locales such as "de_DE" or "de-AT" in Site Configuration natively. In order to resolve the "locale dependencies" natively, a new Locale object needs to be created be the "Locales" factory class. This is needed to check for "de_AT.locallang.xlf" and falling back to "de.locallang.xlf" in a multi-step mode. This change adapts one place in Extbase's LocalizationUtility where a new Locale object was previously instantiated via new Locale() instead of using the "Locales" class which deals with all dependencies (incl. manually defined dependencies) directly there. A new comment is added to explain this inside the constructor of Locale. In addition, some more tests are added (including the ones that did not work before), as well as an example that it does not matter if the file is called "de-AT.locallang.xlf" (with a hyphen) or "de_CH.locallang.xlf" (with an underscore) Resolves: #102579 Related: #101710 Releases: main, 12.4 Change-Id: Id51082e75cf635bbe3cbdfc906dc2a7442ab06af Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82065 Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
- Dec 03, 2023
-
-
Torben Hansen authored
Currently, the variables `receiverName`, `url` and `validUntil` are available in the template of the password recovery email. If more user related data is required in the recovery email, integrators have to use the PSR-14 event `SendRecoveryEmailEvent` to add additional variables to the email object. To simplify customization of the password recovery email for frontend users, this patch adds the new variable `userData` to the FluidEmail object, which contains all userdata of the affected frontend user. Resolves: #100268 Releases: main Signed-off-by:
Torben Hansen <derhansen@gmail.com> Change-Id: I032f775e01003a5a276f8e2d0310925ea1592dc7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81605 Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Guido Schmechel <guido.schmechel@brandung.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Christian Kuhn authored
Internal TypoScriptFrontendController->clearPageCacheContent() is removed without further notice. Resolves: #102591 Releases: main Change-Id: Ie626893b49fb260d4814abeb01d8125b66c7eba6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82075 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Christian Kuhn authored
TypoScriptFrontendController->no_cacheBeforePageGen is a flag used by generatePage_preProcessing() to ensure an extension never sets no_cache=false when it has been set to true before since this would lead to broken cache handling: FE Caching must never be enabled again after it has been disabled once. Upcoming patches model the cache information differently and will no longer allow re-enabling caching when it has been enabled once - at least if an extension does not do very hacky request manipulations. The patch removes this "safety net" since it collides with upcoming changes. Method and property are internal handling, but the method has unfortunately never been set @internal, which is why this patch is marked as breaking. Resolves: #102590 Releases: main Change-Id: If4abc1333c81b6bdfd361a053c67674004879ef5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82074 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 Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-