- Jan 19, 2024
-
-
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>
-
Marcin Sągol authored
Current workspace settings for a backend user or group allow only to set editing in the Live workspace. The translation file though contains labels for other workspace-related options that no longer exist. So those labels are removed now: - workspace_perms_draft - workspace_perms_custom Resolves: #102859 Releases: main Change-Id: Ie998fa608bbefda4a81cc6b099def1d6d4893172 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82509 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Benjamin Franzke authored
The textarea element needs to be available in the DOM before the table wizard element is rendered, as the connected callback can be triggered between the rendering of these distinct elements, which would cause the initialization to fail. Resolves: #102748 Related: #102550 Related: #102330 Releases: main, 12.4 Change-Id: I5ad597fb0f64489c0d51a2d3bbc1a71831925061 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82308 Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
This patch is the result of a careful refactoring of the TypoScriptFrontendInitialization 'body' methods. The patch establishes the new PageInformationFactory which does all the main lifting. It either returns the verified PageInformation object, or throws an early dedicated exception carrying a response from the ErrorController when something went wrong (access checks, language overlays ...), or a StatusException when ErrorController itself error'ed. When PageInformation could be determined, rendering is dispatched to middlewares below. In case of error, the code flow is streamlined to always *return* the early response, so upper middlewares can kick in. This was a mixed bag before, where such exceptions sometimes bubbled up, skipping upper middlewares. While most error scenarios are covered by the complex 'SiteHandling' related functional tests already, a set of simple additional tests is set up to check for casual things in a more obvious way. Note the internal code flow within PageInformationFactory can still be simplified and disentangled some more, but the outer class communication is fine now and the internal handling is already much more easy to follow. As drive-by, @internal getUriToCurrentPageForRedirect() is moved from TSFE to the consuming 'shortcut and mountpoint redirect' middleware. The patch also outlines flaws of the PageRepository strategy, that becomes obvious after disentangling the consuming code. It adds a todo on how PageRepository could be improved. We should follow this path soon, since the entire area with all the access and logic checks is security relevant: We want to end up with code that is as easy to grasp and follow as possible. Resolves: #102856 Related: #102715 Releases: main Change-Id: Icf65dd21ced16af521735f9af003b65ec94909c9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82452 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> 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:
Benni Mack <benni@typo3.org>
-
Oliver Bartsch authored
This removes a pointless stdWrap test, which checked whether defined stdWrap functions are actually callable. This on the one hand is checked in another test already and on the other hand requires to always adjust the test as soon as strWrap functions get added or removed. Resolves: #102845 Releases: main Change-Id: Ia5c9787d924a3f48ab093edbec1aeda29b9b2c1a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82496 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
linawolf authored
If you happen to have inconsistent data in the config.yaml like: ``` routes: - route: robots.txt type: staticText source: 'EXT:my_sitepackage_mysite/Resources/Public/robots.txt' ``` Currently a PHP type error is thrown instead of a proper exception. Resolves: #102773 Releases: main, 12.4 Change-Id: If16a93b851237c9d39893cd3e56fa9693986721d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82367 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Stefan Bürk authored
This change updates the "typo3/testing-framework" to fetch required changes as preparation for the upcoming Doctrine DBAL 4 upgrade. Used command(s): > composer req --dev \ "typo3/testing-framework":"dev-main" [1] https://github.com/TYPO3/testing-framework/pull/529 [2] https://github.com/TYPO3/testing-framework/pull/530 Resolves: #102813 Releases: main Change-Id: I38df3e939f8b381c8c5813b91f838bf60023e44a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82428 Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Chris Müller authored
Resolves: #102850 Related: #99323 Releases: main Change-Id: I15f188d221f7dbc899f819103283cf3f8ff4f5c8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82500 Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Oliver Bartsch authored
Resolves: #102852 Related: #102755 Releases: main Change-Id: I2640742252b34d0b8f3c61a9e62c765f63dfbe9a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82501 Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
- Jan 17, 2024
-
-
Torben Hansen authored
This change introduces constructor property promotion where possible in EXT:core/Classes/Localization/* Resolves: #102843 Releases: main Change-Id: Ib8d9f8ec77b23a7142f5e2a0a5211747800494d9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82493 Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Torben Hansen authored
Some type casts in ext:form are superfluous, since it is already ensured, that the variable type is as expected. This change removes all redundant type casts. Resolves: #102840 Releases: main Change-Id: I0daa178ab69c88e61bc92f31caefd9f8b45766df Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82461 Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
- Jan 16, 2024
-
-
Oliver Bartsch authored
This replaces the previously available hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['stdWrap'] which is therefore now removed. Instead of one hook class, containing different methods, required by the deprecated `ContentObjectStdWrapHookInterface` does this patch add four dedicated PSR-14 Events, which can be used individually. Additionally, using the parent `EnhanceStdWrapEvent` it's still possible to register listeners, which are called on each occurrence. Resolves: #102745 Releases: main Change-Id: I3f85dca7673b8af23a3ed0c896d1cb48af4bfb4b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82305 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Bartsch authored
In case a plugin, using the `list` CType has an item group configured, which is not defined in `list_type>config>itemGroups`, EMU::addPlugin() tries to get the label from the `CType>config>itemGroups` definition. This does now properly work by using the correct array access in the if clause as well as the correct fallback value in case the defined item group does not exists in `CType>config>itemGroups`. Resolves: #102841 Related: #102826 Releases: main, 12.4 Change-Id: If50fc533b6b3c107e21d73b7b0b6380c45807093 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82462 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de>
-
Benjamin Franzke authored
The example value '-t -i' for `transport_sendmail_command` is incorrect, as an executable is expected to be provided, not just command flags. Since this option is not needed for SMTP at all, it is dropped from this example. Releases: main, 12.4, 11.5 Resolves: #102837 Change-Id: I99569f23339ae68077edf16aaa59873aa84ba24d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82456 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
- Jan 15, 2024
-
-
Simon Schaufelberger authored
It has been deprecated with TYPO3 v12.4.8 and is now removed. Resolves: #102754 Related: #101751 Related: #100963 Releases: main Change-Id: I71580e01dc74f0fdf085141104b981ac6d215c2b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82311 Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
- Jan 14, 2024
-
-
Anja Leichsenring authored
The label has been added, so the output of the help section for the command will now provide basic information about the option. Resolves: #102833 Releases: main, 12.4 Change-Id: I72e82f1516eaf960ce572b8e920be6bcaa747663 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82454 Tested-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Torben Hansen <derhansen@gmail.com>
-
Nikita Hovratov authored
In case of a type `select` and renderType `selectSingle` TCA field, which doesn't define `items` nor `itemsProcFunc`, TcaSchema would always generate a type integer db field. This should rather fall back to varchar as the type can not be assumed properly. Exception: If foreign_table is defined then we know the values are uids. Resolves: #102828 Related: #102279 Releases: main Change-Id: Ie8444eb2859d2a4d1580aca3f0296786f5e10cb4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82446 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Daniel Siepmann authored
The current application context was already available within conditions. It now is also added to data. That way it can be inserted via insertData, dataWrap and data. Resolves: #102815 Releases: main Change-Id: I4cd25d89a0c020ccade5497570f1b4338b65b41a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82431 Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Thore authored
Exception message is wrong. The file did not move, the path is empty in itself or due to error in getFileAbsFileName. Releases: main, 12.4 Resolves: #102829 Change-Id: Ia10cc4a3511d042eecba9d06b34a501ab1998182 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82447 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
Nikita Hovratov authored
Fix comment about obsolete type user with dbType json. Resolves: #102832 Releases: main, 12.4 Change-Id: I390a1a7d3a7fe4d511f361efae4c2735f9b34c4a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82453 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
- Jan 12, 2024
-
-
Stefan Bürk authored
Doctrine DBAL 3.7.0 introduced a performance issue [1] which has been already fixed by the Doctrine Team [2]. This change updates the `doctrine/dbal` composer constraint to ensure that this performance issue is gone. Note: The monorepo composer.lock already containted the 3.7.2 bugfis release, therefore this has not been detected in casual core development. This update is to mitigate the performance issue at all costs for TYPO3 users. As a sideeffect, this should put `composerInstallMin` nightly function tests on speed again. Used command(s): > composer require --no-update --no-install \ -d typo3/sysext/redirects \ "doctrine/dbal":"^3.7.2" ; \ composer require --no-update --no-install \ -d typo3/sysext/core \ "doctrine/dbal":"^3.7.2" ; \ composer require --no-update --no-install \ -d typo3/sysext/install \ "doctrine/dbal":"^3.7.2" ; \ composer require --no-update \ "doctrine/dbal":"^3.7.2" ; \ composer update --lock [1] https://github.com/contao/contao/issues/6409 [2] https://github.com/doctrine/dbal/pull/6202 Resolves: #102830 Releases: main, 12.4 Change-Id: If8b09f9556f11cc0fda4690f81343fc6c5d5e476 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82448 Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Benni Mack authored
When using DataHandler->log, the format changed to using an associative array as $data, whereas the message then contains PSR-3 compatible log strings. This was handled in TYPO3 v12 but a few places around Workspaces were missed. This patch adapts these places. Resolves: #102827 Related: #97556 Releases: main, 12.4 Change-Id: Id871d65a52243489d7434025850438e0f7aeb670 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82445 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:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
This removes usages of those properties from TSFE that have been modeled as PageInformation object attached to the Request as attribute 'frontend.page.information' with #102715. The patch is relatively intrusive since especially TSFE->page and TSFE->id were frequently consumed properties. It however allows us to reduce dependencies to TSFE quite significantly, the number of calls to $GLOBALS['TSFE'] shrinks. It also shows that we still have a couple of constructs that need to get the Request hand over, in particular the data processors and more importantly the LinkFactory and link builders: Those tend to either get the Request using "parent" ContentObjectRenderer->getRequest() (that method should be declared protected later) or from $GLOBALS['TYPO3_REQUEST']. We accept this for now since using $GLOBALS['TYPO3_REQUEST'] is at least less worse than using $GLOBALS['TSFE']. A dedicated patch will resolve that situation later, though. Note most remain...
-
Benni Mack authored
With TYPO3 v12, the SelectItem API was introduced to allow an associative array for registering items in TCA select. However, it was forgotten to be added in registerPlugin and addPlugin, which is now supported as well to be consistent around TYPO3 Core, and the new API. As an addition, Extbase plugins can now also add a description in order to have feature parity with Core API. Core plugins such as indexed search now utilize description and group, moving "EXT:indexed_search" plugin into the forms group for consistency reasons. Resolves: #102826 Related: #99739 Releases: main, 12.4 Change-Id: Ifcfc5f8ce482fab3203fe6a9591cc152d0a4261a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82441 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
- Jan 11, 2024
-
-
Nikita Hovratov authored
Resolves: #102812 Releases: main, 12.4 Change-Id: I43ea655938b8e4e691359bd22113c4f02ea71036 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82427 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Daniel Siepmann <coding@daniel-siepmann.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Christian Kuhn authored
With removal of ext:feedit from core in v10 and removal of FE editing related code in v12 from ContentObjectRenderer, a couple of methods in @internal FrontendBackendUserAuthentication are unused. Remove them now. Resolves: #102822 Releases: main Change-Id: I8aa1d1b32ad3d6897bcc9a1b55c58d8aa3e389f0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82439 Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Benni Mack authored
Resolves: #102819 Releases: main Change-Id: Ib5a0b3f69685aed0529900d27e147dbfe567589a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82437 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org>
-
Andreas Kienast authored
This commit updates all `lit` packages to their respective latest version. Executed commands: npm install --save \ @lit/reactive-element@^2.0.3 \ lit@^3.1.1 \ lit-html@^3.1.1 \ lit-element@^4.0.3 npm install --save-dev \ eslint-plugin-lit@^1.11.0 npm run build Resolves: #102816 Releases: main, 12.4 Change-Id: Ic0a3908b128174953ea10aadf5da1bff1d477868 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82434 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benjamin Franzke <ben@bnf.dev>
-
Joey Bouten authored
This introduces a new PSR-14 event, enabling extension authors to modify the fetched records as well as related options and configuration of the `CONTENT` CcontentObject. This replaces the previously available hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content_content.php']['modifyDBRow'] which is therefore now removed. Resolves: #99323 Releases: main Change-Id: I4378df877b9f727b06bdd99acebc7e808ff4d44a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77274 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Christian Kuhn authored
Extbase CacheService has been extracted from the storage backend in v11 with #94703, is still @internal and still only used by the storage backend (fired in extbase bootstrap). It has a weird construct that checks if a given table/uid combination has a pid column. With this service being fired from storage backends, which hard codes various pid calls already, and with extbase repositories working on TCA tables that have a pid column anyway, this is useless. Additionally, there is code that checks if TSFE exists to eventually clear page cache of current page uid. This is bogus as well: Extbase is fired either as USER or USER_INT plugin. In case of USER, a page cache entry can't exist, or the plugin would not be rendered anyways. In case of USER_INT, the plugin content is not cached, so it does not make sense to kill any page cache entry. Resolves: #102818 Related: #94703 Releases: main Change-Id: Ifb90c2c6be7168e861983a204cc750dfed7ac5bb Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82436 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Benni Mack authored
Types are added to all class properties in export and import classes. Some code only related to import has been moved from the parent "god-class" to the relevant subclass. In addition, some code related to inline images (without FAL) in RTE images as well as sys_template resources (html, css) export handling is removed, which did not work since TYPO3 v8 anymore. Resolves: #102810 Releases: main Change-Id: I7fa6db179d490de8378205aa8825a230ca69c52c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82421 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> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
The FE page title handling is a rather awful construct: First, providers need to be registered with TypoScript, which is kinda funny in the first place. Then, single providers are singletons since extensions may need to park title data when they are rendered, to be considered later. It also has a rather ugly 'cache' construct for _INT handling. It is also questionable that the main class construct resides in ext:core. And last, getTitle() does not get *any* information like the current request and thus needs to fetch stuff from globals. The patch does not solve all these things, but at least single providers now retrieve the current request to work on it instead of fetching stuff from globals. To be not breaking, the patch does this by adding a setRequest() method, which is for now not added to the interface. Resolves: #102817 Releases: main Change-Id: I78b732ce9d27e7b8a41b4595f1233c41c52e9bef Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82435 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Nikita Hovratov authored
Less if statements by using early return on error. Resolves: #102811 Releases: main Change-Id: I65e28f2ebab3571001729f8cc6a25af2b67ce8fe Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82426 Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-