- Jan 03, 2024
-
-
Andreas Kienast authored
This commit updates `@codemirror` and its friend packages to their most recent version. Due to changes within `@lezer/javascript` and `@lezer/highlight`, our Gruntfile needs minor adjustments. Executed commands: npm install --save \ @lezer/lr@^1.3.14 \ @codemirror/autocomplete@^6.11.0 \ @codemirror/commands@^6.3.3 \ @codemirror/lang-css@^6.2.1 \ @codemirror/lang-html@^6.4.7 \ @codemirror/lang-javascript@^6.2.1 \ @codemirror/lang-sql@^6.5.5 \ @codemirror/language@^6.10.0 \ @codemirror/lint@^6.4.2 \ @codemirror/search@^6.5.5 \ @codemirror/state@^6.4.0 \ @codemirror/view@^6.23.0 npm update @lezer/javascript npm run build Resolves: #102732 Releases: main, 12.4 Change-Id: I92f81a8dfb8f64e09005f0a332b557ffdc532654 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82302 Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Bartsch authored
The ImageViewhelper does by default add the `alternative` property as `alt` attribute to the img tag if no non-empty string is set. However, there might be valid use cases where an empty `alt` attribute should be set for such image - even if the property exists. Such case is e.g. a thumbnail of such image. The ImageViewhelper does therefore now render an empty `alt` attribute if the `alt` argument is explicitly set to an empty string. Resolves: #102739 Releases: main, 12.4 Change-Id: Id197c3d2f839fbbc37744a2ae356c8e3ae35f0c4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82251 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
- Jan 01, 2024
-
-
Oliver Bartsch authored
In case a link does not set any additional attributes, no empty callout is rendered. Resolves: #102721 Releases: main, 12.4 Change-Id: I7ec4d7b64450112731363d721f4d49322448b41c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82294 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 30, 2023
-
-
Stefan Bürk authored
New `core-testing-phpXY` images has been build and released. [1] This change update used image version to: * core-testing-php81:2.9 - php 8.1.27 (patchlevel) * core-testing-php82:1.8 - php 8.2.14 (patchlevel) * core-testing-php83:1.9 - php 8.3.1 (patchlevel) [1] https://git.typo3.org/typo3/CI/testing-infrastructure/-/commit/11f78ce2ac1f38355fdb7d59e1472e62a02ba894 Resolves: #102729 Releases: main, 12.4, 11.5 Change-Id: I991061445e28a358c1aeadebf3213d87394d04ad Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82249 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
- Dec 28, 2023
-
-
Stefan Bürk authored
PHPUnit has changed the behavior of the error handler in several ways, for example introducing a PHP attribute to disable the PHPUnit error handler for tests dealing with `error_get_last()` [1], throwing an exception and stopping the script execution on `E_*_ERROR` or clearing the error result [2] - which breaks the ability to use the native `error_get_last()` method to test custom error handler implementation. Something which TYPO3 needs to do for the provided custom error handler. An additional change [3] to check and restore error handlers with levels has been reverted due to issues in the Laravel world. This change modifies the related test to use the introduced PHP attribute `#[WithoutErrorHandler]` and raises PHPUnit. Note: PHPUnit does not recognize the `@test` doc-block annotation if the `#[WithoutErrorHandler]` attribute is used. Therefore, the attribute counterparts for `@test` and `@dataProvider` has been added on top and not exclusively for now, albeit looking weird and fishy. This needs to be addressed in a more generic way in a dedicated change. Used command(s): > composer require --dev \ "phpunit/phpunit":"^10.5.5" \ "typo3/testing-framework":"^8.0.8" [1] https://github.com/sebastianbergmann/phpunit/pull/5430 [2] https://github.com/sebastianbergmann/phpunit/pull/5592 [3] https://github.com/sebastianbergmann/phpunit/pull/5619 Resolves: #102724 Releases: main, 12.4 Change-Id: I77f750ef2eba53b5f8caa51651f36321ae5d1224 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82283 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com>
-
- Dec 26, 2023
-
-
Oliver Bartsch authored
Since #102616, itemsProcFunc config is resolved in `BU::getLabelFromItemlist()`. This method therefore was adjusted to take the record in question as argument, passing it to the underlying `ItemProcessingService`, which actually just requires the uid and pid. Since the database row is not passed to BU::getProcessedValue()`, the record was fetched for each item manually via `getRecordWSOL()`. This is not sufficient and has a serious performance impact. The functionality of resolving itemsProcFunc is now still in place but `BU::getProcessedValue()` does no longer fetch and pass the record, but only the uid and pid. This will therefore still enable most use cases, but does no longer slow down the backend. Resolves: #102698 Related: #102616 Related: #100855 Releases: main, 12.4 Change-Id: Ic52564fada13b47f5364df642acbf683538b0c21 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82248 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 22, 2023
-
-
florian.thiele authored
Resolves: #102056 Releases: main, 12.4 Change-Id: Ie19e70148b893aff2e82f6ef2ed1e5b31f39407a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82244 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Chris Müller <typo3@krue.ml> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Lina Wolf <112@linawolf.de> Tested-by:
Chris Müller <typo3@krue.ml> Tested-by:
Lina Wolf <112@linawolf.de>
-
Oliver Hader authored
PHP's base64_decode has a strict parameter to only accept characters of the corresponding base64 alphabet, see https://www.php.net/manual/en/function.base64-decode.php Resolves: #102620 Releases: main, 12.4 Change-Id: I39a038519ec1e884ba42f691c6dea76cbce772fe Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82271 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org>
-
Oliver Bartsch authored
Properly check for valid meta data record to prevent 'Undefined array key' error on deleting a file. Meta data record might not exists, because the file might have not been indexed or simply because the record was manually deleted. Additionally, some code clean up is done. Resolves: #102700 Releases: main, 12.4 Change-Id: Ibf8a0d53b40f08b60064583d5f28762c25d75937 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82247 Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com>
-
- Dec 21, 2023
-
-
Markus Klein authored
Resolves: #102713 Releases: main, 12.4, 11.5 Change-Id: I18c841d9085221f4b6ff826600965b159af7971b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82245 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Nikita Hovratov <nikita.h@live.de>
-
Oliver Klee authored
- autoformat the files - sort the configuration options This keeps the files consistent and avoids unrelated formatting changes when other things are changed. Resolves: #102699 Releases: main, 12.4 Change-Id: Iffb8401328949d0d38f91512671f77285c470e6a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82243 Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com>
-
Chris Müller authored
Resolves: #102706 Releases: main, 12.4 Change-Id: Ia250046ca8e36a82012555a8ed4e638e3746c787 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82242 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
- Dec 20, 2023
-
-
Oliver Bartsch authored
There might be valid reasons for a module being (temporary) inaccessible for a user. Since #102665 a module redirect is done instead of throwing an exception, which a user can not resolve. However, this led to the fact that a user got redirected without knowing the reason. Therefore, a notification is now dispatched, whenever a forced module redirect takes place. Resolves: #102678 Related: #102665 Releases: main, 12.4 Change-Id: I3e3e6548c7d2ec65b1081f8bdfdab5a16ba56f31 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82241 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Georg Ringer authored
Adding the following information to itemsProcFunc helps extension authors: - effectivePid: correct page id - site: current site Resolves: #99346 Releases: main, 12.4 Change-Id: Ifc54a06c66f3dbf61a2e95f706bb54e74db4b28e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82240 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Hader authored
TypoScript property `addQueryString.exclude` concerns the internal, URL-decoded values. However, the parameters are purged from a query array that is URL-encoded. Resolves: #102386 Releases: main, 12.4 Change-Id: Ibcdca016221035f5f2974007b1fc52c04f5d643f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82261 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org>
-
Oliver Bartsch authored
Resolves: #102383 Releases: main, 12.4, 11.5 Change-Id: Iced9d71874a51ee321857b662fa157ca2c2c0307 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82238 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 19, 2023
-
-
Stefan Bürk authored
The TYPO3 core `runTests.sh` contains the `-u` option to update the images and remove dangling images. Providing an image name and a `--filter` option is not supported by podman: > Error: cannot specify an image and a filter(s) and has not been discovered yet in the TYPO3 core implementation yet. Both container runtimes `docker` and `podman` support filtering images using the `reference` filter option. Therefore, this change modifies the dangling image removal to use multiple filters To verify that filtering with two `--filter` options can be used with podman and docker, the following commands can be executed to list the set of local non-dangling images. Note: This example uses `dangling=false` instead of `dangling=true` (as in `runTests.sh`), since we expect most developers don't have dangling images yet. > podman images \ --filter "reference=ghcr.io/typo3/core-testing-*" \ --filter "dangling=false" --format "{{.ID}}" > docker images \ --filter "reference=ghcr.io/typo3/core-testing-*" \ --filter "dangling=false" --format "{{.ID}}" Resolves: #102697 Releases: main, 12.4, 11.5 Change-Id: I717d1aa229bdfb73c63aa5b2d46e1aff665544cb Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82235 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Garvin Hicking authored
The Indexer builds a large array of all actual files on a storage (identifiedFileUids). If many files exists, this array can get very large. This array was then passed to a QueryBuilder to fetch all records NOT IN that array. Since a NOT IN query is passed as a string to the database, it can exceed the string size allowed in a query, making the whole task fail. Since a NOT IN query cannot be chunked easily, the whole logic has been adapted in a different way. Instead of fetching a restricted list of database records, all records are fetched and iterated. Even with a million of sys_file_records of a single (!) storage this will perform alright, and be within practical usage scenarios. Each database record is then checked for a match in the large array of known records, and then execute the same logic as before. To benchmark the implications, the following test was run: Baseline: * sys_file with 50.736 entries * 16.912 marked as missing * 33.824 marked as existing * Filesystem with 8.771 actual files Tested setup via a script which: * Resets to baseline sys_file storage * Executes scheduler task "File Abstraction Layer: Update storage index (scheduler)" * Flags 41.965 files as missing, 8.771 as found. Script execution was performed 50 times, and a mean avery was calculated, once once with the patch in place, once without. Old variant (using NOT IN query): 11.787 seconds New variant (fetching all records): 12.0544 seconds On top of being within the same performance level, using the new method, no database exception will be provoked (see ticket). Resolves: #102295 Releases: main, 12.4 Change-Id: Id998d7cd062fe75aac738b896bfb307b51f5cef8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82237 Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com>
-
Benjamin Franzke authored
Input data is statically provided by EXT:core only, so there is no security issue known right now. This change is a preparation to avoid possible future security issues. Resolves: #102676 Releases: main, 12.4, 11.5 Change-Id: I49a7fdd250e8ce74fdde07ad305cbae7e4af8ec3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82234 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
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/+/82232 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
- 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/+/82202 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
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/+/82129 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
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/+/82130 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
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/+/82131 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
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/+/82212 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Henrik Elsner authored
Resolves: #102669 Resolves: #101768 Releases: main, 12.4 Change-Id: Ie377f122cfc9acba74c1684f68bb4e3434bf12d0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82128 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
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/+/82127 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 17, 2023
-
-
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/+/82125 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
- Dec 16, 2023
-
-
Oliver Bartsch 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/+/82193 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> 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/+/82124 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> 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/+/82123 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.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/+/82181 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
- Dec 12, 2023
-
-
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/+/82122 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.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/+/82121 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benni Mack authored
Change-Id: I05fb7181a26e6bc6cae3696fc037491e49f0892e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82177 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benni Mack authored
Change-Id: I4d979c9bdd1305a8bca8a2c36f70bc054d3d6ce3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82176 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-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/+/82170 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
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/+/81995 Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> 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/+/82173 Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
- 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/+/82120 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-