- Dec 19, 2023
-
-
Stefan Bürk authored
With #92289 logic has been decoupled from `ResourceFactory` into the `StorageRepository`. As a side change, native php types have been added to a couple of methods. `StorageRepository->findByUid()` parameter type has been set to integer, which breaks the `null` fallback and retrieving the default storage `uid: 0` in `ResourceFactory` method `getStorageObjectFromCombinedIdentifier()`. Even worse is the fact that `getObjectFromCombinedIdentifier()` does not even try to cope with a invalid identifier provided. This change modifies `getObjectFromCombinedIdentifier()` and `getStorageObjectFromCombinedIdentifier` of `ResourceFactory` to cope with missing storage identifier by falling back to the default storage (`0`) with a shuffle of the exploded values. As a side-effect two PHPStan ignore patterns can be removed from the PHPStan baseline file. Used command(s): Build/Scripts/runTests.sh -s phpstanGenerateBaseline Resolves: #102692 Related: #92289 Releases: main, 12.4, 11.5 Change-Id: I8ee9736839f59db7917cb49dd0d62af17ee28cda Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82203 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benni Mack <benni@typo3.org>
-
- Dec 18, 2023
-
-
Christian Rath-Ulrich authored
Resolves: #102672 Releases: main, 12.4 Change-Id: I6a393a23acb5030c2239f3ba74a888c638ceb3b1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82188 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Rath-Ulrich <christian@rath-ulrich.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Rath-Ulrich <christian@rath-ulrich.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Stefan Bürk authored
The doctrine team deprecated the `SchemaDiff->toSql()` and `SchemaDiff->toSaveSql()` methods [1], `toSaveSql()` without a replacement. Both methods are used in the TYPO3 database analyzer build up - and the behaviour of replaceless deprecated `toSaveSql()` is a essential used feature. In the current state there is no good solution to mitigate this, therefore a temporary `getSaveAlterSchemaSQL()` should be added as a wrapper. For now dispatch to the deprecated `SchemaDiff->toSaveSql()` and replace the body with corresponding code during the upgrade for `Doctrine DBAL 4` - marked with a todo comment. The whole schema and connection migrator implementation is scheduled for a refactoring due to needs of further features, so postpone a refactoring now and use this smelly hack. This change ... * adds a trait `PlatformSaveAlterSchemaSQLTrait` providing the `getSaveAlterSchemaSQL()` wrapper method. * adds the trait `PlatformSaveAlterSchemaSQLTrait` to all extended platform classes (#102402). * replaces deprecated `SchemaDiff->toSql()` calls with `AbstractPlatform::getAlterSchemaSQL()`. * replace `SchemaDiff->toSaveSql()` calls with extended platform method `AbstractPlatform::getSaveAlterSchemaSQL()`. [1] https://github.com/doctrine/dbal/blob/3.7.x/UPGRADE.md#deprecated-schemadifftosql-and-schemadifftosavesql Resolves: #102592 Related: #102402 Releases: main Change-Id: I8d9cd7e368ec68e2d5b54ec960d2200342180586 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82076 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Oliver Bartsch authored
Since `QueryHelper::parseOrderBy()` might return NULL as value for fieldname and direction, we now check those values properly to prevent any TypeErrors using the type-hinted `addOrdering()` method. Resolves: #102649 Releases: main, 12.4 Change-Id: Ie117e7fd0593392e843aaca5c1e9c254c4de42d1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82168 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> 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:
Thomas Hohn <tho@gyldendal.dk>
-
Oliver Bartsch authored
Workspace access permissions of backend modules are inherited. This is now poperly reflected in the configuration module and also documented in the changelog. Resolves: #102688 Releases: main, 12.4 Change-Id: I83a81713653c1e0dee3c79ba0762b459179a504a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82199 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Bartsch authored
The scheduler sub modules are to be used by admin's only. This has to be set explicitly as no `inherit` option exists for the module access permissions. Resolves: #102689 Releases: main, 12.4 Change-Id: I94bbf9e18d0c9fa6003e234ef7de241526cfbad0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82200 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
Using an invalid uid to link to a file does no longer throw an exception, since this prevents the backend user from fixing the invalid entry, because the edit form can no longer be accessed. Resolves: #102670 Releases: main, 12.4 Change-Id: I634eb88a2ddf671abbb88870d664e739e8127ce9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82201 Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-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>
-
Christian Kuhn authored
The constructor of class Context is unfortunate: It needs to be registered in DI container to be injectable. If an extension uses GU::makeInstance() with manual constructor arguments of this class, it could shortcut the container lookup and would create an own instance not registered in the container, which could lead to a second instance when Context is injected. The constructor is only used in tests, tests are adapted and constructor removed with the patch. Also, the two classes ContextAwareInterface and ContextAwareTrait look as if they are general things that can be used similar to the PSR-3 LoggerAwareInterface which is handled directly in DI / makeInstance(), but in fact it is just a detail of the core routing aspect handling. In those cases, DI / makeInstance() can be used directly. We drop both classes to avoid confusion. Note this also makes AspectFactory stateless. Resolves: #102645 Releases: main Change-Id: Ice0d4063bcfc8ff0c267f1b8155eab576d7d6772 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82159 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Benni Mack authored
With official webp support enabled, reading from webp images can be activated in EXT:install as well, as "webp" is added to the default list of "TYPO3_CONF_VARS[GFX][imagefile_ext] Resolves: #101667 Related: #88537 Releases: main Change-Id: Ie461c884d48fbc4ed1976bf0ba8967c7281197f0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82197 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com>
-
Henrik Elsner authored
Resolves: #102669 Resolves: #101768 Releases: main, 12.4 Change-Id: Ie377f122cfc9acba74c1684f68bb4e3434bf12d0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82186 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benni Mack authored
TYPO3 now supports generation of webp images by default if ImageMagick / GraphicsMagick supports this. A new report in the reports extension detects any misconfiguration. webp is an image format that is supported by all modern browsers (https://caniuse.com/webp), which has a similar quality to jpeg compression while having a smaller file size. By default, webp is now in the list of available image file extensions to be generated in $TYPO3_CONF_VARS[GFX][imagefile_ext]. If an admin wants to opt out of webp, they can remove "webp" from this setting in their settings.php file. Default quality of webp can be configured via $TYPO3_CONF_VARS[GFX][webp_quality]. Resolves: #96925 Resolves: #88537 Releases: main Change-Id: If3fe5efafc8a1c13fbc5c1aa7cd67e4a98bf0346 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82196 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Torben Hansen authored
The page info module currently shows a valid page layout as invalid, because the lookup of backend layouts still uses indexed array keys instead of associative array keys which were introduced in #99739 This change fixes the problem by using associative array keys to resolve backend layouts. Additionally, this change ensures, that the `determinePageId` function in `BackendLayoutView` does not try to resolve a page id, if the given array is empty. Resolves: #102687 Related: #99739 Releases: main, 12.4 Change-Id: Iec74aec99c790c8841dbb2db537083503987f9d0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82198 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Nikita Hovratov <nikita.h@live.de>
-
Oliver Bartsch authored
Clean up plugin configuration by using an array for the action list. This also improves performance, since no string operations have to be done (internally, TYPO3 handles the action list as array). Resolves: #102666 Resolves: #95350 Releases: main Change-Id: I75ec681096cccf49b3ac40b1961edbb060d1aae5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82182 Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 16, 2023
-
-
Torben Hansen authored
In the early versions of TYPO3, "admin" and "password" were set as the default login credentials. However, this practice was discontinued long time ago, and the TYPO3 installation process has since been updated to require users to set their own admin username and password during installation. Despite this change, a system report check for the "admin/password" credentials remained in place. This check was originally intended to ensure security by notifying administrators if these weak default credentials were still being used. However, given that TYPO3 has not used these default credentials for many versions now, this check has become more or less useless, since it only covers one particular scenario with weak user credentials. Furthermore, with the introduction of default password policies in TYPO3 version 12, the likelihood of users being able to set weak passwords like "password" has been significantly reduced. With this change, the check for legacy default login credentials has been removed. Resolves: #102686 Releases: main Change-Id: I95bf3518340d8cc9ad0e216ad1c72aa9f98ff80d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82195 Tested-by:
Benni Mack <benni@typo3.org> 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:
core-ci <typo3@b13.com>
-
Georg Ringer authored
If the user permissions contain DB tables which are not available anymore, a notice is turned into an exception. Resolves: #101547 Releases: main, 12.4, 11.5 Change-Id: I98cd8fb74893c31fe8ca6c14e4ee87ddb0e578ae Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/80307 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Froemken <froemken@gmail.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
Oliver Hader authored
`security.backend.enforceContentSecurityPolicy`, which is enabled per default in TYPO3 v13.0, is moved to the corresponding comment. Resolves: #102681 Releases: main Change-Id: Ib228b26f22ad5676811707715b88c5c46f71c501 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82194 Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Andreas Kienast authored
Executed commands: npm install --save chart.js@^4.4.0 npm run build Resolves: #102334 Releases: main, 12.4 Change-Id: Ief3d948a85eaec35376c9c7ba7313d8299995ccc Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81700 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 15, 2023
-
-
Oliver Bartsch authored
This fixes a couple of workspace related issues in the module access evaluation. Basically, it's now ensured that the user will never be confronted with an exception for cases where he is in a module, which is not allowed in a workspace and then switches the workspace. This also applies for deep links. Therefore, the the start module evaluation, taking the redirect into account, is now respecting the fact that the given module might be temporarily not accessible. Finally the inheritance of the workspace access restriction is restored by changing the default value in the BaseModule and respecting the parent module's configuration for sub modules in the access check. Previously it was possible to access such sub modules, e.g. the site configuration module in a workspace by using a deep link. Resolves: #102665 Releases: main, 12.4 Change-Id: I1daabcd9d6b1cb9782a96c7c02ae0bf285369ede Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82180 Reviewed-by:
Achim Fritz <af@achimfritz.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Achim Fritz <af@achimfritz.de> 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>
-
- Dec 14, 2023
-
-
Oliver Hader authored
In case `$GLOBALS['TYPO3_CONF_VARS']['BE']['passwordPolicy']` is disabled or set to a preset that actually does not exist, the backend editing view should not issue JavaScript errors on the missing `#password-policy-info` element. Resolves: #102668 Releases: main, 12.4 Change-Id: Iafb418254f73f379364b04c5d45d33111bef7d13 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82183 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
core-ci <typo3@b13.com>
-
Stefan Bürk authored
With #102402 the deprecated `doctrine/event-manager` has been mitigated by using a global doctrine dbal driver middleware. Therefore, the driver decorater `CustomPlatformDriverDecorator` has been added providing a lot of methods to full-fill the interface requirements. This change removes unneeded code by extending from the `\Doctrine\DBAL\Driver\Middleware\AbstractDriverMiddleware` for the `CustomPlatformDriverDecorator` implementation. Resolves: #102589 Related: #102402 Releases: main Change-Id: If34038998e3fca39c3aa369ca10aedcf6cf436ce Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82072 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
- Dec 13, 2023
-
-
Nikita Hovratov authored
EU::configurePlugin tightly couples registration of controller actions and TypoScript generation for a frontend rendering definition. Furthermore, lib.contentElement is only defined in fluid_styled_content, which makes it an indirect requirement. This patch extracts the part for the controller action registration, so it can be used independently of fluid_styled_content. In addition, this new method expects the controller actions to have an array shape already. A converter method ensures compatibility for both string and array syntax. A concrete use-case for internal usage would be Content Blocks, as it would be possible to separately define a Content Block of type "Plugin" and in addition register controller actions for it. Resolves: #102643 Releases: main, 12.4 Change-Id: I74d84f54bdd399934b57b3e49e2209f62b5fda68 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82162 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Garvin Hicking <gh@faktor-e.de>
-
Oliver Bartsch authored
The LinkElement does now use the same styling as the SlugElement for the link bottom information. In case of the LinkElement, this is the "link explanation", while the SlugElement displays the regenerated link. Resolves: #102650 Releases: main Change-Id: I1a5e68b6a515a0101fa54b70349043328cc1e05e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82167 Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
linawolf authored
While Sphinx ignores case of code-block languages the new code-highlighter is code-sensitive. So converting the cases all to lowercase. There is no language called mysql in the new highlighter. In Sphinx this was an alias for sql. It does not really make sense to use mysql here, as the examples would also work in Maria-DB. A backport is no necessary as there were no content changes and we only render the main branch for the changelog Resolves: #102662 Releases: main Change-Id: I15193c5b6b8cd7e27799db0bee11096642efe702 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82179 Reviewed-by:
Lina Wolf <112@linawolf.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Lina Wolf <112@linawolf.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Chris Müller <typo3@krue.ml> Reviewed-by:
Chris Müller <typo3@krue.ml>
-
- Dec 12, 2023
-
-
Andreas Nedbal authored
Resolves: #102432 Related: #102431 Releases: main Change-Id: I555f695c517e8691a58c8741a16f3419388f6a43 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81824 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Jochen Roth <rothjochen@gmail.com>
-
Oliver Bartsch authored
The file being about to be imported is now exposed in the BeforeImportEvent. This information might be quite relevant for event listeners to decide about modifications to the `Import` instance. Resolves: #102657 Releases: main, 12.4 Change-Id: I03c2493b7beda4d07e17d1112117d090f0fae545 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82175 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Jochen Roth <rothjochen@gmail.com>
-
Thomas Hohn authored
If an entry in the include_static_file.txt file contains a trailing comma, a RuntimeException (1651137904) is thrown. The problem is a check whether the path contains 'EXT:', in this case the second path is an empty string and hence the exception is thrown. The change removes empty strings when splitting the entries in the file by comma. Resolves: #102659 Releases: main, 12.4 Change-Id: Ic2290b0b153487c7e982b4bca6b220a6bb9abf55 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82178 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stephan Großberndt <stephan.grossberndt@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Oliver Hader authored
When an exisiting localization (sys_language_uid>0 and l10n_parent>0) shall be detached (l10n_parent=0), the processing the l10n_state value was skipped - basically since the processor assumes no adjustments would be required. The state is provided by FormEngine and is expected to be serialized to JSON again in DataMapProcessor - in this case, the modifications are just skipped as well. Resolves: #102623 Releases: main, 12.4 Change-Id: Ifb400924fbdd8dcc20b8ff15d3b870507141b612 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82149 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Benjamin Franzke authored
With #99738 the option to allow all classes has been reenabled, which implicitly caused all custom html elements to be allowed: ``` htmlSupport: allow: - { classes: true, attributes: { pattern: 'data-.+' } } ``` The rule matched to any HTML element available in the CKEditor5 General HTML Support (GHS) schema definition, including the pseudo element `'$customElement'` that acts as placeholder for custom elements, because the omitted `name` matcher implicitly acted like a match-all (`.*`) pattern. This became an issue, since `@ckeditor/ckeditor5-paste-from-office` relies on the fact, that the pasted HTML is sanitized by GHS. Namespaced tags like `<o:p>` (which the desktop version of microsoft office likes to include when using copy&paste) where now allowed. To account for this behavior we change two things: 1) We drop the default allow-list configuration that was added in v12.4.7, since the negative side effects outweighed the benefits: * All HTML Tags where implicitly allowed, which allowed any tags, even custom elements to be inserted via copy&paste or via source editor * All classes were enabled, thus custom Microsoft office classes started to pollute the HTML sources. * The configuration could not be removed/changed by an integrator since htmlSuppot.allow is an array and was therefore only appended, but never overwritten by custom RTE configurations We considered to switch to a name pattern like `[a-z]+` in our default configuration but decided against that because that'd still allow all other official HTML elements which is not good default, given that it can't be changed as described above. 2) We now restrict migrated CKEditor v4 (extra)allowedContent (e.g. `extraAllowedContent: *[*](*){*}`) match-all-elements directives (first asterisk in the example) to plain selectors in order to exclude custom or namespaced elements like `<o:p>`. We therefore migrate to a matcher pattern `[a-z]+` in order for the virtual custom-element entry `'$customElement'` to become a no-match. Integrators are actually expected to define the set of allowed classes with the CKEditor5 `style.definitions[]` configuration array. Releases: main, 12.4 Resolves: #102507 Resolves: #102522 Related: #99738 Change-Id: I904f906b7cbbdf5d5f1b3ff23d2b1c62abbcf174 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82012 Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Andreas Kienast authored
This commit updates ckeditor5 to v40. See changelog at https://github.com/ckeditor/ckeditor5/releases/tag/v40.2.0. Executed commands: npm i --save \ @ckeditor/ckeditor5-alignment@^40.2.0 \ @ckeditor/ckeditor5-autoformat@^40.2.0 \ @ckeditor/ckeditor5-basic-styles@^40.2.0 \ @ckeditor/ckeditor5-block-quote@^40.2.0 \ @ckeditor/ckeditor5-clipboard@^40.2.0 \ @ckeditor/ckeditor5-code-block@^40.2.0 \ @ckeditor/ckeditor5-core@^40.2.0 \ @ckeditor/ckeditor5-editor-classic@^40.2.0 \ @ckeditor/ckeditor5-engine@^40.2.0 \ @ckeditor/ckeditor5-essentials@^40.2.0 \ @ckeditor/ckeditor5-find-and-replace@^40.2.0 \ @ckeditor/ckeditor5-heading@^40.2.0 \ @ckeditor/ckeditor5-horizontal-line@^40.2.0 \ @ckeditor/ckeditor5-html-support@^40.2.0 \ @ckeditor/ckeditor5-indent@^40.2.0 \ @ckeditor/ckeditor5-link@^40.2.0 \ @ckeditor/ckeditor5-list@^40.2.0 \ @ckeditor/ckeditor5-paragraph@^40.2.0 \ @ckeditor/ckeditor5-paste-from-office@^40.2.0 \ @ckeditor/ckeditor5-remove-format@^40.2.0 \ @ckeditor/ckeditor5-show-blocks@^40.2.0 \ @ckeditor/ckeditor5-source-editing@^40.2.0 \ @ckeditor/ckeditor5-special-characters@^40.2.0 \ @ckeditor/ckeditor5-style@^40.2.0 \ @ckeditor/ckeditor5-table@^40.2.0 \ @ckeditor/ckeditor5-theme-lark@^40.2.0 \ @ckeditor/ckeditor5-ui@^40.2.0 \ @ckeditor/ckeditor5-undo@^40.2.0 \ @ckeditor/ckeditor5-utils@^40.2.0 \ @ckeditor/ckeditor5-word-count@^40.2.0 npm run build Resolves: #102654 Releases: main, 12.4 Change-Id: I4a7a7596897cd346583bcca5d64824a437d8a710 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82172 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
- Dec 11, 2023
-
-
Daniel Siepmann authored
GeneralUtility::createVersionNumberedFilename() will process the provided path. It will execute a file_exists check. The file therefore needs to be resolvable. Applying getPublicResourceWebPath() beforehand will result in a web url, which can not be resolved on file system level. We therefore remove the unnecessary getPublicResourceWebPath() call. createVersionNumberedFilename() will resolve EXT: paths anyway. That way TYPO3 can properly handle the file and add the corresponding version number if configured. Furthermore this resolves open_basedir restriction issues on configured systems. Resolves: #102619 Releases: main, 12.4 Change-Id: I22dbd2187ee302e9cc1194c0522421fafab3938a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82166 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Ludwig <cl@viazenetti.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Ludwig <cl@viazenetti.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benjamin Franzke authored
Children of custom elements are not guaranteed to be available by the time the element is added to the DOM — i.e. when the connectedCallback() is triggered by the browser. That means we can not assume that all child elements will already be available. See #102550 for details. To circumvent this race we make use of HTML event bubbling. That means we register our event handlers on the wrapper element and will receive events that are triggered on one of the children elements. To circumvent the initialization race conditions in connectedCallback() we shift the stateful initialization to the server-side rendering. Note that we either need to render html components server or client-side in order to avoid such race conditions or nasty workarounds (like adding mutation observs and keeping track whether all elements have already been added or not). Ideally the link-element component would be rendered fully client-side at some point, but that's out of scope for now. Resolves: #102603 Related: #102550 Releases: main, 12.4 Change-Id: I54715fd671f717e4253ee41e8ac33a1ca5960eae Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82088 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Chris Müller authored
Resolves: #102648 Related: #102631 Releases: main Change-Id: I7b6bcffc4b051e7d9ea4a23cd5e42d4e1288b4a3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82165 Reviewed-by:
Oliver Bartsch <bo@cedev.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>
-
Chris Müller authored
Resolves: #102647 Related: #101163 Releases: main Change-Id: I8c5081b8279dddd2a76bfad8288d2027af42a716 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82164 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
linawolf authored
These are issues that cause no warning in Sphinx but are displayed wrong. They will cause a warning in the new PHP based rendering. The dashes ("-") in the table are masked ("\-") otherwise they are considered as a list item. Characters enclosed with the pipe character ("|") are considered as variables (which aren't in this case). Resolves: #102646 Releases: main Change-Id: I4c012d1ef10bae25e40808034af64a2b730798c8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82163 Tested-by:
Chris Müller <typo3@krue.ml> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Chris Müller <typo3@krue.ml> Tested-by:
core-ci <typo3@b13.com>
-
- Dec 10, 2023
-
-
linawolf authored
Resolves: #102641 Releases: main Change-Id: Ie5f3324760961fff027bedfe161099488db26fa9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82160 Tested-by:
Chris Müller <typo3@krue.ml> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Chris Müller <typo3@krue.ml> Tested-by:
core-ci <typo3@b13.com>
-
- Dec 09, 2023
-
-
Christian Kuhn authored
The context object is injectable singleton state - "Not good but not terrible". There is no need to have a getter in TypoScriptFrontendController for it. Refactor this. A test case mocking can be simplified significantly with this. The "originally requested id" can be retrieved from the 'routing' Request attribute, there is not need to carry a copy as TSFE property around. Resolves: #102640 Releases: main Change-Id: I816570339464ab38bb44b4e8df6773c2ed5c5a8e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82158 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Nikita Hovratov <nikita.h@live.de>
-
Thomas Hohn authored
The class \TYPO3\CMS\Core\Type\Enumeration is deprecated in favor of PHP native backed enums. Resolves: #101163 Releases: main Change-Id: Ifca1d43d9302a15d063d35d68decc26becd4ee06 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79513 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Oliver Bartsch authored
Using BackendUtility::getProcessedValue() in GridColumn to fetch a backend layout column's title is unnecessary and also leads to an undefined array key warning. The call is therefore removed. The information is always fetched using the resolved BackendLayout object. Cases like unassigned columns are handled at other places already. Resolves: #102634 Releases: main, 12.4 Change-Id: Icba87de054dd391bb3c89c0e53985e0ec876ddf6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82153 Tested-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
Christian Kuhn authored
New phpstan find a fishy but not trivial to resolve inheritance return type definition. Add to baseline for now. > composer req --dev phpstan/phpstan:^1.10.48 > ./Build/Scripts/runTests.sh -s phpstanGenerateBaseline Resolves: #102637 Releases: main, 12.4 Change-Id: I2bbb5211c4a2622ab717a3c4dd0f68d18d2e17d8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82156 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
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>
-