- Jan 21, 2022
-
-
Christian Kuhn authored
This goes through a series of relatively simple controllers, switching them to BackendTemplateView. Change-Id: Icde18e54c4bbe11e83532d54089561e751c232db Resolves: #96605 Related: #96513 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73109 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Benjamin Franzke authored
Use the JavaScript module and importmap Feature introduced in #96510 to import JavaScript as native browser modules (commonly referred to as ES6 modules, or short ESM). To be specific: we actually use ES2020 (ES11) modules, as we import modules dynamically via import() in combination with an importmap (#96510). Backwards compatibility for existing RequireJS imports is provided by a shim as introduced in #96510. How to (re)view this change --------------------------- Exclude all automatic TypeScript/JavaScript/lockfile changes with: git show --oneline -- . \ ':(exclude)typo3/sysext/*.js' \ ':(exclude)Build/Sources/TypeScript/*.ts' \ ':(exclude)Build/yarn.lock' git show --oneline -- $(find Build/ \ -name DragUploader.ts -o \ -name FormEngine.ts -o \ -name Helper.ts -o \ -name CKEditorLoader.ts -o \ -name CodeMirrorElement.ts) Gruntfile & tsconfig.json ------------------------- Gruntfile is adapted to transfo...
-
Benjamin Franzke authored
If compression of JavaScript files is disabled, we need to add cache busting parameters to any backend JavaScript resource, in order to be able to force browsers to re-download these files on updates. Resolves: #96606 Related: #96323 Releases: main Change-Id: Ie28b2b82077e5c2bdb4d328bdd5a55f19938c899 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73111 Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
- Jan 20, 2022
-
-
Georg Ringer authored
If the special menu type 'list' is used, the order must be kept as provided within the list configuration. Resolves: #96577 Related: #96358 Releases: main, 11.5 Change-Id: I99a0f93b71836644bdeab8adecb3171090359fab Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73093 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
The "View webpage" button in the docheader of the page module allows to view the page in the currently selected language. This means, the button always depends on the selected language. With #92460 the special "all languages" option was added to the language selector (in languages mode). Since this option is no valid language id, the button is now hidden, in case "All languages" is selected. Resolves: #96603 Releases: main, 11.5 Change-Id: If92b46541868b9cfd1c6aa7addd191d8f877056d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73108 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Sascha Egerer authored
The stdWrap function ifEmpty must return true if a PHP falsy value is given. That means e.g. an empty string or a "0". To make it more clear that stdWrap ifEmpty in fact uses the logic of the PHP function "empty", this function is now used. First, the value is trimmed, which means a string is returned, and then this value is passed to the empty function. As this works now properly, the getCurrentValue method needed a check against empty array keys. The stdWrap_current method now uses the getCurrentValue method as they both do the exact same thing. Resolves: #90908 Releases: main, 11.5 Change-Id: I3268fbaf68a2c56ae33ae499ad671e0a89fa7867 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64029 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Benni Mack <benni@typo3.org>
-
Christian Kuhn authored
This affects the list module and the link browser. A heavy-mocking unit test without much benefit is removed along the way. Resolves: #96601 Related: #96513 Releases: main Change-Id: I3c206c3226a32072afb4cc45e841f09de23b27a0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73103 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
Switching from StandaloneView to BackendTemplateView in ext:info, minor template adaptions. Resolves: #96598 Related: #96513 Releases: main Change-Id: I6a904f4baa7c0d743a3657f47723fe85bcf00465 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73101 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Stefan Bürk authored
Long story short, through multiple refactorings along the road, from the inital introduction of the 'mod.newContentElementWizard.override' option with #70055 over streamlining the TSConfig api (#85016), a lot of stations in between which already broke reading that option, which was used for adding the 'new record button', this was refactored into a dedicated 'createAddButtonForTable()' method with #94456, ending up with even more broken code and leaving an undefined variable $tsConfig. Instead of removing the unused variable we load the pageTs here to be able to read this option again and restore the intended behaviour. Resolves: #96596 Related: #94456 Related: #85016 Related: #70055 Releases: main, 11.5 Change-Id: I91b24bf338c6531ea220a41dca2076b71a7da96f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73096 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- Jan 19, 2022
-
-
Benjamin Franzke authored
Resolves: #96565 Releases: main, 11.5 Change-Id: Iace92f424acf20fa9329dc5380facd30abe87b00 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73053 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
Christian Kuhn authored
This is a rather straight implementation of BackendTemplateView in favor of StandaloneView in ext:tstemplate - refactoring only necessary parts: Template selection as argument to render(), f:translate with full "LLL" keys, avoiding f:form.* VH usages, not setting request to view anymore. Resolves: #96595 Related: #96513 Releases: main Change-Id: Ic51f9dc3aeaac747218ca01c9453a45afdb903b1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73094 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Oliver Bartsch authored
When previewing pages a null pointer exception is triggered in the frontend RequestHandler, in case $GLOBALS['LANG'] does not exist. This is the case when no user object exists (or is not a FrontendBackendUserAuthentication). This is now fixed by creating the LanguageService with the corresponding factory and no longer relying on $GLOBALS['LANG']. Additionally, another possible null pointer is fixed in the factory, since createFromUserPreferences() allows NULL for the first parameter "$user" but previously did not check the provided value before accessing. Resolves: #96590 Releases: main, 11.5, 10.4 Change-Id: I160a9dae9131973d681b392ee713d1fadcb9a24b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73068 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Stefan Bürk authored
ShortcutController has recieved an modernization overhaul and shifted data changing actions from 'GET' and 'POST' handling to 'POST' handling only through #96519, which removed '$queryParameters' variable populated with 'GET' parameters from the request in method 'addAction()'. However removing usage of this variable in a value fallback chain has been missed, which is now removed. Resolves: #96593 Related: #96519 Releases: main Change-Id: I6f18c366f6e6a1016a4130d3302b9d5e40b1dba9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73071 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Stefan Bürk authored
Show columns selection functionality has been improved for issue #94474, but during refactoring some code it falsly tries to read the 'pageId' parameter from undefined '$parsedBody' instead of the available variable $queryArguments, which is used to pass to another method. This patch now fetch the pageId from query arguments and remove the usage of the undefined variable. Resolves: #96594 Related: #94474 Releases: main, 11.5 Change-Id: Idb0350b235c8dfc2b49b001d0394d9a27c20c3fb Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73092 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
We're not actively testing Microsoft SQL Server anymore. The functional test related group annotation not-mssql can be removed, along with the docker container setup. Resolves: #96591 Releases: main Change-Id: Ida5ce97fbab3c19e7e7a0b2548b03fa758f48bb0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73069 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Christian Kuhn authored
Resolves: #96587 Releases: main Change-Id: I2c44ce44a667f246c25eaab4c87cb57a3a21c6cb Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73067 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Christian Kuhn authored
A couple of 'ignoreFiles' don't exist anymore. Change-Id: I11200265f71035e70023fa396df44c336ab0649b Resolves: #96586 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73066 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Christian Kuhn authored
This is a careful rewrite of the scheduler backend module controller and its view. It reaches a significantly better separation of concerns between controller and view. * The main dispatcher is much more clean and easier to follow, the methods are smaller and better encapsulated. * The controller has close to no state except services. * Improved error handling and notification of edge cases. * Improved GET/POST separation. * Better named action and view GET/POST params. * Improved shortcut namings. * Minor usability improvements. Change-Id: I97bdb37921de8ed66352afefea0cb1877b5314c1 Resolves: #96574 Related: #96513 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73051 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Stefan Bürk authored
StandaloneView() initalizes an ExtbaseRequest in __construct() and adds it to the rendering context. This is unfortunate for ViewHelper tests, since it hides the information if a specific ViewHelper has a dependency to a request. This patch replaces all StandaloneView usages in functional tests with the TemplateView class of typo3fluid, which doesn't do anything with request. When needed, request objects are created and added within the test manually, making this dependency transparent. The patch adds some minor refactorings of some tests along the way and fixes a couple of smaller bugs. Resolves: #96573 Releases: main Change-Id: If1c0fd9c96db0212ad251391b4b12ee967fdf21b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73043 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Christian Kuhn authored
Obsolete with TYPO3 v12 core being PHP >= 8.1. Resolves: #96584 Releases: main Change-Id: Idbe713b4b45f0e7f870bdeb6013bb12283abb076 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73064 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Jochen <rothjochen@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Jochen <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
libxml bundled in PHP before 8.0 was suspectible to XXE. The core mitigated this by setting libxml_disable_entity_loader() at various places. PHP >=8.0 bundles a libxml version that disables external entity loading by default, method libxml_disable_entity_loader() has been deprecated. With TYPO3 v12 being PHP >= 8.1 only, these method calls can be removed from the codebase. Resolves: #96583 Releases: main Change-Id: I29c63d01219d7970985de80c3f66733fd0734f0f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73063 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
dev-rke authored
'ContentObjectRenderer->stdWrap()' calls subfunction starting with 'stdWrap_' which may not only return strings, but also int, boolean, null and so on, thus eventually feeding 'trim()' with null or a non string value to which emits a PHP8.0 warning and an type error on PHP8.1. To mitigate this string cast is added on the value for the 'trim(...)' call to be close to the spot and do not change behaviour for now. Releases: main, 11.5 Resolves: #96564 Change-Id: I347b59065106285860709f69400a1fc89bce2517 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73052 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Oliver Bartsch authored
When creating the module template, also default CSS and JS is added (using PageRenderer). In the PreviewController, the loading order is important, since module related properties are overwritten in a custom CSS file (e.g. margins). Therefore, the module creation is now moved to the top of the method, which allows to override the default styles again. Resolves: #96581 Related: #96548 Releases: main Change-Id: I7c14d190b760e9e847f9067c34b31f0d0e0b603a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73060 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
Resolves: #96582 Releases: main, 11.5 Change-Id: I3a9ebbf55230d526a7e0f92118cb04f1fa19254c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73061 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Michael Blunck <michael.blunck@phth.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Michael Blunck <michael.blunck@phth.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
linawolf authored
Additionally, the versions in the Settings.cfg are fixed. Resolves: #91739 Releases: main, 11.5 Change-Id: If2128ad3a73b5928a2b9121979cdc24a3f9bfa94 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73046 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
The default dashboard for new users adds the "TYPO3 news" widget which fetches an RSS feed from typo3.org. This might be problematic for data privacy reasons. It's fine the widget exists, but it shouldn't be active by default. Since the dashboard is covered by acceptance test, the default configuration also triggers quite a few requests to typo3.org in CI, leading to test fails if for instance typo3.org is down. The patch removes the "TYPO3 news" widget for users first accessing the dashboard. Resolves: #96578 Releases: main, 11.5 Change-Id: Ia2fde4aee1f755d1c8b0f32003fe1a54c8caf433 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73059 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Chris Müller authored
Resolves: #96572 Releases: main, 11.5 Change-Id: I162a8e98abe6e4d975d0d972f395484b47808f30 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73057 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
dev-rke authored
Importer fails to process soft references (e.g. phone numbers, email, links etc.) in PHP 8.0/8.1 with "Undefined array key 1" as the string cannot split into two variables. Simple workaround is to define a colon as default value. Releases: main, 11.5 Resolves: #96562 Change-Id: Idefe7ae30ba3da34aca1570da1c08e02cebbdcbf Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73044 Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Stefan Bürk authored
Trait 'CompileWithContentArgumentAndRenderStatic' provides magic handling trying to retrieve the first optional registered argument as render children closure. This can alse be set to property $contentArgumentName, which is documented as recommended in the trait to suppress magic. The patch sets property $contentArgumentName to the currently first optional argument in all ViewHelpers by overriding traits 'resolveContentArgumentName()'. Resolves: #96532 Releases: main Change-Id: I67c77856a6d8d3eb0c6fbd78cc8a8c64beb8e534 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73014 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Jan 18, 2022
-
-
Stefan Bürk authored
System Requirements have been announced for TYPO3 v12 [1]: PHP 8.1 and higher, raised minimum DBMS versions and removed mssql support. The patch sets according PHP requirements in the central composer.json files: > composer config platform.php 8.1.1 > composer req php:"^8.1" > composer req php:"^8.1" -d typo3/sysext/core --no-update The patch adjusts the core main test suite to run tests with PHP 8.1, ignoring older PHP releases, drops mssql from the test suites and raises versions of other DBMS in the test suite. The option set of Build/Scripts/runTests.sh is updated accordingly. phpstan needs a special handling since it is not PHP 8.1 ready, yet: The code scanner is still run using PHP 8.0 for now. With the default charset being changed to utf8 in mysql, an acceptance tests becomes obsolete and is substituted with an @todo comment to further investigate if we could streamline the underlying code in the install tool. [1] https://typo3.org/article/new-system-requirements-for-upcoming-typo3-v12 Resolves: #96553 Releases: main Change-Id: I34981523dffe6c650a1126c0002f3fa519e11c65 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73035 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Stefan Bürk authored
doctrine/dbal implemented single purpose method to replace the compound 'execute()' in QueryBuilder to avoid the incompatible return typehint tuple of 'Doctrine\DBAL\Result|int' in favour of 'executeQuery()' and 'executeStatement()' which was added forward-compatible with #96247 marking the old one internal but not deprecated for now to keep a eventually longer grace period to mitigate for extensions developers. This patch however goes through the core and replace these methods to be clean as possible and is a first preparation to remove the 'checkThisOnly' option from phpstan which are swallowed by this option. * replace 'execute' with 'executeQuery()' for select and count queries generating results ('Doctrine\DBAL\Result'). * use 'executeStatement()' for insert, update and delete queries return affected rows as return value (int) * adjust return typehints to match the single return type signature on really minor places to match the return type of the wrapped replaced execute method. * replace one really old 'exec()' from connection with corresponding replacement method along the way. * add several todos on two places which are weird and do not make any sense for further investigation and fixing, as declared as out-of-the-scope for this wide-area patch. Resolves: #96551 Related: #96247 Related: #96521 Releases: main, 11.5 Change-Id: Ie8d40f3882f1694ab7f7e5053729fa1c798a9c5f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73032 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
linawolf authored
Resolves: #95835 Releases: main, 11.5 Change-Id: Iaa79aa4daa763c66c073d407168a7494cc11e938 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72164 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Susanne Moog <look@susi.dev> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benjamin Franzke authored
JavaScript ES6 modules may now be used instead of AMD modules, both in backend and frontend context. JavaScript node-js style path resolutions are managed by importmaps, which allow web pages to control the behavior of JavaScript imports. By the time of writing importmaps are supported natively by Google Chrome, a polyfill is available for Firefox and Safari and included by TYPO3 core and applied whenever an importmap is emitted. RequireJs is shimmed to prefer ES6 modules if available, allowing any extension to ship ES6 modules by providing an importmap configuration in Configuration/JavaScriptModules.php while providing full backwards compatibility support for extensions that load modules via RequireJS. For security reasons importmap configuration is only emitted when the modules are actually used, that means when a module has been added to the current page response via via `PageRenderer->loadJavaScriptModule()` or `JavaScriptRenderer->addJavaScriptModuleInstruction()`. Further Notes: 1) importmaps serve multiple purposes: * They are used to map away cache busting hashes in filenames: https://github.com/WICG/import-maps#mapping-away-hashes-in-script-filenames * They allow to avoid relative paths between extensions, which wouldn't work with typo3/cms-composer-installers v4 * They allow for extension less imports, like: `import 'jquery'` https://github.com/WICG/import-maps#extension-less-imports 2) The importmap becomes very large if all modules are included, but preparation is made to allow to optimize this in future: * We map all bare module imports to use .js suffix, allowing prefix definitions. To use that feature we'll need cache-invalidation for extensions paths and that is out of scope for this patch, but become possible with typo3/cms-composer-installers v4 * Configuration/JavaScriptModules.php contains dependency information in order to only load importmap configuration for modules that are actually needed (loaded modules are tracked by `ImportMap` and their respective configuration and dependencies are loaded). This is also important for security reasons in order to avoid disclosing all installed extensions. 3) Usage in TYPO3 Backend will follow in #96511 Commands executed: yarn add es-module-shims Releases: main Resolves: #96510 Related: #96511 Related: #96323 Change-Id: Ia9025444f9f3e122ba6556559ab85852e3ec98ee Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73004 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
- Jan 17, 2022
-
-
Christian Kuhn authored
The created reports.xml when running acceptance tests is used for nothing in CI and just uploaded as artifact along with the other reports. When ac tests fail, the generally useful file is reports.html together with the screenshots. Creating the xml file is skipped now. Users who still want to create the xml file when running the acceptanc test suite can do so by adding the "extra" argument to runTests.sh: > Build/Scripts/runTests.sh -s acceptance -e '--xml reports.xml' Resolves: #96557 Releases: main, 11.5, 10.4 Change-Id: Ic385e307bb48702bc9269e42960fc76f1aa0be41 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73039 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
A bigger but careful refactoring of the ImportController and ExportController together with a view adaption. The module is still as ugly as before, but the underlying codebase should be much better understandable now. Change-Id: I34e90f0cef48ffd4c9fbe348a3d69901a717b74f Resolves: #96558 Related: #96513 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73033 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Stefan Bürk authored
With composer >=2.2.0, allowed composer plugins have to be added to composer.json as config/allowed_plugins. This has been prepared with #96428 for core root composer.json. The patch missed according changes for test related distribution Build/composer/composer.dist.json. Resolves: #96555 Related: #96428 Releases: main, 11.5 Change-Id: I7cc8c8a819969632fd85db33637ae652a3138748 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73038 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Robert Kärner authored
Since the file property of an IMG_RESOURCE cObj might have no direct value set, trying to access it must be protected by a fallback, or an undefined array key warning is thrown. Resolves: #96552 Releases: main, 11.5 Change-Id: Ia22c89dc764309b5f010be154d44b8ed40ccc660 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73034 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Chris Müller <typo3@krue.ml> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- Jan 16, 2022
-
-
Christian Kuhn authored
$GLOBALS['TYPO3_CONF_VARS']['SYS']['USdateFormat'] = true/false has been added in TYPO3 4.0 with a happy "Go US!" message. It basically sometimes sets date displays to 'MM-DD-Y' over 'DD-MM-Y' in a couple of views. This is inflexible and has been superseded at some point by $GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy']. The TYPO3 backend is still incapable of rendering dates in user selected dates and time zones. This patch is a pre-patch to improve that situation by for now removing and ignoring the 'USdateFormat' option. This unblocks a rollout of the more general option 'SYS/ddmmyy' and/or paves the way to a broader date and timezone related refactoring that incorparates single user preferences. Change-Id: I84e43c293c0c2aec86c65ac3716f8b98bee31ac4 Resolves: #96550 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73031 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Christian Kuhn authored
* Use BackendTemplateView * Hand over template to render as view->render('MyTemplate') * Less class state * Declare strict_types=1 * Return and property types in PHP classes * Avoid a useless layout template * f:translate with full LLL: keys * Various code juggling to improve readability Change-Id: I58a3736ec931cda5ddeeb957935ade2cb09d9bc8 Resolves: #96548 Related: #96513 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73023 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
* Simplified routing without browser redirects * Hide main drop-down if there is only one report * Show main report by default for new (uc) users * Better fallback if no reports are registered * Use BackendTemplateView * f:translate with full LLL: keys * Avoid a useless layout * Less controller class state * Improved uc state updating to avoid DB calls * Improved handling for uc to invalid reports Resolves: #96549 Related: #96513 Releases: main Change-Id: I6ac8629f852c8a5b9417642c67bc38b839d8a2ab Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73030 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-